esphome/tests/test3.yaml

1257 lines
28 KiB
YAML
Raw Normal View History

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
2019-05-08 11:31:06 +02:00
includes:
- custom.h
substitutions:
device_name: test3
device_comment: test3 device
2020-11-20 03:59:19 +01:00
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
2021-04-29 00:08:27 +02:00
- 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
2020-12-01 23:41:39 +01:00
reboot_timeout: 15min
logger:
hardware_uart: UART1
level: DEBUG
2019-05-08 11:31:06 +02:00
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
2020-11-20 03:59:19 +01:00
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
2020-03-21 19:31:07 +01:00
temperature:
2020-11-20 03:59:19 +01:00
name: 'Temperature'
2020-03-21 19:31:07 +01:00
humidity:
2020-11-20 03:59:19 +01:00
name: 'Humidity'
- platform: am2320
temperature:
2020-11-20 03:59:19 +01:00
name: 'Temperature'
humidity:
2020-11-20 03:59:19 +01:00
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
2019-05-28 22:27:39 +02:00
- 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: |-
2019-05-08 11:31:06 +02:00
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
2020-11-15 21:30:14 +01:00
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:
2020-11-20 03:59:19 +01:00
name: 'PZEM00T Voltage'
current:
2020-11-20 03:59:19 +01:00
name: 'PZEM004T Current'
power:
2020-11-20 03:59:19 +01:00
name: 'PZEM004T Power'
- platform: pzemac
voltage:
2020-11-20 03:59:19 +01:00
name: 'PZEMAC Voltage'
current:
2020-11-20 03:59:19 +01:00
name: 'PZEMAC Current'
power:
2020-11-20 03:59:19 +01:00
name: 'PZEMAC Power'
energy:
2020-11-20 03:59:19 +01:00
name: 'PZEMAC Energy'
frequency:
2020-11-20 03:59:19 +01:00
name: 'PZEMAC Frequency'
power_factor:
2020-11-20 03:59:19 +01:00
name: 'PZEMAC Power Factor'
- platform: pzemdc
voltage:
2020-11-20 03:59:19 +01:00
name: 'PZEMDC Voltage'
current:
2020-11-20 03:59:19 +01:00
name: 'PZEMDC Current'
power:
2020-11-20 03:59:19 +01:00
name: 'PZEMDC Power'
- platform: tmp102
2020-11-20 03:59:19 +01:00
name: 'TMP102 Temperature'
- platform: hm3301
pm_1_0:
2020-11-20 03:59:19 +01:00
name: 'PM1.0'
pm_2_5:
2020-11-20 03:59:19 +01:00
name: 'PM2.5'
pm_10_0:
2020-11-20 03:59:19 +01:00
name: 'PM10.0'
aqi:
2020-11-20 03:59:19 +01:00
name: 'AQI'
calculation_type: 'AQI'
- platform: pmsx003
uart_id: uart2
type: PMSX003
pm_1_0:
2020-11-20 03:59:19 +01:00
name: 'PM 1.0 Concentration'
pm_2_5:
2020-11-20 03:59:19 +01:00
name: 'PM 2.5 Concentration'
pm_10_0:
2020-11-20 03:59:19 +01:00
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:
2020-11-20 03:59:19 +01:00
name: 'CSE7766 Voltage'
current:
2020-11-20 03:59:19 +01:00
name: 'CSE7766 Current'
power:
2020-11-20 03:59:19 +01:00
name: 'CSE776 Power'
- platform: ezo
id: ph_ezo
address: 99
unit_of_measurement: 'pH'
- platform: tof10120
name: "Distance sensor"
update_interval: 5s
2021-04-29 00:08:27 +02:00
- 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:
2020-11-20 03:59:19 +01:00
- 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
2020-11-20 03:59:19 +01:00
name: 'touchkey0'
- platform: mpr121
channel: 1
2020-11-20 03:59:19 +01:00
name: 'touchkey1'
id: bin1
- platform: mpr121
channel: 2
2020-11-20 03:59:19 +01:00
name: 'touchkey2'
id: bin2
- platform: mpr121
channel: 3
2020-11-20 03:59:19 +01:00
name: 'touchkey3'
id: bin3
on_press:
then:
- switch.toggle: mpr121_toggle
- platform: ttp229_lsf
channel: 1
name: TTP229 LSF Test
2019-05-10 21:44:02 +02:00
- platform: ttp229_bsf
channel: 1
name: TTP229 BSF Test
2021-04-29 00:08:27 +02:00
- platform: fingerprint_grow
name: "Fingerprint Enrolling"
- platform: custom
lambda: |-
2019-05-08 11:31:06 +02:00
auto s = new CustomBinarySensor();
App.register_component(s);
return {s};
2019-05-08 11:31:06 +02:00
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
2020-11-20 03:59:19 +01:00
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
2020-11-20 03:59:19 +01:00
name: 'Template Text Sensor'
lambda: |-
return {"Hello World"};
- platform: homeassistant
entity_id: sensor.hello_world2
id: ha_hello_world2
2019-05-08 11:31:06 +02:00
- 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
2020-11-20 03:59:19 +01:00
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: |-
2019-05-08 11:31:06 +02:00
auto s = new CustomSwitch();
return {s};
2019-05-08 11:31:06 +02:00
switches:
- id: custom_switch
name: Custom Switch
- platform: nextion
id: r0
name: 'R0 Switch'
component_name: page0.r0
2019-05-08 11:31:06 +02:00
custom_component:
2020-11-20 03:59:19 +01:00
lambda: |-
auto s = new CustomComponent();
s->set_update_interval(15000);
return {s};
2019-05-08 11:31:06 +02:00
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:
2020-11-20 03:59:19 +01:00
- 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
2021-08-10 10:16:44 +02:00
supplemental_cooling_action:
- switch.turn_on: gpio_switch3
heat_action:
- switch.turn_on: gpio_switch1
2021-08-10 10:16:44 +02:00
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
2021-08-10 10:16:44 +02:00
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
2020-11-20 03:59:19 +01:00
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
2020-11-20 03:59:19 +01:00
tilt_lambda: 'return 0.5;'
tilt_action:
- output.set_level:
id: out
2020-11-20 03:59:19 +01:00
level: !lambda 'return tilt;'
position_action:
- output.set_level:
id: out
2020-11-20 03:59:19 +01:00
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
Add AC Dimmer support (#880) * Add AC Dimmer support Fixes https://github.com/esphome/feature-requests/issues/278 * fixes basically missed the output pin setup and in the switching was switching true true true :P * Format * Enable ESP32 * Also setup ZC pin * Support multiple dimmers sharing ZC pin * Fix ESP32 * Lint * off gate on zc detect * tests pins validation * Climate Mitsubishi (#725) * add climate * Mitsubishi updates * refactor mitsubishi to use climate_ir * lint * fix: only decode when not str already (#923) Signed-off-by: wilmardo <info@wilmardenouden.nl> * fix climate-ir bad merge (#935) * fix climate-ir bad merge * add mitshubishi test * http_request: fix memory allocation (#916) * http_request version fix (#917) * PID Climate (#885) * PID Climate * Add sensor for debugging PID output value * Add dump_config, use percent * Add more observable values * Update * Set target temperature * Add autotuner * Add algorithm explanation * Add autotuner action, update controller * Add simulator * Format * Change defaults * Updates * Use b''.decode() instead of str(b'') (#941) Handling of request arguments in WizardRequestHandler is not decoding bytes and rather just doing a str conversion resulting in a value of "b''" being supplied to the wizard code. * Adding the espressif 2.6.3 (#944) * extract and use current version of python 3 (#938) * Inverted output in neopixelbus (#895) * Added inverted output * Added support for inverted output in neopixelbus * Update esphome/components/neopixelbus/light.py Co-Authored-By: Otto Winter <otto@otto-winter.com> * Update light.py * corrected lint errors Co-authored-by: Otto Winter <otto@otto-winter.com> * Added degree symbol for MAX7219 7-segment display. (#764) The ascii char to use it is "~" (0x7E). Disclaimer: I didn't test this yet. * Fix dump/tx of 64 bit codes (#940) * Fix dump/tx of 64 bit codes * fixed source format * Update hdc1080.cpp (#887) * Update hdc1080.cpp increase waittime, to fix reading errors * Fix: Update HDC1080.cpp i fixed the my change on write_bytes * add tcl112 support for dry, fan and swing (#939) * Fix SGP30 incorrect baseline reading/writing (#936) * Split the SGP30 baseline into 2 values - According to the SGP30 datasheet, each eCO2 and TVOC baseline is a 2-byte value (MSB first) - The current implementation ignores the MSB of each of the value - Update the schema to allow 2 different baseline values (optional, but both need to be specified for the baseline to apply) * Make both eCO2 and TVOC required if the optional baseline is defined * Make dump_config() looks better * Add register_*_effect to allow registering custom effects (#947) This allows to register custom effect from user components, allowing for bigger composability of source. * Bugfix/normalize core comparisons (and Python 3 update fixes) (#952) * Correct implementation of comparisons to be Pythonic If a comparison cannot be made return NotImplemented, this allows the Python interpreter to try other comparisons (eg __ieq__) and either return False (in the case of __eq__) or raise a TypeError exception (eg in the case of __lt__). * Python 3 updates * Add a more helpful message in exception if platform is not defined * Added a basic pre-commit check * Add transmit pioneer (#922) * Added pioneer_protocol to support transmit_pioneer * Display tm1637 (#946) * add TM1637 support * Support a further variant of Xiaomi CGG1 (#930) * Daikin climate ir component (#964) * Daikin ARC43XXX IR remote controller support * Format and lint fixes * Check temperature values against allowed min/max * fix tm1637 missing __init__.py (#975) * Add AC Dimmer support Fixes https://github.com/esphome/feature-requests/issues/278 * fixes basically missed the output pin setup and in the switching was switching true true true :P * Format * Enable ESP32 * Also setup ZC pin * Support multiple dimmers sharing ZC pin * Fix ESP32 * Lint * off gate on zc detect * tests pins validation * fix esp8266 many dimmers, changed timing * Increased value resolution, added min power * use min_power from base class * fix min_power. add init with half cycle * added method for trailing pulse, trailing and leading * fix method name. try filter invalid falling pulse * renamed to ac_dimmer * fix ESP32 not configuring zero cross twice Co-authored-by: Guillermo Ruffino <glm.net@gmail.com> Co-authored-by: Wilmar den Ouden <wilmardo@users.noreply.github.com> Co-authored-by: Nikolay Vasilchuk <Anonym.tsk@gmail.com> Co-authored-by: Tim Savage <tim@savage.company> Co-authored-by: Vc <37367415+Valcob@users.noreply.github.com> Co-authored-by: gitolicious <mrjchn@gmail.com> Co-authored-by: voibit <krestean@gmail.com> Co-authored-by: Luar Roji <cyberplant@users.noreply.github.com> Co-authored-by: András Bíró <1202136+andrasbiro@users.noreply.github.com> Co-authored-by: dmkif <dmkif@users.noreply.github.com> Co-authored-by: Panuruj Khambanonda (PK) <pk@panurujk.com> Co-authored-by: Kamil Trzciński <ayufan@ayufan.eu> Co-authored-by: Keith Burzinski <kbx81x@gmail.com> Co-authored-by: Mario <4376789+mario-tux@users.noreply.github.com> Co-authored-by: Héctor Giménez <hector.fwbz@gmail.com>
2020-04-10 05:07:18 +02:00
- 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:
2019-05-10 21:44:02 +02:00
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:
2020-11-20 03:59:19 +01:00
not: dfplayer.is_playing
then:
logger.log: 'Playback finished event'
tm1651:
id: tm1651_battery
clk_pin: D6
dio_pin: D5
Max7219 in Dot Matrix configuration (#1053) * push final files * Update max7219digit.cpp reenter small bug fix on uint8 declaration * small debug * set max offset to 100 * remove unwanted file * Update font file to make travis happy * travis update * further progress in keeping Yarvis happy * travis font * travis will never be satisfied but one step ahead * YARVIS TAKE 10000000 * never ending yarvis * Almost there with Yarvis * removed double declaration YARVIS * added namespace to font file (TRAVIS) * almost there last changes for YARVIS * further travis updates * removed files for travis * fix display.py length of line travis remark * further update on display.py * file delete travis requirement * final entry for travis? * Some further debug on max offset * Travis updates * scroll_left_new * 90degreesrotate * added option to config rotate90 * four orientations for the chips * new setup for scroll * replaced small bug missing {} * debug changed int8 to int16 on scroll function * removed small merge failure * travis updates round 1 * travis updates round 2 * travis details round 3 * added options to set scroll parameters in yaml conf * removed ttf and png to satisfy travis * travis update * travis updates * travis * further updates after input from @glmnet * remove deleted comments * Added ENUM TYPE to config file * change in test file * removed test files * updates for pull request * Typing error removed * travis update * PR updates travis * Update test3.yaml * Update test3.yaml * update device schema as per #988 * Delete partitions.csv * repair on image display and invert routine * further update and a bit of cleanup * added writing 0 in draw pixel * small deletion error * travis updates * Update max7219digit.cpp adding intensity value to dynamically set value * Update max7219digit.h adding option for intensity * remove some files from tests
2020-06-28 22:33:06 +02:00
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
Max7219 in Dot Matrix configuration (#1053) * push final files * Update max7219digit.cpp reenter small bug fix on uint8 declaration * small debug * set max offset to 100 * remove unwanted file * Update font file to make travis happy * travis update * further progress in keeping Yarvis happy * travis font * travis will never be satisfied but one step ahead * YARVIS TAKE 10000000 * never ending yarvis * Almost there with Yarvis * removed double declaration YARVIS * added namespace to font file (TRAVIS) * almost there last changes for YARVIS * further travis updates * removed files for travis * fix display.py length of line travis remark * further update on display.py * file delete travis requirement * final entry for travis? * Some further debug on max offset * Travis updates * scroll_left_new * 90degreesrotate * added option to config rotate90 * four orientations for the chips * new setup for scroll * replaced small bug missing {} * debug changed int8 to int16 on scroll function * removed small merge failure * travis updates round 1 * travis updates round 2 * travis details round 3 * added options to set scroll parameters in yaml conf * removed ttf and png to satisfy travis * travis update * travis updates * travis * further updates after input from @glmnet * remove deleted comments * Added ENUM TYPE to config file * change in test file * removed test files * updates for pull request * Typing error removed * travis update * PR updates travis * Update test3.yaml * Update test3.yaml * update device schema as per #988 * Delete partitions.csv * repair on image display and invert routine * further update and a bit of cleanup * added writing 0 in draw pixel * small deletion error * travis updates * Update max7219digit.cpp adding intensity value to dynamically set value * Update max7219digit.h adding option for intensity * remove some files from tests
2020-06-28 22:33:06 +02:00
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
Max7219 in Dot Matrix configuration (#1053) * push final files * Update max7219digit.cpp reenter small bug fix on uint8 declaration * small debug * set max offset to 100 * remove unwanted file * Update font file to make travis happy * travis update * further progress in keeping Yarvis happy * travis font * travis will never be satisfied but one step ahead * YARVIS TAKE 10000000 * never ending yarvis * Almost there with Yarvis * removed double declaration YARVIS * added namespace to font file (TRAVIS) * almost there last changes for YARVIS * further travis updates * removed files for travis * fix display.py length of line travis remark * further update on display.py * file delete travis requirement * final entry for travis? * Some further debug on max offset * Travis updates * scroll_left_new * 90degreesrotate * added option to config rotate90 * four orientations for the chips * new setup for scroll * replaced small bug missing {} * debug changed int8 to int16 on scroll function * removed small merge failure * travis updates round 1 * travis updates round 2 * travis details round 3 * added options to set scroll parameters in yaml conf * removed ttf and png to satisfy travis * travis update * travis updates * travis * further updates after input from @glmnet * remove deleted comments * Added ENUM TYPE to config file * change in test file * removed test files * updates for pull request * Typing error removed * travis update * PR updates travis * Update test3.yaml * Update test3.yaml * update device schema as per #988 * Delete partitions.csv * repair on image display and invert routine * further update and a bit of cleanup * added writing 0 in draw pixel * small deletion error * travis updates * Update max7219digit.cpp adding intensity value to dynamically set value * Update max7219digit.h adding option for intensity * remove some files from tests
2020-06-28 22:33:06 +02:00
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
2021-04-29 00:08:27 +02:00
fingerprint_grow:
sensing_pin: 4
password: 0x12FE37DC
new_password: 0xA65B9840
on_finger_scan_matched:
- homeassistant.event:
2021-06-17 11:39:59 +02:00
event: esphome.${device_name}_fingerprint_grow_finger_scan_matched
2021-04-29 00:08:27 +02:00
data:
finger_id: !lambda 'return finger_id;'
confidence: !lambda 'return confidence;'
on_finger_scan_unmatched:
- homeassistant.event:
2021-06-17 11:39:59 +02:00
event: esphome.${device_name}_fingerprint_grow_finger_scan_unmatched
2021-04-29 00:08:27 +02:00
on_enrollment_scan:
- homeassistant.event:
2021-06-17 11:39:59 +02:00
event: esphome.${device_name}_fingerprint_grow_enrollment_scan
2021-04-29 00:08:27 +02:00
data:
finger_id: !lambda 'return finger_id;'
scan_num: !lambda 'return scan_num;'
on_enrollment_done:
- homeassistant.event:
2021-06-17 11:39:59 +02:00
event: esphome.${device_name}_fingerprint_grow_node_enrollment_done
2021-04-29 00:08:27 +02:00
data:
finger_id: !lambda 'return finger_id;'
on_enrollment_failed:
- homeassistant.event:
2021-06-17 11:39:59 +02:00
event: esphome.${device_name}_fingerprint_grow_enrollment_failed
2021-04-29 00:08:27 +02:00
data:
finger_id: !lambda 'return finger_id;'
uart_id: uart6
dsmr:
decryption_key: 00112233445566778899aabbccddeeff
uart_id: uart6