mirror of
https://github.com/esphome/esphome.git
synced 2024-11-22 11:47:30 +01:00
1374 lines
32 KiB
YAML
1374 lines
32 KiB
YAML
---
|
|
esphome:
|
|
name: $device_name
|
|
comment: $device_comment
|
|
build_path: build/test3
|
|
on_boot:
|
|
- if:
|
|
condition:
|
|
- api.connected
|
|
- wifi.connected
|
|
- time.has_time
|
|
then:
|
|
- logger.log: Have time
|
|
|
|
esp8266:
|
|
board: d1_mini
|
|
early_pin_init: true
|
|
|
|
substitutions:
|
|
device_name: test3
|
|
device_comment: test3 device
|
|
|
|
api:
|
|
port: 8000
|
|
password: pwd
|
|
reboot_timeout: 0min
|
|
encryption:
|
|
key: bOFFzzvfpg5DB94DuBGLXD/hMnhpDKgP9UQyBulwWVU=
|
|
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
|
|
- service: array_types
|
|
variables:
|
|
bool_arr: bool[]
|
|
int_arr: int[]
|
|
float_arr: float[]
|
|
string_arr: string[]
|
|
then:
|
|
- logger.log:
|
|
# yamllint disable rule:line-length
|
|
format: "Bool: %s (%u), Int: %d (%u), Float: %f (%u), String: %s (%u)"
|
|
# yamllint enable rule:line-length
|
|
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:
|
|
# yamllint disable rule:line-length
|
|
- dfplayer.set_eq: !lambda "return static_cast<dfplayer::EqPreset>(preset);"
|
|
# yamllint enable rule:line-length
|
|
|
|
- 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"
|
|
|
|
network:
|
|
enable_ipv6: true
|
|
|
|
uart:
|
|
- id: uart_1
|
|
tx_pin:
|
|
number: GPIO1
|
|
inverted: true
|
|
allow_other_uses: true
|
|
rx_pin:
|
|
allow_other_uses: true
|
|
number: GPIO3
|
|
baud_rate: 115200
|
|
- id: uart_2
|
|
tx_pin:
|
|
allow_other_uses: true
|
|
number: GPIO4
|
|
rx_pin:
|
|
allow_other_uses: true
|
|
number: GPIO5
|
|
baud_rate: 9600
|
|
- id: uart_3
|
|
tx_pin:
|
|
allow_other_uses: true
|
|
number: GPIO4
|
|
rx_pin:
|
|
allow_other_uses: true
|
|
number: GPIO5
|
|
baud_rate: 4800
|
|
- id: uart_4
|
|
tx_pin:
|
|
allow_other_uses: true
|
|
number: GPIO4
|
|
rx_pin:
|
|
allow_other_uses: true
|
|
number: GPIO5
|
|
baud_rate: 9600
|
|
- id: uart_5
|
|
tx_pin:
|
|
allow_other_uses: true
|
|
number: GPIO4
|
|
rx_pin:
|
|
allow_other_uses: true
|
|
number: GPIO5
|
|
baud_rate: 9600
|
|
- id: uart_6
|
|
tx_pin:
|
|
allow_other_uses: true
|
|
number: GPIO4
|
|
rx_pin:
|
|
allow_other_uses: true
|
|
number: GPIO5
|
|
baud_rate: 9600
|
|
- id: uart_7
|
|
tx_pin:
|
|
allow_other_uses: true
|
|
number: GPIO4
|
|
rx_pin:
|
|
allow_other_uses: true
|
|
number: GPIO5
|
|
baud_rate: 38400
|
|
- id: uart_8
|
|
tx_pin:
|
|
allow_other_uses: true
|
|
number: GPIO4
|
|
rx_pin:
|
|
allow_other_uses: true
|
|
number: GPIO5
|
|
baud_rate: 4800
|
|
parity: NONE
|
|
stop_bits: 2
|
|
# Specifically added for testing debug with no options at all.
|
|
debug:
|
|
- id: uart_9
|
|
tx_pin:
|
|
allow_other_uses: true
|
|
number: GPIO4
|
|
rx_pin:
|
|
allow_other_uses: true
|
|
number: GPIO5
|
|
baud_rate: 9600
|
|
- id: uart_10
|
|
tx_pin:
|
|
allow_other_uses: true
|
|
number: GPIO4
|
|
rx_pin:
|
|
allow_other_uses: true
|
|
number: GPIO5
|
|
baud_rate: 9600
|
|
- id: uart_11
|
|
tx_pin:
|
|
allow_other_uses: true
|
|
number: GPIO4
|
|
rx_pin:
|
|
allow_other_uses: true
|
|
number: GPIO5
|
|
baud_rate: 9600
|
|
- id: uart_12
|
|
tx_pin:
|
|
allow_other_uses: true
|
|
number: GPIO4
|
|
rx_pin:
|
|
allow_other_uses: true
|
|
number: GPIO5
|
|
baud_rate: 9600
|
|
|
|
modbus:
|
|
uart_id: uart_1
|
|
|
|
vbus:
|
|
uart_id: uart_4
|
|
|
|
ota:
|
|
safe_mode: true
|
|
port: 3286
|
|
reboot_timeout: 15min
|
|
|
|
logger:
|
|
hardware_uart: UART1
|
|
level: DEBUG
|
|
esp8266_store_log_strings_in_flash: true
|
|
|
|
debug:
|
|
|
|
improv_serial:
|
|
next_url: https://esphome.io/?name={{device_name}}&version={{esphome_version}}&ip={{ip_address}}
|
|
|
|
deep_sleep:
|
|
run_duration: 20s
|
|
sleep_duration: 50s
|
|
|
|
wled:
|
|
|
|
adalight:
|
|
|
|
sensor:
|
|
- platform: daly_bms
|
|
voltage:
|
|
name: Battery Voltage
|
|
current:
|
|
name: Battery Current
|
|
battery_level:
|
|
name: Battery Level
|
|
max_cell_voltage:
|
|
name: Max Cell Voltage
|
|
max_cell_voltage_number:
|
|
name: Max Cell Voltage Number
|
|
min_cell_voltage:
|
|
name: Min Cell Voltage
|
|
min_cell_voltage_number:
|
|
name: Min Cell Voltage Number
|
|
max_temperature:
|
|
name: Max Temperature
|
|
max_temperature_probe_number:
|
|
name: Max Temperature Probe Number
|
|
min_temperature:
|
|
name: Min Temperature
|
|
min_temperature_probe_number:
|
|
name: Min Temperature Probe Number
|
|
remaining_capacity:
|
|
name: Remaining Capacity
|
|
cells_number:
|
|
name: Cells Number
|
|
temperature_1:
|
|
name: Temperature 1
|
|
temperature_2:
|
|
name: Temperature 2
|
|
|
|
- platform: homeassistant
|
|
entity_id: sensor.hello_world
|
|
id: ha_hello_world
|
|
|
|
- platform: hydreon_rgxx
|
|
model: RG 9
|
|
uart_id: uart_6
|
|
id: hydreon_rg9
|
|
moisture:
|
|
name: hydreon_rain
|
|
id: hydreon_rain
|
|
temperature:
|
|
name: hydreon_temperature
|
|
disable_led: true
|
|
|
|
- platform: hydreon_rgxx
|
|
model: RG_15
|
|
uart_id: uart_6
|
|
acc:
|
|
name: hydreon_acc
|
|
event_acc:
|
|
name: hydreon_event_acc
|
|
total_acc:
|
|
name: hydreon_total_acc
|
|
r_int:
|
|
name: hydreon_r_int
|
|
|
|
- platform: adc
|
|
pin: VCC
|
|
id: my_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: binary_sensor_map
|
|
name: Binary Sensor Map
|
|
type: sum
|
|
channels:
|
|
- binary_sensor: bin1
|
|
value: 10.0
|
|
- binary_sensor: bin2
|
|
value: 15.0
|
|
- binary_sensor: bin3
|
|
value: 100.0
|
|
|
|
- platform: binary_sensor_map
|
|
name: Binary Sensor Map
|
|
type: bayesian
|
|
prior: 0.4
|
|
observations:
|
|
- binary_sensor: bin1
|
|
prob_given_true: 0.9
|
|
prob_given_false: 0.4
|
|
- binary_sensor: bin2
|
|
prob_given_true: 0.7
|
|
prob_given_false: 0.05
|
|
- binary_sensor: bin3
|
|
prob_given_true: 0.8
|
|
prob_given_false: 0.2
|
|
|
|
- platform: bl0939
|
|
uart_id: uart_8
|
|
voltage:
|
|
name: BL0939 Voltage
|
|
current_1:
|
|
name: BL0939 Current 1
|
|
current_2:
|
|
name: BL0939 Current 2
|
|
active_power_1:
|
|
name: BL0939 Active Power 1
|
|
active_power_2:
|
|
name: BL0939 Active Power 2
|
|
energy_1:
|
|
name: BL0939 Energy 1
|
|
energy_2:
|
|
name: BL0939 Energy 2
|
|
energy_total:
|
|
name: BL0939 Total energy
|
|
- platform: bl0940
|
|
uart_id: uart_3
|
|
voltage:
|
|
name: BL0940 Voltage
|
|
current:
|
|
name: BL0940 Current
|
|
power:
|
|
name: BL0940 Power
|
|
energy:
|
|
name: BL0940 Energy
|
|
internal_temperature:
|
|
name: BL0940 Internal temperature
|
|
external_temperature:
|
|
name: BL0940 External temperature
|
|
- platform: bl0942
|
|
uart_id: uart_3
|
|
voltage:
|
|
name: BL0942 Voltage
|
|
current:
|
|
name: BL0942 Current
|
|
power:
|
|
name: BL0942 Power
|
|
energy:
|
|
name: BL0942 Energy
|
|
frequency:
|
|
name: BL0942 Frequency
|
|
- platform: pzem004t
|
|
uart_id: uart_3
|
|
voltage:
|
|
name: PZEM004T Voltage
|
|
current:
|
|
name: PZEM004T Current
|
|
power:
|
|
name: PZEM004T Power
|
|
- platform: pzemac
|
|
id: pzemac1
|
|
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
|
|
id: pzemdc1
|
|
voltage:
|
|
name: PZEMDC Voltage
|
|
current:
|
|
name: PZEMDC Current
|
|
power:
|
|
name: PZEMDC Power
|
|
energy:
|
|
name: PZEMDC Energy
|
|
- platform: pmsx003
|
|
uart_id: uart_9
|
|
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
|
|
update_interval: 30s
|
|
- platform: pmsx003
|
|
uart_id: uart_5
|
|
type: PMS5003T
|
|
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
|
|
temperature:
|
|
name: PMS Temperature
|
|
humidity:
|
|
name: PMS Humidity
|
|
- platform: pmsx003
|
|
uart_id: uart_6
|
|
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: cse7761
|
|
uart_id: uart_7
|
|
voltage:
|
|
name: CSE7761 Voltage
|
|
current_1:
|
|
name: CSE7761 Current 1
|
|
current_2:
|
|
name: CSE7761 Current 2
|
|
active_power_1:
|
|
name: CSE7761 Active Power 1
|
|
active_power_2:
|
|
name: CSE7761 Active Power 2
|
|
- platform: cse7766
|
|
uart_id: uart_3
|
|
voltage:
|
|
name: CSE7766 Voltage
|
|
current:
|
|
name: CSE7766 Current
|
|
power:
|
|
name: CSE776 Power
|
|
|
|
- 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
|
|
- platform: smt100
|
|
uart_id: uart_10
|
|
counts:
|
|
name: Counts
|
|
dielectric_constant:
|
|
name: Dielectric Constant
|
|
temperature:
|
|
name: Temperature
|
|
moisture:
|
|
name: Moisture
|
|
voltage:
|
|
name: Voltage
|
|
update_interval: 60s
|
|
|
|
- platform: vbus
|
|
model: deltasol c
|
|
temperature_1:
|
|
name: Temperature 1
|
|
|
|
- platform: kuntze
|
|
ph:
|
|
name: Kuntze pH
|
|
temperature:
|
|
name: Kuntze temperature
|
|
|
|
time:
|
|
- platform: homeassistant
|
|
|
|
binary_sensor:
|
|
- platform: daly_bms
|
|
charging_mos_enabled:
|
|
name: Charging MOS
|
|
discharging_mos_enabled:
|
|
name: Discharging MOS
|
|
|
|
- platform: homeassistant
|
|
entity_id: binary_sensor.hello_world
|
|
id: ha_hello_world_binary
|
|
|
|
- platform: fingerprint_grow
|
|
name: Fingerprint Enrolling
|
|
- 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
|
|
|
|
- platform: hydreon_rgxx
|
|
hydreon_rgxx_id: hydreon_rg9
|
|
too_cold:
|
|
name: rg9_toocold
|
|
em_sat:
|
|
name: rg9_emsat
|
|
lens_bad:
|
|
name: rg9_lens_bad
|
|
|
|
- platform: template
|
|
id: pzemac_reset_energy
|
|
on_press:
|
|
then:
|
|
- pzemac.reset_energy: pzemac1
|
|
- platform: template
|
|
id: pzemdc_reset_energy
|
|
on_press:
|
|
then:
|
|
- pzemdc.reset_energy: pzemdc1
|
|
|
|
- platform: vbus
|
|
model: deltasol_bs_plus
|
|
relay1:
|
|
name: Relay 1 On
|
|
|
|
- platform: gpio
|
|
id: bin1
|
|
pin:
|
|
allow_other_uses: true
|
|
number: 1
|
|
- platform: gpio
|
|
id: bin2
|
|
pin:
|
|
allow_other_uses: true
|
|
number: 2
|
|
- platform: gpio
|
|
id: bin3
|
|
pin:
|
|
allow_other_uses: true
|
|
number: 3
|
|
|
|
globals:
|
|
- id: my_global_string
|
|
type: std::string
|
|
initial_value: '""'
|
|
|
|
remote_receiver:
|
|
pin:
|
|
allow_other_uses: true
|
|
number: GPIO12
|
|
dump: []
|
|
|
|
status_led:
|
|
pin:
|
|
allow_other_uses: true
|
|
number: GPIO2
|
|
|
|
text_sensor:
|
|
- platform: daly_bms
|
|
status:
|
|
name: BMS Status
|
|
- platform: version
|
|
name: ESPHome Version
|
|
icon: mdi:icon
|
|
id: version_sensor
|
|
on_value:
|
|
# yamllint disable rule:line-length
|
|
- lambda: !lambda |-
|
|
ESP_LOGD("main", "The state is %s=%s", x.c_str(), id(version_sensor).state.c_str());
|
|
# yamllint enable rule:line-length
|
|
- 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: 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!");'
|
|
|
|
switch:
|
|
- platform: gpio
|
|
id: gpio_switch1
|
|
pin:
|
|
allow_other_uses: true
|
|
number: 1
|
|
- platform: gpio
|
|
id: gpio_switch2
|
|
pin:
|
|
allow_other_uses: true
|
|
number: 2
|
|
- platform: gpio
|
|
id: gpio_switch3
|
|
pin:
|
|
allow_other_uses: true
|
|
number: 3
|
|
|
|
- platform: nextion
|
|
id: r0
|
|
name: R0 Switch
|
|
component_name: page0.r0
|
|
|
|
climate:
|
|
- platform: bang_bang
|
|
name: Bang Bang Climate
|
|
sensor: ha_hello_world
|
|
humidity_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
|
|
humidity_sensor: ha_hello_world
|
|
preset:
|
|
- name: Default Preset
|
|
default_target_temperature_low: 18°C
|
|
default_target_temperature_high: 24°C
|
|
- name: Away
|
|
default_target_temperature_low: 16°C
|
|
default_target_temperature_high: 20°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
|
|
fan_mode_quiet_action:
|
|
- switch.turn_on: gpio_switch1
|
|
swing_off_action:
|
|
- switch.turn_on: gpio_switch2
|
|
swing_horizontal_action:
|
|
- switch.turn_on: gpio_switch1
|
|
swing_vertical_action:
|
|
- switch.turn_on: gpio_switch2
|
|
swing_both_action:
|
|
- switch.turn_on: gpio_switch1
|
|
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
|
|
- platform: pid
|
|
id: pid_climate
|
|
name: PID Climate Controller
|
|
sensor: ha_hello_world
|
|
humidity_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
|
|
max_integral: 0.0
|
|
output_averaging_samples: 1
|
|
derivative_averaging_samples: 1
|
|
deadband_parameters:
|
|
threshold_high: 0.4
|
|
threshold_low: -2.0
|
|
kp_multiplier: 0.0
|
|
ki_multiplier: 0.0
|
|
kd_multiplier: 0.0
|
|
deadband_output_averaging_samples: 1
|
|
- platform: haier
|
|
protocol: hOn
|
|
name: Haier AC
|
|
uart_id: uart_12
|
|
wifi_signal: true
|
|
beeper: true
|
|
outdoor_temperature:
|
|
name: Haier AC outdoor temperature
|
|
visual:
|
|
min_temperature: 16 °C
|
|
max_temperature: 30 °C
|
|
temperature_step:
|
|
target_temperature: 1
|
|
current_temperature: 0.5
|
|
supported_modes:
|
|
- 'OFF'
|
|
- HEAT_COOL
|
|
- COOL
|
|
- HEAT
|
|
- DRY
|
|
- FAN_ONLY
|
|
supported_swing_modes:
|
|
- 'OFF'
|
|
- VERTICAL
|
|
- HORIZONTAL
|
|
- BOTH
|
|
supported_presets:
|
|
- AWAY
|
|
- BOOST
|
|
- ECO
|
|
- SLEEP
|
|
on_alarm_start:
|
|
then:
|
|
- logger.log:
|
|
level: DEBUG
|
|
format: "Alarm activated. Code: %d. Message: \"%s\""
|
|
args: [ code, message]
|
|
on_alarm_end:
|
|
then:
|
|
- logger.log:
|
|
level: DEBUG
|
|
format: "Alarm deactivated. Code: %d. Message: \"%s\""
|
|
args: [ code, message]
|
|
|
|
sprinkler:
|
|
- id: yard_sprinkler_ctrlr
|
|
main_switch: Yard Sprinklers
|
|
auto_advance_switch: Yard Sprinklers Auto Advance
|
|
reverse_switch: Yard Sprinklers Reverse
|
|
pump_start_pump_delay: 2s
|
|
pump_stop_valve_delay: 4s
|
|
pump_switch_off_during_valve_open_delay: true
|
|
valve_open_delay: 5s
|
|
valves:
|
|
- valve_switch: Yard Valve 0
|
|
enable_switch: Enable Yard Valve 0
|
|
pump_switch_id: gpio_switch1
|
|
run_duration: 10s
|
|
valve_switch_id: gpio_switch2
|
|
- valve_switch: Yard Valve 1
|
|
enable_switch: Enable Yard Valve 1
|
|
pump_switch_id: gpio_switch1
|
|
run_duration: 10s
|
|
valve_switch_id: gpio_switch2
|
|
- valve_switch: Yard Valve 2
|
|
enable_switch: Enable Yard Valve 2
|
|
pump_switch_id: gpio_switch1
|
|
run_duration: 10s
|
|
valve_switch_id: gpio_switch2
|
|
- id: garden_sprinkler_ctrlr
|
|
main_switch: Garden Sprinklers
|
|
auto_advance_switch: Garden Sprinklers Auto Advance
|
|
reverse_switch: Garden Sprinklers Reverse
|
|
valve_overlap: 5s
|
|
valves:
|
|
- valve_switch: Garden Valve 0
|
|
enable_switch: Enable Garden Valve 0
|
|
pump_switch_id: gpio_switch1
|
|
run_duration: 10s
|
|
valve_switch_id: gpio_switch2
|
|
- valve_switch: Garden Valve 1
|
|
enable_switch: Enable Garden Valve 1
|
|
pump_switch_id: gpio_switch1
|
|
run_duration: 10s
|
|
valve_switch_id: gpio_switch2
|
|
|
|
output:
|
|
- platform: esp8266_pwm
|
|
id: out
|
|
pin:
|
|
number: D3
|
|
frequency: 50Hz
|
|
- platform: esp8266_pwm
|
|
id: out2
|
|
pin:
|
|
allow_other_uses: true
|
|
number: D4
|
|
- platform: slow_pwm
|
|
pin:
|
|
allow_other_uses: true
|
|
number: GPIO5
|
|
id: my_slow_pwm
|
|
period: 15s
|
|
restart_cycle_on_state_change: false
|
|
|
|
e131:
|
|
|
|
light:
|
|
- platform: neopixelbus
|
|
name: Neopixelbus Light
|
|
pin:
|
|
allow_other_uses: true
|
|
number: GPIO1
|
|
type: GRBW
|
|
variant: SK6812
|
|
method: ESP8266_UART0
|
|
num_leds: 100
|
|
effects:
|
|
- wled:
|
|
- adalight:
|
|
uart_id: uart_3
|
|
- e131:
|
|
universe: 1
|
|
- platform: hbridge
|
|
name: Icicle Lights
|
|
pin_a: out
|
|
pin_b: out2
|
|
- platform: sonoff_d1
|
|
uart_id: uart_2
|
|
use_rm433_remote: false
|
|
name: Sonoff D1 Dimmer
|
|
id: d1_light
|
|
restore_mode: RESTORE_DEFAULT_OFF
|
|
- platform: shelly_dimmer
|
|
name: "Shelly Dimmer Light"
|
|
power:
|
|
name: "Shelly Dimmer Power"
|
|
voltage:
|
|
name: "Shelly Dimmer Voltage"
|
|
current:
|
|
name: "Shelly Dimmer Current"
|
|
max_brightness: 500
|
|
firmware: "51.6"
|
|
uart_id: uart_11
|
|
nrst_pin:
|
|
number: 5
|
|
allow_other_uses: true
|
|
boot0_pin:
|
|
number: 4
|
|
allow_other_uses: true
|
|
|
|
sim800l:
|
|
uart_id: uart_4
|
|
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: uart_5
|
|
on_finished_playback:
|
|
then:
|
|
if:
|
|
condition:
|
|
not: dfplayer.is_playing
|
|
then:
|
|
logger.log: Playback finished event
|
|
tm1651:
|
|
id: tm1651_battery
|
|
clk_pin:
|
|
allow_other_uses: true
|
|
number: D6
|
|
dio_pin:
|
|
allow_other_uses: true
|
|
number: D5
|
|
|
|
rf_bridge:
|
|
uart_id: uart_5
|
|
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"
|
|
|
|
display:
|
|
- platform: nextion
|
|
uart_id: uart_1
|
|
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");'
|
|
on_setup:
|
|
then:
|
|
lambda: 'ESP_LOGD("display","Display setup completed");'
|
|
on_page:
|
|
then:
|
|
lambda: 'ESP_LOGD("display","Display shows new page %u", x);'
|
|
|
|
fingerprint_grow:
|
|
sensing_pin:
|
|
allow_other_uses: true
|
|
number: 4
|
|
password: 0x12FE37DC
|
|
new_password: 0xA65B9840
|
|
on_finger_scan_invalid:
|
|
- homeassistant.event:
|
|
event: esphome.${device_name}_fingerprint_grow_finger_scan_invalid
|
|
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: uart_6
|
|
|
|
dsmr:
|
|
decryption_key: 00112233445566778899aabbccddeeff
|
|
uart_id: uart_6
|
|
max_telegram_length: 1000
|
|
request_pin:
|
|
allow_other_uses: true
|
|
number: D5
|
|
request_interval: 20s
|
|
receive_timeout: 100ms
|
|
|
|
daly_bms:
|
|
update_interval: 20s
|
|
uart_id: uart_1
|
|
|
|
qr_code:
|
|
- id: homepage_qr
|
|
value: https://esphome.io/index.html
|
|
|
|
lightwaverf:
|
|
read_pin:
|
|
number: 13
|
|
write_pin:
|
|
allow_other_uses: true
|
|
number: 14
|
|
|
|
alarm_control_panel:
|
|
- platform: template
|
|
id: alarmcontrolpanel1
|
|
name: Alarm Panel
|
|
codes:
|
|
- "1234"
|
|
requires_code_to_arm: true
|
|
arming_home_time: 1s
|
|
arming_night_time: 1s
|
|
arming_away_time: 15s
|
|
pending_time: 15s
|
|
trigger_time: 30s
|
|
binary_sensors:
|
|
- input: bin1
|
|
bypass_armed_home: true
|
|
bypass_armed_night: true
|
|
on_state:
|
|
then:
|
|
- lambda: !lambda |-
|
|
ESP_LOGD("TEST", "State change %s", alarm_control_panel_state_to_string(id(alarmcontrolpanel1)->get_state()));
|
|
- platform: template
|
|
id: alarmcontrolpanel2
|
|
name: Alarm Panel
|
|
codes:
|
|
- "1234"
|
|
requires_code_to_arm: true
|
|
arming_home_time: 1s
|
|
arming_night_time: 1s
|
|
arming_away_time: 15s
|
|
pending_time: 15s
|
|
trigger_time: 30s
|
|
binary_sensors:
|
|
- input: bin1
|
|
bypass_armed_home: true
|
|
bypass_armed_night: true
|
|
on_disarmed:
|
|
then:
|
|
- logger.log: "### DISARMED ###"
|
|
on_pending:
|
|
then:
|
|
- logger.log: "### PENDING ###"
|
|
on_arming:
|
|
then:
|
|
- logger.log: "### ARMING ###"
|
|
on_armed_home:
|
|
then:
|
|
- logger.log: "### ARMED HOME ###"
|
|
on_armed_night:
|
|
then:
|
|
- logger.log: "### ARMED NIGHT ###"
|
|
on_armed_away:
|
|
then:
|
|
- logger.log: "### ARMED AWAY ###"
|
|
on_triggered:
|
|
then:
|
|
- logger.log: "### TRIGGERED ###"
|
|
on_cleared:
|
|
then:
|
|
- logger.log: "### CLEARED ###"
|