mirror of
https://github.com/esphome/esphome.git
synced 2024-12-12 16:34:56 +01:00
ac0d921413
* Socket refactor and SSL * esp-idf temp * Fixes * Echo component and noise * Add noise API transport support * Updates * ESP-IDF * Complete * Fixes * Fixes * Versions update * New i2c APIs * Complete i2c refactor * SPI migration * Revert ESP Preferences migration, too complex for now * OTA support * Remove echo again * Remove ssl again * GPIOFlags updates * Rename esphal and ICACHE_RAM_ATTR * Make ESP32 arduino compilable again * Fix GPIO flags * Complete pin registry refactor and fixes * Fixes to make test1 compile * Remove sdkconfig file * Ignore sdkconfig file * Fixes in reviewing * Make test2 compile * Make test4 compile * Make test5 compile * Run clang-format * Fix lint errors * Use esp-idf APIs instead of btStart * Another round of fixes * Start implementing ESP8266 * Make test3 compile * Guard esp8266 code * Lint * Reformat * Fixes * Fixes v2 * more fixes * ESP-IDF tidy target * Convert ARDUINO_ARCH_ESPxx * Update WiFiSignalSensor * Update time ifdefs * OTA needs millis from hal * RestartSwitch needs delay from hal * ESP-IDF Uart * Fix OTA blank password * Allow setting sdkconfig * Fix idf partitions and allow setting sdkconfig from yaml * Re-add read/write compat APIs and fix esp8266 uart * Fix esp8266 store log strings in flash * Fix ESP32 arduino preferences not initialized * Update ifdefs * Change how sdkconfig change is detected * Add checks to ci-custom and fix them * Run clang-format * Add esp-idf clang-tidy target and fix errors * Fixes from clang-tidy idf round 2 * Fixes from compiling tests with esp-idf * Run clang-format * Switch test5.yaml to esp-idf * Implement ESP8266 Preferences * Lint * Re-do PIO package version selection a bit * Fix arduinoespressif32 package version * Fix unit tests * Lint * Lint fixes * Fix readv/writev not defined * Fix graphing component * Re-add all old options from core/config.py Co-authored-by: Jesse Hills <3060199+jesserockz@users.noreply.github.com>
465 lines
12 KiB
YAML
465 lines
12 KiB
YAML
esphome:
|
|
name: $devicename
|
|
platform: ESP32
|
|
board: nodemcu-32s
|
|
build_path: build/test2
|
|
|
|
substitutions:
|
|
devicename: test2
|
|
|
|
ethernet:
|
|
type: LAN8720
|
|
mdc_pin: GPIO23
|
|
mdio_pin: GPIO25
|
|
clk_mode: GPIO0_IN
|
|
phy_addr: 0
|
|
power_pin: GPIO25
|
|
manual_ip:
|
|
static_ip: 192.168.178.56
|
|
gateway: 192.168.178.1
|
|
subnet: 255.255.255.0
|
|
domain: .local
|
|
|
|
mdns:
|
|
disabled: true
|
|
|
|
api:
|
|
|
|
i2c:
|
|
sda: 21
|
|
scl: 22
|
|
scan: False
|
|
|
|
spi:
|
|
clk_pin: GPIO21
|
|
mosi_pin: GPIO22
|
|
miso_pin: GPIO23
|
|
|
|
uart:
|
|
tx_pin: GPIO22
|
|
rx_pin: GPIO23
|
|
baud_rate: 115200
|
|
|
|
ota:
|
|
safe_mode: True
|
|
port: 3286
|
|
num_attempts: 15
|
|
|
|
logger:
|
|
level: DEBUG
|
|
|
|
deep_sleep:
|
|
run_duration: 20s
|
|
sleep_duration: 50s
|
|
wakeup_pin: GPIO39
|
|
wakeup_pin_mode: INVERT_WAKEUP
|
|
|
|
as3935_i2c:
|
|
irq_pin: GPIO12
|
|
|
|
mcp3008:
|
|
- id: 'mcp3008_hub'
|
|
cs_pin: GPIO12
|
|
|
|
sensor:
|
|
- platform: homeassistant
|
|
entity_id: sensor.hello_world
|
|
id: ha_hello_world
|
|
- platform: homeassistant
|
|
entity_id: climate.living_room
|
|
attribute: temperature
|
|
id: ha_hello_world_temperature
|
|
- platform: ble_rssi
|
|
mac_address: AC:37:43:77:5F:4C
|
|
name: 'BLE Google Home Mini RSSI value'
|
|
- platform: ble_rssi
|
|
service_uuid: '11aa'
|
|
name: 'BLE Test Service 16'
|
|
- platform: ble_rssi
|
|
service_uuid: '11223344'
|
|
name: 'BLE Test Service 32'
|
|
- platform: ble_rssi
|
|
service_uuid: '11223344-5566-7788-99aa-bbccddeeff00'
|
|
name: 'BLE Test Service 128'
|
|
- platform: b_parasite
|
|
mac_address: F0:CA:F0:CA:01:01
|
|
humidity:
|
|
name: 'b-parasite Air Humidity'
|
|
temperature:
|
|
name: 'b-parasite Air Temperature'
|
|
moisture:
|
|
name: 'b-parasite Soil Moisture'
|
|
battery_voltage:
|
|
name: 'b-parasite Battery Voltage'
|
|
- platform: senseair
|
|
id: senseair0
|
|
co2:
|
|
name: 'SenseAir CO2 Value'
|
|
on_value:
|
|
then:
|
|
- senseair.background_calibration: senseair0
|
|
- senseair.background_calibration_result: senseair0
|
|
- senseair.abc_get_period: senseair0
|
|
- senseair.abc_enable: senseair0
|
|
- senseair.abc_disable: senseair0
|
|
update_interval: 15s
|
|
- platform: ruuvitag
|
|
mac_address: FF:56:D3:2F:7D:E8
|
|
humidity:
|
|
name: 'RuuviTag Humidity'
|
|
temperature:
|
|
name: 'RuuviTag Temperature'
|
|
pressure:
|
|
name: 'RuuviTag Pressure'
|
|
acceleration_x:
|
|
name: 'RuuviTag Acceleration X'
|
|
acceleration_y:
|
|
name: 'RuuviTag Acceleration Y'
|
|
acceleration_z:
|
|
name: 'RuuviTag Acceleration Z'
|
|
battery_voltage:
|
|
name: 'RuuviTag Battery Voltage'
|
|
tx_power:
|
|
name: 'RuuviTag TX Power'
|
|
movement_counter:
|
|
name: 'RuuviTag Movement Counter'
|
|
measurement_sequence_number:
|
|
name: 'RuuviTag Measurement Sequence Number'
|
|
- platform: as3935
|
|
lightning_energy:
|
|
name: 'Lightning Energy'
|
|
distance:
|
|
name: 'Distance Storm'
|
|
- platform: xiaomi_hhccjcy01
|
|
mac_address: 94:2B:FF:5C:91:61
|
|
temperature:
|
|
name: 'Xiaomi HHCCJCY01 Temperature'
|
|
moisture:
|
|
name: 'Xiaomi HHCCJCY01 Moisture'
|
|
illuminance:
|
|
name: 'Xiaomi HHCCJCY01 Illuminance'
|
|
conductivity:
|
|
name: 'Xiaomi HHCCJCY01 Soil Conductivity'
|
|
battery_level:
|
|
name: 'Xiaomi HHCCJCY01 Battery Level'
|
|
- platform: xiaomi_lywsdcgq
|
|
mac_address: 7A:80:8E:19:36:BA
|
|
temperature:
|
|
name: 'Xiaomi LYWSDCGQ Temperature'
|
|
humidity:
|
|
name: 'Xiaomi LYWSDCGQ Humidity'
|
|
battery_level:
|
|
name: 'Xiaomi LYWSDCGQ Battery Level'
|
|
- platform: xiaomi_lywsd02
|
|
mac_address: 3F:5B:7D:82:58:4E
|
|
temperature:
|
|
name: 'Xiaomi LYWSD02 Temperature'
|
|
humidity:
|
|
name: 'Xiaomi LYWSD02 Humidity'
|
|
battery_level:
|
|
name: 'Xiaomi LYWSD02 Battery Level'
|
|
- platform: xiaomi_cgg1
|
|
mac_address: 7A:80:8E:19:36:BA
|
|
temperature:
|
|
name: 'Xiaomi CGG1 Temperature'
|
|
humidity:
|
|
name: 'Xiaomi CGG1 Humidity'
|
|
battery_level:
|
|
name: 'Xiaomi CGG1 Battery Level'
|
|
- platform: xiaomi_gcls002
|
|
mac_address: '94:2B:FF:5C:91:61'
|
|
temperature:
|
|
name: 'GCLS02 Temperature'
|
|
moisture:
|
|
name: 'GCLS02 Moisture'
|
|
conductivity:
|
|
name: 'GCLS02 Soil Conductivity'
|
|
illuminance:
|
|
name: 'GCLS02 Illuminance'
|
|
- platform: xiaomi_hhccpot002
|
|
mac_address: '94:2B:FF:5C:91:61'
|
|
moisture:
|
|
name: 'HHCCPOT002 Moisture'
|
|
conductivity:
|
|
name: 'HHCCPOT002 Soil Conductivity'
|
|
- platform: xiaomi_lywsd03mmc
|
|
mac_address: 'A4:C1:38:4E:16:78'
|
|
bindkey: 'e9efaa6873f9f9c87a5e75a5f814801c'
|
|
temperature:
|
|
name: 'Xiaomi LYWSD03MMC Temperature'
|
|
humidity:
|
|
name: 'Xiaomi LYWSD03MMC Humidity'
|
|
battery_level:
|
|
name: 'Xiaomi LYWSD03MMC Battery Level'
|
|
- platform: xiaomi_cgd1
|
|
mac_address: 'A4:C1:38:D1:61:7D'
|
|
bindkey: 'c99d2313182473b38001086febf781bd'
|
|
temperature:
|
|
name: 'Xiaomi CGD1 Temperature'
|
|
humidity:
|
|
name: 'Xiaomi CGD1 Humidity'
|
|
battery_level:
|
|
name: 'Xiaomi CGD1 Battery Level'
|
|
- platform: xiaomi_jqjcy01ym
|
|
mac_address: '7A:80:8E:19:36:BA'
|
|
temperature:
|
|
name: 'JQJCY01YM Temperature'
|
|
humidity:
|
|
name: 'JQJCY01YM Humidity'
|
|
formaldehyde:
|
|
name: 'JQJCY01YM Formaldehyde'
|
|
battery_level:
|
|
name: 'JQJCY01YM Battery Level'
|
|
- platform: atc_mithermometer
|
|
mac_address: 'A4:C1:38:4E:16:78'
|
|
temperature:
|
|
name: 'ATC Temperature'
|
|
humidity:
|
|
name: 'ATC Humidity'
|
|
battery_level:
|
|
name: 'ATC Battery-Level'
|
|
battery_voltage:
|
|
name: 'ATC Battery-Voltage'
|
|
- platform: pvvx_mithermometer
|
|
mac_address: 'A4:C1:38:4E:16:78'
|
|
temperature:
|
|
name: 'PVVX Temperature'
|
|
humidity:
|
|
name: 'PVVX Humidity'
|
|
battery_level:
|
|
name: 'PVVX Battery-Level'
|
|
battery_voltage:
|
|
name: 'PVVX Battery-Voltage'
|
|
- platform: inkbird_ibsth1_mini
|
|
mac_address: 38:81:D7:0A:9C:11
|
|
temperature:
|
|
name: 'Inkbird IBS-TH1 Temperature'
|
|
humidity:
|
|
name: 'Inkbird IBS-TH1 Humidity'
|
|
battery_level:
|
|
name: 'Inkbird IBS-TH1 Battery Level'
|
|
- platform: sgp40
|
|
name: 'Workshop VOC'
|
|
update_interval: 5s
|
|
store_baseline: 'true'
|
|
- platform: mcp3008
|
|
update_interval: 5s
|
|
mcp3008_id: 'mcp3008_hub'
|
|
id: freezer_temp_source
|
|
reference_voltage: 3.19
|
|
number: 0
|
|
- platform: airthings_wave_plus
|
|
ble_client_id: airthings01
|
|
update_interval: 5min
|
|
temperature:
|
|
name: "Wave Plus Temperature"
|
|
radon:
|
|
name: "Wave Plus Radon"
|
|
radon_long_term:
|
|
name: "Wave Plus Radon Long Term"
|
|
pressure:
|
|
name: "Wave Plus Pressure"
|
|
humidity:
|
|
name: "Wave Plus Humidity"
|
|
co2:
|
|
name: "Wave Plus CO2"
|
|
tvoc:
|
|
name: "Wave Plus VOC"
|
|
|
|
time:
|
|
- platform: homeassistant
|
|
on_time:
|
|
- at: '16:00:00'
|
|
then:
|
|
- logger.log: It's 16:00
|
|
|
|
esp32_touch:
|
|
setup_mode: True
|
|
|
|
binary_sensor:
|
|
- platform: homeassistant
|
|
entity_id: binary_sensor.hello_world
|
|
id: ha_hello_world_binary
|
|
- platform: homeassistant
|
|
entity_id: binary_sensor.hello
|
|
attribute: world
|
|
id: ha_hello_world_binary_attribute
|
|
- platform: ble_presence
|
|
mac_address: AC:37:43:77:5F:4C
|
|
name: 'ESP32 BLE Tracker Google Home Mini'
|
|
- platform: ble_presence
|
|
service_uuid: '11aa'
|
|
name: 'BLE Test Service 16 Presence'
|
|
- platform: ble_presence
|
|
service_uuid: '11223344'
|
|
name: 'BLE Test Service 32 Presence'
|
|
- platform: ble_presence
|
|
service_uuid: '11223344-5566-7788-99aa-bbccddeeff00'
|
|
name: 'BLE Test Service 128 Presence'
|
|
- platform: ble_presence
|
|
ibeacon_uuid: '11223344-5566-7788-99aa-bbccddeeff00'
|
|
ibeacon_major: 100
|
|
ibeacon_minor: 1
|
|
name: 'BLE Test iBeacon Presence'
|
|
- platform: esp32_touch
|
|
name: 'ESP32 Touch Pad GPIO27'
|
|
pin: GPIO27
|
|
threshold: 1000
|
|
- platform: as3935
|
|
name: 'Storm Alert'
|
|
- platform: xiaomi_mue4094rt
|
|
name: 'MUE4094RT Motion'
|
|
mac_address: '7A:80:8E:19:36:BA'
|
|
timeout: '5s'
|
|
- platform: xiaomi_mjyd02yla
|
|
name: 'MJYD02YL-A Motion'
|
|
mac_address: '50:EC:50:CD:32:02'
|
|
bindkey: '48403ebe2d385db8d0c187f81e62cb64'
|
|
idle_time:
|
|
name: 'MJYD02YL-A Idle Time'
|
|
light:
|
|
name: 'MJYD02YL-A Light Status'
|
|
battery_level:
|
|
name: 'MJYD02YL-A Battery Level'
|
|
- platform: xiaomi_wx08zm
|
|
name: 'WX08ZM Activation State'
|
|
mac_address: '74:a3:4a:b5:07:34'
|
|
tablet:
|
|
name: 'WX08ZM Tablet Resource'
|
|
battery_level:
|
|
name: 'WX08ZM Battery Level'
|
|
- platform: xiaomi_cgpr1
|
|
name: 'CGPR1 Motion'
|
|
mac_address: '12:34:56:12:34:56'
|
|
bindkey: '48403ebe2d385db8d0c187f81e62cb64'
|
|
battery_level:
|
|
name: 'CGPR1 battery Level'
|
|
idle_time:
|
|
name: 'CGPR1 Idle Time'
|
|
illuminance:
|
|
name: 'CGPR1 Illuminance'
|
|
|
|
esp32_ble_tracker:
|
|
on_ble_advertise:
|
|
- mac_address: AC:37:43:77:5F:4C
|
|
then:
|
|
- lambda: !lambda |-
|
|
ESP_LOGD("main", "The device address is %s", x.address_str().c_str());
|
|
- then:
|
|
- lambda: !lambda |-
|
|
ESP_LOGD("main", "The device address is %s", x.address_str().c_str());
|
|
on_ble_service_data_advertise:
|
|
- service_uuid: ABCD
|
|
then:
|
|
- lambda: !lambda |-
|
|
ESP_LOGD("main", "Length of service data is %i", x.size());
|
|
on_ble_manufacturer_data_advertise:
|
|
- manufacturer_id: ABCD
|
|
then:
|
|
- lambda: !lambda |-
|
|
ESP_LOGD("main", "Length of manufacturer data is %i", x.size());
|
|
|
|
ble_client:
|
|
- mac_address: 01:02:03:04:05:06
|
|
id: airthings01
|
|
|
|
airthings_ble:
|
|
|
|
#esp32_ble_beacon:
|
|
# type: iBeacon
|
|
# uuid: 'c29ce823-e67a-4e71-bff2-abaa32e77a98'
|
|
|
|
status_led:
|
|
pin: GPIO2
|
|
|
|
text_sensor:
|
|
- platform: version
|
|
name: 'ESPHome Version'
|
|
icon: mdi:icon
|
|
id: version_sensor
|
|
on_value:
|
|
- if:
|
|
condition:
|
|
- api.connected:
|
|
then:
|
|
- lambda: !lambda |-
|
|
ESP_LOGD("main", "The state is %s=%s", x.c_str(), id(version_sensor).state.c_str());
|
|
- script.execute: my_script
|
|
- homeassistant.service:
|
|
service: notify.html5
|
|
data:
|
|
title: New Humidity
|
|
data_template:
|
|
message: The humidity is {{ my_variable }}%.
|
|
variables:
|
|
my_variable: |-
|
|
return id(version_sensor).state;
|
|
my_variable_str: |-
|
|
return "Hello World";
|
|
- homeassistant.service:
|
|
service: light.turn_on
|
|
data:
|
|
entity_id: light.my_light
|
|
- homeassistant.tag_scanned:
|
|
tag: 1234-abcd
|
|
- homeassistant.tag_scanned: 1234-abcd
|
|
- deep_sleep.enter:
|
|
sleep_duration: 30min
|
|
- deep_sleep.enter:
|
|
sleep_duration: !lambda "return 30 * 60 * 1000;"
|
|
- platform: template
|
|
name: 'Template Text Sensor'
|
|
lambda: |-
|
|
return {"Hello World"};
|
|
- platform: homeassistant
|
|
entity_id: sensor.hello_world2
|
|
id: ha_hello_world2
|
|
- platform: homeassistant
|
|
entity_id: sensor.hello_world3
|
|
id: ha_hello_world3
|
|
attribute: some_attribute
|
|
- platform: ble_scanner
|
|
name: Scanner
|
|
|
|
script:
|
|
- id: my_script
|
|
mode: single
|
|
then:
|
|
- lambda: 'ESP_LOGD("main", "Hello World!");'
|
|
- id: my_script_queued
|
|
mode: queued
|
|
max_runs: 2
|
|
then:
|
|
- lambda: 'ESP_LOGD("main", "Hello World!");'
|
|
- id: my_script_parallel
|
|
mode: parallel
|
|
max_runs: 2
|
|
then:
|
|
- lambda: 'ESP_LOGD("main", "Hello World!");'
|
|
- id: my_script_restart
|
|
mode: restart
|
|
then:
|
|
- lambda: 'ESP_LOGD("main", "Hello World!");'
|
|
|
|
stepper:
|
|
- platform: uln2003
|
|
id: my_stepper
|
|
pin_a: GPIO23
|
|
pin_b: GPIO27
|
|
pin_c: GPIO25
|
|
pin_d: GPIO26
|
|
sleep_when_done: no
|
|
step_mode: HALF_STEP
|
|
max_speed: 250 steps/s
|
|
|
|
# Optional:
|
|
acceleration: inf
|
|
deceleration: inf
|
|
|
|
interval:
|
|
interval: 5s
|
|
then:
|
|
- logger.log: 'Interval Run'
|
|
|
|
display:
|
|
|