esphome/tests/test2.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