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 # Specifically added for testing debug with no after: definition. debug: dummy_receiver: false direction: rx sequence: - lambda: UARTDebug::log_hex(direction, bytes, ':'); ota: safe_mode: True port: 3286 num_attempts: 15 logger: level: DEBUG deep_sleep: run_duration: default: 20s gpio_wakeup_reason: 10s touch_wakeup_reason: 15s sleep_duration: 50s wakeup_pin: GPIO2 wakeup_pin_mode: INVERT_WAKEUP as3935_i2c: irq_pin: GPIO12 mcp3008: - id: 'mcp3008_hub' cs_pin: GPIO12 output: - platform: ac_dimmer id: dimmer1 gate_pin: GPIO5 zero_cross_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: ble_rssi service_uuid: '11223344-5566-7788-99aa-bbccddeeff00' name: 'BLE Test iBeacon UUID' - 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' illuminance: name: 'b-parasite Illuminance' - 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: xiaomi_mhoc303 mac_address: 'E7:50:59:32:A0:1C' temperature: name: 'MHO-C303 Temperature' humidity: name: 'MHO-C303 Humidity' battery_level: name: 'MHO-C303 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: xiaomi_rtcgq02lm id: motion_rtcgq02lm battery_level: name: 'Mi Motion Sensor 2 Battery level' - platform: ltr390 uv: name: "LTR390 UV" uv_index: name: "LTR390 UVI" light: name: "LTR390 Light" ambient_light: name: "LTR390 ALS" gain: "X3" resolution: 18 window_correction_factor: 1.0 address: 0x53 update_interval: 60s - platform: sgp4x voc: name: "VOC Index" id: sgp40_voc_index algorithm_tuning: index_offset: 100 learning_time_offset_hours: 12 learning_time_gain_hours: 12 gating_max_duration_minutes: 180 std_initial: 50 gain_factor: 230 nox: name: "NOx" algorithm_tuning: index_offset: 100 learning_time_offset_hours: 12 learning_time_gain_hours: 12 gating_max_duration_minutes: 180 std_initial: 50 gain_factor: 230 update_interval: 5s - 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" - platform: airthings_wave_mini ble_client_id: airthingsmini01 update_interval: 5min temperature: name: "Wave Mini Temperature" humidity: name: "Wave Mini Humidity" pressure: name: "Wave Mini Pressure" tvoc: name: "Wave Mini VOC" - platform: ina260 address: 0x40 current: name: "INA260 Current" power: name: "INA260 Power" bus_voltage: name: "INA260 Voltage" update_interval: 60s - platform: radon_eye_rd200 ble_client_id: radon_eye_ble_id update_interval: 10min radon: name: "RD200 Radon" radon_long_term: name: "RD200 Radon Long Term" - platform: mopeka_pro_check mac_address: D3:75:F2:DC:16:91 tank_type: CUSTOM custom_distance_full: 40cm custom_distance_empty: 10mm temperature: name: "Propane test temp" level: name: "Propane test level" distance: name: "Propane test distance" battery_level: name: "Propane test battery level" 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' - platform: xiaomi_rtcgq02lm id: motion_rtcgq02lm motion: name: 'Mi Motion Sensor 2' light: name: 'Mi Motion Sensor 2 Light' button: name: 'Mi Motion Sensor 2 Button' 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 - mac_address: 01:02:03:04:05:06 id: airthingsmini01 - mac_address: 01:02:03:04:05:06 id: radon_eye_ble_id airthings_ble: radon_eye_ble: ruuvi_ble: xiaomi_ble: mopeka_ble: xiaomi_rtcgq02lm: - id: motion_rtcgq02lm mac_address: 01:02:03:04:05:06 bindkey: '48403ebe2d385db8d0c187f81e62cb64' #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"}; filters: - to_upper: - to_lower: - append: "xyz" - prepend: "abcd" - substitute: - Hello -> Goodbye - map: - red -> green - lambda: return {"1234"}; - 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: cap1188: id: cap1188_component address: 0x29 touch_threshold: 0x20 allow_multiple_touches: true reset_pin: 14 switch: - platform: template name: "Test BLE Write Action" turn_on_action: - ble_client.ble_write: id: airthings01 service_uuid: F61E3BE9-2826-A81B-970A-4D4DECFABBAE characteristic_uuid: 6490FAFE-0734-732C-8705-91B653A081FC value: [0x01, 0xab, 0xff] - ble_client.ble_write: id: airthings01 service_uuid: F61E3BE9-2826-A81B-970A-4D4DECFABBAE characteristic_uuid: 6490FAFE-0734-732C-8705-91B653A081FC value: !lambda |- return {0x13, 0x37};