mirror of
				https://github.com/esphome/esphome.git
				synced 2025-10-30 22:53:59 +00:00 
			
		
		
		
	
		
			
				
	
	
		
			4415 lines
		
	
	
		
			102 KiB
		
	
	
	
		
			YAML
		
	
	
	
	
	
			
		
		
	
	
			4415 lines
		
	
	
		
			102 KiB
		
	
	
	
		
			YAML
		
	
	
	
	
	
| ---
 | |
| substitutions:
 | |
|   devicename: test1
 | |
|   sensorname: my
 | |
|   textname: template
 | |
|   roomname: living_room
 | |
| 
 | |
| esphome:
 | |
|   name: test1
 | |
|   name_add_mac_suffix: true
 | |
|   platform: ESP32
 | |
|   board: nodemcu-32s
 | |
|   platformio_options:
 | |
|     board_build.partitions: huge_app.csv
 | |
|   on_boot:
 | |
|     priority: 150.0
 | |
|     then:
 | |
|       - lambda: >-
 | |
|           ESP_LOGD("main", "ON BOOT!");
 | |
|   on_shutdown:
 | |
|     then:
 | |
|       - lambda: >-
 | |
|           ESP_LOGD("main", "ON SHUTDOWN!");
 | |
|   on_loop:
 | |
|     then:
 | |
|       - lambda: >-
 | |
|           ESP_LOGV("main", "ON LOOP!");
 | |
|       - http_request.get:
 | |
|           url: https://esphome.io
 | |
|           headers:
 | |
|             Content-Type: application/json
 | |
|           verify_ssl: false
 | |
|       - http_request.post:
 | |
|           url: https://esphome.io
 | |
|           verify_ssl: false
 | |
|           json:
 | |
|             key: !lambda |-
 | |
|               return id(${textname}_text).state;
 | |
|             greeting: Hello World
 | |
|       - http_request.send:
 | |
|           method: PUT
 | |
|           url: https://esphome.io
 | |
|           headers:
 | |
|             Content-Type: application/json
 | |
|           body: Some data
 | |
|           verify_ssl: false
 | |
|           on_response:
 | |
|             then:
 | |
|               - logger.log:
 | |
|                   format: "Response status: %d"
 | |
|                   args:
 | |
|                     - status_code
 | |
|   build_path: build/test1
 | |
| 
 | |
| packages:
 | |
|   wifi: !include test_packages/test_packages_package_wifi.yaml
 | |
|   pkg_test: !include test_packages/test_packages_package1.yaml
 | |
| 
 | |
| wifi:
 | |
|   networks:
 | |
|     - ssid: "MySSID"
 | |
|       password: "password1"
 | |
|     - ssid: "MySSID2"
 | |
|       password: ""
 | |
|       channel: 14
 | |
|       bssid: "A1:63:95:47:D3:1D"
 | |
|   manual_ip:
 | |
|     static_ip: 192.168.178.230
 | |
|     gateway: 192.168.178.1
 | |
|     subnet: 255.255.255.0
 | |
|     dns1: 1.1.1.1
 | |
|     dns2: 1.2.2.1
 | |
|   domain: .local
 | |
|   reboot_timeout: 120s
 | |
|   power_save_mode: light
 | |
|   on_connect:
 | |
|     - light.turn_on: ${roomname}_lights
 | |
|   on_disconnect:
 | |
|     - light.turn_off: ${roomname}_lights
 | |
| 
 | |
| network:
 | |
|   enable_ipv6: true
 | |
| 
 | |
| mdns:
 | |
|   disabled: false
 | |
| 
 | |
| http_request:
 | |
|   useragent: esphome/device
 | |
|   timeout: 10s
 | |
| 
 | |
| mqtt:
 | |
|   broker: "192.168.178.84"
 | |
|   port: 1883
 | |
|   username: "debug"
 | |
|   password: "debug"
 | |
|   client_id: someclient
 | |
|   use_abbreviations: false
 | |
|   discovery: true
 | |
|   discovery_retain: false
 | |
|   discovery_prefix: discovery
 | |
|   discovery_unique_id_generator: legacy
 | |
|   topic_prefix: helloworld
 | |
|   log_topic:
 | |
|     topic: helloworld/hi
 | |
|     level: INFO
 | |
|   birth_message:
 | |
|   will_message:
 | |
|   shutdown_message:
 | |
|     topic: topic/to/send/to
 | |
|     payload: hi
 | |
|     qos: 2
 | |
|     retain: true
 | |
|   keepalive: 60s
 | |
|   reboot_timeout: 60s
 | |
|   on_message:
 | |
|     - topic: my/custom/topic
 | |
|       qos: 0
 | |
|       then:
 | |
|         - lambda: >-
 | |
|             ESP_LOGD("main", "Got message %s", x.c_str());
 | |
|     - topic: livingroom/ota_mode
 | |
|       then:
 | |
|         - deep_sleep.prevent
 | |
|         - deep_sleep.allow
 | |
|     - topic: livingroom/ota_mode
 | |
|       then:
 | |
|         - deep_sleep.enter:
 | |
|   on_json_message:
 | |
|     topic: the/topic
 | |
|     then:
 | |
|       - if:
 | |
|           condition:
 | |
|             - wifi.connected:
 | |
|             - mqtt.connected:
 | |
|             - light.is_on: kitchen
 | |
|             - light.is_off: kitchen
 | |
|             - fan.is_on: fan_speed
 | |
|             - fan.is_off: fan_speed
 | |
|           then:
 | |
|             - lambda: |-
 | |
|                 int data = x["my_data"];
 | |
|                 ESP_LOGD("main", "The data is: %d", data);
 | |
|             - light.turn_on:
 | |
|                 id: ${roomname}_lights
 | |
|                 brightness: !lambda |-
 | |
|                   float brightness = 1.0;
 | |
|                   if (x.containsKey("brightness"))
 | |
|                     brightness = x["brightness"];
 | |
|                   return brightness;
 | |
|                 effect: !lambda |-
 | |
|                   const char *effect = "None";
 | |
|                   if (x.containsKey("effect"))
 | |
|                     effect = x["effect"];
 | |
|                   return effect;
 | |
|             - light.control:
 | |
|                 id: ${roomname}_lights
 | |
|                 # yamllint disable-line rule:line-length
 | |
|                 brightness: !lambda "return id(${roomname}_lights).current_values.get_brightness() + 0.5;"
 | |
|             - light.dim_relative:
 | |
|                 id: ${roomname}_lights
 | |
|                 relative_brightness: 5%
 | |
|             - uart.write:
 | |
|                 id: uart_0
 | |
|                 data: Hello World
 | |
|             - uart.write:
 | |
|                 id: uart_0
 | |
|                 data: [0x00, 0x20, 0x30]
 | |
|             - uart.write:
 | |
|                 id: uart_0
 | |
|                 data: !lambda |-
 | |
|                   return {};
 | |
|             - bluetooth_password.set:
 | |
|                 id: my_ld2410
 | |
|                 password: abcdef
 | |
|   on_connect:
 | |
|     - light.turn_on: ${roomname}_lights
 | |
|     - mqtt.publish:
 | |
|         topic: some/topic
 | |
|         payload: Hello
 | |
|   on_disconnect:
 | |
|     - light.turn_off: ${roomname}_lights
 | |
| 
 | |
| i2c:
 | |
|   sda:
 | |
|     allow_other_uses: true
 | |
|     number: 21
 | |
|   scl:
 | |
|     allow_other_uses: true
 | |
|     number: 22
 | |
|   scan: true
 | |
|   frequency: 100kHz
 | |
|   setup_priority: -100
 | |
|   id: i2c_bus
 | |
| 
 | |
| spi:
 | |
|   id: spi_bus
 | |
|   clk_pin:
 | |
|     allow_other_uses: true
 | |
|     number: GPIO21
 | |
|   mosi_pin:
 | |
|     allow_other_uses: true
 | |
|     number: GPIO22
 | |
|   miso_pin:
 | |
|     allow_other_uses: true
 | |
|     number: GPIO23
 | |
| 
 | |
| uart:
 | |
|   - tx_pin:
 | |
|       allow_other_uses: true
 | |
|       number: GPIO22
 | |
|       inverted: true
 | |
|     rx_pin:
 | |
|       allow_other_uses: true
 | |
|       number: GPIO23
 | |
|       inverted: true
 | |
|     baud_rate: 115200
 | |
|     id: uart_0
 | |
|     parity: NONE
 | |
|     data_bits: 8
 | |
|     stop_bits: 1
 | |
|     rx_buffer_size: 512
 | |
|     debug:
 | |
|       dummy_receiver: true
 | |
|       direction: both
 | |
|       after:
 | |
|         bytes: 50
 | |
|         timeout: 500ms
 | |
|         delimiter: "\r\n"
 | |
|       sequence:
 | |
|         - lambda: UARTDebug::log_hex(direction, bytes, ':');
 | |
|         - lambda: UARTDebug::log_string(direction, bytes);
 | |
|         - lambda: UARTDebug::log_int(direction, bytes, ',');
 | |
|         - lambda: UARTDebug::log_binary(direction, bytes, ';');
 | |
|   - id: ld2410_uart
 | |
|     tx_pin:
 | |
|       allow_other_uses: true
 | |
|       number: 18
 | |
|     rx_pin:
 | |
|       allow_other_uses: true
 | |
|       number: 23
 | |
|     baud_rate: 256000
 | |
|     parity: NONE
 | |
|     stop_bits: 1
 | |
|   - id: dfrobot_mmwave_uart
 | |
|     tx_pin:
 | |
|       allow_other_uses: true
 | |
|       number: 14
 | |
|     rx_pin:
 | |
|       allow_other_uses: true
 | |
|       number: 27
 | |
|     baud_rate: 115200
 | |
|   - id: ld2420_uart
 | |
|     tx_pin:
 | |
|       allow_other_uses: true
 | |
|       number: 17
 | |
|     rx_pin:
 | |
|       allow_other_uses: true
 | |
|       number: 16
 | |
|     baud_rate: 115200
 | |
|     parity: NONE
 | |
|     stop_bits: 1
 | |
|   - id: gcja5_uart
 | |
|     rx_pin: GPIO10
 | |
|     parity: EVEN
 | |
|     baud_rate: 9600
 | |
| 
 | |
| ota:
 | |
|   safe_mode: true
 | |
|   password: "superlongpasswordthatnoonewillknow"
 | |
|   port: 3286
 | |
|   reboot_timeout: 2min
 | |
|   num_attempts: 5
 | |
|   on_state_change:
 | |
|     then:
 | |
|       lambda: >-
 | |
|         ESP_LOGD("ota", "State %d", state);
 | |
|   on_begin:
 | |
|     then:
 | |
|       logger.log: OTA begin
 | |
|   on_progress:
 | |
|     then:
 | |
|       lambda: >-
 | |
|         ESP_LOGD("ota", "Got progress %f", x);
 | |
|   on_end:
 | |
|     then:
 | |
|       logger.log: OTA end
 | |
|   on_error:
 | |
|     then:
 | |
|       lambda: >-
 | |
|         ESP_LOGD("ota", "Got error code %d", x);
 | |
| 
 | |
| logger:
 | |
|   baud_rate: 0
 | |
|   level: VERBOSE
 | |
|   logs:
 | |
|     mqtt.component: DEBUG
 | |
|     mqtt.client: ERROR
 | |
| 
 | |
| web_server:
 | |
|   port: 8080
 | |
|   version: 2
 | |
| 
 | |
| power_supply:
 | |
|   id: atx_power_supply
 | |
|   enable_time: 20ms
 | |
|   keep_on_time: 10s
 | |
|   pin:
 | |
|     number: 13
 | |
|     allow_other_uses: true
 | |
|     inverted: true
 | |
| 
 | |
| deep_sleep:
 | |
|   run_duration: 20s
 | |
|   sleep_duration: 50s
 | |
|   wakeup_pin:
 | |
|     allow_other_uses: true
 | |
|     number: GPIO2
 | |
|     ignore_strapping_warning: true
 | |
|   wakeup_pin_mode: INVERT_WAKEUP
 | |
| 
 | |
| ads1115:
 | |
|   address: 0x48
 | |
|   i2c_id: i2c_bus
 | |
| 
 | |
| as5600:
 | |
|   i2c_id: i2c_bus
 | |
|   dir_pin:
 | |
|     number: 27
 | |
|     allow_other_uses: true
 | |
|   direction: clockwise
 | |
|   start_position: 90deg
 | |
|   range: 180deg
 | |
|   watchdog: true
 | |
|   power_mode: low1
 | |
|   hysteresis: lsb1
 | |
|   slow_filter: 8x
 | |
|   fast_filter: lsb6
 | |
| 
 | |
| dallas:
 | |
|   pin:
 | |
|     allow_other_uses: true
 | |
|     number: GPIO23
 | |
| 
 | |
| as3935_spi:
 | |
|   cs_pin:
 | |
|     ignore_strapping_warning: true
 | |
|     allow_other_uses: true
 | |
|     number: GPIO12
 | |
|   irq_pin:
 | |
|     allow_other_uses: true
 | |
|     number: GPIO13
 | |
| 
 | |
| esp32_ble:
 | |
|   io_capability: keyboard_only
 | |
| 
 | |
| esp32_ble_tracker:
 | |
| 
 | |
| ble_client:
 | |
|   - mac_address: AA:BB:CC:DD:EE:FF
 | |
|     id: ble_foo
 | |
|     auto_connect: true
 | |
|   - mac_address: 11:22:33:44:55:66
 | |
|     id: ble_blah
 | |
|     auto_connect: false
 | |
|     on_connect:
 | |
|       then:
 | |
|         - switch.turn_on: ble1_status
 | |
|     on_disconnect:
 | |
|       then:
 | |
|         - switch.turn_on: ble1_status
 | |
|     on_passkey_request:
 | |
|       then:
 | |
|         - ble_client.passkey_reply:
 | |
|             id: ble_blah
 | |
|             passkey: 123456
 | |
|     on_passkey_notification:
 | |
|       then:
 | |
|         - logger.log: "Passkey notification received"
 | |
|     on_numeric_comparison_request:
 | |
|       then:
 | |
|         - ble_client.numeric_comparison_reply:
 | |
|             id: ble_blah
 | |
|             accept: True
 | |
|   - mac_address: C4:4F:33:11:22:33
 | |
|     id: my_bedjet_ble_client
 | |
| 
 | |
| bedjet:
 | |
|   - ble_client_id: my_bedjet_ble_client
 | |
|     id: my_bedjet_client
 | |
|     time_id: sntp_time
 | |
| mcp23s08:
 | |
|   - id: mcp23s08_hub
 | |
|     cs_pin:
 | |
|       ignore_strapping_warning: true
 | |
|       number: GPIO12
 | |
|       allow_other_uses: true
 | |
|     deviceaddress: 0
 | |
| 
 | |
| mcp23s17:
 | |
|   - id: mcp23s17_hub
 | |
|     cs_pin:
 | |
|       ignore_strapping_warning: true
 | |
|       number: GPIO12
 | |
|       allow_other_uses: true
 | |
|     deviceaddress: 1
 | |
| 
 | |
| micronova:
 | |
|   enable_rx_pin:
 | |
|     allow_other_uses: true
 | |
|     number: 4
 | |
|   uart_id: uart_0
 | |
| 
 | |
| dfrobot_sen0395:
 | |
|   - id: mmwave
 | |
|     uart_id: dfrobot_mmwave_uart
 | |
| 
 | |
| sensor:
 | |
|   - platform: xgzp68xx
 | |
|     i2c_id: i2c_bus
 | |
|     temperature:
 | |
|       name: Pressure Temperature
 | |
|     pressure:
 | |
|       name: Differential pressure
 | |
|     k_value: 4096
 | |
| 
 | |
|   - platform: pmwcs3
 | |
|     i2c_id: i2c_bus
 | |
|     e25:
 | |
|       name: pmwcs3_e25
 | |
|     ec:
 | |
|       name: pmwcs3_ec
 | |
|     temperature:
 | |
|       name: pmwcs3_temperature
 | |
|     vwc:
 | |
|       name: pmwcs3_vwc
 | |
|   - platform: gcja5
 | |
|     pm_1_0:
 | |
|       name: "Particulate Matter <1.0µm Concentration"
 | |
|     pm_2_5:
 | |
|       name: "Particulate Matter <2.5µm Concentration"
 | |
|     pm_10_0:
 | |
|       name: "Particulate Matter <10.0µm Concentration"
 | |
|     pmc_0_5:
 | |
|       name: "PMC 0.5"
 | |
|     pmc_1_0:
 | |
|       name: "PMC 1.0"
 | |
|     pmc_2_5:
 | |
|       name: "PMC 2.5"
 | |
|     pmc_5_0:
 | |
|       name: "PMC 5.0"
 | |
|     pmc_10_0:
 | |
|       name: "PMC 10.0"
 | |
|     uart_id: gcja5_uart
 | |
|   - platform: internal_temperature
 | |
|     name: Internal Temperature
 | |
|   - platform: ble_client
 | |
|     type: characteristic
 | |
|     ble_client_id: ble_foo
 | |
|     name: Green iTag btn
 | |
|     service_uuid: ffe0
 | |
|     characteristic_uuid: ffe1
 | |
|     descriptor_uuid: ffe2
 | |
|     notify: true
 | |
|     update_interval: never
 | |
|     lambda: |-
 | |
|       ESP_LOGD("main", "Length of data is %i", x.size());
 | |
|       return x[0];
 | |
|     on_notify:
 | |
|       then:
 | |
|         - lambda: |-
 | |
|             ESP_LOGD("green_btn", "Button was pressed, val%f", x);
 | |
|   - platform: ble_client
 | |
|     type: rssi
 | |
|     ble_client_id: ble_foo
 | |
|     name: Green iTag RSSI
 | |
|     update_interval: 15s
 | |
|   - platform: adc
 | |
|     pin: A0
 | |
|     name: Living Room Brightness
 | |
|     update_interval: "1:01"
 | |
|     attenuation: 2.5db
 | |
|     unit_of_measurement: "°C"
 | |
|     icon: "mdi:water-percent"
 | |
|     accuracy_decimals: 5
 | |
|     expire_after: 120s
 | |
|     setup_priority: -100
 | |
|     force_update: true
 | |
|     filters:
 | |
|       - offset: 2.0
 | |
|       - multiply: 1.2
 | |
|       - calibrate_linear:
 | |
|           datapoints:
 | |
|             - 0.0 -> 0.0
 | |
|             - 40.0 -> 45.0
 | |
|             - 100.0 -> 102.5
 | |
|       - clamp:
 | |
|           min_value: -100
 | |
|           max_value: 100
 | |
|       - filter_out: 42.0
 | |
|       - filter_out: nan
 | |
|       - median:
 | |
|           window_size: 5
 | |
|           send_every: 5
 | |
|           send_first_at: 3
 | |
|       - min:
 | |
|           window_size: 5
 | |
|           send_every: 5
 | |
|           send_first_at: 3
 | |
|       - max:
 | |
|           window_size: 5
 | |
|           send_every: 5
 | |
|           send_first_at: 3
 | |
|       - sliding_window_moving_average:
 | |
|           window_size: 15
 | |
|           send_every: 15
 | |
|           send_first_at: 15
 | |
|       - exponential_moving_average:
 | |
|           alpha: 0.1
 | |
|           send_every: 15
 | |
|           send_first_at: 15
 | |
|       - throttle_average: 60s
 | |
|       - throttle: 1s
 | |
|       - heartbeat: 5s
 | |
|       - debounce: 0.1s
 | |
|       - delta: 5.0
 | |
|       - delta: 1%
 | |
|       - or:
 | |
|           - throttle: 1s
 | |
|           - delta: 5.0
 | |
|       - lambda: return x * (9.0/5.0) + 32.0;
 | |
|     on_value:
 | |
|       then:
 | |
|         # yamllint disable rule:line-length
 | |
|         - lambda: |-
 | |
|             ESP_LOGD("main", "Got value %f", x);
 | |
|             id(${sensorname}_sensor).publish_state(42.0);
 | |
|             ESP_LOGI("main", "Value of my sensor: %f", id(${sensorname}_sensor).state);
 | |
|             ESP_LOGI("main", "Raw Value of my sensor: %f", id(${sensorname}_sensor).state);
 | |
|         # yamllint enable rule:line-length
 | |
|     on_value_range:
 | |
|       above: 5
 | |
|       below: 10
 | |
|       then:
 | |
|         - lambda: >-
 | |
|             ESP_LOGD("main", "Got value range %f", x);
 | |
|         - wait_until: wifi.connected
 | |
|         - wait_until:
 | |
|             condition:
 | |
|               binary_sensor.is_on: binary_sensor1
 | |
|             timeout: 1s
 | |
|     on_raw_value:
 | |
|       - lambda: >-
 | |
|           ESP_LOGD("main", "Got raw value %f", x);
 | |
|       - logger.log:
 | |
|           level: DEBUG
 | |
|           format: Got raw value %f
 | |
|           args: ["x"]
 | |
|       - logger.log: Got raw value NAN
 | |
|       - mqtt.publish:
 | |
|           topic: some/topic
 | |
|           payload: Hello
 | |
|           qos: 2
 | |
|           retain: true
 | |
|   - platform: esp32_hall
 | |
|     name: ESP32 Hall Sensor
 | |
|   - platform: ads1115
 | |
|     multiplexer: A0_A1
 | |
|     gain: 1.024
 | |
|     id: ${sensorname}_sensor
 | |
|     filters:
 | |
|     state_topic: hi/me
 | |
|     retain: false
 | |
|     availability:
 | |
|   - platform: as5600
 | |
|     name: AS5600 Position
 | |
|     raw_position:
 | |
|       name: AS5600 Raw Position
 | |
|     gain:
 | |
|       name: AS5600 Gain
 | |
|     magnitude:
 | |
|       name: AS5600 Magnitude
 | |
|     status:
 | |
|       name: AS5600 Status
 | |
|   - platform: as7341
 | |
|     update_interval: 15s
 | |
|     gain: X8
 | |
|     atime: 120
 | |
|     astep: 99
 | |
|     f1:
 | |
|       name: F1
 | |
|     f2:
 | |
|       name: F2
 | |
|     f3:
 | |
|       name: F3
 | |
|     f4:
 | |
|       name: F4
 | |
|     f5:
 | |
|       name: F5
 | |
|     f6:
 | |
|       name: F6
 | |
|     f7:
 | |
|       name: F7
 | |
|     f8:
 | |
|       name: F8
 | |
|     clear:
 | |
|       name: Clear
 | |
|     nir:
 | |
|       name: NIR
 | |
|     i2c_id: i2c_bus
 | |
|   - platform: atm90e26
 | |
|     cs_pin:
 | |
|       allow_other_uses: true
 | |
|       number: 5
 | |
|     voltage:
 | |
|       name: Line Voltage
 | |
|     current:
 | |
|       name: CT Amps
 | |
|     power:
 | |
|       name: Active Watts
 | |
|     power_factor:
 | |
|       name: Power Factor
 | |
|     frequency:
 | |
|       name: Line Frequency
 | |
|     line_frequency: 50Hz
 | |
|     meter_constant: 1000
 | |
|     pl_const: 1429876
 | |
|     gain_pga: 1X
 | |
|     gain_metering: 7481
 | |
|     gain_voltage: 26400
 | |
|     gain_ct: 31251
 | |
|   - platform: atm90e32
 | |
|     cs_pin:
 | |
|       allow_other_uses: true
 | |
|       number: 5
 | |
|     phase_a:
 | |
|       voltage:
 | |
|         name: EMON Line Voltage A
 | |
|       current:
 | |
|         name: EMON CT1 Current
 | |
|       power:
 | |
|         name: EMON Active Power CT1
 | |
|       reactive_power:
 | |
|         name: EMON Reactive Power CT1
 | |
|       power_factor:
 | |
|         name: EMON Power Factor CT1
 | |
|       gain_voltage: 7305
 | |
|       gain_ct: 27961
 | |
|     phase_b:
 | |
|       current:
 | |
|         name: EMON CT2 Current
 | |
|       power:
 | |
|         name: EMON Active Power CT2
 | |
|       reactive_power:
 | |
|         name: EMON Reactive Power CT2
 | |
|       power_factor:
 | |
|         name: EMON Power Factor CT2
 | |
|       gain_voltage: 7305
 | |
|       gain_ct: 27961
 | |
|     phase_c:
 | |
|       current:
 | |
|         name: EMON CT3 Current
 | |
|       power:
 | |
|         name: EMON Active Power CT3
 | |
|       reactive_power:
 | |
|         name: EMON Reactive Power CT3
 | |
|       power_factor:
 | |
|         name: EMON Power Factor CT3
 | |
|       gain_voltage: 7305
 | |
|       gain_ct: 27961
 | |
|     frequency:
 | |
|       name: EMON Line Frequency
 | |
|     chip_temperature:
 | |
|       name: EMON Chip Temp A
 | |
|     line_frequency: 60Hz
 | |
|     current_phases: 3
 | |
|     gain_pga: 2X
 | |
|   - platform: bh1750
 | |
|     name: Living Room Brightness 3
 | |
|     internal: true
 | |
|     address: 0x23
 | |
|     update_interval: 30s
 | |
|     retain: false
 | |
|     availability:
 | |
|     state_topic: livingroom/custom_state_topic
 | |
|     i2c_id: i2c_bus
 | |
|   - platform: max44009
 | |
|     name: Outside Brightness 1
 | |
|     internal: true
 | |
|     address: 0x4A
 | |
|     update_interval: 30s
 | |
|     mode: low_power
 | |
|     i2c_id: i2c_bus
 | |
|   - platform: bme280_i2c
 | |
|     temperature:
 | |
|       name: Outside Temperature
 | |
|       oversampling: 16x
 | |
|     pressure:
 | |
|       name: Outside Pressure
 | |
|       oversampling: none
 | |
|     humidity:
 | |
|       name: Outside Humidity
 | |
|       oversampling: 8x
 | |
|     address: 0x77
 | |
|     iir_filter: 16x
 | |
|     update_interval: 15s
 | |
|     i2c_id: i2c_bus
 | |
|   - platform: bme280_spi
 | |
|     temperature:
 | |
|       name: Outside Temperature
 | |
|       oversampling: 16x
 | |
|     pressure:
 | |
|       name: Outside Pressure
 | |
|       oversampling: none
 | |
|     humidity:
 | |
|       name: Outside Humidity
 | |
|       oversampling: 8x
 | |
|     cs_pin:
 | |
|       allow_other_uses: true
 | |
|       number: GPIO23
 | |
|     iir_filter: 16x
 | |
|     update_interval: 15s
 | |
|   - platform: bme680
 | |
|     temperature:
 | |
|       name: Outside Temperature
 | |
|       oversampling: 16x
 | |
|     pressure:
 | |
|       name: Outside Pressure
 | |
|     humidity:
 | |
|       name: Outside Humidity
 | |
|     gas_resistance:
 | |
|       name: Outside Gas Sensor
 | |
|     address: 0x77
 | |
|     heater:
 | |
|       temperature: 320
 | |
|       duration: 150ms
 | |
|     update_interval: 15s
 | |
|     i2c_id: i2c_bus
 | |
|   - platform: bmp085
 | |
|     temperature:
 | |
|       name: Outside Temperature
 | |
|     pressure:
 | |
|       name: Outside Pressure
 | |
|       filters:
 | |
|         - lambda: >-
 | |
|             return x / powf(1.0 - (x / 44330.0), 5.255);
 | |
|     update_interval: 15s
 | |
|     i2c_id: i2c_bus
 | |
|   - platform: bmp280
 | |
|     temperature:
 | |
|       name: Outside Temperature
 | |
|       oversampling: 16x
 | |
|     pressure:
 | |
|       name: Outside Pressure
 | |
|     address: 0x77
 | |
|     update_interval: 15s
 | |
|     iir_filter: 16x
 | |
|     i2c_id: i2c_bus
 | |
|   - platform: dallas
 | |
|     address: 0x1C0000031EDD2A28
 | |
|     name: Living Room Temperature
 | |
|     resolution: 9
 | |
|   - platform: dallas
 | |
|     index: 1
 | |
|     name: Living Room Temperature 2
 | |
|   - platform: dht
 | |
|     pin:
 | |
|       allow_other_uses: true
 | |
|       number: GPIO26
 | |
|     temperature:
 | |
|       id: dht_temperature
 | |
|       name: Living Room Temperature 3
 | |
|     humidity:
 | |
|       id: dht_humidity
 | |
|       name: Living Room Humidity 3
 | |
|     model: AM2302
 | |
|     update_interval: 15s
 | |
|   - platform: dht12
 | |
|     temperature:
 | |
|       name: Living Room Temperature 4
 | |
|     humidity:
 | |
|       name: Living Room Humidity 4
 | |
|     update_interval: 15s
 | |
|     i2c_id: i2c_bus
 | |
|   - platform: duty_cycle
 | |
|     pin:
 | |
|       allow_other_uses: true
 | |
|       number: GPIO25
 | |
|     name: Duty Cycle Sensor
 | |
|   - platform: ee895
 | |
|     co2:
 | |
|       name: Office CO2 1
 | |
|     temperature:
 | |
|       name: Office Temperature 1
 | |
|     pressure:
 | |
|       name: Office Pressure 1
 | |
|     address: 0x5F
 | |
|     i2c_id: i2c_bus
 | |
|   - platform: esp32_hall
 | |
|     name: ESP32 Hall Sensor
 | |
|     update_interval: 15s
 | |
|   - platform: ens210
 | |
|     temperature:
 | |
|       name: Living Room Temperature 5
 | |
|     humidity:
 | |
|       name: Living Room Humidity 5
 | |
|     update_interval: 15s
 | |
|     i2c_id: i2c_bus
 | |
|   - platform: hdc1080
 | |
|     temperature:
 | |
|       name: Living Room Temperature 6
 | |
|     humidity:
 | |
|       name: Living Room Humidity 5
 | |
|     update_interval: 15s
 | |
|     i2c_id: i2c_bus
 | |
|   - platform: hlw8012
 | |
|     sel_pin:
 | |
|       allow_other_uses: true
 | |
|       number: 5
 | |
|     cf_pin:
 | |
|       allow_other_uses: true
 | |
|       number: 14
 | |
|     cf1_pin:
 | |
|       allow_other_uses: true
 | |
|       number: 13
 | |
|     current:
 | |
|       name: HLW8012 Current
 | |
|     voltage:
 | |
|       name: HLW8012 Voltage
 | |
|     power:
 | |
|       name: HLW8012 Power
 | |
|       id: hlw8012_power
 | |
|     energy:
 | |
|       name: HLW8012 Energy
 | |
|       id: hlw8012_energy
 | |
|     update_interval: 15s
 | |
|     current_resistor: 0.001 ohm
 | |
|     voltage_divider: 2351
 | |
|     change_mode_every: "never"
 | |
|     initial_mode: VOLTAGE
 | |
|     model: hlw8012
 | |
|   - platform: total_daily_energy
 | |
|     power_id: hlw8012_power
 | |
|     name: HLW8012 Total Daily Energy
 | |
|   - platform: integration
 | |
|     sensor: hlw8012_power
 | |
|     name: Integration Sensor
 | |
|     time_unit: s
 | |
|   - platform: integration
 | |
|     sensor: hlw8012_power
 | |
|     name: Integration Sensor lazy
 | |
|     time_unit: s
 | |
|   - platform: hmc5883l
 | |
|     address: 0x68
 | |
|     field_strength_x:
 | |
|       name: HMC5883L Field Strength X
 | |
|     field_strength_y:
 | |
|       name: HMC5883L Field Strength Y
 | |
|     field_strength_z:
 | |
|       name: HMC5883L Field Strength Z
 | |
|     heading:
 | |
|       name: HMC5883L Heading
 | |
|     range: 130uT
 | |
|     oversampling: 8x
 | |
|     update_interval: 15s
 | |
|     i2c_id: i2c_bus
 | |
|   - platform: honeywell_hih_i2c
 | |
|     temperature:
 | |
|       name: Living Room Temperature 7
 | |
|     humidity:
 | |
|       name: Living Room Humidity 7
 | |
|     update_interval: 15s
 | |
|     i2c_id: i2c_bus
 | |
|   - platform: honeywellabp
 | |
|     pressure:
 | |
|       name: Honeywell pressure
 | |
|       min_pressure: 0
 | |
|       max_pressure: 15
 | |
|     temperature:
 | |
|       name: Honeywell temperature
 | |
|     cs_pin:
 | |
|       allow_other_uses: true
 | |
|       number: GPIO5
 | |
|   - platform: honeywellabp2_i2c
 | |
|     pressure:
 | |
|       name: Honeywell2 pressure
 | |
|       min_pressure: 0
 | |
|       max_pressure: 16000
 | |
|       transfer_function: A
 | |
|     temperature:
 | |
|       name: Honeywell temperature
 | |
|     i2c_id: i2c_bus
 | |
|     address: 0x28
 | |
|   - platform: hte501
 | |
|     temperature:
 | |
|       name: Office Temperature 2
 | |
|     humidity:
 | |
|       name: Office Humidity 1
 | |
|     address: 0x40
 | |
|     i2c_id: i2c_bus
 | |
|   - platform: qmc5883l
 | |
|     address: 0x0D
 | |
|     field_strength_x:
 | |
|       name: QMC5883L Field Strength X
 | |
|     field_strength_y:
 | |
|       name: QMC5883L Field Strength Y
 | |
|     field_strength_z:
 | |
|       name: QMC5883L Field Strength Z
 | |
|     heading:
 | |
|       name: QMC5883L Heading
 | |
|     range: 800uT
 | |
|     oversampling: 256x
 | |
|     update_interval: 15s
 | |
|     i2c_id: i2c_bus
 | |
|   - platform: hx711
 | |
|     name: HX711 Value
 | |
|     dout_pin:
 | |
|       allow_other_uses: true
 | |
|       number: GPIO23
 | |
|     clk_pin:
 | |
|       allow_other_uses: true
 | |
|       number: GPIO25
 | |
|     gain: 128
 | |
|     update_interval: 15s
 | |
|   - platform: ina219
 | |
|     address: 0x40
 | |
|     shunt_resistance: 0.1 ohm
 | |
|     current:
 | |
|       name: INA219 Current
 | |
|     power:
 | |
|       name: INA219 Power
 | |
|     bus_voltage:
 | |
|       name: INA219 Bus Voltage
 | |
|     shunt_voltage:
 | |
|       name: INA219 Shunt Voltage
 | |
|     max_voltage: 32.0V
 | |
|     max_current: 3.2A
 | |
|     update_interval: 15s
 | |
|     i2c_id: i2c_bus
 | |
|   - platform: ina226
 | |
|     address: 0x40
 | |
|     shunt_resistance: 0.1 ohm
 | |
|     current:
 | |
|       name: INA226 Current
 | |
|     power:
 | |
|       name: INA226 Power
 | |
|     bus_voltage:
 | |
|       name: INA226 Bus Voltage
 | |
|     shunt_voltage:
 | |
|       name: INA226 Shunt Voltage
 | |
|     max_current: 3.2A
 | |
|     update_interval: 15s
 | |
|     i2c_id: i2c_bus
 | |
|   - platform: ina3221
 | |
|     address: 0x40
 | |
|     channel_1:
 | |
|       shunt_resistance: 0.1 ohm
 | |
|       current:
 | |
|         name: INA3221 Channel 1 Current
 | |
|       power:
 | |
|         name: INA3221 Channel 1 Power
 | |
|       bus_voltage:
 | |
|         name: INA3221 Channel 1 Bus Voltage
 | |
|       shunt_voltage:
 | |
|         name: INA3221 Channel 1 Shunt Voltage
 | |
|     update_interval: 15s
 | |
|     i2c_id: i2c_bus
 | |
|   - platform: kmeteriso
 | |
|     temperature:
 | |
|       name: Outside Temperature
 | |
|     internal_temperature:
 | |
|       name: Internal Ttemperature
 | |
|     update_interval: 15s
 | |
|     i2c_id: i2c_bus
 | |
|   - platform: combination
 | |
|     type: kalman
 | |
|     name: Kalman-filtered temperature
 | |
|     process_std_dev: 0.00139
 | |
|     sources:
 | |
|       - source: scd30_temperature
 | |
|         error: !lambda |-
 | |
|           return 0.4 + std::abs(x - 25) * 0.023;
 | |
|       - source: scd4x_temperature
 | |
|         error: 1.5
 | |
|   - platform: combination
 | |
|     type: linear
 | |
|     name: Linearly combined temperatures
 | |
|     sources:
 | |
|       - source: scd30_temperature
 | |
|         coeffecient: !lambda |-
 | |
|           return 0.4 + std::abs(x - 25) * 0.023;
 | |
|       - source: scd4x_temperature
 | |
|         coeffecient: 1.5
 | |
|   - platform: combination
 | |
|     type: max
 | |
|     name: Max of combined temperatures
 | |
|     sources:
 | |
|       - source: scd30_temperature
 | |
|       - source: scd4x_temperature
 | |
|   - platform: combination
 | |
|     type: mean
 | |
|     name: Mean of combined temperatures
 | |
|     sources:
 | |
|       - source: scd30_temperature
 | |
|       - source: scd4x_temperature
 | |
|   - platform: combination
 | |
|     type: median
 | |
|     name: Median of combined temperatures
 | |
|     sources:
 | |
|       - source: scd30_temperature
 | |
|       - source: scd4x_temperature
 | |
|   - platform: combination
 | |
|     type: min
 | |
|     name: Min of combined temperatures
 | |
|     sources:
 | |
|       - source: scd30_temperature
 | |
|       - source: scd4x_temperature
 | |
|   - platform: combination
 | |
|     type: most_recently_updated
 | |
|     name: Most recently updated of combined temperatures
 | |
|     sources:
 | |
|       - source: scd30_temperature
 | |
|       - source: scd4x_temperature
 | |
|   - platform: combination
 | |
|     type: range
 | |
|     name: Range of combined temperatures
 | |
|     sources:
 | |
|       - source: scd30_temperature
 | |
|       - source: scd4x_temperature
 | |
|   - platform: combination
 | |
|     type: sum
 | |
|     name: Sum of combined temperatures
 | |
|     sources:
 | |
|       - source: scd30_temperature
 | |
|       - source: scd4x_temperature
 | |
|   - platform: htu21d
 | |
|     temperature:
 | |
|       name: Living Room Temperature 6
 | |
|     humidity:
 | |
|       name: Living Room Humidity 6
 | |
|     heater:
 | |
|       name: Living Room Heater 6
 | |
|     update_interval: 15s
 | |
|     i2c_id: i2c_bus
 | |
|   - platform: max6675
 | |
|     name: Living Room Temperature
 | |
|     cs_pin:
 | |
|       allow_other_uses: true
 | |
|       number: GPIO23
 | |
|     update_interval: 15s
 | |
|   - platform: max31855
 | |
|     name: Den Temperature
 | |
|     cs_pin:
 | |
|       allow_other_uses: true
 | |
|       number: GPIO23
 | |
|     update_interval: 15s
 | |
|     reference_temperature:
 | |
|       name: MAX31855 Internal Temperature
 | |
|   - platform: max31856
 | |
|     name: BBQ Temperature
 | |
|     cs_pin:
 | |
|       allow_other_uses: true
 | |
|       number: GPIO17
 | |
|     update_interval: 15s
 | |
|     mains_filter: 50Hz
 | |
|   - platform: max31865
 | |
|     name: Water Tank Temperature
 | |
|     cs_pin:
 | |
|       allow_other_uses: true
 | |
|       number: GPIO23
 | |
|     update_interval: 15s
 | |
|     reference_resistance: 430 Ω
 | |
|     rtd_nominal_resistance: 100 Ω
 | |
|   - platform: mhz19
 | |
|     uart_id: uart_0
 | |
|     co2:
 | |
|       name: MH-Z19 CO2 Value
 | |
|     temperature:
 | |
|       name: MH-Z19 Temperature
 | |
|     update_interval: 15s
 | |
|     automatic_baseline_calibration: false
 | |
|   - platform: mpu6050
 | |
|     address: 0x68
 | |
|     accel_x:
 | |
|       name: MPU6050 Accel X
 | |
|     accel_y:
 | |
|       name: MPU6050 Accel Y
 | |
|     accel_z:
 | |
|       name: MPU6050 Accel z
 | |
|     gyro_x:
 | |
|       name: MPU6050 Gyro X
 | |
|     gyro_y:
 | |
|       name: MPU6050 Gyro Y
 | |
|     gyro_z:
 | |
|       name: MPU6050 Gyro z
 | |
|     temperature:
 | |
|       name: MPU6050 Temperature
 | |
|     i2c_id: i2c_bus
 | |
|   - platform: mpu6886
 | |
|     address: 0x68
 | |
|     accel_x:
 | |
|       name: MPU6886 Accel X
 | |
|     accel_y:
 | |
|       name: MPU6886 Accel Y
 | |
|     accel_z:
 | |
|       name: MPU6886 Accel z
 | |
|     gyro_x:
 | |
|       name: MPU6886 Gyro X
 | |
|     gyro_y:
 | |
|       name: MPU6886 Gyro Y
 | |
|     gyro_z:
 | |
|       name: MPU6886 Gyro z
 | |
|     temperature:
 | |
|       name: MPU6886 Temperature
 | |
|     i2c_id: i2c_bus
 | |
|   - platform: bmi160
 | |
|     address: 0x68
 | |
|     acceleration_x:
 | |
|       name: BMI160 Accel X
 | |
|     acceleration_y:
 | |
|       name: BMI160 Accel Y
 | |
|     acceleration_z:
 | |
|       name: BMI160 Accel z
 | |
|     gyroscope_x:
 | |
|       name: BMI160 Gyro X
 | |
|     gyroscope_y:
 | |
|       name: BMI160 Gyro Y
 | |
|     gyroscope_z:
 | |
|       name: BMI160 Gyro z
 | |
|     temperature:
 | |
|       name: BMI160 Temperature
 | |
|     i2c_id: i2c_bus
 | |
|   - platform: mmc5603
 | |
|     address: 0x30
 | |
|     field_strength_x:
 | |
|       name: HMC5883L Field Strength X
 | |
|     field_strength_y:
 | |
|       name: HMC5883L Field Strength Y
 | |
|     field_strength_z:
 | |
|       name: HMC5883L Field Strength Z
 | |
|     i2c_id: i2c_bus
 | |
|   - platform: dps310
 | |
|     temperature:
 | |
|       name: DPS310 Temperature
 | |
|     pressure:
 | |
|       name: DPS310 Pressure
 | |
|     address: 0x77
 | |
|     update_interval: 15s
 | |
|     i2c_id: i2c_bus
 | |
|   - platform: ms5611
 | |
|     temperature:
 | |
|       name: Outside Temperature
 | |
|     pressure:
 | |
|       name: Outside Pressure
 | |
|     address: 0x77
 | |
|     update_interval: 15s
 | |
|     i2c_id: i2c_bus
 | |
|   - platform: pmsa003i
 | |
|     pm_1_0:
 | |
|       name: PMSA003i PM1.0
 | |
|     pm_2_5:
 | |
|       name: PMSA003i PM2.5
 | |
|     pm_10_0:
 | |
|       name: PMSA003i PM10.0
 | |
|     pmc_0_3:
 | |
|       name: PMSA003i PMC <0.3µm
 | |
|     pmc_0_5:
 | |
|       name: PMSA003i PMC <0.5µm
 | |
|     pmc_1_0:
 | |
|       name: PMSA003i PMC <1µm
 | |
|     pmc_2_5:
 | |
|       name: PMSA003i PMC <2.5µm
 | |
|     pmc_5_0:
 | |
|       name: PMSA003i PMC <5µm
 | |
|     pmc_10_0:
 | |
|       name: PMSA003i PMC <10µm
 | |
|     address: 0x12
 | |
|     standard_units: true
 | |
|     i2c_id: i2c_bus
 | |
|   - platform: pulse_counter
 | |
|     name: Pulse Counter
 | |
|     pin:
 | |
|       ignore_strapping_warning: true
 | |
|       number: GPIO12
 | |
|       allow_other_uses: true
 | |
|     count_mode:
 | |
|       rising_edge: INCREMENT
 | |
|       falling_edge: DECREMENT
 | |
|     internal_filter: 13us
 | |
|     update_interval: 15s
 | |
|   - platform: pulse_meter
 | |
|     name: Pulse Meter
 | |
|     id: pulse_meter_sensor
 | |
|     pin:
 | |
|       ignore_strapping_warning: true
 | |
|       number: GPIO12
 | |
|       allow_other_uses: true
 | |
|     internal_filter: 100ms
 | |
|     timeout: 2 min
 | |
|     on_value:
 | |
|       - pulse_meter.set_total_pulses:
 | |
|           id: pulse_meter_sensor
 | |
|           value: 12345
 | |
|     total:
 | |
|       name: Pulse Meter Total
 | |
|   - platform: qmp6988
 | |
|     temperature:
 | |
|       name: Living Temperature QMP
 | |
|       oversampling: 32x
 | |
|     pressure:
 | |
|       name: Living Pressure QMP
 | |
|       oversampling: 2x
 | |
|     address: 0x70
 | |
|     update_interval: 30s
 | |
|     iir_filter: 16x
 | |
|     i2c_id: i2c_bus
 | |
|   - platform: rotary_encoder
 | |
|     name: Rotary Encoder
 | |
|     id: rotary_encoder1
 | |
|     pin_a:
 | |
|       allow_other_uses: true
 | |
|       number: GPIO23
 | |
|     pin_b:
 | |
|       allow_other_uses: true
 | |
|       number: GPIO25
 | |
|     pin_reset:
 | |
|       allow_other_uses: true
 | |
|       number: GPIO25
 | |
|     filters:
 | |
|       - or:
 | |
|           - debounce: 0.1s
 | |
|           - delta: 10
 | |
|     resolution: 4
 | |
|     min_value: -10
 | |
|     max_value: 30
 | |
|     on_value:
 | |
|       - sensor.rotary_encoder.set_value:
 | |
|           id: rotary_encoder1
 | |
|           value: 10
 | |
|       - sensor.rotary_encoder.set_value:
 | |
|           id: rotary_encoder1
 | |
|           value: !lambda "return -1;"
 | |
|     on_clockwise:
 | |
|       - logger.log: Clockwise
 | |
|       - display_menu.down: test_lcd_menu
 | |
|       - display_menu.down: test_graphical_display_menu
 | |
|     on_anticlockwise:
 | |
|       - logger.log: Anticlockwise
 | |
|       - display_menu.up: test_lcd_menu
 | |
|       - display_menu.up: test_graphical_display_menu
 | |
|   - platform: pulse_width
 | |
|     name: Pulse Width
 | |
|     pin:
 | |
|       allow_other_uses: true
 | |
|       number: GPIO12
 | |
|   - platform: sm300d2
 | |
|     uart_id: uart_0
 | |
|     co2:
 | |
|       name: SM300D2 CO2 Value
 | |
|     formaldehyde:
 | |
|       name: SM300D2 Formaldehyde Value
 | |
|     tvoc:
 | |
|       name: SM300D2 TVOC Value
 | |
|     pm_2_5:
 | |
|       name: SM300D2 PM2.5 Value
 | |
|     pm_10_0:
 | |
|       name: SM300D2 PM10 Value
 | |
|     temperature:
 | |
|       name: SM300D2 Temperature Value
 | |
|     humidity:
 | |
|       name: SM300D2 Humidity Value
 | |
|     update_interval: 60s
 | |
|   - platform: sht3xd
 | |
|     temperature:
 | |
|       name: Living Room Temperature 8
 | |
|     humidity:
 | |
|       name: Living Room Humidity 8
 | |
|     address: 0x44
 | |
|     i2c_id: i2c_bus
 | |
|     update_interval: 15s
 | |
|   - platform: sts3x
 | |
|     name: Living Room Temperature 9
 | |
|     address: 0x4A
 | |
|     i2c_id: i2c_bus
 | |
|   - platform: scd30
 | |
|     co2:
 | |
|       name: Living Room CO2 9
 | |
|     temperature:
 | |
|       id: scd30_temperature
 | |
|       name: Living Room Temperature 9
 | |
|     humidity:
 | |
|       name: Living Room Humidity 9
 | |
|     address: 0x61
 | |
|     update_interval: 15s
 | |
|     automatic_self_calibration: true
 | |
|     altitude_compensation: 10m
 | |
|     ambient_pressure_compensation: 961mBar
 | |
|     temperature_offset: 4.2C
 | |
|     i2c_id: i2c_bus
 | |
|   - platform: scd4x
 | |
|     id: scd40
 | |
|     co2:
 | |
|       name: SCD4X CO2
 | |
|     temperature:
 | |
|       id: scd4x_temperature
 | |
|       name: SCD4X Temperature
 | |
|     humidity:
 | |
|       name: SCD4X Humidity
 | |
|     update_interval: 15s
 | |
|     automatic_self_calibration: true
 | |
|     altitude_compensation: 10m
 | |
|     ambient_pressure_compensation: 961mBar
 | |
|     temperature_offset: 4.2C
 | |
|     i2c_id: i2c_bus
 | |
|   - platform: sfa30
 | |
|     formaldehyde:
 | |
|       name: "SFA30 formaldehyde"
 | |
|     temperature:
 | |
|       name: "SFA30 temperature"
 | |
|     humidity:
 | |
|       name: "SFA30 humidity"
 | |
|     i2c_id: i2c_bus
 | |
|     address: 0x5D
 | |
|     update_interval: 30s
 | |
|   - platform: sen0321
 | |
|     name: Workshop Ozone Sensor
 | |
|     id: sen0321_ozone
 | |
|     update_interval: 10s
 | |
|     i2c_id: i2c_bus
 | |
|   - platform: sgp30
 | |
|     eco2:
 | |
|       name: Workshop eCO2
 | |
|       accuracy_decimals: 1
 | |
|     tvoc:
 | |
|       name: Workshop TVOC
 | |
|       accuracy_decimals: 1
 | |
|     address: 0x58
 | |
|     update_interval: 5s
 | |
|     i2c_id: i2c_bus
 | |
|   - platform: sps30
 | |
|     pm_1_0:
 | |
|       name: Workshop PM <1µm Weight concentration
 | |
|       id: workshop_PM_1_0
 | |
|     pm_2_5:
 | |
|       name: Workshop PM <2.5µm Weight concentration
 | |
|       id: workshop_PM_2_5
 | |
|     pm_4_0:
 | |
|       name: Workshop PM <4µm Weight concentration
 | |
|       id: workshop_PM_4_0
 | |
|     pm_10_0:
 | |
|       name: Workshop PM <10µm Weight concentration
 | |
|       id: workshop_PM_10_0
 | |
|     pmc_0_5:
 | |
|       name: Workshop PM <0.5µm Number concentration
 | |
|       id: workshop_PMC_0_5
 | |
|     pmc_1_0:
 | |
|       name: Workshop PM <1µm Number concentration
 | |
|       id: workshop_PMC_1_0
 | |
|     pmc_2_5:
 | |
|       name: Workshop PM <2.5µm Number concentration
 | |
|       id: workshop_PMC_2_5
 | |
|     pmc_4_0:
 | |
|       name: Workshop PM <4µm Number concentration
 | |
|       id: workshop_PMC_4_0
 | |
|     pmc_10_0:
 | |
|       name: Workshop PM <10µm Number concentration
 | |
|       id: workshop_PMC_10_0
 | |
|     address: 0x69
 | |
|     update_interval: 10s
 | |
|     i2c_id: i2c_bus
 | |
|   - platform: sht4x
 | |
|     temperature:
 | |
|       name: SHT4X Temperature
 | |
|     humidity:
 | |
|       name: SHT4X Humidity
 | |
|     address: 0x44
 | |
|     update_interval: 15s
 | |
|     i2c_id: i2c_bus
 | |
|   - platform: shtcx
 | |
|     temperature:
 | |
|       name: Living Room Temperature 10
 | |
|     humidity:
 | |
|       name: Living Room Humidity 10
 | |
|     address: 0x70
 | |
|     update_interval: 15s
 | |
|     i2c_id: i2c_bus
 | |
|   - platform: template
 | |
|     name: Template Sensor
 | |
|     state_class: measurement
 | |
|     id: template_sensor
 | |
|     lambda: |-
 | |
|       if (id(ultrasonic_sensor1).state > 1) {
 | |
|         return 42.0;
 | |
|       } else {
 | |
|         return {};
 | |
|       }
 | |
|     update_interval: 15s
 | |
|     on_value:
 | |
|       - sensor.template.publish:
 | |
|           id: template_sensor
 | |
|           state: 43.0
 | |
|       - sensor.template.publish:
 | |
|           id: template_sensor
 | |
|           state: !lambda "return NAN;"
 | |
|   - platform: tsl2561
 | |
|     name: TSL2561 Ambient Light
 | |
|     address: 0x39
 | |
|     update_interval: 15s
 | |
|     is_cs_package: true
 | |
|     integration_time: 402ms
 | |
|     gain: 16x
 | |
|     i2c_id: i2c_bus
 | |
|   - platform: tsl2591
 | |
|     id: this_little_light_of_mine
 | |
|     address: 0x29
 | |
|     update_interval: 15s
 | |
|     integration_time: 600ms
 | |
|     gain: high
 | |
|     visible:
 | |
|       name: tsl2591 visible
 | |
|       id: tsl2591_vis
 | |
|       unit_of_measurement: pH
 | |
|     infrared:
 | |
|       name: tsl2591 infrared
 | |
|       id: tsl2591_ir
 | |
|     full_spectrum:
 | |
|       name: tsl2591 full_spectrum
 | |
|       id: tsl2591_fs
 | |
|     calculated_lux:
 | |
|       name: tsl2591 calculated_lux
 | |
|       id: tsl2591_cl
 | |
|     i2c_id: i2c_bus
 | |
|   - platform: veml3235
 | |
|     id: veml3235_sensor
 | |
|     name: VEML3235 Light Sensor
 | |
|     i2c_id: i2c_bus
 | |
|     auto_gain: true
 | |
|     auto_gain_threshold_high: 90%
 | |
|     auto_gain_threshold_low: 15%
 | |
|     digital_gain: 1X
 | |
|     gain: 1X
 | |
|     integration_time: 50ms
 | |
|   - platform: tee501
 | |
|     name: Office Temperature 3
 | |
|     address: 0x48
 | |
|     i2c_id: i2c_bus
 | |
|   - platform: ultrasonic
 | |
|     trigger_pin:
 | |
|       allow_other_uses: true
 | |
|       number: GPIO25
 | |
|     echo_pin:
 | |
|       number: GPIO23
 | |
|       allow_other_uses: true
 | |
|       inverted: true
 | |
|     name: Ultrasonic Sensor
 | |
|     timeout: 5.5m
 | |
|     id: ultrasonic_sensor1
 | |
|   - platform: uptime
 | |
|     name: Uptime Sensor
 | |
|   - id: !extend ${devicename}_uptime_pcg
 | |
|     unit_of_measurement: s
 | |
|   - platform: wifi_signal
 | |
|     name: WiFi Signal Sensor
 | |
|     update_interval: 15s
 | |
|   - platform: mqtt_subscribe
 | |
|     name: MQTT Subscribe Sensor 1
 | |
|     topic: mqtt/topic
 | |
|     id: the_sensor
 | |
|     qos: 2
 | |
|     on_value:
 | |
|       - mqtt.publish_json:
 | |
|           topic: the/topic
 | |
|           payload: |-
 | |
|             root["key"] = id(the_sensor).state;
 | |
|             root["greeting"] = "Hello World";
 | |
|   - platform: sds011
 | |
|     uart_id: uart_0
 | |
|     pm_2_5:
 | |
|       name: SDS011 PM2.5
 | |
|     pm_10_0:
 | |
|       name: SDS011 PM10.0
 | |
|     update_interval: 5min
 | |
|     rx_only: false
 | |
|   - platform: ccs811
 | |
|     eco2:
 | |
|       name: CCS811 eCO2
 | |
|     tvoc:
 | |
|       name: CCS811 TVOC
 | |
|     update_interval: 30s
 | |
|     baseline: 0x4242
 | |
|     i2c_id: i2c_bus
 | |
|   - platform: tx20
 | |
|     wind_speed:
 | |
|       name: Windspeed
 | |
|     wind_direction_degrees:
 | |
|       name: Winddirection Degrees
 | |
|     pin:
 | |
|       number: GPIO04
 | |
|       mode: INPUT
 | |
|       allow_other_uses: true
 | |
|   - platform: zyaura
 | |
|     clock_pin:
 | |
|       allow_other_uses: true
 | |
|       number: GPIO5
 | |
|     data_pin:
 | |
|       allow_other_uses: true
 | |
|       number: GPIO4
 | |
|     co2:
 | |
|       name: ZyAura CO2
 | |
|     temperature:
 | |
|       name: ZyAura Temperature
 | |
|     humidity:
 | |
|       name: ZyAura Humidity
 | |
|   - platform: as3935
 | |
|     lightning_energy:
 | |
|       name: Lightning Energy
 | |
|     distance:
 | |
|       name: Distance Storm
 | |
|   - platform: tmp117
 | |
|     name: TMP117 Temperature
 | |
|     update_interval: 5s
 | |
|     i2c_id: i2c_bus
 | |
|   - platform: hm3301
 | |
|     pm_1_0:
 | |
|       name: PM1.0
 | |
|     pm_2_5:
 | |
|       name: PM2.5
 | |
|     pm_10_0:
 | |
|       name: PM10.0
 | |
|     aqi:
 | |
|       name: AQI
 | |
|       calculation_type: CAQI
 | |
|     i2c_id: i2c_bus
 | |
|   - platform: teleinfo
 | |
|     tag_name: HCHC
 | |
|     name: hchc
 | |
|     unit_of_measurement: Wh
 | |
|     icon: mdi:flash
 | |
|     teleinfo_id: myteleinfo
 | |
|   - platform: mcp9808
 | |
|     name: MCP9808 Temperature
 | |
|     update_interval: 15s
 | |
|     i2c_id: i2c_bus
 | |
|   - platform: ezo
 | |
|     id: ph_ezo
 | |
|     address: 99
 | |
|     unit_of_measurement: pH
 | |
|     i2c_id: i2c_bus
 | |
|   - platform: sdp3x
 | |
|     name: HVAC Filter Pressure drop
 | |
|     id: filter_pressure
 | |
|     update_interval: 5s
 | |
|     accuracy_decimals: 3
 | |
|     i2c_id: i2c_bus
 | |
|   - platform: cs5460a
 | |
|     id: cs5460a1
 | |
|     current:
 | |
|       name: Socket current
 | |
|     voltage:
 | |
|       name: Mains voltage
 | |
|     power:
 | |
|       name: Socket power
 | |
|       on_value:
 | |
|         then:
 | |
|           cs5460a.restart: cs5460a1
 | |
|     samples: 1600
 | |
|     pga_gain: 10X
 | |
|     current_gain: 0.01
 | |
|     voltage_gain: 0.000573
 | |
|     current_hpf: true
 | |
|     voltage_hpf: true
 | |
|     phase_offset: 20
 | |
|     pulse_energy: 0.01 kWh
 | |
|     cs_pin:
 | |
|       mcp23xxx: mcp23017_hub
 | |
|       number: 14
 | |
|   - platform: max9611
 | |
|     i2c_id: i2c_bus
 | |
|     shunt_resistance: 0.2 ohm
 | |
|     gain: 1X
 | |
|     voltage:
 | |
|       name: Max9611 Voltage
 | |
|     current:
 | |
|       name: Max9611 Current
 | |
|     power:
 | |
|       name: Max9611 Watts
 | |
|     temperature:
 | |
|       name: Max9611 Temp
 | |
|     update_interval: 1s
 | |
|   - platform: mlx90614
 | |
|     i2c_id: i2c_bus
 | |
|     ambient:
 | |
|       name: Ambient
 | |
|     object:
 | |
|       name: Object
 | |
|       emissivity: 1.0
 | |
|   - platform: mpl3115a2
 | |
|     i2c_id: i2c_bus
 | |
|     temperature:
 | |
|       name: "MPL3115A2 Temperature"
 | |
|     pressure:
 | |
|       name: "MPL3115A2 Pressure"
 | |
|     update_interval: 10s
 | |
|   - platform: alpha3
 | |
|     ble_client_id: ble_foo
 | |
|     flow:
 | |
|       name: "Radiator Pump Flow"
 | |
|     head:
 | |
|       name: "Radiator Pump Head"
 | |
|     power:
 | |
|       name: "Radiator Pump Power"
 | |
|     speed:
 | |
|       name: "Radiator Pump Speed"
 | |
|   - platform: ld2410
 | |
|     light:
 | |
|       name: light
 | |
|     moving_distance:
 | |
|       name: "Moving distance (cm)"
 | |
|     still_distance:
 | |
|       name: "Still Distance (cm)"
 | |
|     moving_energy:
 | |
|       name: "Move Energy (%)"
 | |
|     still_energy:
 | |
|       name: "Still Energy (%)"
 | |
|     detection_distance:
 | |
|       name: "Distance Detection (cm)"
 | |
|     g0:
 | |
|       move_energy:
 | |
|         name: g0 move energy
 | |
|       still_energy:
 | |
|         name: g0 still energy
 | |
|     g1:
 | |
|       move_energy:
 | |
|         name: g1 move energy
 | |
|       still_energy:
 | |
|         name: g1 still energy
 | |
|     g2:
 | |
|       move_energy:
 | |
|         name: g2 move energy
 | |
|       still_energy:
 | |
|         name: g2 still energy
 | |
|     g3:
 | |
|       move_energy:
 | |
|         name: g3 move energy
 | |
|       still_energy:
 | |
|         name: g3 still energy
 | |
|     g4:
 | |
|       move_energy:
 | |
|         name: g4 move energy
 | |
|       still_energy:
 | |
|         name: g4 still energy
 | |
|     g5:
 | |
|       move_energy:
 | |
|         name: g5 move energy
 | |
|       still_energy:
 | |
|         name: g5 still energy
 | |
|     g6:
 | |
|       move_energy:
 | |
|         name: g6 move energy
 | |
|       still_energy:
 | |
|         name: g6 still energy
 | |
|     g7:
 | |
|       move_energy:
 | |
|         name: g7 move energy
 | |
|       still_energy:
 | |
|         name: g7 still energy
 | |
|     g8:
 | |
|       move_energy:
 | |
|         name: g8 move energy
 | |
|       still_energy:
 | |
|         name: g8 still energy
 | |
| 
 | |
|   - platform: ld2420
 | |
|     moving_distance:
 | |
|       name: "Moving distance (cm)"
 | |
|   - platform: sen21231
 | |
|     name: "Person Sensor"
 | |
|     i2c_id: i2c_bus
 | |
|   - platform: fs3000
 | |
|     name: "Air Velocity"
 | |
|     model: 1005
 | |
|     update_interval: 60s
 | |
|     i2c_id: i2c_bus
 | |
|   - platform: absolute_humidity
 | |
|     name: DHT Absolute Humidity
 | |
|     temperature: dht_temperature
 | |
|     humidity: dht_humidity
 | |
|   - platform: hyt271
 | |
|     i2c_id: i2c_bus
 | |
|     temperature:
 | |
|       name: "Temperature hyt271"
 | |
|       id: temp_etuve
 | |
|     humidity:
 | |
|       name: "Humidity hyt271"
 | |
|   - platform: iaqcore
 | |
|     i2c_id: i2c_bus
 | |
|     co2:
 | |
|       name: "iAQ Core CO2 Sensor"
 | |
|     tvoc:
 | |
|       name: "iAQ Core TVOC Sensor"
 | |
|   - platform: tmp1075
 | |
|     name: "Temperature TMP1075"
 | |
|     update_interval: 10s
 | |
|     i2c_id: i2c_bus
 | |
|     conversion_rate: 27.5ms
 | |
|     alert:
 | |
|       limit_low: 50
 | |
|       limit_high: 75
 | |
|       fault_count: 1
 | |
|       polarity: active_high
 | |
|       function: comparator
 | |
|   - platform: zio_ultrasonic
 | |
|     name: "Distance"
 | |
|     update_interval: 60s
 | |
|     i2c_id: i2c_bus
 | |
|   - platform: bmp581
 | |
|     i2c_id: i2c_bus
 | |
|     temperature:
 | |
|       name: "BMP581 Temperature"
 | |
|       iir_filter: 2x
 | |
|     pressure:
 | |
|       name: "BMP581 Pressure"
 | |
|       oversampling: 128x
 | |
|   - platform: debug
 | |
|     free:
 | |
|       name: "Heap Free"
 | |
|     block:
 | |
|       name: "Heap Max Block"
 | |
|     loop_time:
 | |
|       name: "Loop Time"
 | |
|     psram:
 | |
|       name: "PSRAM Free"
 | |
|   - platform: mmc5983
 | |
|     i2c_id: i2c_bus
 | |
|     field_strength_x:
 | |
|       name: "Magnet X"
 | |
|       id: magnet_x
 | |
|     field_strength_y:
 | |
|       name: "Magnet Y"
 | |
|       id: magnet_y
 | |
|     field_strength_z:
 | |
|       name: "Magnet Z"
 | |
|       id: magnet_z
 | |
|   - platform: micronova
 | |
|     room_temperature:
 | |
|       name: Room Temperature
 | |
|     fumes_temperature:
 | |
|       name: Fumes Temperature
 | |
|     water_temperature:
 | |
|       name: Water temperature
 | |
|     water_pressure:
 | |
|       name: Water pressure
 | |
|     stove_power:
 | |
|       name: Stove Power
 | |
|     fan_speed:
 | |
|       fan_rpm_offset: 240
 | |
|       name: Fan RPM
 | |
|     memory_address_sensor:
 | |
|       memory_location: 0x20
 | |
|       memory_address: 0x7d
 | |
|       name: Adres sensor
 | |
| 
 | |
| psram:
 | |
| 
 | |
| esp32_touch:
 | |
|   setup_mode: false
 | |
|   iir_filter: 10ms
 | |
|   sleep_duration: 27ms
 | |
|   measurement_duration: 8ms
 | |
|   low_voltage_reference: 0.5V
 | |
|   high_voltage_reference: 2.7V
 | |
|   voltage_attenuation: 1.5V
 | |
| 
 | |
| binary_sensor:
 | |
|   - platform: gpio
 | |
|     name: "MCP23S08 Pin #1"
 | |
|     pin:
 | |
|       mcp23xxx: mcp23s08_hub
 | |
|       # Use pin number 1
 | |
|       number: 1
 | |
|       # One of INPUT or INPUT_PULLUP
 | |
|       mode: INPUT_PULLUP
 | |
|       inverted: false
 | |
|   - platform: gpio
 | |
|     name: "MCP23S17 Pin #1"
 | |
|     pin:
 | |
|       mcp23xxx: mcp23s17_hub
 | |
|       # Use pin number 1
 | |
|       number: 1
 | |
|       allow_other_uses: true
 | |
|       # One of INPUT or INPUT_PULLUP
 | |
|       mode: INPUT_PULLUP
 | |
|       inverted: false
 | |
|   - platform: gpio
 | |
|     name: "MCP23S17 Pin #1 with interrupt"
 | |
|     pin:
 | |
|       mcp23xxx: mcp23s17_hub
 | |
|       # Use pin number 1
 | |
|       allow_other_uses: true
 | |
|       number: 1
 | |
|       # One of INPUT or INPUT_PULLUP
 | |
|       mode: INPUT_PULLUP
 | |
|       inverted: false
 | |
|       interrupt: FALLING
 | |
|   - platform: gpio
 | |
|     pin:
 | |
|       allow_other_uses: true
 | |
|       number: GPIO9
 | |
|     name: Living Room Window
 | |
|     device_class: window
 | |
|     filters:
 | |
|       - invert:
 | |
|       - delayed_on_off: 40ms
 | |
|       - delayed_on_off:
 | |
|           time_on: 10s
 | |
|           time_off: !lambda "return 1000;"
 | |
|       - delayed_on: 40ms
 | |
|       - delayed_off: 40ms
 | |
|       - delayed_on_off: !lambda "return 10;"
 | |
|       - delayed_on: !lambda "return 1000;"
 | |
|       - delayed_off: !lambda "return 0;"
 | |
|       - settle: 40ms
 | |
|       - settle: !lambda "return 10;"
 | |
|     on_press:
 | |
|       then:
 | |
|         - lambda: >-
 | |
|             ESP_LOGD("main", "Pressed");
 | |
|     on_release:
 | |
|       then:
 | |
|         - lambda: >-
 | |
|             ESP_LOGD("main", "Released");
 | |
|     on_click:
 | |
|       - min_length: 50ms
 | |
|         max_length: 350ms
 | |
|         then:
 | |
|           - lambda: >-
 | |
|               ESP_LOGD("main", "Clicked");
 | |
|       - then:
 | |
|           - lambda: >-
 | |
|               ESP_LOGD("main", "Clicked");
 | |
|     on_double_click:
 | |
|       - min_length: 50ms
 | |
|         max_length: 350ms
 | |
|         then:
 | |
|           - lambda: >-
 | |
|               ESP_LOGD("main", "Double Clicked");
 | |
|       - then:
 | |
|           - lambda: >-
 | |
|               ESP_LOGD("main", "Double Clicked");
 | |
|     on_multi_click:
 | |
|       - timing:
 | |
|           - ON for at most 1s
 | |
|           - OFF for at most 1s
 | |
|           - ON for at most 1s
 | |
|           - OFF for at least 0.2s
 | |
|         then:
 | |
|           - logger.log:
 | |
|               format: Multi Clicked TWO
 | |
|               level: warn
 | |
|       - timing:
 | |
|           - OFF for 1s to 2s
 | |
|           - ON for 1s to 2s
 | |
|           - OFF for at least 0.5s
 | |
|         then:
 | |
|           - logger.log:
 | |
|               format: Multi Clicked LONG SINGLE
 | |
|               level: warn
 | |
|       - timing:
 | |
|           - ON for at most 1s
 | |
|           - OFF for at least 0.5s
 | |
|         then:
 | |
|           - logger.log:
 | |
|               format: Multi Clicked SINGLE
 | |
|               level: warn
 | |
|     id: binary_sensor1
 | |
|   - platform: gpio
 | |
|     pin:
 | |
|       number: GPIO9
 | |
|       allow_other_uses: true
 | |
|       mode: INPUT_PULLUP
 | |
|     name: Living Room Window 2
 | |
|   - platform: gpio
 | |
|     pin:
 | |
|       number: GPIO9
 | |
|       allow_other_uses: true
 | |
|       mode: INPUT_OUTPUT_OPEN_DRAIN
 | |
|     name: Living Room Button
 | |
|   - platform: status
 | |
|     name: Living Room Status
 | |
|   - platform: esp32_touch
 | |
|     name: ESP32 Touch Pad GPIO27
 | |
|     pin: GPIO27
 | |
|     threshold: 1000
 | |
|     id: btn_left
 | |
|     on_press:
 | |
|       - if:
 | |
|           condition:
 | |
|             display_menu.is_active: test_lcd_menu
 | |
|           then:
 | |
|             - display_menu.enter: test_lcd_menu
 | |
|           else:
 | |
|             - display_menu.left: test_lcd_menu
 | |
|             - display_menu.right: test_lcd_menu
 | |
|             - display_menu.show: test_lcd_menu
 | |
|       - if:
 | |
|           condition:
 | |
|             display_menu.is_active: test_graphical_display_menu
 | |
|           then:
 | |
|             - display_menu.enter: test_graphical_display_menu
 | |
|           else:
 | |
|             - display_menu.left: test_graphical_display_menu
 | |
|             - display_menu.right: test_graphical_display_menu
 | |
|             - display_menu.show: test_graphical_display_menu
 | |
|   - platform: template
 | |
|     name: Garage Door Open
 | |
|     id: garage_door
 | |
|     lambda: |-
 | |
|       if (isnan(id(${sensorname}_sensor).state)) {
 | |
|         // isnan checks if the ultrasonic sensor echo
 | |
|         // has timed out, resulting in a NaN (not a number) state
 | |
|         // in that case, return {} to indicate that we don't know.
 | |
|         return {};
 | |
|       } else if (id(${sensorname}_sensor).state > 30) {
 | |
|         // Garage Door is open.
 | |
|         return true;
 | |
|       } else {
 | |
|         // Garage Door is closed.
 | |
|         return false;
 | |
|       }
 | |
|     on_press:
 | |
|       - binary_sensor.template.publish:
 | |
|           id: garage_door
 | |
|           state: false
 | |
|       - output.ledc.set_frequency:
 | |
|           id: gpio_19
 | |
|           frequency: 500.0Hz
 | |
|       - output.ledc.set_frequency:
 | |
|           id: gpio_19
 | |
|           frequency: !lambda "return 500.0;"
 | |
|   - platform: pn532
 | |
|     pn532_id: pn532_bs
 | |
|     uid: 74-10-37-94
 | |
|     name: PN532 NFC Tag
 | |
|   - platform: rdm6300
 | |
|     uid: 7616525
 | |
|     name: RDM6300 NFC Tag
 | |
|   - platform: gpio
 | |
|     name: PCF binary sensor
 | |
|     pin:
 | |
|       pcf8574: pcf8574_hub
 | |
|       number: 1
 | |
|       mode: INPUT
 | |
|       inverted: true
 | |
|   - platform: gpio
 | |
|     name: PCA9554 binary sensor
 | |
|     pin:
 | |
|       pca9554: pca9554_hub
 | |
|       number: 1
 | |
|       mode: INPUT
 | |
|       inverted: true
 | |
|   - platform: gpio
 | |
|     name: PCA6416A binary sensor
 | |
|     pin:
 | |
|       pca6416a: pca6416a_hub
 | |
|       number: 15
 | |
|       mode: INPUT
 | |
|       inverted: true
 | |
|   - platform: gpio
 | |
|     name: MCP21 binary sensor
 | |
|     pin:
 | |
|       mcp23xxx: mcp23017_hub
 | |
|       number: 1
 | |
|       allow_other_uses: true
 | |
|       mode: INPUT
 | |
|       inverted: true
 | |
|   - platform: gpio
 | |
|     name: MCP22 binary sensor
 | |
|     pin:
 | |
|       mcp23xxx: mcp23008_hub
 | |
|       number: 7
 | |
|       mode: INPUT_PULLUP
 | |
|       inverted: false
 | |
|   - platform: gpio
 | |
|     name: MCP23 binary sensor
 | |
|     pin:
 | |
|       mcp23016: mcp23016_hub
 | |
|       number: 7
 | |
|       mode: INPUT
 | |
|       inverted: false
 | |
|   - platform: gpio
 | |
|     name: Speed Fan Cycle binary sensor"
 | |
|     pin:
 | |
|       number: 18
 | |
|       allow_other_uses: true
 | |
|       mode:
 | |
|         input: true
 | |
|         pulldown: true
 | |
|     on_press:
 | |
|       - fan.cycle_speed:
 | |
|           id: fan_speed
 | |
|           off_speed_cycle: False
 | |
|       - logger.log: "Cycle speed clicked"
 | |
|   - platform: remote_receiver
 | |
|     name: Raw Remote Receiver Test
 | |
|     raw:
 | |
|       code:
 | |
|         [
 | |
|           5685,
 | |
|           -4252,
 | |
|           1711,
 | |
|           -2265,
 | |
|           1712,
 | |
|           -2265,
 | |
|           1711,
 | |
|           -2264,
 | |
|           1712,
 | |
|           -2266,
 | |
|           3700,
 | |
|           -2263,
 | |
|           1712,
 | |
|           -4254,
 | |
|           1711,
 | |
|           -4249,
 | |
|           1715,
 | |
|           -2266,
 | |
|           1710,
 | |
|           -2267,
 | |
|           1709,
 | |
|           -2265,
 | |
|           3704,
 | |
|           -4250,
 | |
|           1712,
 | |
|           -4254,
 | |
|           3700,
 | |
|           -2260,
 | |
|           1714,
 | |
|           -2265,
 | |
|           1712,
 | |
|           -2262,
 | |
|           1714,
 | |
|           -2267,
 | |
|           1709,
 | |
|         ]
 | |
|   - platform: remote_receiver
 | |
|     name: Coolix Test 1
 | |
|     coolix: 0xB21F98
 | |
|   - platform: remote_receiver
 | |
|     name: Coolix Test 2
 | |
|     coolix:
 | |
|       first: 0xB2E003
 | |
|   - platform: remote_receiver
 | |
|     name: Coolix Test 3
 | |
|     coolix:
 | |
|       first: 0xB2E003
 | |
|       second: 0xB21F98
 | |
|   - platform: as3935
 | |
|     name: Storm Alert
 | |
|   - platform: analog_threshold
 | |
|     name: Analog Trheshold 1
 | |
|     sensor_id: template_sensor
 | |
|     threshold:
 | |
|       upper: 110
 | |
|       lower: 90
 | |
|     filters:
 | |
|       - delayed_on: 0s
 | |
|       - delayed_off: 10s
 | |
|   - platform: analog_threshold
 | |
|     name: Analog Trheshold 2
 | |
|     sensor_id: template_sensor
 | |
|     threshold: 100
 | |
|     filters:
 | |
|       - invert:
 | |
|   - platform: template
 | |
|     id: open_endstop_sensor
 | |
|   - platform: template
 | |
|     id: open_sensor
 | |
|   - platform: template
 | |
|     id: open_obstacle_sensor
 | |
| 
 | |
|   - platform: template
 | |
|     id: close_endstop_sensor
 | |
|   - platform: template
 | |
|     id: close_sensor
 | |
|   - platform: template
 | |
|     id: close_obstacle_sensor
 | |
|   - platform: ld2410
 | |
|     has_target:
 | |
|       name: presence
 | |
|     has_moving_target:
 | |
|       name: movement
 | |
|     has_still_target:
 | |
|       name: still
 | |
|     out_pin_presence_status:
 | |
|       name: out pin presence status
 | |
|   - platform: qwiic_pir
 | |
|     i2c_id: i2c_bus
 | |
|     name: "Qwiic PIR Motion Sensor"
 | |
|   - platform: dfrobot_sen0395
 | |
|     id: mmwave_detected_uart
 | |
|     dfrobot_sen0395_id: mmwave
 | |
|   - platform: nfc
 | |
|     nfcc_id: nfcc_pn7160_i2c
 | |
|     ndef_contains: pulse
 | |
|     name: MFC Tag 1
 | |
|   - platform: nfc
 | |
|     nfcc_id: nfcc_pn7160_i2c
 | |
|     tag_id: pulse
 | |
|     name: MFC Tag 2
 | |
|   - platform: nfc
 | |
|     nfcc_id: nfcc_pn7160_i2c
 | |
|     uid: 59-FC-AB-15
 | |
|     name: MFC Tag 3
 | |
| 
 | |
| pca9685:
 | |
|   frequency: 500
 | |
|   address: 0x0
 | |
|   i2c_id: i2c_bus
 | |
| 
 | |
| tlc59208f:
 | |
|   - address: 0x20
 | |
|     id: tlc59208f_1
 | |
|     i2c_id: i2c_bus
 | |
|   - address: 0x22
 | |
|     id: tlc59208f_2
 | |
|     i2c_id: i2c_bus
 | |
|   - address: 0x24
 | |
|     id: tlc59208f_3
 | |
|     i2c_id: i2c_bus
 | |
| 
 | |
| my9231:
 | |
|   data_pin:
 | |
|     allow_other_uses: true
 | |
|     number: GPIO12
 | |
|   clock_pin:
 | |
|     allow_other_uses: true
 | |
|     number: GPIO14
 | |
|   num_channels: 6
 | |
|   num_chips: 2
 | |
|   bit_depth: 16
 | |
| 
 | |
| sm2235:
 | |
|   data_pin:
 | |
|     allow_other_uses: true
 | |
|     number: GPIO4
 | |
|   clock_pin:
 | |
|     allow_other_uses: true
 | |
|     number: GPIO5
 | |
|   max_power_color_channels: 9
 | |
|   max_power_white_channels: 9
 | |
| 
 | |
| sm2335:
 | |
|   data_pin:
 | |
|     allow_other_uses: true
 | |
|     number: GPIO4
 | |
|   clock_pin:
 | |
|     allow_other_uses: true
 | |
|     number: GPIO5
 | |
|   max_power_color_channels: 9
 | |
|   max_power_white_channels: 9
 | |
| 
 | |
| bp1658cj:
 | |
|   data_pin:
 | |
|     allow_other_uses: true
 | |
|     number: GPIO3
 | |
|   clock_pin:
 | |
|     allow_other_uses: true
 | |
|     number: GPIO5
 | |
|   max_power_color_channels: 4
 | |
|   max_power_white_channels: 6
 | |
| 
 | |
| bp5758d:
 | |
|   data_pin:
 | |
|     allow_other_uses: true
 | |
|     number: GPIO3
 | |
|   clock_pin:
 | |
|     allow_other_uses: true
 | |
|     number: GPIO5
 | |
| 
 | |
| output:
 | |
|   - platform: gpio
 | |
|     pin:
 | |
|       allow_other_uses: true
 | |
|       number: GPIO26
 | |
|     id: gpio_26
 | |
|     power_supply: atx_power_supply
 | |
|     inverted: false
 | |
|   - platform: ledc
 | |
|     pin:
 | |
|       allow_other_uses: true
 | |
|       number: 19
 | |
|     id: gpio_19
 | |
|     frequency: 1500Hz
 | |
|     channel: 14
 | |
|     max_power: 0.5
 | |
|   - platform: pca9685
 | |
|     id: pca_0
 | |
|     channel: 0
 | |
|   - platform: pca9685
 | |
|     id: pca_1
 | |
|     channel: 1
 | |
|   - platform: pca9685
 | |
|     id: pca_2
 | |
|     channel: 2
 | |
|   - platform: pca9685
 | |
|     id: pca_3
 | |
|     channel: 3
 | |
|   - platform: pca9685
 | |
|     id: pca_4
 | |
|     channel: 4
 | |
|   - platform: pca9685
 | |
|     id: pca_5
 | |
|     channel: 5
 | |
|   - platform: pca9685
 | |
|     id: pca_6
 | |
|     channel: 6
 | |
|   - platform: pca9685
 | |
|     id: pca_7
 | |
|     channel: 7
 | |
|   - platform: tlc59208f
 | |
|     id: tlc_0
 | |
|     channel: 0
 | |
|     tlc59208f_id: tlc59208f_1
 | |
|   - platform: tlc59208f
 | |
|     id: tlc_1
 | |
|     channel: 1
 | |
|     tlc59208f_id: tlc59208f_1
 | |
|   - platform: tlc59208f
 | |
|     id: tlc_2
 | |
|     channel: 2
 | |
|     tlc59208f_id: tlc59208f_1
 | |
|   - platform: tlc59208f
 | |
|     id: tlc_3
 | |
|     channel: 0
 | |
|     tlc59208f_id: tlc59208f_2
 | |
|   - platform: tlc59208f
 | |
|     id: tlc_4
 | |
|     channel: 1
 | |
|     tlc59208f_id: tlc59208f_2
 | |
|   - platform: tlc59208f
 | |
|     id: tlc_5
 | |
|     channel: 2
 | |
|     tlc59208f_id: tlc59208f_2
 | |
|   - platform: tlc59208f
 | |
|     id: tlc_6
 | |
|     channel: 0
 | |
|     tlc59208f_id: tlc59208f_3
 | |
|   - platform: tlc59208f
 | |
|     id: tlc_7
 | |
|     channel: 1
 | |
|     tlc59208f_id: tlc59208f_3
 | |
|   - platform: tlc59208f
 | |
|     id: tlc_8
 | |
|     channel: 2
 | |
|     tlc59208f_id: tlc59208f_3
 | |
|   - platform: gpio
 | |
|     id: id2
 | |
|     pin:
 | |
|       pcf8574: pcf8574_hub
 | |
|       number: 0
 | |
|       #allow_other_uses: true
 | |
|       mode: OUTPUT
 | |
|       inverted: false
 | |
|   - platform: gpio
 | |
|     id: id26
 | |
|     pin:
 | |
|       pca9554: pca9554_hub
 | |
|       number: 0
 | |
|       #allow_other_uses: true
 | |
|       mode: OUTPUT
 | |
|       inverted: false
 | |
|   - platform: gpio
 | |
|     id: id22
 | |
|     pin:
 | |
|       mcp23xxx: mcp23017_hub
 | |
|       number: 0
 | |
|       mode: OUTPUT
 | |
|       inverted: false
 | |
|   - platform: gpio
 | |
|     id: id23
 | |
|     pin:
 | |
|       mcp23xxx: mcp23008_hub
 | |
|       number: 0
 | |
|       mode: OUTPUT
 | |
|       inverted: false
 | |
|   - platform: gpio
 | |
|     id: id25
 | |
|     pin:
 | |
|       mcp23016: mcp23016_hub
 | |
|       number: 0
 | |
|       mode: OUTPUT
 | |
|       inverted: false
 | |
|   - platform: my9231
 | |
|     id: my_0
 | |
|     channel: 0
 | |
|   - platform: my9231
 | |
|     id: my_1
 | |
|     channel: 1
 | |
|   - platform: my9231
 | |
|     id: my_2
 | |
|     channel: 2
 | |
|   - platform: my9231
 | |
|     id: my_3
 | |
|     channel: 3
 | |
|   - platform: my9231
 | |
|     id: my_4
 | |
|     channel: 4
 | |
|   - platform: my9231
 | |
|     id: my_5
 | |
|     channel: 5
 | |
|   - platform: sm2235
 | |
|     id: sm2235_red
 | |
|     channel: 1
 | |
|   - platform: sm2235
 | |
|     id: sm2235_green
 | |
|     channel: 0
 | |
|   - platform: sm2235
 | |
|     id: sm2235_blue
 | |
|     channel: 2
 | |
|   - platform: sm2235
 | |
|     id: sm2235_coldwhite
 | |
|     channel: 4
 | |
|   - platform: sm2235
 | |
|     id: sm2235_warmwhite
 | |
|     channel: 3
 | |
|   - platform: sm2335
 | |
|     id: sm2335_red
 | |
|     channel: 1
 | |
|   - platform: sm2335
 | |
|     id: sm2335_green
 | |
|     channel: 0
 | |
|   - platform: sm2335
 | |
|     id: sm2335_blue
 | |
|     channel: 2
 | |
|   - platform: sm2335
 | |
|     id: sm2335_coldwhite
 | |
|     channel: 4
 | |
|   - platform: sm2335
 | |
|     id: sm2335_warmwhite
 | |
|     channel: 3
 | |
|   - platform: slow_pwm
 | |
|     id: id24
 | |
|     pin:
 | |
|       allow_other_uses: true
 | |
|       number: GPIO26
 | |
|     period: 15s
 | |
|   - platform: ac_dimmer
 | |
|     id: dimmer1
 | |
|     gate_pin:
 | |
|       allow_other_uses: true
 | |
|       number: GPIO5
 | |
|     zero_cross_pin:
 | |
|       allow_other_uses: true
 | |
|       number: GPIO26
 | |
|   - platform: esp32_dac
 | |
|     pin:
 | |
|       allow_other_uses: true
 | |
|       number: GPIO25
 | |
|     id: dac_output
 | |
|   - platform: mcp4725
 | |
|     id: mcp4725_dac_output
 | |
|     i2c_id: i2c_bus
 | |
|   - platform: mcp4728
 | |
|     id: mcp4728_dac_output_a
 | |
|     channel: A
 | |
|     vref: vdd
 | |
|     power_down: normal
 | |
|   - platform: mcp4728
 | |
|     id: mcp4728_dac_output_b
 | |
|     channel: B
 | |
|     vref: internal
 | |
|     gain: X1
 | |
|     power_down: gnd_1k
 | |
|   - platform: mcp4728
 | |
|     id: mcp4728_dac_output_c
 | |
|     channel: C
 | |
|     vref: vdd
 | |
|     power_down: gnd_100k
 | |
|   - platform: mcp4728
 | |
|     id: mcp4728_dac_output_d
 | |
|     channel: D
 | |
|     vref: internal
 | |
|     gain: X2
 | |
|     power_down: gnd_500k
 | |
|   - platform: bp1658cj
 | |
|     id: bp1658cj_red
 | |
|     channel: 1
 | |
|   - platform: bp1658cj
 | |
|     id: bp1658cj_green
 | |
|     channel: 2
 | |
|   - platform: bp1658cj
 | |
|     id: bp1658cj_blue
 | |
|     channel: 0
 | |
|   - platform: bp1658cj
 | |
|     id: bp1658cj_coldwhite
 | |
|     channel: 3
 | |
|   - platform: bp1658cj
 | |
|     id: bp1658cj_warmwhite
 | |
|     channel: 4
 | |
|   - platform: bp5758d
 | |
|     id: bp5758d_red
 | |
|     channel: 2
 | |
|     current: 10
 | |
|   - platform: bp5758d
 | |
|     id: bp5758d_green
 | |
|     channel: 3
 | |
|     current: 10
 | |
|   - platform: bp5758d
 | |
|     id: bp5758d_blue
 | |
|     channel: 1
 | |
|     current: 10
 | |
|   - platform: bp5758d
 | |
|     id: bp5758d_coldwhite
 | |
|     channel: 5
 | |
|     current: 10
 | |
|   - platform: bp5758d
 | |
|     id: bp5758d_warmwhite
 | |
|     channel: 4
 | |
|     current: 10
 | |
|   - platform: x9c
 | |
|     id: test_x9c
 | |
|     cs_pin:
 | |
|       allow_other_uses: true
 | |
|       number: GPIO25
 | |
|     inc_pin:
 | |
|       allow_other_uses: true
 | |
|       number: GPIO26
 | |
|     ud_pin:
 | |
|       allow_other_uses: true
 | |
|       number: GPIO27
 | |
|     initial_value: 0.5
 | |
| 
 | |
| light:
 | |
|   - platform: binary
 | |
|     name: Desk Lamp
 | |
|     output: gpio_26
 | |
|     effects:
 | |
|       - strobe:
 | |
|       - strobe:
 | |
|           name: My Strobe
 | |
|           colors:
 | |
|             - state: true
 | |
|               duration: 250ms
 | |
|             - state: false
 | |
|               duration: 250ms
 | |
|     on_turn_on:
 | |
|       - switch.template.publish:
 | |
|           id: livingroom_lights
 | |
|           state: true
 | |
|     on_turn_off:
 | |
|       - switch.template.publish:
 | |
|           id: livingroom_lights
 | |
|           state: true
 | |
|   - platform: monochromatic
 | |
|     name: Kitchen Lights
 | |
|     id: kitchen
 | |
|     output: gpio_19
 | |
|     gamma_correct: 2.8
 | |
|     default_transition_length: 2s
 | |
|     effects:
 | |
|       - strobe:
 | |
|       - flicker:
 | |
|       - flicker:
 | |
|           name: My Flicker
 | |
|           alpha: 98%
 | |
|           intensity: 1.5%
 | |
|       - lambda:
 | |
|           name: My Custom Effect
 | |
|           update_interval: 1s
 | |
|           lambda: |-
 | |
|             static int state = 0;
 | |
|             state += 1;
 | |
|             if (state == 4)
 | |
|               state = 0;
 | |
|       - pulse:
 | |
|           transition_length: 10s
 | |
|           update_interval: 20s
 | |
|           min_brightness: 10%
 | |
|           max_brightness: 90%
 | |
|       - pulse:
 | |
|           name: pulse2
 | |
|           transition_length:
 | |
|             on_length: 10s
 | |
|             off_length: 5s
 | |
|           update_interval: 15s
 | |
|           min_brightness: 10%
 | |
|           max_brightness: 90%
 | |
| 
 | |
|   - platform: rgb
 | |
|     name: Living Room Lights
 | |
|     id: ${roomname}_lights
 | |
|     red: pca_0
 | |
|     green: pca_1
 | |
|     blue: pca_2
 | |
|   - platform: rgbw
 | |
|     name: Living Room Lights 2
 | |
|     red: pca_3
 | |
|     green: pca_4
 | |
|     blue: pca_5
 | |
|     white: pca_6
 | |
|     color_interlock: true
 | |
|   - platform: rgbww
 | |
|     name: Living Room Lights 2
 | |
|     red: pca_3
 | |
|     green: pca_4
 | |
|     blue: pca_5
 | |
|     cold_white: pca_6
 | |
|     warm_white: pca_6
 | |
|     cold_white_color_temperature: 153 mireds
 | |
|     warm_white_color_temperature: 500 mireds
 | |
|     color_interlock: true
 | |
|   - platform: rgbct
 | |
|     name: Living Room Lights 2
 | |
|     red: pca_3
 | |
|     green: pca_4
 | |
|     blue: pca_5
 | |
|     color_temperature: pca_6
 | |
|     white_brightness: pca_6
 | |
|     cold_white_color_temperature: 153 mireds
 | |
|     warm_white_color_temperature: 500 mireds
 | |
|     color_interlock: true
 | |
|   - platform: cwww
 | |
|     name: Living Room Lights 2
 | |
|     cold_white: pca_6
 | |
|     warm_white: pca_6
 | |
|     cold_white_color_temperature: 153 mireds
 | |
|     warm_white_color_temperature: 500 mireds
 | |
|     constant_brightness: true
 | |
|   - platform: color_temperature
 | |
|     name: Living Room Lights 2
 | |
|     color_temperature: pca_6
 | |
|     brightness: pca_6
 | |
|     cold_white_color_temperature: 153 mireds
 | |
|     warm_white_color_temperature: 500 mireds
 | |
| 
 | |
| remote_transmitter:
 | |
|   - pin:
 | |
|       allow_other_uses: true
 | |
|       number: 32
 | |
|     carrier_duty_percent: 100%
 | |
| 
 | |
| climate:
 | |
|   - platform: tcl112
 | |
|     name: TCL112 Climate With Sensor
 | |
|     supports_heat: true
 | |
|     supports_cool: true
 | |
|     sensor: ${sensorname}_sensor
 | |
|   - platform: tcl112
 | |
|     name: TCL112 Climate
 | |
|     action_state_topic: action/state/topic
 | |
|     away_command_topic: away/command/topic
 | |
|     away_state_topic: away/state/topic
 | |
|     current_temperature_state_topic: current/temperature/state/topic
 | |
|     fan_mode_command_topic: fan_mode/mode/command/topic
 | |
|     fan_mode_state_topic: fan_mode/mode/state/topic
 | |
|     mode_command_topic: mode/command/topic
 | |
|     mode_state_topic: mode/state/topic
 | |
|     swing_mode_command_topic: swing_mode/command/topic
 | |
|     swing_mode_state_topic: swing_mode/state/topic
 | |
|     target_temperature_command_topic: target/temperature/command/topic
 | |
|     target_temperature_high_command_topic: target/temperature/high/command/topic
 | |
|     target_temperature_high_state_topic: target/temperature/high/state/topic
 | |
|     target_temperature_low_command_topic: target/temperature/low/command/topic
 | |
|     target_temperature_low_state_topic: target/temperature/low/state/topic
 | |
|     target_temperature_state_topic: target/temperature/state/topic
 | |
|   - platform: coolix
 | |
|     name: Coolix Climate With Sensor
 | |
|     supports_heat: true
 | |
|     supports_cool: true
 | |
|     sensor: ${sensorname}_sensor
 | |
|   - platform: coolix
 | |
|     name: Coolix Climate
 | |
|   - platform: fujitsu_general
 | |
|     name: Fujitsu General Climate
 | |
|   - platform: daikin
 | |
|     name: Daikin Climate
 | |
|   - platform: daikin_brc
 | |
|     name: Daikin BRC Climate
 | |
|     use_fahrenheit: true
 | |
|   - platform: delonghi
 | |
|     name: Delonghi Climate
 | |
|   - platform: yashima
 | |
|     name: Yashima Climate
 | |
|   - platform: mitsubishi
 | |
|     name: Mitsubishi
 | |
|   - platform: whirlpool
 | |
|     name: Whirlpool Climate
 | |
|   - platform: climate_ir_lg
 | |
|     name: LG Climate
 | |
|   - platform: toshiba
 | |
|     name: Toshiba Climate
 | |
|   - platform: hitachi_ac344
 | |
|     name: Hitachi Climate
 | |
|   - platform: heatpumpir
 | |
|     protocol: mitsubishi_heavy_zm
 | |
|     horizontal_default: left
 | |
|     vertical_default: up
 | |
|     name: HeatpumpIR Climate
 | |
|     min_temperature: 18
 | |
|     max_temperature: 30
 | |
|   - platform: heatpumpir
 | |
|     protocol: greeyt
 | |
|     horizontal_default: left
 | |
|     vertical_default: up
 | |
|     name: HeatpumpIR Climate
 | |
|     min_temperature: 18
 | |
|     max_temperature: 30
 | |
|   - platform: midea_ir
 | |
|     name: Midea IR
 | |
|     use_fahrenheit: true
 | |
|   - platform: midea
 | |
|     on_control:
 | |
|       - logger.log: Control message received!
 | |
|       - lambda: |-
 | |
|           x.set_mode(CLIMATE_MODE_FAN_ONLY);
 | |
|     on_state:
 | |
|       - logger.log: State changed!
 | |
|       - lambda: |-
 | |
|           if (x.mode == CLIMATE_MODE_FAN_ONLY)
 | |
|             id(binary_sensor1).publish_state(true);
 | |
|     id: midea_unit
 | |
|     uart_id: uart_0
 | |
|     name: Midea Climate
 | |
|     transmitter_id:
 | |
|     period: 1s
 | |
|     num_attempts: 5
 | |
|     timeout: 2s
 | |
|     beeper: false
 | |
|     autoconf: true
 | |
|     visual:
 | |
|       min_temperature: 17 °C
 | |
|       max_temperature: 30 °C
 | |
|       temperature_step: 0.5 °C
 | |
|     supported_modes:
 | |
|       - FAN_ONLY
 | |
|       - HEAT_COOL
 | |
|       - COOL
 | |
|       - HEAT
 | |
|       - DRY
 | |
|     custom_fan_modes:
 | |
|       - SILENT
 | |
|       - TURBO
 | |
|     supported_presets:
 | |
|       - ECO
 | |
|       - BOOST
 | |
|       - SLEEP
 | |
|     custom_presets:
 | |
|       - FREEZE_PROTECTION
 | |
|     supported_swing_modes:
 | |
|       - VERTICAL
 | |
|       - HORIZONTAL
 | |
|       - BOTH
 | |
|     outdoor_temperature:
 | |
|       name: Temp
 | |
|     power_usage:
 | |
|       name: Power
 | |
|     humidity_setpoint:
 | |
|       name: Humidity
 | |
|   - platform: anova
 | |
|     name: Anova cooker
 | |
|     ble_client_id: ble_blah
 | |
|     unit_of_measurement: c
 | |
|     icon: mdi:stove
 | |
|   - platform: bedjet
 | |
|     name: My Bedjet
 | |
|     bedjet_id: my_bedjet_client
 | |
|     heat_mode: extended
 | |
|   - platform: whynter
 | |
|     name: Whynter
 | |
|   - platform: noblex
 | |
|     name: AC Living
 | |
|     id: noblex_ac
 | |
|     sensor: ${sensorname}_sensor
 | |
|     receiver_id: rcvr
 | |
|   - platform: gree
 | |
|     name: GREE
 | |
|     model: generic
 | |
|   - platform: zhlt01
 | |
|     name: ZH/LT-01 Climate
 | |
| 
 | |
| script:
 | |
|   - id: climate_custom
 | |
|     then:
 | |
|       - climate.control:
 | |
|           id: midea_unit
 | |
|           custom_preset: FREEZE_PROTECTION
 | |
|           custom_fan_mode: SILENT
 | |
|   - id: climate_preset
 | |
|     then:
 | |
|       - climate.control:
 | |
|           id: midea_unit
 | |
|           preset: SLEEP
 | |
| 
 | |
| switch:
 | |
|   - platform: template
 | |
|     name: MIDEA_AC_BEEPER_CONTROL
 | |
|     optimistic: true
 | |
|     turn_on_action:
 | |
|       midea_ac.beeper_on:
 | |
|     turn_off_action:
 | |
|       midea_ac.beeper_off:
 | |
|   - platform: template
 | |
|     name: MIDEA_RAW
 | |
|     turn_on_action:
 | |
|       - remote_transmitter.transmit_coolix:
 | |
|           first: 0xB21F98
 | |
|       - remote_transmitter.transmit_coolix:
 | |
|           first: 0xB21F98
 | |
|           second: 0xB21F98
 | |
|       - remote_transmitter.transmit_coolix:
 | |
|           first: !lambda "return 0xB21F98;"
 | |
|           second: !lambda "return 0xB21F98;"
 | |
|       - remote_transmitter.transmit_midea:
 | |
|           code: [0xA2, 0x08, 0xFF, 0xFF, 0xFF]
 | |
|       - remote_transmitter.transmit_midea:
 | |
|           code: !lambda "return {0xA2, 0x08, 0xFF, 0xFF, 0xFF};"
 | |
|   - platform: gpio
 | |
|     name: "MCP23S08 Pin #0"
 | |
|     pin:
 | |
|       mcp23xxx: mcp23s08_hub
 | |
|       # Use pin number 0
 | |
|       number: 0
 | |
|       mode: OUTPUT
 | |
|       inverted: false
 | |
|   - platform: gpio
 | |
|     name: "MCP23S17 Pin #0"
 | |
|     pin:
 | |
|       mcp23xxx: mcp23s17_hub
 | |
|       # Use pin number 0
 | |
|       number: 1
 | |
|       allow_other_uses: true
 | |
|       mode: OUTPUT
 | |
|       inverted: false
 | |
|   - platform: gpio
 | |
|     pin:
 | |
|       allow_other_uses: true
 | |
|       number: GPIO25
 | |
|     name: Living Room Dehumidifier
 | |
|     icon: "mdi:restart"
 | |
|     inverted: true
 | |
|     command_topic: custom_command_topic
 | |
|     command_retain: true
 | |
|     restore_mode: ALWAYS_OFF
 | |
|   - platform: template
 | |
|     name: JVC Off
 | |
|     id: living_room_lights_on
 | |
|     turn_on_action:
 | |
|       remote_transmitter.transmit_jvc:
 | |
|         data: 0x10EF
 | |
|   - platform: template
 | |
|     name: MagiQuest
 | |
|     turn_on_action:
 | |
|       remote_transmitter.transmit_magiquest:
 | |
|         wand_id: 0x01234567
 | |
|   - platform: template
 | |
|     name: NEC
 | |
|     id: living_room_lights_off
 | |
|     turn_on_action:
 | |
|       remote_transmitter.transmit_nec:
 | |
|         address: 0x4242
 | |
|         command: 0x8484
 | |
|   - platform: template
 | |
|     name: LG
 | |
|     turn_on_action:
 | |
|       remote_transmitter.transmit_lg:
 | |
|         data: 4294967295
 | |
|         nbits: 28
 | |
|   - platform: template
 | |
|     name: Samsung
 | |
|     turn_on_action:
 | |
|       remote_transmitter.transmit_samsung:
 | |
|         data: 0xABCDEF
 | |
|   - platform: template
 | |
|     name: Samsung36
 | |
|     turn_on_action:
 | |
|       remote_transmitter.transmit_samsung36:
 | |
|         address: 0x0400
 | |
|         command: 0x000E00FF
 | |
|   - platform: template
 | |
|     name: ToshibaAC
 | |
|     turn_on_action:
 | |
|       - remote_transmitter.transmit_toshiba_ac:
 | |
|           rc_code_1: 0xB24DBF4050AF
 | |
|           rc_code_2: 0xD5660001003C
 | |
|   - platform: template
 | |
|     name: Sony
 | |
|     turn_on_action:
 | |
|       remote_transmitter.transmit_sony:
 | |
|         data: 0xABCDEF
 | |
|         nbits: 12
 | |
|   - platform: template
 | |
|     name: Panasonic
 | |
|     turn_on_action:
 | |
|       remote_transmitter.transmit_panasonic:
 | |
|         address: 0x4004
 | |
|         command: 0x1000BCD
 | |
|   - platform: template
 | |
|     name: Pioneer
 | |
|     turn_on_action:
 | |
|       - remote_transmitter.transmit_pioneer:
 | |
|           rc_code_1: 0xA556
 | |
|           rc_code_2: 0xA506
 | |
|           repeat:
 | |
|             times: 2
 | |
|   - platform: template
 | |
|     name: RC Switch Raw
 | |
|     turn_on_action:
 | |
|       remote_transmitter.transmit_rc_switch_raw:
 | |
|         code: "00101001100111110101xxxx"
 | |
|         protocol: 1
 | |
|   - platform: template
 | |
|     name: RC Switch Type A
 | |
|     turn_on_action:
 | |
|       remote_transmitter.transmit_rc_switch_type_a:
 | |
|         group: "11001"
 | |
|         device: "01000"
 | |
|         state: true
 | |
|         protocol:
 | |
|           pulse_length: 175
 | |
|           sync: [1, 31]
 | |
|           zero: [1, 3]
 | |
|           one: [3, 1]
 | |
|           inverted: false
 | |
|   - platform: template
 | |
|     name: RC Switch Type B
 | |
|     turn_on_action:
 | |
|       remote_transmitter.transmit_rc_switch_type_b:
 | |
|         address: 4
 | |
|         channel: 2
 | |
|         state: true
 | |
|   - platform: template
 | |
|     name: RC Switch Type C
 | |
|     turn_on_action:
 | |
|       remote_transmitter.transmit_rc_switch_type_c:
 | |
|         family: "a"
 | |
|         group: 1
 | |
|         device: 2
 | |
|         state: true
 | |
|   - platform: template
 | |
|     name: RC Switch Type D
 | |
|     turn_on_action:
 | |
|       remote_transmitter.transmit_rc_switch_type_d:
 | |
|         group: "a"
 | |
|         device: 2
 | |
|         state: true
 | |
|   - platform: template
 | |
|     name: RC5
 | |
|     turn_on_action:
 | |
|       remote_transmitter.transmit_rc5:
 | |
|         address: 0x00
 | |
|         command: 0x0B
 | |
|   - platform: template
 | |
|     name: RC5
 | |
|     turn_on_action:
 | |
|       remote_transmitter.transmit_raw:
 | |
|         code: [1000, -1000]
 | |
|   - platform: template
 | |
|     name: AEHA
 | |
|     id: eaha_hitachi_climate_power_on
 | |
|     turn_on_action:
 | |
|       remote_transmitter.transmit_aeha:
 | |
|         address: 0x8008
 | |
|         data:
 | |
|           [
 | |
|             0x00,
 | |
|             0x02,
 | |
|             0xFD,
 | |
|             0xFF,
 | |
|             0x00,
 | |
|             0x33,
 | |
|             0xCC,
 | |
|             0x49,
 | |
|             0xB6,
 | |
|             0xC8,
 | |
|             0x37,
 | |
|             0x16,
 | |
|             0xE9,
 | |
|             0x00,
 | |
|             0xFF,
 | |
|             0x00,
 | |
|             0xFF,
 | |
|             0x00,
 | |
|             0xFF,
 | |
|             0x00,
 | |
|             0xFF,
 | |
|             0x00,
 | |
|             0xFF,
 | |
|             0xCA,
 | |
|             0x35,
 | |
|             0x8F,
 | |
|             0x70,
 | |
|             0x00,
 | |
|             0xFF,
 | |
|             0x00,
 | |
|             0xFF,
 | |
|             0x00,
 | |
|             0xFF,
 | |
|             0x00,
 | |
|             0xFF,
 | |
|           ]
 | |
|   - platform: template
 | |
|     name: Haier
 | |
|     turn_on_action:
 | |
|       remote_transmitter.transmit_haier:
 | |
|         code:
 | |
|           [
 | |
|             0xA6,
 | |
|             0xDA,
 | |
|             0x00,
 | |
|             0x00,
 | |
|             0x40,
 | |
|             0x40,
 | |
|             0x00,
 | |
|             0x80,
 | |
|             0x00,
 | |
|             0x00,
 | |
|             0x00,
 | |
|             0x00,
 | |
|             0x05,
 | |
|           ]
 | |
|   - platform: template
 | |
|     name: Living Room Lights
 | |
|     id: livingroom_lights
 | |
|     optimistic: true
 | |
|     assumed_state: true
 | |
|     turn_on_action:
 | |
|       - switch.turn_on: living_room_lights_on
 | |
|       - output.set_level:
 | |
|           id: gpio_19
 | |
|           level: 50%
 | |
|       - output.set_level:
 | |
|           id: gpio_19
 | |
|           level: !lambda "return 0.5;"
 | |
|       - output.set_level:
 | |
|           id: dac_output
 | |
|           level: 50%
 | |
|       - output.set_level:
 | |
|           id: dac_output
 | |
|           level: !lambda "return 0.5;"
 | |
|       - output.set_level:
 | |
|           id: mcp4725_dac_output
 | |
|           level: !lambda "return 0.5;"
 | |
|       - output.set_level:
 | |
|           id: mcp4728_dac_output_a
 | |
|           level: !lambda "return 0.5;"
 | |
|     turn_off_action:
 | |
|       - switch.turn_on: living_room_lights_off
 | |
|     on_turn_on:
 | |
|       - switch.template.publish:
 | |
|           id: livingroom_lights
 | |
|           state: true
 | |
|   - platform: restart
 | |
|     name: Living Room Restart
 | |
|   - platform: safe_mode
 | |
|     name: Living Room Restart (Safe Mode)
 | |
|   - platform: factory_reset
 | |
|     name: Living Room Restart (Factory Default Settings)
 | |
|   - platform: shutdown
 | |
|     name: Living Room Shutdown
 | |
|   - platform: output
 | |
|     name: Generic Output
 | |
|     output: pca_6
 | |
|   - platform: template
 | |
|     name: Template Switch
 | |
|     id: my_switch
 | |
|     lambda: |-
 | |
|       if (id(binary_sensor1).state) {
 | |
|         return true;
 | |
|       } else {
 | |
|         return {};
 | |
|       }
 | |
|       id(my_switch).publish_state(false);
 | |
|       id(my_switch).publish_state(true);
 | |
|       if (id(my_switch).state) {
 | |
|         // Switch is ON, do something here
 | |
|         id(my_switch).turn_off();
 | |
|         id(my_switch).turn_on();
 | |
|       } else {
 | |
|         // Switch is OFF, do something else here
 | |
|       }
 | |
|     optimistic: true
 | |
|     assumed_state: false
 | |
|     on_turn_off:
 | |
|       - switch.template.publish:
 | |
|           id: my_switch
 | |
|           state: !lambda "return false;"
 | |
|   - platform: uart
 | |
|     uart_id: uart_0
 | |
|     name: UART String Output
 | |
|     data: DataToSend
 | |
|   - platform: uart
 | |
|     uart_id: uart_0
 | |
|     name: UART Bytes Output
 | |
|     data: [0xDE, 0xAD, 0xBE, 0xEF]
 | |
|   - platform: uart
 | |
|     uart_id: uart_0
 | |
|     name: UART Recurring Output
 | |
|     data: [0xDE, 0xAD, 0xBE, 0xEF]
 | |
|     send_every: 1s
 | |
|   - platform: uart
 | |
|     uart_id: uart_0
 | |
|     name: "UART On/Off"
 | |
|     data:
 | |
|       turn_on: "TurnOn\r\n"
 | |
|       turn_off: "TurnOff\r\n"
 | |
|   - platform: template
 | |
|     assumed_state: true
 | |
|     name: Stepper Switch
 | |
|     turn_on_action:
 | |
|       - stepper.set_target:
 | |
|           id: my_stepper
 | |
|           target: !lambda |-
 | |
|             static int32_t i = 0;
 | |
|             i += 1000;
 | |
|             if (i > 5000) {
 | |
|               i = -5000;
 | |
|             }
 | |
|             return i;
 | |
|       - stepper.report_position:
 | |
|           id: my_stepper
 | |
|           position: 0
 | |
| 
 | |
|   - platform: gpio
 | |
|     name: "SN74HC595 Pin #0"
 | |
|     pin:
 | |
|       sn74hc595: sn74hc595_hub_2
 | |
|       # Use pin number 0
 | |
|       number: 0
 | |
|       inverted: false
 | |
|   - platform: template
 | |
|     id: ble1_status
 | |
|     optimistic: true
 | |
|   - platform: template
 | |
|     id: outlet_switch
 | |
|     optimistic: true
 | |
|     device_class: outlet
 | |
|   - platform: ld2410
 | |
|     engineering_mode:
 | |
|       name: "control ld2410 engineering mode"
 | |
|     bluetooth:
 | |
|       name: "control ld2410 bluetooth"
 | |
|   - platform: micronova
 | |
|     stove:
 | |
|       name: Stove on/off
 | |
| 
 | |
| fan:
 | |
|   - platform: binary
 | |
|     output: gpio_26
 | |
|     name: Living Room Fan 1
 | |
|     oscillation_output: gpio_19
 | |
|     direction_output: gpio_26
 | |
|   - platform: speed
 | |
|     id: fan_speed
 | |
|     icon: mdi:weather-windy
 | |
|     output: pca_6
 | |
|     speed_count: 10
 | |
|     name: Living Room Fan 2
 | |
|     oscillation_output: gpio_19
 | |
|     direction_output: gpio_26
 | |
|     oscillation_state_topic: oscillation/state/topic
 | |
|     oscillation_command_topic: oscillation/command/topic
 | |
|     speed_level_state_topic: speed_level/state/topic
 | |
|     speed_level_command_topic: speed_level/command/topic
 | |
|     speed_state_topic: speed/state/topic
 | |
|     speed_command_topic: speed/command/topic
 | |
|     on_speed_set:
 | |
|       then:
 | |
|         - logger.log: Fan speed was changed!
 | |
|   - platform: speed
 | |
|     id: fan_speed_presets
 | |
|     icon: mdi:weather-windy
 | |
|     output: pca_6
 | |
|     speed_count: 10
 | |
|     name: Speed Fan w/ Presets
 | |
|     oscillation_output: gpio_19
 | |
|     direction_output: gpio_26
 | |
|     preset_modes:
 | |
|       - Preset 1
 | |
|       - Preset 2
 | |
|     on_preset_set:
 | |
|       then:
 | |
|         - logger.log: Preset mode was changed!
 | |
|   - platform: hbridge
 | |
|     id: fan_hbridge_presets
 | |
|     icon: mdi:weather-windy
 | |
|     speed_count: 4
 | |
|     name: H-bridge Fan w/ Presets
 | |
|     pin_a: pca_6
 | |
|     pin_b: pca_7
 | |
|     preset_modes:
 | |
|       - Preset 1
 | |
|       - Preset 2
 | |
|     on_preset_set:
 | |
|       then:
 | |
|         - logger.log: Preset mode was changed!
 | |
|   - platform: bedjet
 | |
|     name: My Bedjet fan
 | |
|     bedjet_id: my_bedjet_client
 | |
|   - platform: copy
 | |
|     source_id: fan_speed
 | |
|     name: Fan Speed Copy
 | |
| 
 | |
| interval:
 | |
|   - interval: 10s
 | |
|     then:
 | |
|       - display.page.show: !lambda |-
 | |
|           if (true) return id(page1); else return id(page2);
 | |
|       - display.page.show_next: display1
 | |
|       - display.page.show_previous: display1
 | |
|   - interval: 2s
 | |
|     then:
 | |
|       # yamllint disable rule:line-length
 | |
|       - lambda: |-
 | |
|           static uint16_t btn_left_state = id(btn_left)->get_value();
 | |
| 
 | |
|           ESP_LOGD("adaptive touch", "___  Touch Pad '%s' (T%u): val: %u state: %u tres:%u", id(btn_left)->get_name().c_str(), id(btn_left)->get_touch_pad(), id(btn_left)->get_value(), btn_left_state, id(btn_left)->get_threshold());
 | |
| 
 | |
|           btn_left_state = ((uint32_t) id(btn_left)->get_value()  +  63 * (uint32_t)btn_left_state) >> 6;
 | |
| 
 | |
|           id(btn_left)->set_threshold(btn_left_state * 0.9);
 | |
|       # yamllint enable rule:line-length
 | |
|       - if:
 | |
|           condition:
 | |
|             display.is_displaying_page:
 | |
|               id: display1
 | |
|               page_id: page1
 | |
|           then:
 | |
|             - logger.log: Seeing page 1
 | |
|   - interval: 60min
 | |
|     then:
 | |
|       - ble_client.connect: ble_blah
 | |
|       - ble_client.ble_write:
 | |
|           id: ble_blah
 | |
|           service_uuid: EBE0CCB0-7A0A-4B0C-8A1A-6FF2997DA3A6
 | |
|           characteristic_uuid: EBE0CCB7-7A0A-4B0C-8A1A-6FF2997DA3A6
 | |
|           value: !lambda |-
 | |
|             return {1, 0};
 | |
|       - ble_client.disconnect: ble_blah
 | |
| 
 | |
| color:
 | |
|   - id: kbx_red
 | |
|     red: 100%
 | |
|     green_int: 123
 | |
|     blue: 2%
 | |
|   - id: kbx_blue
 | |
|     red: 0%
 | |
|     green: 1%
 | |
|     blue: 100%
 | |
|   - id: kbx_green
 | |
|     hex: "3DEC55"
 | |
| 
 | |
| display:
 | |
|   - platform: lcd_gpio
 | |
|     id: my_lcd_gpio
 | |
|     dimensions: 18x4
 | |
|     data_pins:
 | |
|       - allow_other_uses: true
 | |
|         number: GPIO19
 | |
|       - allow_other_uses: true
 | |
|         number: GPIO21
 | |
|       - allow_other_uses: true
 | |
|         number: GPIO22
 | |
|       - allow_other_uses: true
 | |
|         number: GPIO23
 | |
|     enable_pin:
 | |
|       allow_other_uses: true
 | |
|       number: GPIO23
 | |
|     rs_pin:
 | |
|       allow_other_uses: true
 | |
|       number: GPIO25
 | |
|     lambda: |-
 | |
|       it.print("Hello World!");
 | |
|   - platform: lcd_pcf8574
 | |
|     dimensions: 18x4
 | |
|     address: 0x3F
 | |
|     user_characters:
 | |
|       - position: 0
 | |
|         data:
 | |
|           - 0b00000
 | |
|           - 0b01010
 | |
|           - 0b00000
 | |
|           - 0b00100
 | |
|           - 0b00100
 | |
|           - 0b10001
 | |
|           - 0b01110
 | |
|           - 0b00000
 | |
|     lambda: |-
 | |
|       it.print("Hello World!");
 | |
|     i2c_id: i2c_bus
 | |
|   - platform: max7219
 | |
|     cs_pin:
 | |
|       allow_other_uses: true
 | |
|       number: GPIO23
 | |
|     num_chips: 1
 | |
|     lambda: |-
 | |
|       it.print("01234567");
 | |
|   - platform: tm1637
 | |
|     clk_pin:
 | |
|       allow_other_uses: true
 | |
|       number: GPIO23
 | |
|     dio_pin:
 | |
|       allow_other_uses: true
 | |
|       number: GPIO25
 | |
|     intensity: 3
 | |
|     lambda: |-
 | |
|       it.print("1234");
 | |
|   - platform: tm1637
 | |
|     clk_pin:
 | |
|       mcp23xxx: mcp23017_hub
 | |
|       number: 1
 | |
|       allow_other_uses: true
 | |
|     dio_pin:
 | |
|       mcp23xxx: mcp23017_hub
 | |
|       number: 2
 | |
|     intensity: 3
 | |
|     inverted: true
 | |
|     length: 4
 | |
|     lambda: |-
 | |
|       it.print("1234");
 | |
|   - platform: pcd8544
 | |
|     cs_pin:
 | |
|       allow_other_uses: true
 | |
|       number: GPIO23
 | |
|     dc_pin:
 | |
|       allow_other_uses: true
 | |
|       number: GPIO23
 | |
|     reset_pin:
 | |
|       allow_other_uses: true
 | |
|       number: GPIO23
 | |
|     contrast: 60
 | |
|     lambda: |-
 | |
|       it.rectangle(0, 0, it.get_width(), it.get_height());
 | |
|   - platform: ssd1306_i2c
 | |
|     model: SSD1306_128X64
 | |
|     reset_pin:
 | |
|       allow_other_uses: true
 | |
|       number: GPIO23
 | |
|     address: 0x3C
 | |
|     id: display1
 | |
|     contrast: 60%
 | |
|     pages:
 | |
|       - id: page1
 | |
|         lambda: |-
 | |
|           it.qr_code(0, 0, id(homepage_qr));
 | |
|           it.rectangle(0, 0, it.get_width(), it.get_height());
 | |
|       - id: page2
 | |
|         lambda: |-
 | |
|           // Nothing
 | |
|     on_page_change:
 | |
|       from: page1
 | |
|       to: page2
 | |
|       then:
 | |
|         lambda: |-
 | |
|           ESP_LOGD("display", "1 -> 2");
 | |
|     i2c_id: i2c_bus
 | |
|   - platform: ssd1306_spi
 | |
|     model: SSD1306 128x64
 | |
|     cs_pin:
 | |
|       allow_other_uses: true
 | |
|       number: GPIO23
 | |
|     dc_pin:
 | |
|       allow_other_uses: true
 | |
|       number: GPIO23
 | |
|     reset_pin:
 | |
|       allow_other_uses: true
 | |
|       number: GPIO23
 | |
|     lambda: |-
 | |
|       it.rectangle(0, 0, it.get_width(), it.get_height());
 | |
|   - platform: ssd1322_spi
 | |
|     model: SSD1322 256x64
 | |
|     cs_pin:
 | |
|       allow_other_uses: true
 | |
|       number: GPIO23
 | |
|     dc_pin:
 | |
|       allow_other_uses: true
 | |
|       number: GPIO23
 | |
|     reset_pin:
 | |
|       allow_other_uses: true
 | |
|       number: GPIO23
 | |
|     lambda: |-
 | |
|       it.rectangle(0, 0, it.get_width(), it.get_height());
 | |
|   - platform: ssd1325_spi
 | |
|     model: SSD1325 128x64
 | |
|     cs_pin:
 | |
|       allow_other_uses: true
 | |
|       number: GPIO23
 | |
|     dc_pin:
 | |
|       allow_other_uses: true
 | |
|       number: GPIO23
 | |
|     reset_pin:
 | |
|       allow_other_uses: true
 | |
|       number: GPIO23
 | |
|     lambda: |-
 | |
|       it.rectangle(0, 0, it.get_width(), it.get_height());
 | |
|   - platform: ssd1327_i2c
 | |
|     model: SSD1327 128X128
 | |
|     reset_pin:
 | |
|       allow_other_uses: true
 | |
|       number: GPIO23
 | |
|     address: 0x3D
 | |
|     id: display1327
 | |
|     brightness: 60%
 | |
|     pages:
 | |
|       - id: page13271
 | |
|         lambda: |-
 | |
|           it.rectangle(0, 0, it.get_width(), it.get_height());
 | |
|       - id: page13272
 | |
|         lambda: |-
 | |
|           // Nothing
 | |
|     i2c_id: i2c_bus
 | |
|   - platform: ssd1327_spi
 | |
|     model: SSD1327 128x128
 | |
|     cs_pin:
 | |
|       allow_other_uses: true
 | |
|       number: GPIO23
 | |
|     dc_pin:
 | |
|       allow_other_uses: true
 | |
|       number: GPIO23
 | |
|     reset_pin:
 | |
|       allow_other_uses: true
 | |
|       number: GPIO23
 | |
|     lambda: |-
 | |
|       it.rectangle(0, 0, it.get_width(), it.get_height());
 | |
|   - platform: ssd1331_spi
 | |
|     cs_pin:
 | |
|       allow_other_uses: true
 | |
|       number: GPIO23
 | |
|     dc_pin:
 | |
|       allow_other_uses: true
 | |
|       number: GPIO23
 | |
|     reset_pin:
 | |
|       allow_other_uses: true
 | |
|       number: GPIO23
 | |
|     lambda: |-
 | |
|       it.rectangle(0, 0, it.get_width(), it.get_height());
 | |
|   - platform: ssd1351_spi
 | |
|     model: SSD1351 128x128
 | |
|     cs_pin:
 | |
|       allow_other_uses: true
 | |
|       number: GPIO23
 | |
|     dc_pin:
 | |
|       allow_other_uses: true
 | |
|       number: GPIO23
 | |
|     reset_pin:
 | |
|       allow_other_uses: true
 | |
|       number: GPIO23
 | |
|     lambda: |-
 | |
|       it.rectangle(0, 0, it.get_width(), it.get_height());
 | |
|   - platform: st7789v
 | |
|     model: TTGO TDisplay 135x240
 | |
|     cs_pin:
 | |
|       allow_other_uses: true
 | |
|       number: GPIO5
 | |
|     dc_pin:
 | |
|       allow_other_uses: true
 | |
|       number: GPIO16
 | |
|     reset_pin:
 | |
|       allow_other_uses: true
 | |
|       number: GPIO23
 | |
|     backlight_pin: no
 | |
|     lambda: |-
 | |
|       it.rectangle(0, 0, it.get_width(), it.get_height());
 | |
|   - platform: st7920
 | |
|     width: 128
 | |
|     height: 64
 | |
|     cs_pin:
 | |
|       allow_other_uses: true
 | |
|       number: GPIO23
 | |
|       inverted: true
 | |
|     lambda: |-
 | |
|       it.rectangle(0, 0, it.get_width(), it.get_height());
 | |
|   - platform: st7567_i2c
 | |
|     id: st7735_display_i2c
 | |
|     address: 0x3F
 | |
|     i2c_id: i2c_bus
 | |
|     lambda: |-
 | |
|       it.rectangle(0, 0, it.get_width(), it.get_height());
 | |
|   - platform: st7567_spi
 | |
|     id: st7735_display_spi
 | |
|     cs_pin:
 | |
|       allow_other_uses: true
 | |
|       number: GPIO5
 | |
|     dc_pin:
 | |
|       allow_other_uses: true
 | |
|       number: GPIO16
 | |
|     reset_pin:
 | |
|       allow_other_uses: true
 | |
|       number: GPIO23
 | |
|     lambda: |-
 | |
|       it.rectangle(0, 0, it.get_width(), it.get_height());
 | |
|   - platform: st7735
 | |
|     id: st7735_display
 | |
|     model: INITR_BLACKTAB
 | |
|     cs_pin:
 | |
|       allow_other_uses: true
 | |
|       number: GPIO5
 | |
|     dc_pin:
 | |
|       allow_other_uses: true
 | |
|       number: GPIO16
 | |
|     reset_pin:
 | |
|       allow_other_uses: true
 | |
|       number: GPIO23
 | |
|     rotation: 0
 | |
|     device_width: 128
 | |
|     device_height: 160
 | |
|     col_start: 0
 | |
|     row_start: 0
 | |
|     lambda: |-
 | |
|       it.rectangle(0, 0, it.get_width(), it.get_height());
 | |
|   - platform: ili9xxx
 | |
|     invert_colors: true
 | |
|     dimensions: 320x240
 | |
|     transform:
 | |
|       swap_xy: true
 | |
|       mirror_x: true
 | |
|       mirror_y: false
 | |
|     model: TFT 2.4
 | |
|     cs_pin:
 | |
|       allow_other_uses: true
 | |
|       number: GPIO5
 | |
|     dc_pin:
 | |
|       allow_other_uses: true
 | |
|       number: GPIO4
 | |
|     color_palette: GRAYSCALE
 | |
|     reset_pin:
 | |
|       allow_other_uses: true
 | |
|       number: GPIO22
 | |
|     lambda: |-
 | |
|       it.rectangle(0, 0, it.get_width(), it.get_height());
 | |
|   - platform: ili9xxx
 | |
|     dimensions:
 | |
|       width: 320
 | |
|       height: 240
 | |
|       offset_width: 20
 | |
|       offset_height: 10
 | |
|     model: TFT 2.4
 | |
|     cs_pin:
 | |
|       allow_other_uses: true
 | |
|       number: GPIO5
 | |
|     dc_pin:
 | |
|       allow_other_uses: true
 | |
|       number: GPIO4
 | |
|     reset_pin:
 | |
|       allow_other_uses: true
 | |
|       number: GPIO22
 | |
|     auto_clear_enabled: false
 | |
|     rotation: 90
 | |
|     lambda: |-
 | |
|       if (!id(glob_bool_processed)) {
 | |
|         it.fill(Color::WHITE);
 | |
|         id(glob_bool_processed) = true;
 | |
|       }
 | |
|   - platform: pvvx_mithermometer
 | |
|     ble_client_id: ble_foo
 | |
|     time_id: sntp_time
 | |
|     disconnect_delay: 3s
 | |
|     update_interval: 10min
 | |
|     validity_period: 20min
 | |
|     lambda: |-
 | |
|       it.print_bignum(188.8);
 | |
|       it.print_unit(pvvx_mithermometer::UNIT_DEG_E);
 | |
|       it.print_smallnum(88);
 | |
|       it.print_percent(true);
 | |
|       it.print_happy(true);
 | |
|       it.print_sad(true);
 | |
|       it.print_bracket(true);
 | |
|       it.print_battery(true);
 | |
|   - platform: tm1621
 | |
|     id: tm1621_display
 | |
|     cs_pin:
 | |
|       allow_other_uses: true
 | |
|       number: GPIO17
 | |
|     data_pin:
 | |
|       allow_other_uses: true
 | |
|       number: GPIO5
 | |
|     read_pin:
 | |
|       allow_other_uses: true
 | |
|       number: GPIO23
 | |
|     write_pin:
 | |
|       allow_other_uses: true
 | |
|       number: GPIO18
 | |
|     lambda: |-
 | |
|       it.printf(0, "%.1f", id(dht_temperature).state);
 | |
|       it.display_celsius(true);
 | |
|       it.printf(1, "%.1f", id(dht_humidity).state);
 | |
|       it.display_humidity(true);
 | |
| 
 | |
| tm1651:
 | |
|   id: tm1651_battery
 | |
|   clk_pin:
 | |
|     allow_other_uses: true
 | |
|     number: GPIO23
 | |
|   dio_pin:
 | |
|     allow_other_uses: true
 | |
|     number: GPIO23
 | |
| 
 | |
| remote_receiver:
 | |
|   id: rcvr
 | |
|   pin:
 | |
|     allow_other_uses: true
 | |
|     number: GPIO32
 | |
|   dump: all
 | |
|   on_coolix:
 | |
|     then:
 | |
|       delay: !lambda "return x.first + x.second;"
 | |
|   on_rc_switch:
 | |
|     then:
 | |
|       delay: !lambda "return uint32_t(x.code) + x.protocol;"
 | |
| 
 | |
| status_led:
 | |
|   pin:
 | |
|     allow_other_uses: true
 | |
|     number: GPIO2
 | |
|     ignore_strapping_warning: true
 | |
| 
 | |
| pn532_spi:
 | |
|   id: pn532_bs
 | |
|   cs_pin:
 | |
|     allow_other_uses: true
 | |
|     number: GPIO23
 | |
|   update_interval: 1s
 | |
|   on_tag:
 | |
|     - lambda: |-
 | |
|         ESP_LOGD("main", "Found tag %s", x.c_str());
 | |
|     - mqtt.publish:
 | |
|         topic: the/topic
 | |
|         payload: !lambda "return x;"
 | |
|   on_tag_removed:
 | |
|     - lambda: |-
 | |
|         ESP_LOGD("main", "Removed tag %s", x.c_str());
 | |
|     - mqtt.publish:
 | |
|         topic: the/topic
 | |
|         payload: !lambda "return x;"
 | |
| 
 | |
| pn532_i2c:
 | |
|   i2c_id: i2c_bus
 | |
| 
 | |
| pn7150_i2c:
 | |
|   id: nfcc_pn7150_i2c
 | |
|   i2c_id: i2c_bus
 | |
|   irq_pin:
 | |
|     allow_other_uses: true
 | |
|     number: GPIO32
 | |
|   ven_pin:
 | |
|     allow_other_uses: true
 | |
|     number: GPIO16
 | |
| 
 | |
| pn7160_i2c:
 | |
|   id: nfcc_pn7160_i2c
 | |
|   i2c_id: i2c_bus
 | |
|   dwl_req_pin:
 | |
|     allow_other_uses: true
 | |
|     number: GPIO17
 | |
|   irq_pin:
 | |
|     allow_other_uses: true
 | |
|     number: GPIO35
 | |
|   ven_pin:
 | |
|     allow_other_uses: true
 | |
|     number: GPIO16
 | |
|   wkup_req_pin:
 | |
|     allow_other_uses: true
 | |
|     number: GPIO21
 | |
|   emulation_message: https://www.home-assistant.io/tag/pulse_ce
 | |
|   tag_ttl: 1000ms
 | |
| 
 | |
| pn7160_spi:
 | |
|   id: nfcc_pn7160_spi
 | |
|   cs_pin:
 | |
|     number: GPIO15
 | |
|   dwl_req_pin:
 | |
|     allow_other_uses: true
 | |
|     number: GPIO17
 | |
|   irq_pin:
 | |
|     allow_other_uses: true
 | |
|     number: GPIO35
 | |
|   ven_pin:
 | |
|     allow_other_uses: true
 | |
|     number: GPIO16
 | |
|   wkup_req_pin:
 | |
|     allow_other_uses: true
 | |
|     number: GPIO21
 | |
|   emulation_message: https://www.home-assistant.io/tag/pulse_ce
 | |
|   tag_ttl: 1000ms
 | |
| 
 | |
| rdm6300:
 | |
|   uart_id: uart_0
 | |
| 
 | |
| rc522_spi:
 | |
|   cs_pin:
 | |
|     allow_other_uses: true
 | |
|     number: GPIO23
 | |
|   update_interval: 1s
 | |
|   on_tag:
 | |
|     - lambda: |-
 | |
|         ESP_LOGD("main", "Found tag %s", x.c_str());
 | |
| 
 | |
| rc522_i2c:
 | |
|   - update_interval: 1s
 | |
|     on_tag:
 | |
|       - lambda: |-
 | |
|           ESP_LOGD("main", "Found tag %s", x.c_str());
 | |
|     i2c_id: i2c_bus
 | |
| 
 | |
|   - update_interval: 1s
 | |
|     on_tag:
 | |
|       - lambda: |-
 | |
|           ESP_LOGD("main", "Found tag %s", x.c_str());
 | |
|     i2c_id: i2c_bus
 | |
| 
 | |
| mcp4728:
 | |
|   - id: mcp4728_dac
 | |
|     store_in_eeprom: false
 | |
|     address: 0x60
 | |
|     i2c_id: i2c_bus
 | |
| 
 | |
| gps:
 | |
|   uart_id: uart_0
 | |
| 
 | |
| time:
 | |
|   - platform: sntp
 | |
|     id: sntp_time
 | |
|     servers:
 | |
|       - 0.pool.ntp.org
 | |
|       - 1.pool.ntp.org
 | |
|       - 192.168.178.1
 | |
|     on_time:
 | |
|       cron: "/30 0-30,30/5 * ? JAN-DEC MON,SAT-SUN,TUE-FRI"
 | |
|       then:
 | |
|         - lambda: 'ESP_LOGD("main", "time");'
 | |
|   - platform: gps
 | |
|     on_time_sync:
 | |
|       then:
 | |
|         ds1307.write_time:
 | |
|           id: ds1307_time
 | |
|   - platform: ds1307
 | |
|     id: ds1307_time
 | |
|     update_interval: never
 | |
|     i2c_id: i2c_bus
 | |
|     on_time:
 | |
|       - seconds: 0
 | |
|         then: ds1307.read_time
 | |
|       - at: "16:00:00"
 | |
|         then:
 | |
|           - if:
 | |
|               condition:
 | |
|                 or:
 | |
|                   - binary_sensor.is_on: close_sensor
 | |
|                   - binary_sensor.is_on: open_sensor
 | |
|               then:
 | |
|                 logger.log: "close_sensor or open_sensor is on"
 | |
|           - if:
 | |
|               condition:
 | |
|                 and:
 | |
|                   - binary_sensor.is_on: close_sensor
 | |
|                   - binary_sensor.is_on: open_sensor
 | |
|               then:
 | |
|                 logger.log: "close_sensor and open_sensor are both on"
 | |
|           - if:
 | |
|               condition:
 | |
|                 xor:
 | |
|                   - binary_sensor.is_on: close_sensor
 | |
|                   - binary_sensor.is_on: open_sensor
 | |
|               then:
 | |
|                 logger.log: "close_sensor or open_sensor is exclusively on"
 | |
|           - if:
 | |
|               condition:
 | |
|                 not:
 | |
|                   - binary_sensor.is_on: close_sensor
 | |
|               then:
 | |
|                 logger.log: "close_sensor is not on"
 | |
| cover:
 | |
|   - platform: template
 | |
|     name: Template Cover
 | |
|     id: template_cover
 | |
|     lambda: |-
 | |
|       if (id(binary_sensor1).state) {
 | |
|         return COVER_OPEN;
 | |
|       } else {
 | |
|         return {};
 | |
|       }
 | |
|     optimistic: true
 | |
|     open_action:
 | |
|       - cover.template.publish:
 | |
|           id: template_cover
 | |
|           state: CLOSED
 | |
|     assumed_state: false
 | |
|     has_position: true
 | |
|     position_state_topic: position/state/topic
 | |
|     position_command_topic: position/command/topic
 | |
|     tilt_lambda: !lambda "return 0.5;"
 | |
|     tilt_state_topic: tilt/state/topic
 | |
|     tilt_command_topic: tilt/command/topic
 | |
|     on_open:
 | |
|       then:
 | |
|         - lambda: 'ESP_LOGD("cover", "open");'
 | |
|     on_closed:
 | |
|       then:
 | |
|         - lambda: 'ESP_LOGD("cover", "closed");'
 | |
|   - platform: am43
 | |
|     name: Test AM43
 | |
|     id: am43_test
 | |
|     ble_client_id: ble_foo
 | |
|     icon: mdi:blinds
 | |
|   - platform: feedback
 | |
|     name: Feedback Cover
 | |
|     id: gate
 | |
|     device_class: gate
 | |
| 
 | |
|     infer_endstop_from_movement: false
 | |
|     has_built_in_endstop: false
 | |
|     max_duration: 30s
 | |
|     direction_change_wait_time: 300ms
 | |
|     acceleration_wait_time: 150ms
 | |
|     obstacle_rollback: 10%
 | |
| 
 | |
|     open_duration: 22.1s
 | |
|     open_endstop: open_endstop_sensor
 | |
|     open_sensor: open_sensor
 | |
|     open_obstacle_sensor: open_obstacle_sensor
 | |
| 
 | |
|     close_duration: 22.4s
 | |
|     close_endstop: close_endstop_sensor
 | |
|     close_sensor: close_sensor
 | |
|     close_obstacle_sensor: close_obstacle_sensor
 | |
| 
 | |
|     open_action:
 | |
|       - logger.log: Open Action
 | |
| 
 | |
|     close_action:
 | |
|       - logger.log: Close Action
 | |
| 
 | |
|     stop_action:
 | |
|       - logger.log: Stop Action
 | |
| 
 | |
| debug:
 | |
| 
 | |
| tca9548a:
 | |
|   - address: 0x70
 | |
|     id: multiplex0
 | |
|     channels:
 | |
|       - bus_id: multiplex0_chan0
 | |
|         channel: 0
 | |
|     i2c_id: i2c_bus
 | |
|   - address: 0x71
 | |
|     id: multiplex1
 | |
|     i2c_id: multiplex0_chan0
 | |
| 
 | |
| pcf8574:
 | |
|   - id: pcf8574_hub
 | |
|     address: 0x21
 | |
|     pcf8575: false
 | |
|     i2c_id: i2c_bus
 | |
| 
 | |
| pca9554:
 | |
|   - id: pca9554_hub
 | |
|     pin_count: 8
 | |
|     address: 0x3F
 | |
|     i2c_id: i2c_bus
 | |
| 
 | |
| pca6416a:
 | |
|   - id: pca6416a_hub
 | |
|     address: 0x21
 | |
|     i2c_id: i2c_bus
 | |
| 
 | |
| mcp23017:
 | |
|   - id: mcp23017_hub
 | |
|     open_drain_interrupt: true
 | |
|     i2c_id: i2c_bus
 | |
| 
 | |
| mcp23008:
 | |
|   - id: mcp23008_hub
 | |
|     address: 0x22
 | |
|     open_drain_interrupt: true
 | |
|     i2c_id: i2c_bus
 | |
| 
 | |
| mcp23016:
 | |
|   - id: mcp23016_hub
 | |
|     address: 0x23
 | |
|     i2c_id: i2c_bus
 | |
| 
 | |
| stepper:
 | |
|   - platform: a4988
 | |
|     id: my_stepper
 | |
|     step_pin:
 | |
|       allow_other_uses: true
 | |
|       number: GPIO23
 | |
|     dir_pin:
 | |
|       allow_other_uses: true
 | |
|       number: GPIO25
 | |
|     sleep_pin:
 | |
|       allow_other_uses: true
 | |
|       number: GPIO25
 | |
|     max_speed: 250 steps/s
 | |
|     acceleration: 100 steps/s^2
 | |
|     deceleration: 200 steps/s^2
 | |
| 
 | |
| globals:
 | |
|   - id: glob_int
 | |
|     type: int
 | |
|     restore_value: true
 | |
|     initial_value: "0"
 | |
|   - id: glob_float
 | |
|     type: float
 | |
|     restore_value: true
 | |
|     initial_value: "0.0f"
 | |
|   - id: glob_bool
 | |
|     type: bool
 | |
|     restore_value: false
 | |
|     initial_value: "true"
 | |
|   - id: glob_string
 | |
|     type: std::string
 | |
|     restore_value: false
 | |
|     # initial_value: ""
 | |
|   - id: glob_bool_processed
 | |
|     type: bool
 | |
|     restore_value: false
 | |
|     initial_value: "false"
 | |
| 
 | |
| text_sensor:
 | |
|   - platform: ble_client
 | |
|     ble_client_id: ble_foo
 | |
|     name: Sensor Location
 | |
|     service_uuid: "180d"
 | |
|     characteristic_uuid: "2a38"
 | |
|     descriptor_uuid: "2902"
 | |
|     notify: true
 | |
|     update_interval: never
 | |
|     on_notify:
 | |
|       then:
 | |
|         - lambda: |-
 | |
|             ESP_LOGD("green_btn", "Location changed: %s", x.c_str());
 | |
|   - platform: mqtt_subscribe
 | |
|     name: MQTT Subscribe Text
 | |
|     topic: "the/topic"
 | |
|     qos: 2
 | |
|     on_value:
 | |
|       - text_sensor.template.publish:
 | |
|           id: ${textname}_text
 | |
|           state: Hello World
 | |
|       - text_sensor.template.publish:
 | |
|           id: ${textname}_text
 | |
|           state: |-
 | |
|             return "Hello World2";
 | |
|       - globals.set:
 | |
|           id: glob_int
 | |
|           value: "0"
 | |
|       - canbus.send:
 | |
|           canbus_id: mcp2515_can
 | |
|           can_id: 23
 | |
|           data: [0x10, 0x20, 0x30]
 | |
|       - canbus.send:
 | |
|           canbus_id: mcp2515_can
 | |
|           can_id: 23
 | |
|           data: !lambda return {0x10, 0x20, 0x30};
 | |
|       - canbus.send:
 | |
|           canbus_id: esp32_internal_can
 | |
|           can_id: 23
 | |
|           data: [0x10, 0x20, 0x30]
 | |
|       - canbus.send:
 | |
|           canbus_id: mcp2515_can
 | |
|           can_id: 24
 | |
|           remote_transmission_request: true
 | |
|           data: []
 | |
|       - canbus.send:
 | |
|           canbus_id: esp32_internal_can
 | |
|           can_id: 24
 | |
|           remote_transmission_request: true
 | |
|           data: []
 | |
|   - platform: template
 | |
|     name: Template Text Sensor
 | |
|     id: ${textname}_text
 | |
|   - platform: wifi_info
 | |
|     scan_results:
 | |
|       name: Scan Results
 | |
|     ip_address:
 | |
|       name: IP Address
 | |
|     ssid:
 | |
|       name: SSID
 | |
|     bssid:
 | |
|       name: BSSID
 | |
|     mac_address:
 | |
|       name: Mac Address
 | |
|     dns_address:
 | |
|       name: DNS ADdress
 | |
|   - platform: version
 | |
|     name: ESPHome Version No Timestamp
 | |
|     hide_timestamp: true
 | |
|   - platform: teleinfo
 | |
|     tag_name: OPTARIF
 | |
|     name: optarif
 | |
|     teleinfo_id: myteleinfo
 | |
|   - platform: ld2410
 | |
|     version:
 | |
|       name: "presenece sensor version"
 | |
|     mac_address:
 | |
|       name: "presenece sensor mac address"
 | |
| 
 | |
| sn74hc595:
 | |
|   - id: sn74hc595_hub
 | |
|     data_pin:
 | |
|       allow_other_uses: true
 | |
|       number: GPIO21
 | |
|     clock_pin:
 | |
|       allow_other_uses: true
 | |
|       number: GPIO23
 | |
|     latch_pin:
 | |
|       allow_other_uses: true
 | |
|       number: GPIO22
 | |
|     oe_pin:
 | |
|       allow_other_uses: true
 | |
|       number: GPIO32
 | |
|     sr_count: 2
 | |
|   - id: sn74hc595_hub_2
 | |
|     latch_pin:
 | |
|       allow_other_uses: true
 | |
|       number: GPIO22
 | |
|     oe_pin:
 | |
|       allow_other_uses: true
 | |
|       number: GPIO32
 | |
|     sr_count: 2
 | |
|     spi_id: spi_bus
 | |
| 
 | |
| rtttl:
 | |
|   output: gpio_19
 | |
| 
 | |
| canbus:
 | |
|   - platform: mcp2515
 | |
|     id: mcp2515_can
 | |
|     cs_pin:
 | |
|       pca9554: pca9554_hub
 | |
|       number: 7
 | |
|       mode:
 | |
|         output: true
 | |
|       inverted: true
 | |
|     can_id: 4
 | |
|     bit_rate: 50kbps
 | |
|     on_frame:
 | |
|       - can_id: 500
 | |
|         then:
 | |
|           - lambda: |-
 | |
|               std::string b(x.begin(), x.end());
 | |
|               ESP_LOGD("canid 500", "%s", b.c_str());
 | |
|       - can_id: 23
 | |
|         then:
 | |
|           - if:
 | |
|               condition:
 | |
|                 lambda: "return x[0] == 0x11;"
 | |
|               then:
 | |
|                 light.toggle: ${roomname}_lights
 | |
|       - can_id: 0b00000000000000000000001000000
 | |
|         can_id_mask: 0b11111000000000011111111000000
 | |
|         use_extended_id: true
 | |
|         then:
 | |
|           - lambda: |-
 | |
|               auto pdo_id = can_id >> 14;
 | |
|               switch (pdo_id)
 | |
|               {
 | |
|                 case 117:
 | |
|                   ESP_LOGD("canbus", "exhaust_fan_duty");
 | |
|                   break;
 | |
|                 case 118:
 | |
|                   ESP_LOGD("canbus", "supply_fan_duty");
 | |
|                   break;
 | |
|                 case 119:
 | |
|                   ESP_LOGD("canbus", "supply_fan_flow");
 | |
|                   break;
 | |
|                 // to be continued...
 | |
|               }
 | |
|   - platform: esp32_can
 | |
|     id: esp32_internal_can
 | |
|     rx_pin:
 | |
|       allow_other_uses: true
 | |
|       number: GPIO04
 | |
|     tx_pin:
 | |
|       allow_other_uses: true
 | |
|       number: GPIO05
 | |
|     can_id: 4
 | |
|     bit_rate: 50kbps
 | |
|     on_frame:
 | |
|       - can_id: 500
 | |
|         then:
 | |
|           - lambda: |-
 | |
|               std::string b(x.begin(), x.end());
 | |
|               ESP_LOGD("canid 500", "%s", b.c_str() );
 | |
|       - can_id: 23
 | |
|         then:
 | |
|           - if:
 | |
|               condition:
 | |
|                 lambda: "return x[0] == 0x11;"
 | |
|               then:
 | |
|                 light.toggle: ${roomname}_lights
 | |
|       - can_id: 0b00000000000000000000001000000
 | |
|         can_id_mask: 0b11111000000000011111111000000
 | |
|         use_extended_id: true
 | |
|         then:
 | |
|           - lambda: |-
 | |
|               auto pdo_id = can_id >> 14;
 | |
|               switch (pdo_id)
 | |
|               {
 | |
|                 case 117:
 | |
|                   ESP_LOGD("canbus", "exhaust_fan_duty");
 | |
|                   break;
 | |
|                 case 118:
 | |
|                   ESP_LOGD("canbus", "supply_fan_duty");
 | |
|                   break;
 | |
|                 case 119:
 | |
|                   ESP_LOGD("canbus", "supply_fan_flow");
 | |
|                   break;
 | |
|                 // to be continued...
 | |
|               }
 | |
| 
 | |
| teleinfo:
 | |
|   id: myteleinfo
 | |
|   uart_id: uart_0
 | |
|   update_interval: 60s
 | |
|   historical_mode: true
 | |
| 
 | |
| number:
 | |
|   - platform: template
 | |
|     id: test_number
 | |
|     state_topic: livingroom/custom_state_topic
 | |
|     command_topic: livingroom/custom_command_topic
 | |
|     min_value: 0
 | |
|     step: 1
 | |
|     max_value: 10
 | |
|     optimistic: true
 | |
|   - platform: ld2410
 | |
|     light_threshold:
 | |
|       name: light threshold
 | |
|     timeout:
 | |
|       name: timeout
 | |
|     max_move_distance_gate:
 | |
|       name: max move distance gate
 | |
|     max_still_distance_gate:
 | |
|       name: max still distance gate
 | |
|     g0:
 | |
|       move_threshold:
 | |
|         name: g0 move threshold
 | |
|       still_threshold:
 | |
|         name: g0 still threshold
 | |
|     g1:
 | |
|       move_threshold:
 | |
|         name: g1 move threshold
 | |
|       still_threshold:
 | |
|         name: g1 still threshold
 | |
|     g2:
 | |
|       move_threshold:
 | |
|         name: g2 move threshold
 | |
|       still_threshold:
 | |
|         name: g2 still threshold
 | |
|     g3:
 | |
|       move_threshold:
 | |
|         name: g3 move threshold
 | |
|       still_threshold:
 | |
|         name: g3 still threshold
 | |
|     g4:
 | |
|       move_threshold:
 | |
|         name: g4 move threshold
 | |
|       still_threshold:
 | |
|         name: g4 still threshold
 | |
|     g5:
 | |
|       move_threshold:
 | |
|         name: g5 move threshold
 | |
|       still_threshold:
 | |
|         name: g5 still threshold
 | |
|     g6:
 | |
|       move_threshold:
 | |
|         name: g6 move threshold
 | |
|       still_threshold:
 | |
|         name: g6 still threshold
 | |
|     g7:
 | |
|       move_threshold:
 | |
|         name: g7 move threshold
 | |
|       still_threshold:
 | |
|         name: g7 still threshold
 | |
|     g8:
 | |
|       move_threshold:
 | |
|         name: g8 move threshold
 | |
|       still_threshold:
 | |
|         name: g8 still threshold
 | |
|   - platform: micronova
 | |
|     thermostat_temperature:
 | |
|       name: Micronova Thermostaat
 | |
|       step: 1
 | |
|     power_level:
 | |
|       name: Micronova Power level
 | |
| 
 | |
| select:
 | |
|   - platform: template
 | |
|     id: test_select
 | |
|     state_topic: livingroom/custom_state_topic
 | |
|     command_topic: livingroom/custom_command_topic
 | |
|     options:
 | |
|       - one
 | |
|       - two
 | |
|     optimistic: true
 | |
|   - platform: copy
 | |
|     source_id: test_select
 | |
|     name: Test Select Copy
 | |
|   - platform: ld2410
 | |
|     distance_resolution:
 | |
|       name: distance resolution
 | |
|     baud_rate:
 | |
|       name: baud rate
 | |
|     light_function:
 | |
|       name: light function
 | |
|     out_pin_level:
 | |
|       name: out ping level
 | |
| 
 | |
| qr_code:
 | |
|   - id: homepage_qr
 | |
|     value: https://esphome.io/index.html
 | |
| 
 | |
| lock:
 | |
|   - platform: template
 | |
|     id: test_lock1
 | |
|     name: Template Switch
 | |
|     lambda: |-
 | |
|       if (id(binary_sensor1).state) {
 | |
|         return LOCK_STATE_LOCKED;
 | |
|       }else{
 | |
|         return LOCK_STATE_UNLOCKED;
 | |
|       }
 | |
|     optimistic: true
 | |
|     assumed_state: false
 | |
|     on_unlock:
 | |
|       - lock.template.publish:
 | |
|           id: test_lock1
 | |
|           state: !lambda "return LOCK_STATE_UNLOCKED;"
 | |
|     on_lock:
 | |
|       - lock.template.publish:
 | |
|           id: test_lock1
 | |
|           state: !lambda "return LOCK_STATE_LOCKED;"
 | |
|   - platform: output
 | |
|     name: Generic Output Lock
 | |
|     id: test_lock2
 | |
|     output: pca_6
 | |
|   - platform: copy
 | |
|     source_id: test_lock2
 | |
|     name: Generic Output Lock Copy
 | |
| 
 | |
| button:
 | |
|   - platform: template
 | |
|     name: Start calibration
 | |
|     on_press:
 | |
|       - scd4x.perform_forced_calibration:
 | |
|           value: 419
 | |
|           id: scd40
 | |
|       - scd4x.factory_reset:
 | |
|           id: scd40
 | |
|   - platform: template
 | |
|     name: Midea Display Toggle
 | |
|     on_press:
 | |
|       midea_ac.display_toggle:
 | |
|   - platform: template
 | |
|     name: Midea Swing Step
 | |
|     on_press:
 | |
|       midea_ac.swing_step:
 | |
|   - platform: template
 | |
|     name: Midea Power On
 | |
|     on_press:
 | |
|       midea_ac.power_on:
 | |
|   - platform: template
 | |
|     name: Midea Power Off
 | |
|     on_press:
 | |
|       midea_ac.power_off:
 | |
|   - platform: template
 | |
|     name: Midea Power Inverse
 | |
|     on_press:
 | |
|       midea_ac.power_toggle:
 | |
|   - platform: template
 | |
|     name: Update Mmwave Sensor Settings
 | |
|     on_press:
 | |
|       - dfrobot_sen0395.settings:
 | |
|           id: mmwave
 | |
|           factory_reset: true
 | |
|           detection_segments:
 | |
|             - [0cm, 5m]
 | |
|             - 600cm
 | |
|             - !lambda |-
 | |
|               return 7;
 | |
|           output_latency:
 | |
|             delay_after_detect: 0s
 | |
|             delay_after_disappear: 0s
 | |
|           sensitivity: 6
 | |
|   - platform: template
 | |
|     name: Reset Mmwave Sensor
 | |
|     on_press:
 | |
|       - dfrobot_sen0395.reset:
 | |
|   - platform: template
 | |
|     name: Poller component suspend test
 | |
|     on_press:
 | |
|       - component.suspend: myteleinfo
 | |
|       - delay: 20s
 | |
|       - component.update: myteleinfo
 | |
|       - delay: 20s
 | |
|       - component.resume: myteleinfo
 | |
|       - delay: 20s
 | |
|       - component.resume:
 | |
|           id: myteleinfo
 | |
|           update_interval: 2s
 | |
|       - delay: 20s
 | |
|       - component.resume:
 | |
|           id: myteleinfo
 | |
|           update_interval: !lambda return 2500;
 | |
|   - platform: ld2410
 | |
|     factory_reset:
 | |
|       name: "factory reset"
 | |
|     restart:
 | |
|       name: "restart"
 | |
|     query_params:
 | |
|       name: query params
 | |
|   - platform: uart
 | |
|     uart_id: uart_0
 | |
|     name: UART button
 | |
|     data: "Pressed\r\n"
 | |
|   - platform: micronova
 | |
|     custom_button:
 | |
|       name: Custom Micronova Button
 | |
|       memory_location: 0xA0
 | |
|       memory_address: 0x7D
 | |
|       memory_data: 0x0F
 | |
| 
 | |
| ld2410:
 | |
|   id: my_ld2410
 | |
|   uart_id: ld2410_uart
 | |
| 
 | |
| ld2420:
 | |
|   id: my_ld2420
 | |
|   uart_id: ld2420_uart
 | |
| 
 | |
| lcd_menu:
 | |
|   id: test_lcd_menu
 | |
|   display_id: my_lcd_gpio
 | |
|   mark_back: 0x5e
 | |
|   mark_selected: 0x3e
 | |
|   mark_editing: 0x2a
 | |
|   mark_submenu: 0x7e
 | |
|   active: false
 | |
|   mode: rotary
 | |
|   on_enter:
 | |
|     then:
 | |
|       lambda: 'ESP_LOGI("lcd_menu", "root enter");'
 | |
|   on_leave:
 | |
|     then:
 | |
|       lambda: 'ESP_LOGI("lcd_menu", "root leave");'
 | |
|   items:
 | |
|     - type: back
 | |
|       text: Back
 | |
|     - type: label
 | |
|     - type: menu
 | |
|       text: Submenu 1
 | |
|       items:
 | |
|         - type: back
 | |
|           text: Back
 | |
|         - type: menu
 | |
|           text: Submenu 21
 | |
|           items:
 | |
|             - type: back
 | |
|               text: Back
 | |
|             - type: command
 | |
|               text: Show Main
 | |
|               on_value:
 | |
|                 then:
 | |
|                   - display_menu.show_main: test_lcd_menu
 | |
|     - type: select
 | |
|       text: Enum Item
 | |
|       immediate_edit: true
 | |
|       select: test_select
 | |
|       on_enter:
 | |
|         then:
 | |
|           lambda: 'ESP_LOGI("lcd_menu", "select enter: %s, %s", it->get_text().c_str(), it->get_value_text().c_str());'
 | |
|       on_leave:
 | |
|         then:
 | |
|           lambda: 'ESP_LOGI("lcd_menu", "select leave: %s, %s", it->get_text().c_str(), it->get_value_text().c_str());'
 | |
|       on_value:
 | |
|         then:
 | |
|           lambda: 'ESP_LOGI("lcd_menu", "select value: %s, %s", it->get_text().c_str(), it->get_value_text().c_str());'
 | |
|     - type: number
 | |
|       text: Number
 | |
|       number: test_number
 | |
|       on_enter:
 | |
|         then:
 | |
|           lambda: 'ESP_LOGI("lcd_menu", "number enter: %s, %s", it->get_text().c_str(), it->get_value_text().c_str());'
 | |
|       on_leave:
 | |
|         then:
 | |
|           lambda: 'ESP_LOGI("lcd_menu", "number leave: %s, %s", it->get_text().c_str(), it->get_value_text().c_str());'
 | |
|       on_value:
 | |
|         then:
 | |
|           lambda: 'ESP_LOGI("lcd_menu", "number value: %s, %s", it->get_text().c_str(), it->get_value_text().c_str());'
 | |
|     - type: command
 | |
|       text: Hide
 | |
|       on_value:
 | |
|         then:
 | |
|           - display_menu.hide: test_lcd_menu
 | |
|     - type: switch
 | |
|       text: Switch
 | |
|       switch: my_switch
 | |
|       on_text: Bright
 | |
|       off_text: Dark
 | |
|       immediate_edit: false
 | |
|       on_value:
 | |
|         then:
 | |
|           lambda: 'ESP_LOGI("lcd_menu", "switch value: %s", it->get_value_text().c_str());'
 | |
|     - type: custom
 | |
|       text: !lambda 'return "Custom";'
 | |
|       value_lambda: 'return "Val";'
 | |
|       on_next:
 | |
|         then:
 | |
|           lambda: 'ESP_LOGI("lcd_menu", "custom next: %s", it->get_text().c_str());'
 | |
|       on_prev:
 | |
|         then:
 | |
|           lambda: 'ESP_LOGI("lcd_menu", "custom prev: %s", it->get_text().c_str());'
 | |
| 
 | |
| font:
 | |
|   - file: "gfonts://Roboto"
 | |
|     id: roboto
 | |
|     size: 20
 | |
| 
 | |
| graphical_display_menu:
 | |
|   id: test_graphical_display_menu
 | |
|   display: st7735_display
 | |
|   font: roboto
 | |
|   active: false
 | |
|   mode: rotary
 | |
|   on_enter:
 | |
|     then:
 | |
|       lambda: 'ESP_LOGI("graphical_display_menu", "root enter");'
 | |
|   on_leave:
 | |
|     then:
 | |
|       lambda: 'ESP_LOGI("graphical_display_menu", "root leave");'
 | |
|   items:
 | |
|     - type: back
 | |
|       text: "Back"
 | |
|     - type: label
 | |
|     - type: menu
 | |
|       text: "Submenu 1"
 | |
|       items:
 | |
|         - type: back
 | |
|           text: "Back"
 | |
|         - type: menu
 | |
|           text: "Submenu 21"
 | |
|           items:
 | |
|             - type: back
 | |
|               text: "Back"
 | |
|             - type: command
 | |
|               text: "Show Main"
 | |
|               on_value:
 | |
|                 then:
 | |
|                   - display_menu.show_main: test_graphical_display_menu
 | |
|     - type: select
 | |
|       text: "Enum Item"
 | |
|       immediate_edit: true
 | |
|       select: test_select
 | |
|       on_enter:
 | |
|         then:
 | |
|           lambda: 'ESP_LOGI("graphical_display_menu", "select enter: %s, %s", it->get_text().c_str(), it->get_value_text().c_str());'
 | |
|       on_leave:
 | |
|         then:
 | |
|           lambda: 'ESP_LOGI("graphical_display_menu", "select leave: %s, %s", it->get_text().c_str(), it->get_value_text().c_str());'
 | |
|       on_value:
 | |
|         then:
 | |
|           lambda: 'ESP_LOGI("graphical_display_menu", "select value: %s, %s", it->get_text().c_str(), it->get_value_text().c_str());'
 | |
|     - type: number
 | |
|       text: "Number"
 | |
|       number: test_number
 | |
|       on_enter:
 | |
|         then:
 | |
|           lambda: 'ESP_LOGI("graphical_display_menu", "number enter: %s, %s", it->get_text().c_str(), it->get_value_text().c_str());'
 | |
|       on_leave:
 | |
|         then:
 | |
|           lambda: 'ESP_LOGI("graphical_display_menu", "number leave: %s, %s", it->get_text().c_str(), it->get_value_text().c_str());'
 | |
|       on_value:
 | |
|         then:
 | |
|           lambda: 'ESP_LOGI("graphical_display_menu", "number value: %s, %s", it->get_text().c_str(), it->get_value_text().c_str());'
 | |
|     - type: command
 | |
|       text: "Hide"
 | |
|       on_value:
 | |
|         then:
 | |
|           - display_menu.hide: test_graphical_display_menu
 | |
|     - type: switch
 | |
|       text: "Switch"
 | |
|       switch: my_switch
 | |
|       on_text: "Bright"
 | |
|       off_text: "Dark"
 | |
|       immediate_edit: false
 | |
|       on_value:
 | |
|         then:
 | |
|           lambda: 'ESP_LOGI("graphical_display_menu", "switch value: %s", it->get_value_text().c_str());'
 | |
|     - type: custom
 | |
|       text: !lambda 'return "Custom";'
 | |
|       value_lambda: 'return "Val";'
 | |
|       on_next:
 | |
|         then:
 | |
|           lambda: 'ESP_LOGI("graphical_display_menu", "custom next: %s", it->get_text().c_str());'
 | |
|       on_prev:
 | |
|         then:
 | |
|           lambda: 'ESP_LOGI("graphical_display_menu", "custom prev: %s", it->get_text().c_str());'
 | |
| 
 | |
| alarm_control_panel:
 | |
|   - platform: template
 | |
|     id: alarmcontrolpanel1
 | |
|     name: Alarm Panel
 | |
|     codes:
 | |
|       - "1234"
 | |
|     requires_code_to_arm: true
 | |
|     arming_home_time: 1s
 | |
|     arming_away_time: 15s
 | |
|     pending_time: 15s
 | |
|     trigger_time: 30s
 | |
|     binary_sensors:
 | |
|       - binary_sensor1
 | |
|     on_state:
 | |
|       then:
 | |
|         - lambda: !lambda |-
 | |
|             ESP_LOGD("TEST", "State change %s", alarm_control_panel_state_to_string(id(alarmcontrolpanel1)->get_state()));
 |