mirror of
				https://github.com/esphome/esphome.git
				synced 2025-10-30 22:53:59 +00:00 
			
		
		
		
	
		
			
				
	
	
		
			1257 lines
		
	
	
		
			28 KiB
		
	
	
	
		
			YAML
		
	
	
	
	
	
			
		
		
	
	
			1257 lines
		
	
	
		
			28 KiB
		
	
	
	
		
			YAML
		
	
	
	
	
	
| esphome:
 | |
|   name: $device_name
 | |
|   comment: $device_comment
 | |
|   platform: ESP8266
 | |
|   board: d1_mini
 | |
|   build_path: build/test3
 | |
|   on_boot:
 | |
|     - wait_until:
 | |
|         - api.connected
 | |
|         - wifi.connected
 | |
|         - time.has_time
 | |
|   includes:
 | |
|     - custom.h
 | |
| 
 | |
| substitutions:
 | |
|   device_name: test3
 | |
|   device_comment: test3 device
 | |
|   min_sub: '0.03'
 | |
|   max_sub: '12.0%'
 | |
| 
 | |
| api:
 | |
|   port: 8000
 | |
|   password: 'pwd'
 | |
|   reboot_timeout: 0min
 | |
|   services:
 | |
|     - service: hello_world
 | |
|       variables:
 | |
|         name: string
 | |
|       then:
 | |
|         - logger.log:
 | |
|             format: 'Hello World %s!'
 | |
|             args:
 | |
|               - name.c_str()
 | |
|     - service: empty_service
 | |
|       then:
 | |
|         - logger.log: 'Service Called'
 | |
|     - service: all_types
 | |
|       variables:
 | |
|         bool_: bool
 | |
|         int_: int
 | |
|         float_: float
 | |
|         string_: string
 | |
|       then:
 | |
|         - logger.log: 'Something happened'
 | |
|         - stepper.set_target:
 | |
|             id: my_stepper2
 | |
|             target: !lambda 'return int_;'
 | |
|     - service: array_types
 | |
|       variables:
 | |
|         bool_arr: bool[]
 | |
|         int_arr: int[]
 | |
|         float_arr: float[]
 | |
|         string_arr: string[]
 | |
|       then:
 | |
|         - logger.log:
 | |
|             format: 'Bool: %s (%u), Int: %d (%u), Float: %f (%u), String: %s (%u)'
 | |
|             args:
 | |
|               - YESNO(bool_arr[0])
 | |
|               - bool_arr.size()
 | |
|               - int_arr[0]
 | |
|               - int_arr.size()
 | |
|               - float_arr[0]
 | |
|               - float_arr.size()
 | |
|               - string_arr[0].c_str()
 | |
|               - string_arr.size()
 | |
|     - service: dfplayer_next
 | |
|       then:
 | |
|         - dfplayer.play_next:
 | |
|     - service: dfplayer_previous
 | |
|       then:
 | |
|         - dfplayer.play_previous:
 | |
|     - service: dfplayer_play
 | |
|       variables:
 | |
|         file: int
 | |
|       then:
 | |
|         - dfplayer.play: !lambda 'return file;'
 | |
|     - service: dfplayer_play_loop
 | |
|       variables:
 | |
|         file: int
 | |
|         loop_: bool
 | |
|       then:
 | |
|         - dfplayer.play:
 | |
|             file: !lambda 'return file;'
 | |
|             loop: !lambda 'return loop_;'
 | |
|     - service: dfplayer_play_folder
 | |
|       variables:
 | |
|         folder: int
 | |
|         file: int
 | |
|       then:
 | |
|         - dfplayer.play_folder:
 | |
|             folder: !lambda 'return folder;'
 | |
|             file: !lambda 'return file;'
 | |
| 
 | |
|     - service: dfplayer_play_loo_folder
 | |
|       variables:
 | |
|         folder: int
 | |
|       then:
 | |
|         - dfplayer.play_folder:
 | |
|             folder: !lambda 'return folder;'
 | |
|             loop: True
 | |
| 
 | |
|     - service: dfplayer_set_device
 | |
|       variables:
 | |
|         device: int
 | |
|       then:
 | |
|         - dfplayer.set_device:
 | |
|             device: TF_CARD
 | |
| 
 | |
|     - service: dfplayer_set_volume
 | |
|       variables:
 | |
|         volume: int
 | |
|       then:
 | |
|         - dfplayer.set_volume: !lambda 'return volume;'
 | |
|     - service: dfplayer_set_eq
 | |
|       variables:
 | |
|         preset: int
 | |
|       then:
 | |
|         - dfplayer.set_eq: !lambda 'return static_cast<dfplayer::EqPreset>(preset);'
 | |
| 
 | |
|     - service: dfplayer_sleep
 | |
|       then:
 | |
|         - dfplayer.sleep
 | |
| 
 | |
|     - service: dfplayer_reset
 | |
|       then:
 | |
|         - dfplayer.reset
 | |
| 
 | |
|     - service: dfplayer_start
 | |
|       then:
 | |
|         - dfplayer.start
 | |
| 
 | |
|     - service: dfplayer_pause
 | |
|       then:
 | |
|         - dfplayer.pause
 | |
| 
 | |
|     - service: dfplayer_stop
 | |
|       then:
 | |
|         - dfplayer.stop
 | |
| 
 | |
|     - service: dfplayer_random
 | |
|       then:
 | |
|         - dfplayer.random
 | |
| 
 | |
|     - service: dfplayer_volume_up
 | |
|       then:
 | |
|         - dfplayer.volume_up
 | |
| 
 | |
|     - service: dfplayer_volume_down
 | |
|       then:
 | |
|         - dfplayer.volume_down
 | |
| 
 | |
|     - service: battery_level_percent
 | |
|       variables:
 | |
|         level_percent: int
 | |
|       then:
 | |
|         - tm1651.set_level_percent:
 | |
|             id: tm1651_battery
 | |
|             level_percent: !lambda 'return level_percent;'
 | |
|     - service: battery_level
 | |
|       variables:
 | |
|         level: int
 | |
|       then:
 | |
|         - tm1651.set_level:
 | |
|             id: tm1651_battery
 | |
|             level: !lambda 'return level;'
 | |
|     - service: battery_brightness
 | |
|       variables:
 | |
|         brightness: int
 | |
|       then:
 | |
|         - tm1651.set_brightness:
 | |
|             id: tm1651_battery
 | |
|             brightness: !lambda 'return brightness;'
 | |
|     - service: battery_turn_on
 | |
|       then:
 | |
|         - tm1651.turn_on:
 | |
|             id: tm1651_battery
 | |
|     - service: battery_turn_on
 | |
|       then:
 | |
|         - tm1651.turn_off:
 | |
|             id: tm1651_battery
 | |
|     - service: pid_set_control_parameters
 | |
|       then:
 | |
|         - climate.pid.set_control_parameters:
 | |
|             id: pid_climate
 | |
|             kp: 1.0
 | |
|             kd: 1.0
 | |
|             ki: 1.0
 | |
|     - service: fingerprint_grow_enroll
 | |
|       variables:
 | |
|         finger_id: int
 | |
|         num_scans: int
 | |
|       then:
 | |
|         - fingerprint_grow.enroll:
 | |
|             finger_id: !lambda 'return finger_id;'
 | |
|             num_scans: !lambda 'return num_scans;'
 | |
|     - service: fingerprint_grow_cancel_enroll
 | |
|       then:
 | |
|         - fingerprint_grow.cancel_enroll:
 | |
|     - service: fingerprint_grow_delete
 | |
|       variables:
 | |
|         finger_id: int
 | |
|       then:
 | |
|         - fingerprint_grow.delete:
 | |
|             finger_id: !lambda 'return finger_id;'
 | |
|     - service: fingerprint_grow_delete_all
 | |
|       then:
 | |
|         - fingerprint_grow.delete_all:
 | |
| 
 | |
| wifi:
 | |
|   ssid: 'MySSID'
 | |
|   password: 'password1'
 | |
| 
 | |
| i2c:
 | |
|   sda: 4
 | |
|   scl: 5
 | |
|   scan: False
 | |
| 
 | |
| spi:
 | |
|   clk_pin: GPIO12
 | |
|   mosi_pin: GPIO13
 | |
|   miso_pin: GPIO14
 | |
| 
 | |
| uart:
 | |
|   - id: uart1
 | |
|     tx_pin: GPIO1
 | |
|     rx_pin: GPIO3
 | |
|     baud_rate: 115200
 | |
|   - id: uart2
 | |
|     tx_pin: GPIO4
 | |
|     rx_pin: GPIO5
 | |
|     baud_rate: 9600
 | |
|   - id: uart3
 | |
|     tx_pin: GPIO4
 | |
|     rx_pin: GPIO5
 | |
|     baud_rate: 4800
 | |
|   - id: uart4
 | |
|     tx_pin: GPIO4
 | |
|     rx_pin: GPIO5
 | |
|     baud_rate: 9600
 | |
|   - id: uart5
 | |
|     tx_pin: GPIO4
 | |
|     rx_pin: GPIO5
 | |
|     baud_rate: 9600
 | |
|   - id: uart6
 | |
|     tx_pin: GPIO4
 | |
|     rx_pin: GPIO5
 | |
|     baud_rate: 9600
 | |
| 
 | |
| modbus:
 | |
|   uart_id: uart1
 | |
| 
 | |
| ota:
 | |
|   safe_mode: True
 | |
|   port: 3286
 | |
|   reboot_timeout: 15min
 | |
| 
 | |
| logger:
 | |
|   hardware_uart: UART1
 | |
|   level: DEBUG
 | |
|   esp8266_store_log_strings_in_flash: false
 | |
| 
 | |
| web_server:
 | |
| 
 | |
| deep_sleep:
 | |
|   run_duration: 20s
 | |
|   sleep_duration: 50s
 | |
| 
 | |
| wled:
 | |
| 
 | |
| adalight:
 | |
| 
 | |
| 
 | |
| sensor:
 | |
|   - platform: apds9960
 | |
|     type: proximity
 | |
|     name: APDS9960 Proximity
 | |
|   - platform: vl53l0x
 | |
|     name: 'VL53L0x Distance'
 | |
|     address: 0x29
 | |
|     update_interval: 60s
 | |
|     enable_pin: GPIO13
 | |
|     timeout: 200us
 | |
|   - platform: apds9960
 | |
|     type: clear
 | |
|     name: APDS9960 Clear
 | |
|   - platform: apds9960
 | |
|     type: red
 | |
|     name: APDS9960 Red
 | |
|   - platform: apds9960
 | |
|     type: green
 | |
|     name: APDS9960 Green
 | |
|   - platform: apds9960
 | |
|     type: blue
 | |
|     name: APDS9960 Blue
 | |
|   - platform: homeassistant
 | |
|     entity_id: sensor.hello_world
 | |
|     id: ha_hello_world
 | |
|   - platform: aht10
 | |
|     temperature:
 | |
|       name: 'Temperature'
 | |
|     humidity:
 | |
|       name: 'Humidity'
 | |
|   - platform: am2320
 | |
|     temperature:
 | |
|       name: 'Temperature'
 | |
|     humidity:
 | |
|       name: 'Humidity'
 | |
|   - platform: adc
 | |
|     pin: VCC
 | |
|     id: my_sensor
 | |
|     filters:
 | |
|       - offset: 5.0
 | |
|       - multiply: 2.0
 | |
|       - filter_out: NAN
 | |
|       - sliding_window_moving_average:
 | |
|       - exponential_moving_average:
 | |
|       - lambda: 'return 0;'
 | |
|       - delta: 100
 | |
|       - throttle: 100ms
 | |
|       - debounce: 500s
 | |
|       - calibrate_linear:
 | |
|           - 0 -> 0
 | |
|           - 100 -> 100
 | |
|       - calibrate_polynomial:
 | |
|           degree: 3
 | |
|           datapoints:
 | |
|             - 0 -> 0
 | |
|             - 100 -> 200
 | |
|             - 400 -> 500
 | |
|             - -50 -> -1000
 | |
|             - -100 -> -10000
 | |
|   - platform: resistance
 | |
|     sensor: my_sensor
 | |
|     configuration: DOWNSTREAM
 | |
|     resistor: 10kΩ
 | |
|     reference_voltage: 3.3V
 | |
|     name: Resistance
 | |
|     id: resist
 | |
|   - platform: ntc
 | |
|     sensor: resist
 | |
|     name: NTC Sensor
 | |
|     calibration:
 | |
|       b_constant: 3950
 | |
|       reference_resistance: 10k
 | |
|       reference_temperature: 25°C
 | |
|   - platform: ntc
 | |
|     sensor: resist
 | |
|     name: NTC Sensor2
 | |
|     calibration:
 | |
|       - 10.0kOhm -> 25°C
 | |
|       - 27.219kOhm -> 0°C
 | |
|       - 14.674kOhm -> 15°C
 | |
|   - platform: ct_clamp
 | |
|     sensor: my_sensor
 | |
|     name: CT Clamp
 | |
|     sample_duration: 500ms
 | |
|     update_interval: 5s
 | |
| 
 | |
|   - platform: tcs34725
 | |
|     red_channel:
 | |
|       name: Red Channel
 | |
|     green_channel:
 | |
|       name: Green Channel
 | |
|     blue_channel:
 | |
|       name: Blue Channel
 | |
|     clear_channel:
 | |
|       name: Clear Channel
 | |
|     illuminance:
 | |
|       name: Illuminance
 | |
|     color_temperature:
 | |
|       name: Color Temperature
 | |
|     integration_time: 700ms
 | |
|     gain: 60x
 | |
|   - platform: custom
 | |
|     lambda: |-
 | |
|       auto s = new CustomSensor();
 | |
|       App.register_component(s);
 | |
|       return {s};
 | |
|     sensors:
 | |
|       - id: custom_sensor
 | |
|         name: Custom Sensor
 | |
|   - platform: binary_sensor_map
 | |
|     name: Binary Sensor Map
 | |
|     type: group
 | |
|     channels:
 | |
|       - binary_sensor: bin1
 | |
|         value: 10.0
 | |
|       - binary_sensor: bin2
 | |
|         value: 15.0
 | |
|       - binary_sensor: bin3
 | |
|         value: 100.0
 | |
|   - platform: ade7953
 | |
|     irq_pin: GPIO16
 | |
|     voltage:
 | |
|       name: ADE7953 Voltage
 | |
|     current_a:
 | |
|       name: ADE7953 Current A
 | |
|     current_b:
 | |
|       name: ADE7953 Current B
 | |
|     active_power_a:
 | |
|       name: ADE7953 Active Power A
 | |
|     active_power_b:
 | |
|       name: ADE7953 Active Power B
 | |
|   - platform: pzem004t
 | |
|     uart_id: uart3
 | |
|     voltage:
 | |
|       name: 'PZEM00T Voltage'
 | |
|     current:
 | |
|       name: 'PZEM004T Current'
 | |
|     power:
 | |
|       name: 'PZEM004T Power'
 | |
|   - platform: pzemac
 | |
|     voltage:
 | |
|       name: 'PZEMAC Voltage'
 | |
|     current:
 | |
|       name: 'PZEMAC Current'
 | |
|     power:
 | |
|       name: 'PZEMAC Power'
 | |
|     energy:
 | |
|       name: 'PZEMAC Energy'
 | |
|     frequency:
 | |
|       name: 'PZEMAC Frequency'
 | |
|     power_factor:
 | |
|       name: 'PZEMAC Power Factor'
 | |
|   - platform: pzemdc
 | |
|     voltage:
 | |
|       name: 'PZEMDC Voltage'
 | |
|     current:
 | |
|       name: 'PZEMDC Current'
 | |
|     power:
 | |
|       name: 'PZEMDC Power'
 | |
|   - platform: tmp102
 | |
|     name: 'TMP102 Temperature'
 | |
|   - 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: 'AQI'
 | |
|   - platform: pmsx003
 | |
|     uart_id: uart2
 | |
|     type: PMSX003
 | |
|     pm_1_0:
 | |
|       name: 'PM 1.0 Concentration'
 | |
|     pm_2_5:
 | |
|       name: 'PM 2.5 Concentration'
 | |
|     pm_10_0:
 | |
|       name: 'PM 10.0 Concentration'
 | |
|     pm_1_0_std:
 | |
|       name: 'PM 1.0 Standard Atmospher Concentration'
 | |
|     pm_2_5_std:
 | |
|       name: 'PM 2.5 Standard Atmospher Concentration'
 | |
|     pm_10_0_std:
 | |
|       name: 'PM 10.0 Standard Atmospher Concentration'
 | |
|     pm_0_3um:
 | |
|       name: 'Particulate Count >0.3um'
 | |
|     pm_0_5um:
 | |
|       name: 'Particulate Count >0.5um'
 | |
|     pm_1_0um:
 | |
|       name: 'Particulate Count >1.0um'
 | |
|     pm_2_5um:
 | |
|       name: 'Particulate Count >2.5um'
 | |
|     pm_5_0um:
 | |
|       name: 'Particulate Count >5.0um'
 | |
|     pm_10_0um:
 | |
|       name: 'Particulate Count >10.0um'
 | |
|   - platform: pmsx003
 | |
|     uart_id: uart2
 | |
|     type: PMS5003T
 | |
|     pm_2_5:
 | |
|       name: 'PM 2.5 Concentration'
 | |
|     temperature:
 | |
|       name: 'PMS Temperature'
 | |
|     humidity:
 | |
|       name: 'PMS Humidity'
 | |
|   - platform: pmsx003
 | |
|     uart_id: uart2
 | |
|     type: PMS5003ST
 | |
|     pm_1_0:
 | |
|       name: 'PM 1.0 Concentration'
 | |
|     pm_2_5:
 | |
|       name: 'PM 2.5 Concentration'
 | |
|     pm_10_0:
 | |
|       name: 'PM 10.0 Concentration'
 | |
|     pm_1_0_std:
 | |
|       name: 'PM 1.0 Standard Atmospher Concentration'
 | |
|     pm_2_5_std:
 | |
|       name: 'PM 2.5 Standard Atmospher Concentration'
 | |
|     pm_10_0_std:
 | |
|       name: 'PM 10.0 Standard Atmospher Concentration'
 | |
|     pm_0_3um:
 | |
|       name: 'Particulate Count >0.3um'
 | |
|     pm_0_5um:
 | |
|       name: 'Particulate Count >0.5um'
 | |
|     pm_1_0um:
 | |
|       name: 'Particulate Count >1.0um'
 | |
|     pm_2_5um:
 | |
|       name: 'Particulate Count >2.5um'
 | |
|     pm_5_0um:
 | |
|       name: 'Particulate Count >5.0um'
 | |
|     pm_10_0um:
 | |
|       name: 'Particulate Count >10.0um'
 | |
|     temperature:
 | |
|       name: 'PMS Temperature'
 | |
|     humidity:
 | |
|       name: 'PMS Humidity'
 | |
|     formaldehyde:
 | |
|       name: 'PMS Formaldehyde Concentration'
 | |
|   - platform: cse7766
 | |
|     uart_id: uart3
 | |
|     voltage:
 | |
|       name: 'CSE7766 Voltage'
 | |
|     current:
 | |
|       name: 'CSE7766 Current'
 | |
|     power:
 | |
|       name: 'CSE776 Power'
 | |
|   - platform: ezo
 | |
|     id: ph_ezo
 | |
|     address: 99
 | |
|     unit_of_measurement: 'pH'
 | |
|   - platform: tof10120
 | |
|     name: "Distance sensor"
 | |
|     update_interval: 5s
 | |
|   - platform: fingerprint_grow
 | |
|     fingerprint_count:
 | |
|       name: "Fingerprint Count"
 | |
|     status:
 | |
|       name: "Fingerprint Status"
 | |
|     capacity:
 | |
|       name: "Fingerprint Capacity"
 | |
|     security_level:
 | |
|       name: "Fingerprint Security Level"
 | |
|     last_finger_id:
 | |
|       name: "Fingerprint Last Finger ID"
 | |
|     last_confidence:
 | |
|       name: "Fingerprint Last Confidence"
 | |
|   - platform: sdm_meter
 | |
|     phase_a:
 | |
|       current:
 | |
|         name: 'Phase A Current'
 | |
|       voltage:
 | |
|         name: 'Phase A Voltage'
 | |
|       active_power:
 | |
|         name: 'Phase A Power'
 | |
|       power_factor:
 | |
|         name: 'Phase A Power Factor'
 | |
|       apparent_power:
 | |
|         name: 'Phase A Apparent Power'
 | |
|       reactive_power:
 | |
|         name: 'Phase A Reactive Power'
 | |
|       phase_angle:
 | |
|         name: 'Phase A Phase Angle'
 | |
|     phase_b:
 | |
|       current:
 | |
|         name: 'Phase B Current'
 | |
|       voltage:
 | |
|         name: 'Phase B Voltage'
 | |
|       active_power:
 | |
|         name: 'Phase B Power'
 | |
|       power_factor:
 | |
|         name: 'Phase B Power Factor'
 | |
|       apparent_power:
 | |
|         name: 'Phase B Apparent Power'
 | |
|       reactive_power:
 | |
|         name: 'Phase B Reactive Power'
 | |
|       phase_angle:
 | |
|         name: 'Phase B Phase Angle'
 | |
|     phase_c:
 | |
|       current:
 | |
|         name: 'Phase C Current'
 | |
|       voltage:
 | |
|         name: 'Phase C Voltage'
 | |
|       active_power:
 | |
|         name: 'Phase C Power'
 | |
|       power_factor:
 | |
|         name: 'Phase C Power Factor'
 | |
|       apparent_power:
 | |
|         name: 'Phase C Apparent Power'
 | |
|       reactive_power:
 | |
|         name: 'Phase C Reactive Power'
 | |
|       phase_angle:
 | |
|         name: 'Phase C Phase Angle'
 | |
|     frequency:
 | |
|       name: 'Frequency'
 | |
|     import_active_energy:
 | |
|       name: 'Import Active Energy'
 | |
|     export_active_energy:
 | |
|       name: 'Export Active Energy'
 | |
|     import_reactive_energy:
 | |
|       name: 'Import Reactive Energy'
 | |
|     export_reactive_energy:
 | |
|       name: 'Export Reactive Energy'
 | |
|   - platform: dsmr
 | |
|     energy_delivered_tariff1:
 | |
|       name: dsmr_energy_delivered_tariff1
 | |
| 
 | |
|   - platform: nextion
 | |
|     id: testnumber
 | |
|     name: 'testnumber'
 | |
|     variable_name: testnumber
 | |
|   - platform: nextion
 | |
|     id: testwave
 | |
|     name: 'testwave'
 | |
|     component_id: 2
 | |
|     wave_channel_id: 1
 | |
| time:
 | |
|   - platform: homeassistant
 | |
| 
 | |
| apds9960:
 | |
|   address: 0x20
 | |
|   update_interval: 60s
 | |
| 
 | |
| mpr121:
 | |
|   id: mpr121_first
 | |
|   address: 0x5A
 | |
| 
 | |
| binary_sensor:
 | |
|   - platform: apds9960
 | |
|     direction: up
 | |
|     name: APDS9960 Up
 | |
|     device_class: motion
 | |
|     filters:
 | |
|       - invert
 | |
|       - delayed_on: 20ms
 | |
|       - delayed_off: 20ms
 | |
|       - lambda: 'return false;'
 | |
|     on_state:
 | |
|       - logger.log: New state
 | |
|     id: my_binary_sensor
 | |
|   - platform: apds9960
 | |
|     direction: down
 | |
|     name: APDS9960 Down
 | |
|   - platform: apds9960
 | |
|     direction: left
 | |
|     name: APDS9960 Left
 | |
|   - platform: apds9960
 | |
|     direction: right
 | |
|     name: APDS9960 Right
 | |
|   - platform: homeassistant
 | |
|     entity_id: binary_sensor.hello_world
 | |
|     id: ha_hello_world_binary
 | |
|   - platform: mpr121
 | |
|     id: touchkey0
 | |
|     channel: 0
 | |
|     name: 'touchkey0'
 | |
|   - platform: mpr121
 | |
|     channel: 1
 | |
|     name: 'touchkey1'
 | |
|     id: bin1
 | |
|   - platform: mpr121
 | |
|     channel: 2
 | |
|     name: 'touchkey2'
 | |
|     id: bin2
 | |
|   - platform: mpr121
 | |
|     channel: 3
 | |
|     name: 'touchkey3'
 | |
|     id: bin3
 | |
|     on_press:
 | |
|       then:
 | |
|         - switch.toggle: mpr121_toggle
 | |
|   - platform: ttp229_lsf
 | |
|     channel: 1
 | |
|     name: TTP229 LSF Test
 | |
|   - platform: ttp229_bsf
 | |
|     channel: 1
 | |
|     name: TTP229 BSF Test
 | |
|   - platform: fingerprint_grow
 | |
|     name: "Fingerprint Enrolling"
 | |
|   - platform: custom
 | |
|     lambda: |-
 | |
|       auto s = new CustomBinarySensor();
 | |
|       App.register_component(s);
 | |
|       return {s};
 | |
|     binary_sensors:
 | |
|       - id: custom_binary_sensor
 | |
|         name: Custom Binary Sensor
 | |
|   - platform: nextion
 | |
|     page_id: 0
 | |
|     component_id: 2
 | |
|     name: 'Nextion Component 2 Touch'
 | |
|   - platform: nextion
 | |
|     id: r0_sensor
 | |
|     name: 'R0 Sensor'
 | |
|     component_name: page0.r0
 | |
| globals:
 | |
|   - id: my_global_string
 | |
|     type: std::string
 | |
|     initial_value: '""'
 | |
| 
 | |
| remote_receiver:
 | |
|   pin: GPIO12
 | |
|   dump: []
 | |
| 
 | |
| status_led:
 | |
|   pin: GPIO2
 | |
| 
 | |
| text_sensor:
 | |
|   - platform: version
 | |
|     name: 'ESPHome Version'
 | |
|     icon: mdi:icon
 | |
|     id: version_sensor
 | |
|     on_value:
 | |
|       - lambda: !lambda |-
 | |
|           ESP_LOGD("main", "The state is %s=%s", x.c_str(), id(version_sensor).state.c_str());
 | |
|       - script.execute: my_script
 | |
|       - script.wait: my_script
 | |
|       - script.stop: my_script
 | |
|       - homeassistant.service:
 | |
|           service: notify.html5
 | |
|           data:
 | |
|             title: New Humidity
 | |
|           data_template:
 | |
|             message: The humidity is {{ my_variable }}%.
 | |
|           variables:
 | |
|             my_variable: |-
 | |
|               return id(version_sensor).state;
 | |
|   - platform: template
 | |
|     name: 'Template Text Sensor'
 | |
|     lambda: |-
 | |
|       return {"Hello World"};
 | |
|   - platform: homeassistant
 | |
|     entity_id: sensor.hello_world2
 | |
|     id: ha_hello_world2
 | |
|   - platform: custom
 | |
|     lambda: |-
 | |
|       auto s = new CustomTextSensor();
 | |
|       App.register_component(s);
 | |
|       return {s};
 | |
|     text_sensors:
 | |
|       - id: custom_text_sensor
 | |
|         name: Custom Text Sensor
 | |
|   - platform: nextion
 | |
|     name: text0
 | |
|     id: text0
 | |
|     update_interval: 4s
 | |
|     component_name: text0
 | |
|   - platform: dsmr
 | |
|     identification:
 | |
|       name: "dsmr_identification"
 | |
|     p1_version:
 | |
|       name: "dsmr_p1_version"
 | |
| 
 | |
| script:
 | |
|   - id: my_script
 | |
|     then:
 | |
|       - lambda: 'ESP_LOGD("main", "Hello World!");'
 | |
|   - id: climate_custom
 | |
|     then:
 | |
|       - climate.control:
 | |
|           id: midea_ac_unit
 | |
|           custom_preset: FREEZE_PROTECTION
 | |
|           custom_fan_mode: SILENT
 | |
|   - id: climate_preset
 | |
|     then:
 | |
|       - climate.control:
 | |
|           id: midea_ac_unit
 | |
|           preset: SLEEP
 | |
| 
 | |
| sm2135:
 | |
|   data_pin: GPIO12
 | |
|   clock_pin: GPIO14
 | |
| 
 | |
| switch:
 | |
|   - platform: template
 | |
|     name: 'mpr121_toggle'
 | |
|     id: mpr121_toggle
 | |
|     optimistic: True
 | |
|   - platform: gpio
 | |
|     id: gpio_switch1
 | |
|     pin:
 | |
|       mcp23xxx: mcp23017_hub
 | |
|       number: 0
 | |
|       mode: OUTPUT
 | |
|     interlock: &interlock [gpio_switch1, gpio_switch2, gpio_switch3]
 | |
|   - platform: gpio
 | |
|     id: gpio_switch2
 | |
|     pin:
 | |
|       mcp23xxx: mcp23008_hub
 | |
|       number: 0
 | |
|       mode: OUTPUT
 | |
|     interlock: *interlock
 | |
|   - platform: gpio
 | |
|     id: gpio_switch3
 | |
|     pin: GPIO1
 | |
|     interlock: *interlock
 | |
|   - platform: custom
 | |
|     lambda: |-
 | |
|       auto s = new CustomSwitch();
 | |
|       return {s};
 | |
|     switches:
 | |
|       - id: custom_switch
 | |
|         name: Custom Switch
 | |
|   - platform: nextion
 | |
|     id: r0
 | |
|     name: 'R0 Switch'
 | |
|     component_name: page0.r0
 | |
| 
 | |
| custom_component:
 | |
|   lambda: |-
 | |
|     auto s = new CustomComponent();
 | |
|     s->set_update_interval(15000);
 | |
|     return {s};
 | |
| 
 | |
| stepper:
 | |
|   - platform: uln2003
 | |
|     id: my_stepper
 | |
|     pin_a: GPIO12
 | |
|     pin_b: GPIO13
 | |
|     pin_c: GPIO14
 | |
|     pin_d: GPIO15
 | |
|     sleep_when_done: no
 | |
|     step_mode: HALF_STEP
 | |
|     max_speed: 250 steps/s
 | |
|     acceleration: inf
 | |
|     deceleration: inf
 | |
|   - platform: a4988
 | |
|     id: my_stepper2
 | |
|     step_pin: GPIO1
 | |
|     dir_pin: GPIO2
 | |
|     max_speed: 0.1 steps/s
 | |
|     acceleration: 10 steps/s^2
 | |
|     deceleration: 10 steps/s^2
 | |
| 
 | |
| interval:
 | |
|   interval: 5s
 | |
|   then:
 | |
|     - logger.log: 'Interval Run'
 | |
|     - stepper.set_target:
 | |
|         id: my_stepper2
 | |
|         target: 500
 | |
|     - stepper.set_target:
 | |
|         id: my_stepper
 | |
|         target: !lambda 'return 0;'
 | |
|     - stepper.report_position:
 | |
|         id: my_stepper2
 | |
|         position: 0
 | |
|     - stepper.report_position:
 | |
|         id: my_stepper
 | |
|         position: !lambda 'return 50/100.0;'
 | |
| 
 | |
| climate:
 | |
|   - platform: bang_bang
 | |
|     name: Bang Bang Climate
 | |
|     sensor: ha_hello_world
 | |
|     default_target_temperature_low: 18°C
 | |
|     default_target_temperature_high: 24°C
 | |
|     idle_action:
 | |
|       - switch.turn_on: gpio_switch1
 | |
|     cool_action:
 | |
|       - switch.turn_on: gpio_switch2
 | |
|     heat_action:
 | |
|       - switch.turn_on: gpio_switch1
 | |
|     away_config:
 | |
|       default_target_temperature_low: 16°C
 | |
|       default_target_temperature_high: 20°C
 | |
|   - platform: thermostat
 | |
|     name: Thermostat Climate
 | |
|     sensor: ha_hello_world
 | |
|     default_target_temperature_low: 18°C
 | |
|     default_target_temperature_high: 24°C
 | |
|     idle_action:
 | |
|       - switch.turn_on: gpio_switch1
 | |
|     cool_action:
 | |
|       - switch.turn_on: gpio_switch2
 | |
|     supplemental_cooling_action:
 | |
|       - switch.turn_on: gpio_switch3
 | |
|     heat_action:
 | |
|       - switch.turn_on: gpio_switch1
 | |
|     supplemental_heating_action:
 | |
|       - switch.turn_on: gpio_switch3
 | |
|     dry_action:
 | |
|       - switch.turn_on: gpio_switch2
 | |
|     fan_only_action:
 | |
|       - switch.turn_on: gpio_switch1
 | |
|     auto_mode:
 | |
|       - switch.turn_on: gpio_switch2
 | |
|     off_mode:
 | |
|       - switch.turn_on: gpio_switch1
 | |
|     heat_mode:
 | |
|       - switch.turn_on: gpio_switch2
 | |
|     cool_mode:
 | |
|       - switch.turn_on: gpio_switch1
 | |
|     dry_mode:
 | |
|       - switch.turn_on: gpio_switch2
 | |
|     fan_only_mode:
 | |
|       - switch.turn_on: gpio_switch1
 | |
|     fan_mode_auto_action:
 | |
|       - switch.turn_on: gpio_switch2
 | |
|     fan_mode_on_action:
 | |
|       - switch.turn_on: gpio_switch1
 | |
|     fan_mode_off_action:
 | |
|       - switch.turn_on: gpio_switch2
 | |
|     fan_mode_low_action:
 | |
|       - switch.turn_on: gpio_switch1
 | |
|     fan_mode_medium_action:
 | |
|       - switch.turn_on: gpio_switch2
 | |
|     fan_mode_high_action:
 | |
|       - switch.turn_on: gpio_switch1
 | |
|     fan_mode_middle_action:
 | |
|       - switch.turn_on: gpio_switch2
 | |
|     fan_mode_focus_action:
 | |
|       - switch.turn_on: gpio_switch1
 | |
|     fan_mode_diffuse_action:
 | |
|       - switch.turn_on: gpio_switch2
 | |
|     swing_off_action:
 | |
|       - switch.turn_on: gpio_switch1
 | |
|     swing_horizontal_action:
 | |
|       - switch.turn_on: gpio_switch2
 | |
|     swing_vertical_action:
 | |
|       - switch.turn_on: gpio_switch1
 | |
|     swing_both_action:
 | |
|       - switch.turn_on: gpio_switch2
 | |
|     startup_delay: true
 | |
|     supplemental_cooling_delta: 2.0
 | |
|     cool_deadband: 0.5
 | |
|     cool_overrun: 0.5
 | |
|     min_cooling_off_time: 300s
 | |
|     min_cooling_run_time: 300s
 | |
|     max_cooling_run_time: 600s
 | |
|     supplemental_heating_delta: 2.0
 | |
|     heat_deadband: 0.5
 | |
|     heat_overrun: 0.5
 | |
|     min_heating_off_time: 300s
 | |
|     min_heating_run_time: 300s
 | |
|     max_heating_run_time: 600s
 | |
|     min_fanning_off_time: 30s
 | |
|     min_fanning_run_time: 30s
 | |
|     min_fan_mode_switching_time: 15s
 | |
|     min_idle_time: 30s
 | |
|     set_point_minimum_differential: 0.5
 | |
|     fan_only_action_uses_fan_mode_timer: true
 | |
|     fan_only_cooling: true
 | |
|     fan_with_cooling: true
 | |
|     fan_with_heating: true
 | |
|     away_config:
 | |
|       default_target_temperature_low: 16°C
 | |
|       default_target_temperature_high: 20°C
 | |
|   - platform: pid
 | |
|     id: pid_climate
 | |
|     name: 'PID Climate Controller'
 | |
|     sensor: ha_hello_world
 | |
|     default_target_temperature: 21°C
 | |
|     heat_output: my_slow_pwm
 | |
|     control_parameters:
 | |
|       kp: 0.0
 | |
|       ki: 0.0
 | |
|       kd: 0.0
 | |
|   - platform: midea_ac
 | |
|     id: midea_ac_unit
 | |
|     visual:
 | |
|       min_temperature: 18 °C
 | |
|       max_temperature: 25 °C
 | |
|       temperature_step: 0.1 °C
 | |
|     name: "Electrolux EACS"
 | |
|     beeper: true
 | |
|     custom_fan_modes:
 | |
|       - SILENT
 | |
|       - TURBO
 | |
|     preset_eco: true
 | |
|     preset_sleep: true
 | |
|     preset_boost: true
 | |
|     custom_presets:
 | |
|       - FREEZE_PROTECTION
 | |
|     outdoor_temperature:
 | |
|       name: "Temp"
 | |
|     power_usage:
 | |
|       name: "Power"
 | |
|     humidity_setpoint:
 | |
|       name: "Hum"
 | |
| 
 | |
| midea_dongle:
 | |
|   uart_id: uart1
 | |
|   strength_icon: true
 | |
| 
 | |
| cover:
 | |
|   - platform: endstop
 | |
|     name: Endstop Cover
 | |
|     stop_action:
 | |
|       - switch.turn_on: gpio_switch1
 | |
|     open_endstop: my_binary_sensor
 | |
|     open_action:
 | |
|       - switch.turn_on: gpio_switch1
 | |
|     open_duration: 5min
 | |
|     close_endstop: my_binary_sensor
 | |
|     close_action:
 | |
|       - switch.turn_on: gpio_switch2
 | |
|       - output.set_level:
 | |
|           id: out
 | |
|           level: 50%
 | |
|       - output.esp8266_pwm.set_frequency:
 | |
|           id: out
 | |
|           frequency: 500.0Hz
 | |
|       - output.esp8266_pwm.set_frequency:
 | |
|           id: out
 | |
|           frequency: !lambda 'return 500.0;'
 | |
|       - servo.write:
 | |
|           id: my_servo
 | |
|           level: -100%
 | |
|       - servo.write:
 | |
|           id: my_servo
 | |
|           level: !lambda 'return -1.0;'
 | |
|       - delay: 2s
 | |
|       - servo.detach: my_servo
 | |
|     close_duration: 4.5min
 | |
|     max_duration: 10min
 | |
|   - platform: time_based
 | |
|     name: Time Based Cover
 | |
|     stop_action:
 | |
|       - switch.turn_on: gpio_switch1
 | |
|     open_action:
 | |
|       - switch.turn_on: gpio_switch1
 | |
|     open_duration: 5min
 | |
|     close_action:
 | |
|       - switch.turn_on: gpio_switch2
 | |
|     close_duration: 4.5min
 | |
|   - platform: template
 | |
|     name: Template Cover with Tilt
 | |
|     tilt_lambda: 'return 0.5;'
 | |
|     tilt_action:
 | |
|       - output.set_level:
 | |
|           id: out
 | |
|           level: !lambda 'return tilt;'
 | |
|     position_action:
 | |
|       - output.set_level:
 | |
|           id: out
 | |
|           level: !lambda 'return pos;'
 | |
| 
 | |
| output:
 | |
|   - platform: esp8266_pwm
 | |
|     id: out
 | |
|     pin: D3
 | |
|     frequency: 50Hz
 | |
|   - platform: esp8266_pwm
 | |
|     id: out2
 | |
|     pin: D4
 | |
|   - platform: custom
 | |
|     type: binary
 | |
|     lambda: |-
 | |
|       auto s = new CustomBinaryOutput();
 | |
|       App.register_component(s);
 | |
|       return {s};
 | |
|     outputs:
 | |
|       - id: custom_binary
 | |
|   - platform: custom
 | |
|     type: float
 | |
|     lambda: |-
 | |
|       auto s = new CustomFloatOutput();
 | |
|       App.register_component(s);
 | |
|       return {s};
 | |
|     outputs:
 | |
|       - id: custom_float
 | |
|   - platform: ac_dimmer
 | |
|     id: dimmer1
 | |
|     gate_pin: GPIO5
 | |
|     zero_cross_pin: GPIO12
 | |
|   - platform: slow_pwm
 | |
|     pin: GPIO5
 | |
|     id: my_slow_pwm
 | |
|     period: 15s
 | |
|   - platform: sm2135
 | |
|     id: sm2135_0
 | |
|     channel: 0
 | |
|   - platform: sm2135
 | |
|     id: sm2135_1
 | |
|     channel: 1
 | |
|   - platform: sm2135
 | |
|     id: sm2135_2
 | |
|     channel: 2
 | |
|   - platform: sm2135
 | |
|     id: sm2135_3
 | |
|     channel: 3
 | |
|   - platform: sm2135
 | |
|     id: sm2135_4
 | |
|     channel: 4
 | |
| 
 | |
| mcp23017:
 | |
|   id: mcp23017_hub
 | |
| 
 | |
| mcp23008:
 | |
|   id: mcp23008_hub
 | |
| 
 | |
| e131:
 | |
| 
 | |
| light:
 | |
|   - platform: neopixelbus
 | |
|     name: Neopixelbus Light
 | |
|     pin: GPIO1
 | |
|     type: GRBW
 | |
|     variant: SK6812
 | |
|     method: ESP8266_UART0
 | |
|     num_leds: 100
 | |
|     effects:
 | |
|       - wled:
 | |
|       - adalight:
 | |
|           uart_id: uart3
 | |
|       - e131:
 | |
|           universe: 1
 | |
|   - platform: hbridge
 | |
|     name: Icicle Lights
 | |
|     pin_a: out
 | |
|     pin_b: out2
 | |
| 
 | |
| servo:
 | |
|   id: my_servo
 | |
|   output: out
 | |
|   restore: true
 | |
|   min_level: $min_sub
 | |
|   max_level: $max_sub
 | |
| 
 | |
| ttp229_lsf:
 | |
| 
 | |
| ttp229_bsf:
 | |
|   sdo_pin: D0
 | |
|   scl_pin: D1
 | |
| 
 | |
| sim800l:
 | |
|   uart_id: uart4
 | |
|   on_sms_received:
 | |
|     - lambda: |-
 | |
|         std::string str;
 | |
|         str = sender;
 | |
|         str = message;
 | |
|     - sim800l.send_sms:
 | |
|         message: 'hello you'
 | |
|         recipient: '+1234'
 | |
|     - sim800l.dial:
 | |
|         recipient: '+1234'
 | |
| 
 | |
| dfplayer:
 | |
|   uart_id: uart5
 | |
|   on_finished_playback:
 | |
|     then:
 | |
|       if:
 | |
|         condition:
 | |
|           not: dfplayer.is_playing
 | |
|         then:
 | |
|           logger.log: 'Playback finished event'
 | |
| tm1651:
 | |
|   id: tm1651_battery
 | |
|   clk_pin: D6
 | |
|   dio_pin: D5
 | |
| 
 | |
| rf_bridge:
 | |
|   uart_id: uart5
 | |
|   on_code_received:
 | |
|     - lambda: |-
 | |
|         uint32_t test;
 | |
|         test = data.sync;
 | |
|         test = data.low;
 | |
|         test = data.high;
 | |
|         test = data.code;
 | |
|     - rf_bridge.send_code:
 | |
|         sync: 0x1234
 | |
|         low: 0x1234
 | |
|         high: 0x1234
 | |
|         code: 0x123456
 | |
|     - rf_bridge.learn
 | |
| 
 | |
|   on_advanced_code_received:
 | |
|     - lambda: |-
 | |
|         uint32_t test;
 | |
|         std::string test_code;
 | |
|         test = data.length;
 | |
|         test = data.protocol;
 | |
|         test_code = data.code;
 | |
|     - rf_bridge.start_advanced_sniffing
 | |
|     - rf_bridge.stop_advanced_sniffing
 | |
|     - rf_bridge.send_advanced_code:
 | |
|         length: 0x04
 | |
|         protocol: 0x01
 | |
|         code: 'ABC123'
 | |
|     - rf_bridge.send_raw:
 | |
|         raw: 'AAA5070008001000ABC12355'
 | |
|     - 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(version_sensor).state;
 | |
|           greeting: 'Hello World'
 | |
|     - http_request.send:
 | |
|         method: PUT
 | |
|         url: https://esphome.io
 | |
|         headers:
 | |
|           Content-Type: application/json
 | |
|         body: 'Some data'
 | |
|         verify_ssl: false
 | |
| 
 | |
| display:
 | |
|   - platform: max7219digit
 | |
|     cs_pin: GPIO15
 | |
|     num_chips: 4
 | |
|     rotate_chip: 0
 | |
|     intensity: 10
 | |
|     scroll_mode: 'STOP'
 | |
|     id: my_matrix
 | |
|     lambda: |-
 | |
|       it.printdigit("hello");
 | |
|   - platform: nextion
 | |
|     uart_id: uart1
 | |
|     tft_url: 'http://esphome.io/default35.tft'
 | |
|     update_interval: 5s
 | |
|     on_sleep:
 | |
|       then:
 | |
|         lambda: 'ESP_LOGD("display","Display went to sleep");'
 | |
|     on_wake:
 | |
|       then:
 | |
|         lambda: 'ESP_LOGD("display","Display woke up");'
 | |
| 
 | |
| http_request:
 | |
|   useragent: esphome/device
 | |
|   timeout: 10s
 | |
| 
 | |
| fingerprint_grow:
 | |
|   sensing_pin: 4
 | |
|   password: 0x12FE37DC
 | |
|   new_password: 0xA65B9840
 | |
|   on_finger_scan_matched:
 | |
|     - homeassistant.event:
 | |
|         event: esphome.${device_name}_fingerprint_grow_finger_scan_matched
 | |
|         data:
 | |
|           finger_id: !lambda 'return finger_id;'
 | |
|           confidence: !lambda 'return confidence;'
 | |
|   on_finger_scan_unmatched:
 | |
|     - homeassistant.event:
 | |
|         event: esphome.${device_name}_fingerprint_grow_finger_scan_unmatched
 | |
|   on_enrollment_scan:
 | |
|     - homeassistant.event:
 | |
|         event: esphome.${device_name}_fingerprint_grow_enrollment_scan
 | |
|         data:
 | |
|           finger_id: !lambda 'return finger_id;'
 | |
|           scan_num: !lambda 'return scan_num;'
 | |
|   on_enrollment_done:
 | |
|     - homeassistant.event:
 | |
|         event: esphome.${device_name}_fingerprint_grow_node_enrollment_done
 | |
|         data:
 | |
|           finger_id: !lambda 'return finger_id;'
 | |
|   on_enrollment_failed:
 | |
|     - homeassistant.event:
 | |
|         event: esphome.${device_name}_fingerprint_grow_enrollment_failed
 | |
|         data:
 | |
|           finger_id: !lambda 'return finger_id;'
 | |
|   uart_id: uart6
 | |
| 
 | |
| dsmr:
 | |
|   decryption_key: 00112233445566778899aabbccddeeff
 | |
|   uart_id: uart6
 |