mirror of https://github.com/esphome/esphome.git
472 lines
11 KiB
YAML
472 lines
11 KiB
YAML
---
|
|
esphome:
|
|
name: $devicename
|
|
platform: ESP32
|
|
board: nodemcu-32s
|
|
build_path: build/test2
|
|
|
|
globals:
|
|
- id: my_global_string
|
|
type: std::string
|
|
restore_value: true
|
|
max_restore_data_length: 70
|
|
initial_value: '"DefaultValue"'
|
|
|
|
substitutions:
|
|
devicename: test2
|
|
|
|
ethernet:
|
|
type: LAN8720
|
|
mdc_pin:
|
|
allow_other_uses: true
|
|
number: GPIO23
|
|
mdio_pin:
|
|
allow_other_uses: true
|
|
number: GPIO25
|
|
clk_mode: GPIO0_IN
|
|
phy_addr: 0
|
|
power_pin:
|
|
allow_other_uses: true
|
|
number: GPIO25
|
|
manual_ip:
|
|
static_ip: 192.168.178.56
|
|
gateway: 192.168.178.1
|
|
subnet: 255.255.255.0
|
|
domain: .local
|
|
|
|
network:
|
|
enable_ipv6: true
|
|
|
|
mdns:
|
|
disabled: true
|
|
|
|
api:
|
|
|
|
i2c:
|
|
sda:
|
|
allow_other_uses: true
|
|
number: 21
|
|
scl:
|
|
allow_other_uses: true
|
|
number: 22
|
|
scan: false
|
|
|
|
spi:
|
|
clk_pin:
|
|
allow_other_uses: true
|
|
number: GPIO21
|
|
mosi_pin:
|
|
allow_other_uses: true
|
|
number: GPIO22
|
|
miso_pin:
|
|
allow_other_uses: true
|
|
number: GPIO23
|
|
|
|
uart:
|
|
tx_pin:
|
|
allow_other_uses: true
|
|
number: GPIO22
|
|
rx_pin:
|
|
allow_other_uses: true
|
|
number: GPIO23
|
|
baud_rate: 115200
|
|
# Specifically added for testing debug with no after: definition.
|
|
debug:
|
|
dummy_receiver: false
|
|
direction: rx
|
|
sequence:
|
|
- lambda: UARTDebug::log_hex(direction, bytes, ':');
|
|
|
|
ota:
|
|
safe_mode: true
|
|
port: 3286
|
|
num_attempts: 15
|
|
|
|
logger:
|
|
level: DEBUG
|
|
|
|
debug:
|
|
|
|
deep_sleep:
|
|
run_duration:
|
|
default: 20s
|
|
gpio_wakeup_reason: 10s
|
|
touch_wakeup_reason: 15s
|
|
sleep_duration: 50s
|
|
wakeup_pin:
|
|
allow_other_uses: true
|
|
number: GPIO2
|
|
wakeup_pin_mode: INVERT_WAKEUP
|
|
|
|
mcp3008:
|
|
- id: mcp3008_hub
|
|
cs_pin:
|
|
number: GPIO12
|
|
|
|
sensor:
|
|
- platform: homeassistant
|
|
entity_id: sensor.hello_world
|
|
id: ha_hello_world
|
|
- platform: homeassistant
|
|
entity_id: climate.living_room
|
|
attribute: temperature
|
|
id: ha_hello_world_temperature
|
|
- platform: senseair
|
|
id: senseair0
|
|
co2:
|
|
name: SenseAir CO2 Value
|
|
on_value:
|
|
then:
|
|
- senseair.background_calibration: senseair0
|
|
- senseair.background_calibration_result: senseair0
|
|
- senseair.abc_get_period: senseair0
|
|
- senseair.abc_enable: senseair0
|
|
- senseair.abc_disable: senseair0
|
|
update_interval: 15s
|
|
- platform: ruuvitag
|
|
mac_address: FF:56:D3:2F:7D:E8
|
|
humidity:
|
|
name: RuuviTag Humidity
|
|
temperature:
|
|
name: RuuviTag Temperature
|
|
pressure:
|
|
name: RuuviTag Pressure
|
|
acceleration_x:
|
|
name: RuuviTag Acceleration X
|
|
acceleration_y:
|
|
name: RuuviTag Acceleration Y
|
|
acceleration_z:
|
|
name: RuuviTag Acceleration Z
|
|
battery_voltage:
|
|
name: RuuviTag Battery Voltage
|
|
tx_power:
|
|
name: RuuviTag TX Power
|
|
movement_counter:
|
|
name: RuuviTag Movement Counter
|
|
measurement_sequence_number:
|
|
name: RuuviTag Measurement Sequence Number
|
|
- platform: xiaomi_hhccjcy10
|
|
mac_address: DD:25:6D:E4:FF:8F
|
|
temperature:
|
|
name: "Xiaomi HHCCJCY10 Temperature"
|
|
moisture:
|
|
name: "Xiaomi HHCCJCY10 Moisture"
|
|
illuminance:
|
|
name: "Xiaomi HHCCJCY10 Illuminance"
|
|
conductivity:
|
|
name: "Xiaomi HHCCJCY10 Soil Conductivity"
|
|
battery_level:
|
|
name: "Xiaomi HHCCJCY10 Battery Level"
|
|
- platform: inkbird_ibsth1_mini
|
|
mac_address: 38:81:D7:0A:9C:11
|
|
temperature:
|
|
name: Inkbird IBS-TH1 Temperature
|
|
humidity:
|
|
name: Inkbird IBS-TH1 Humidity
|
|
battery_level:
|
|
name: Inkbird IBS-TH1 Battery Level
|
|
- platform: sgp4x
|
|
voc:
|
|
name: VOC Index
|
|
id: sgp40_voc_index
|
|
algorithm_tuning:
|
|
index_offset: 100
|
|
learning_time_offset_hours: 12
|
|
learning_time_gain_hours: 12
|
|
gating_max_duration_minutes: 180
|
|
std_initial: 50
|
|
gain_factor: 230
|
|
nox:
|
|
name: NOx
|
|
algorithm_tuning:
|
|
index_offset: 100
|
|
learning_time_offset_hours: 12
|
|
learning_time_gain_hours: 12
|
|
gating_max_duration_minutes: 180
|
|
std_initial: 50
|
|
gain_factor: 230
|
|
update_interval: 5s
|
|
- platform: mcp3008
|
|
update_interval: 5s
|
|
mcp3008_id: mcp3008_hub
|
|
id: freezer_temp_source
|
|
reference_voltage: 3.19
|
|
number: 0
|
|
- platform: ina260
|
|
address: 0x40
|
|
current:
|
|
name: INA260 Current
|
|
power:
|
|
name: INA260 Power
|
|
bus_voltage:
|
|
name: INA260 Voltage
|
|
update_interval: 60s
|
|
- platform: radon_eye_rd200
|
|
ble_client_id: radon_eye_ble_id
|
|
update_interval: 10min
|
|
radon:
|
|
name: RD200 Radon
|
|
radon_long_term:
|
|
name: RD200 Radon Long Term
|
|
- platform: mopeka_pro_check
|
|
mac_address: D3:75:F2:DC:16:91
|
|
tank_type: CUSTOM
|
|
custom_distance_full: 40cm
|
|
custom_distance_empty: 10mm
|
|
temperature:
|
|
name: Propane test temp
|
|
level:
|
|
name: Propane test level
|
|
distance:
|
|
name: Propane test distance
|
|
battery_level:
|
|
name: Propane test battery level
|
|
- platform: mics_4514
|
|
update_interval: 60s
|
|
nitrogen_dioxide:
|
|
name: MICS-4514 NO2
|
|
carbon_monoxide:
|
|
name: MICS-4514 CO
|
|
methane:
|
|
name: MICS-4514 CH4
|
|
hydrogen:
|
|
name: MICS-4514 H2
|
|
ethanol:
|
|
name: MICS-4514 C2H5OH
|
|
ammonia:
|
|
name: MICS-4514 NH3
|
|
|
|
binary_sensor:
|
|
- platform: homeassistant
|
|
entity_id: binary_sensor.hello_world
|
|
id: ha_hello_world_binary
|
|
- platform: homeassistant
|
|
entity_id: binary_sensor.hello
|
|
attribute: world
|
|
id: ha_hello_world_binary_attribute
|
|
- platform: gpio
|
|
id: gpio_set_retry_test
|
|
pin:
|
|
allow_other_uses: true
|
|
number: GPIO9
|
|
on_press:
|
|
then:
|
|
- lambda: |-
|
|
App.scheduler.set_retry(id(gpio_set_retry_test), "set_retry_test", 100, 3, [](const uint8_t remaining) {
|
|
return remaining ? RetryResult::RETRY : RetryResult::DONE; // just to reference both symbols
|
|
}, 5.0f);
|
|
|
|
ble_client:
|
|
- mac_address: 01:02:03:04:05:06
|
|
id: airthings01
|
|
- mac_address: 01:02:03:04:05:06
|
|
id: airthingsmini01
|
|
- mac_address: 01:02:03:04:05:06
|
|
id: radon_eye_ble_id
|
|
|
|
airthings_ble:
|
|
|
|
radon_eye_ble:
|
|
|
|
ruuvi_ble:
|
|
|
|
xiaomi_ble:
|
|
|
|
mopeka_ble:
|
|
|
|
bluetooth_proxy:
|
|
active: true
|
|
|
|
status_led:
|
|
pin:
|
|
allow_other_uses: true
|
|
number: GPIO2
|
|
|
|
text_sensor:
|
|
- platform: version
|
|
name: ESPHome Version
|
|
icon: mdi:icon
|
|
id: version_sensor
|
|
on_value:
|
|
- if:
|
|
condition:
|
|
- api.connected:
|
|
then:
|
|
# 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.execute:
|
|
id: my_script_with_params
|
|
prefix: Running my_script_with_params
|
|
param2: 100
|
|
param3: true
|
|
- script.execute:
|
|
id: my_script_with_params
|
|
prefix: Running my_script_with_params using lambda parameters
|
|
param2: !lambda return 200;
|
|
param3: !lambda return true;
|
|
- homeassistant.service:
|
|
service: notify.html5
|
|
data:
|
|
title: New Humidity
|
|
data_template:
|
|
message: The humidity is {{ my_variable }}%.
|
|
variables:
|
|
my_variable: |-
|
|
return id(version_sensor).state;
|
|
my_variable_str: |-
|
|
return "Hello World";
|
|
- homeassistant.service:
|
|
service: light.turn_on
|
|
data:
|
|
entity_id: light.my_light
|
|
- homeassistant.tag_scanned:
|
|
tag: 1234-abcd
|
|
- homeassistant.tag_scanned: 1234-abcd
|
|
- deep_sleep.enter:
|
|
sleep_duration: 30min
|
|
- deep_sleep.enter:
|
|
sleep_duration: !lambda "return 30 * 60 * 1000;"
|
|
- platform: template
|
|
name: Template Text Sensor
|
|
lambda: |-
|
|
return {"Hello World"};
|
|
filters:
|
|
- to_upper:
|
|
- to_lower:
|
|
- append: xyz
|
|
- prepend: abcd
|
|
- substitute:
|
|
- Hello -> Goodbye
|
|
- map:
|
|
- red -> green
|
|
- lambda: 'return {"1234"};'
|
|
- platform: homeassistant
|
|
entity_id: sensor.hello_world2
|
|
id: ha_hello_world2
|
|
- platform: homeassistant
|
|
entity_id: sensor.hello_world3
|
|
id: ha_hello_world3
|
|
attribute: some_attribute
|
|
|
|
script:
|
|
- id: my_script
|
|
mode: single
|
|
then:
|
|
- lambda: 'ESP_LOGD("main", "Hello World!");'
|
|
- id: my_script_queued
|
|
mode: queued
|
|
max_runs: 2
|
|
then:
|
|
- lambda: 'ESP_LOGD("main", "Hello World!");'
|
|
- id: my_script_parallel
|
|
mode: parallel
|
|
max_runs: 2
|
|
then:
|
|
- lambda: 'ESP_LOGD("main", "Hello World!");'
|
|
- id: my_script_restart
|
|
mode: restart
|
|
then:
|
|
- lambda: 'ESP_LOGD("main", "Hello World!");'
|
|
- id: my_script_with_params
|
|
parameters:
|
|
prefix: string
|
|
param2: int
|
|
param3: bool
|
|
then:
|
|
- lambda: 'ESP_LOGD("main", (prefix + " Hello World!" + to_string(param2) + " " + to_string(param3)).c_str());'
|
|
|
|
interval:
|
|
interval: 5s
|
|
startup_delay: 10s
|
|
then:
|
|
- logger.log: Interval Run
|
|
|
|
display:
|
|
- platform: st7789v
|
|
model: LILYGO_T-EMBED_170X320
|
|
spi_mode: mode0
|
|
height: 320
|
|
width: 170
|
|
offset_height: 35
|
|
offset_width: 0
|
|
dc_pin: GPIO13
|
|
reset_pin:
|
|
allow_other_uses: true
|
|
number: GPIO9
|
|
|
|
image:
|
|
- id: binary_image
|
|
file: pnglogo.png
|
|
type: BINARY
|
|
dither: FloydSteinberg
|
|
- id: transparent_transparent_image
|
|
file: pnglogo.png
|
|
type: TRANSPARENT_BINARY
|
|
- id: rgba_image
|
|
file: pnglogo.png
|
|
type: RGBA
|
|
resize: 50x50
|
|
- id: rgb24_image
|
|
file: pnglogo.png
|
|
type: RGB24
|
|
use_transparency: true
|
|
- id: rgb565_image
|
|
file: pnglogo.png
|
|
type: RGB565
|
|
use_transparency: false
|
|
- id: web_svg_image
|
|
file: https://raw.githubusercontent.com/esphome/esphome-docs/a62d7ab193c1a464ed791670170c7d518189109b/images/logo.svg
|
|
resize: 256x48
|
|
type: TRANSPARENT_BINARY
|
|
- id: web_tiff_image
|
|
file: https://upload.wikimedia.org/wikipedia/commons/b/b6/SIPI_Jelly_Beans_4.1.07.tiff
|
|
type: RGB24
|
|
resize: 48x48
|
|
- id: web_redirect_image
|
|
file: https://avatars.githubusercontent.com/u/3060199?s=48&v=4
|
|
type: RGB24
|
|
resize: 48x48
|
|
|
|
- id: mdi_alert
|
|
file: mdi:alert-circle-outline
|
|
resize: 50x50
|
|
- id: another_alert_icon
|
|
file: mdi:alert-outline
|
|
type: BINARY
|
|
|
|
switch:
|
|
- platform: template
|
|
name: Test BLE Write Action
|
|
turn_on_action:
|
|
- ble_client.ble_write:
|
|
id: airthings01
|
|
service_uuid: F61E3BE9-2826-A81B-970A-4D4DECFABBAE
|
|
characteristic_uuid: 6490FAFE-0734-732C-8705-91B653A081FC
|
|
value: [0x01, 0xab, 0xff]
|
|
- ble_client.ble_write:
|
|
id: airthings01
|
|
service_uuid: F61E3BE9-2826-A81B-970A-4D4DECFABBAE
|
|
characteristic_uuid: 6490FAFE-0734-732C-8705-91B653A081FC
|
|
value: !lambda |-
|
|
return {0x13, 0x37};
|
|
|
|
text:
|
|
- platform: template
|
|
name: My Text
|
|
id: my_text
|
|
min_length: 0
|
|
max_length: 20
|
|
mode: text
|
|
pattern: "[a-z]+"
|
|
optimistic: true
|
|
restore_value: true
|
|
initial_value: "Hello World"
|
|
- platform: copy
|
|
name: My Text Copy
|
|
id: my_text_copy
|
|
source_id: my_text
|
|
mode: password
|