mirror of
https://github.com/esphome/esphome.git
synced 2024-11-26 08:55:22 +01:00
11f1e28139
Currently, in each loop during DisplayBuffer::update_() the display is cleared by calling DisplayBuffer::clear(). This prevents more efficient display usages that do not render the screen in each loop, but only if necessary. This can be helpful, for example, if images are rendered. This would cause the loop time to be exceeded frequently. This change adds a new optional flag "auto_clear" that can be used to control the clearing behavior. If unset, the DisplayBuffer defaults to enabled auto clearing, the current behavior and thus backward compatible. This flag applies to displays that use DisplayBuffer. Example excerpt: globals: - id: state type: bool restore_value: no initial_value: "false" - id: state_processed type: bool restore_value: no initial_value: "false" switch: - platform: template name: "State" id: state_switch lambda: |- return id(state); turn_on_action: - globals.set: id: state value: "true" - globals.set: id: state_processed value: "false" turn_off_action: - globals.set: id: state value: "false" - globals.set: id: state_processed value: "false" display: - platform: ili9341 # ... auto_clear_enabled: false lambda: |- if (!id(state_processed)) { it.fill(COLOR_WHITE); if (id(state)) { it.image(80, 20, id(image1)); } else { it.image(80, 20, id(image2)); } id(state_processed) = true; } Co-authored-by: Tim Niemueller <timdn@google.com>
2501 lines
57 KiB
YAML
2501 lines
57 KiB
YAML
substitutions:
|
|
devicename: test1
|
|
sensorname: my
|
|
textname: template
|
|
roomname: living_room
|
|
|
|
esphome:
|
|
name: test1
|
|
name_add_mac_suffix: true
|
|
platform: ESP32
|
|
board: nodemcu-32s
|
|
platformio_options:
|
|
board_build.partitions: huge_app.csv
|
|
on_boot:
|
|
priority: 150.0
|
|
then:
|
|
- lambda: >-
|
|
ESP_LOGD("main", "ON BOOT!");
|
|
on_shutdown:
|
|
then:
|
|
- lambda: >-
|
|
ESP_LOGD("main", "ON SHUTDOWN!");
|
|
on_loop:
|
|
then:
|
|
- lambda: >-
|
|
ESP_LOGV("main", "ON LOOP!");
|
|
- light.addressable_set:
|
|
id: addr1
|
|
range_from: 0
|
|
range_to: 100
|
|
red: 100%
|
|
green: !lambda 'return 255;'
|
|
blue: 0%
|
|
white: 100%
|
|
- 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(${textname}_text).state;
|
|
greeting: 'Hello World'
|
|
- http_request.send:
|
|
method: PUT
|
|
url: https://esphome.io
|
|
headers:
|
|
Content-Type: application/json
|
|
body: 'Some data'
|
|
verify_ssl: false
|
|
on_response:
|
|
then:
|
|
- logger.log:
|
|
format: 'Response status: %d'
|
|
args:
|
|
- status_code
|
|
build_path: build/test1
|
|
|
|
packages:
|
|
wifi: !include test_packages/test_packages_package_wifi.yaml
|
|
pkg_test: !include test_packages/test_packages_package1.yaml
|
|
|
|
wifi:
|
|
networks:
|
|
- ssid: 'MySSID'
|
|
password: 'password1'
|
|
- ssid: 'MySSID2'
|
|
password: ''
|
|
channel: 14
|
|
bssid: 'A1:63:95:47:D3:1D'
|
|
manual_ip:
|
|
static_ip: 192.168.178.230
|
|
gateway: 192.168.178.1
|
|
subnet: 255.255.255.0
|
|
dns1: 1.1.1.1
|
|
dns2: 1.2.2.1
|
|
domain: .local
|
|
reboot_timeout: 120s
|
|
power_save_mode: light
|
|
|
|
mdns:
|
|
disabled: false
|
|
|
|
http_request:
|
|
useragent: esphome/device
|
|
timeout: 10s
|
|
|
|
mqtt:
|
|
broker: '192.168.178.84'
|
|
port: 1883
|
|
username: 'debug'
|
|
password: 'debug'
|
|
client_id: someclient
|
|
use_abbreviations: false
|
|
discovery: True
|
|
discovery_retain: False
|
|
discovery_prefix: discovery
|
|
topic_prefix: helloworld
|
|
log_topic:
|
|
topic: helloworld/hi
|
|
level: INFO
|
|
birth_message:
|
|
will_message:
|
|
shutdown_message:
|
|
topic: topic/to/send/to
|
|
payload: hi
|
|
qos: 2
|
|
retain: True
|
|
keepalive: 60s
|
|
reboot_timeout: 60s
|
|
on_message:
|
|
- topic: my/custom/topic
|
|
qos: 0
|
|
then:
|
|
- lambda: >-
|
|
ESP_LOGD("main", "Got message %s", x.c_str());
|
|
- topic: livingroom/ota_mode
|
|
then:
|
|
- deep_sleep.prevent
|
|
- topic: livingroom/ota_mode
|
|
then:
|
|
- deep_sleep.enter:
|
|
on_json_message:
|
|
topic: the/topic
|
|
then:
|
|
- if:
|
|
condition:
|
|
- wifi.connected:
|
|
- mqtt.connected:
|
|
- light.is_on: kitchen
|
|
- light.is_off: kitchen
|
|
- fan.is_on: fan_speed
|
|
- fan.is_off: fan_speed
|
|
then:
|
|
- lambda: |-
|
|
int data = x["my_data"];
|
|
ESP_LOGD("main", "The data is: %d", data);
|
|
- light.turn_on:
|
|
id: ${roomname}_lights
|
|
brightness: !lambda |-
|
|
float brightness = 1.0;
|
|
if (x.containsKey("brightness"))
|
|
brightness = x["brightness"];
|
|
return brightness;
|
|
effect: !lambda |-
|
|
const char *effect = "None";
|
|
if (x.containsKey("effect"))
|
|
effect = x["effect"];
|
|
return effect;
|
|
- light.control:
|
|
id: ${roomname}_lights
|
|
brightness: !lambda 'return id(${roomname}_lights).current_values.get_brightness() + 0.5;'
|
|
- light.dim_relative:
|
|
id: ${roomname}_lights
|
|
relative_brightness: 5%
|
|
- uart.write:
|
|
id: uart0
|
|
data: Hello World
|
|
- uart.write:
|
|
id: uart0
|
|
data: [0x00, 0x20, 0x30]
|
|
- uart.write:
|
|
id: uart0
|
|
data: !lambda |-
|
|
return {};
|
|
|
|
i2c:
|
|
sda: 21
|
|
scl: 22
|
|
scan: True
|
|
frequency: 100kHz
|
|
setup_priority: -100
|
|
id: i2c_bus
|
|
|
|
spi:
|
|
clk_pin: GPIO21
|
|
mosi_pin: GPIO22
|
|
miso_pin: GPIO23
|
|
|
|
uart:
|
|
- tx_pin:
|
|
number: GPIO22
|
|
inverted: yes
|
|
rx_pin:
|
|
number: GPIO23
|
|
inverted: yes
|
|
baud_rate: 115200
|
|
id: uart0
|
|
parity: NONE
|
|
data_bits: 8
|
|
stop_bits: 1
|
|
rx_buffer_size: 512
|
|
|
|
- id: adalight_uart
|
|
tx_pin: GPIO25
|
|
rx_pin: GPIO26
|
|
baud_rate: 115200
|
|
rx_buffer_size: 1024
|
|
|
|
ota:
|
|
safe_mode: True
|
|
password: 'superlongpasswordthatnoonewillknow'
|
|
port: 3286
|
|
reboot_timeout: 2min
|
|
num_attempts: 5
|
|
on_state_change:
|
|
then:
|
|
lambda: >-
|
|
ESP_LOGD("ota", "State %d", state);
|
|
on_begin:
|
|
then:
|
|
logger.log: "OTA begin"
|
|
on_progress:
|
|
then:
|
|
lambda: >-
|
|
ESP_LOGD("ota", "Got progress %f", x);
|
|
on_end:
|
|
then:
|
|
logger.log: "OTA end"
|
|
on_error:
|
|
then:
|
|
lambda: >-
|
|
ESP_LOGD("ota", "Got error code %d", x);
|
|
|
|
logger:
|
|
baud_rate: 0
|
|
level: VERBOSE
|
|
logs:
|
|
mqtt.component: DEBUG
|
|
mqtt.client: ERROR
|
|
|
|
web_server:
|
|
port: 8080
|
|
css_url: https://esphome.io/_static/webserver-v1.min.css
|
|
js_url: https://esphome.io/_static/webserver-v1.min.js
|
|
|
|
power_supply:
|
|
id: 'atx_power_supply'
|
|
enable_time: 20ms
|
|
keep_on_time: 10s
|
|
pin:
|
|
number: 13
|
|
inverted: true
|
|
|
|
deep_sleep:
|
|
run_duration: 20s
|
|
sleep_duration: 50s
|
|
wakeup_pin: GPIO39
|
|
wakeup_pin_mode: INVERT_WAKEUP
|
|
|
|
ads1115:
|
|
address: 0x48
|
|
i2c_id: i2c_bus
|
|
|
|
dallas:
|
|
pin: GPIO23
|
|
|
|
as3935_spi:
|
|
cs_pin: GPIO12
|
|
irq_pin: GPIO13
|
|
|
|
wled:
|
|
|
|
adalight:
|
|
|
|
esp32_ble_tracker:
|
|
|
|
ble_client:
|
|
- mac_address: AA:BB:CC:DD:EE:FF
|
|
id: ble_foo
|
|
- mac_address: 11:22:33:44:55:66
|
|
id: ble_blah
|
|
on_connect:
|
|
then:
|
|
- switch.turn_on: ble1_status
|
|
on_disconnect:
|
|
then:
|
|
- switch.turn_on: ble1_status
|
|
mcp23s08:
|
|
- id: 'mcp23s08_hub'
|
|
cs_pin: GPIO12
|
|
deviceaddress: 0
|
|
|
|
mcp23s17:
|
|
- id: 'mcp23s17_hub'
|
|
cs_pin: GPIO12
|
|
deviceaddress: 1
|
|
|
|
sensor:
|
|
- platform: ble_client
|
|
ble_client_id: ble_foo
|
|
name: 'Green iTag btn'
|
|
service_uuid: 'ffe0'
|
|
characteristic_uuid: 'ffe1'
|
|
descriptor_uuid: 'ffe2'
|
|
notify: true
|
|
update_interval: never
|
|
lambda: |-
|
|
ESP_LOGD("main", "Length of data is %i", x.size());
|
|
return x[0];
|
|
on_notify:
|
|
then:
|
|
- lambda: |-
|
|
ESP_LOGD("green_btn", "Button was pressed, val%f", x);
|
|
- platform: adc
|
|
pin: A0
|
|
name: 'Living Room Brightness'
|
|
update_interval: '1:01'
|
|
attenuation: 2.5db
|
|
unit_of_measurement: '°C'
|
|
icon: 'mdi:water-percent'
|
|
accuracy_decimals: 5
|
|
expire_after: 120s
|
|
setup_priority: -100
|
|
force_update: true
|
|
filters:
|
|
- offset: 2.0
|
|
- multiply: 1.2
|
|
- calibrate_linear:
|
|
- 0.0 -> 0.0
|
|
- 40.0 -> 45.0
|
|
- 100.0 -> 102.5
|
|
- filter_out: 42.0
|
|
- filter_out: nan
|
|
- median:
|
|
window_size: 5
|
|
send_every: 5
|
|
send_first_at: 3
|
|
- min:
|
|
window_size: 5
|
|
send_every: 5
|
|
send_first_at: 3
|
|
- max:
|
|
window_size: 5
|
|
send_every: 5
|
|
send_first_at: 3
|
|
- sliding_window_moving_average:
|
|
window_size: 15
|
|
send_every: 15
|
|
send_first_at: 15
|
|
- exponential_moving_average:
|
|
alpha: 0.1
|
|
send_every: 15
|
|
- throttle_average: 60s
|
|
- throttle: 1s
|
|
- heartbeat: 5s
|
|
- debounce: 0.1s
|
|
- delta: 5.0
|
|
- or:
|
|
- throttle: 1s
|
|
- delta: 5.0
|
|
- lambda: return x * (9.0/5.0) + 32.0;
|
|
on_value:
|
|
then:
|
|
- lambda: |-
|
|
ESP_LOGD("main", "Got value %f", x);
|
|
id(${sensorname}_sensor).publish_state(42.0);
|
|
ESP_LOGI("main", "Value of my sensor: %f", id(${sensorname}_sensor).state);
|
|
ESP_LOGI("main", "Raw Value of my sensor: %f", id(${sensorname}_sensor).state);
|
|
on_value_range:
|
|
above: 5
|
|
below: 10
|
|
then:
|
|
- lambda: >-
|
|
ESP_LOGD("main", "Got value range %f", x);
|
|
- wait_until: wifi.connected
|
|
- wait_until:
|
|
condition:
|
|
binary_sensor.is_on: binary_sensor1
|
|
timeout: 1s
|
|
on_raw_value:
|
|
- lambda: >-
|
|
ESP_LOGD("main", "Got raw value %f", x);
|
|
- logger.log:
|
|
level: DEBUG
|
|
format: 'Got raw value %f'
|
|
args: ['x']
|
|
- logger.log: 'Got raw value NAN'
|
|
- mqtt.publish:
|
|
topic: some/topic
|
|
payload: Hello
|
|
qos: 2
|
|
retain: True
|
|
- platform: esp32_hall
|
|
name: ESP32 Hall Sensor
|
|
- platform: ads1115
|
|
multiplexer: 'A0_A1'
|
|
gain: 1.024
|
|
id: ${sensorname}_sensor
|
|
filters:
|
|
state_topic: hi/me
|
|
retain: false
|
|
availability:
|
|
- platform: atm90e32
|
|
cs_pin: 5
|
|
phase_a:
|
|
voltage:
|
|
name: 'EMON Line Voltage A'
|
|
current:
|
|
name: 'EMON CT1 Current'
|
|
power:
|
|
name: 'EMON Active Power CT1'
|
|
reactive_power:
|
|
name: 'EMON Reactive Power CT1'
|
|
power_factor:
|
|
name: 'EMON Power Factor CT1'
|
|
gain_voltage: 7305
|
|
gain_ct: 27961
|
|
phase_b:
|
|
current:
|
|
name: 'EMON CT2 Current'
|
|
power:
|
|
name: 'EMON Active Power CT2'
|
|
reactive_power:
|
|
name: 'EMON Reactive Power CT2'
|
|
power_factor:
|
|
name: 'EMON Power Factor CT2'
|
|
gain_voltage: 7305
|
|
gain_ct: 27961
|
|
phase_c:
|
|
current:
|
|
name: 'EMON CT3 Current'
|
|
power:
|
|
name: 'EMON Active Power CT3'
|
|
reactive_power:
|
|
name: 'EMON Reactive Power CT3'
|
|
power_factor:
|
|
name: 'EMON Power Factor CT3'
|
|
gain_voltage: 7305
|
|
gain_ct: 27961
|
|
frequency:
|
|
name: 'EMON Line Frequency'
|
|
chip_temperature:
|
|
name: 'EMON Chip Temp A'
|
|
line_frequency: 60Hz
|
|
current_phases: 3
|
|
gain_pga: 2X
|
|
- platform: bh1750
|
|
name: 'Living Room Brightness 3'
|
|
internal: true
|
|
address: 0x23
|
|
resolution: 1.0
|
|
update_interval: 30s
|
|
retain: False
|
|
availability:
|
|
state_topic: livingroom/custom_state_topic
|
|
measurement_duration: 31
|
|
i2c_id: i2c_bus
|
|
- platform: bme280
|
|
temperature:
|
|
name: 'Outside Temperature'
|
|
oversampling: 16x
|
|
pressure:
|
|
name: 'Outside Pressure'
|
|
oversampling: none
|
|
humidity:
|
|
name: 'Outside Humidity'
|
|
oversampling: 8x
|
|
address: 0x77
|
|
iir_filter: 16x
|
|
update_interval: 15s
|
|
i2c_id: i2c_bus
|
|
- platform: bme680
|
|
temperature:
|
|
name: 'Outside Temperature'
|
|
oversampling: 16x
|
|
pressure:
|
|
name: 'Outside Pressure'
|
|
humidity:
|
|
name: 'Outside Humidity'
|
|
gas_resistance:
|
|
name: 'Outside Gas Sensor'
|
|
address: 0x77
|
|
heater:
|
|
temperature: 320
|
|
duration: 150ms
|
|
update_interval: 15s
|
|
i2c_id: i2c_bus
|
|
- platform: bmp085
|
|
temperature:
|
|
name: 'Outside Temperature'
|
|
pressure:
|
|
name: 'Outside Pressure'
|
|
filters:
|
|
- lambda: >-
|
|
return x / powf(1.0 - (x / 44330.0), 5.255);
|
|
update_interval: 15s
|
|
i2c_id: i2c_bus
|
|
- platform: bmp280
|
|
temperature:
|
|
name: 'Outside Temperature'
|
|
oversampling: 16x
|
|
pressure:
|
|
name: 'Outside Pressure'
|
|
address: 0x77
|
|
update_interval: 15s
|
|
iir_filter: 16x
|
|
i2c_id: i2c_bus
|
|
- platform: dallas
|
|
address: 0x1C0000031EDD2A28
|
|
name: 'Living Room Temperature'
|
|
resolution: 9
|
|
- platform: dallas
|
|
index: 1
|
|
name: 'Living Room Temperature 2'
|
|
- platform: dht
|
|
pin: GPIO26
|
|
temperature:
|
|
name: 'Living Room Temperature 3'
|
|
humidity:
|
|
name: 'Living Room Humidity 3'
|
|
model: AM2302
|
|
update_interval: 15s
|
|
- platform: dht12
|
|
temperature:
|
|
name: 'Living Room Temperature 4'
|
|
humidity:
|
|
name: 'Living Room Humidity 4'
|
|
update_interval: 15s
|
|
i2c_id: i2c_bus
|
|
- platform: duty_cycle
|
|
pin: GPIO25
|
|
name: Duty Cycle Sensor
|
|
- platform: esp32_hall
|
|
name: 'ESP32 Hall Sensor'
|
|
update_interval: 15s
|
|
- platform: hdc1080
|
|
temperature:
|
|
name: 'Living Room Temperature 5'
|
|
humidity:
|
|
name: 'Living Room Pressure 5'
|
|
update_interval: 15s
|
|
i2c_id: i2c_bus
|
|
- platform: hlw8012
|
|
sel_pin: 5
|
|
cf_pin: 14
|
|
cf1_pin: 13
|
|
current:
|
|
name: 'HLW8012 Current'
|
|
voltage:
|
|
name: 'HLW8012 Voltage'
|
|
power:
|
|
name: 'HLW8012 Power'
|
|
id: hlw8012_power
|
|
energy:
|
|
name: 'HLW8012 Energy'
|
|
id: hlw8012_energy
|
|
update_interval: 15s
|
|
current_resistor: 0.001 ohm
|
|
voltage_divider: 2351
|
|
change_mode_every: 16
|
|
initial_mode: VOLTAGE
|
|
model: hlw8012
|
|
- platform: total_daily_energy
|
|
power_id: hlw8012_power
|
|
name: 'HLW8012 Total Daily Energy'
|
|
- platform: integration
|
|
sensor: hlw8012_power
|
|
name: 'Integration Sensor'
|
|
time_unit: s
|
|
- platform: integration
|
|
sensor: hlw8012_power
|
|
name: 'Integration Sensor lazy'
|
|
time_unit: s
|
|
min_save_interval: 60s
|
|
- platform: hmc5883l
|
|
address: 0x68
|
|
field_strength_x:
|
|
name: 'HMC5883L Field Strength X'
|
|
field_strength_y:
|
|
name: 'HMC5883L Field Strength Y'
|
|
field_strength_z:
|
|
name: 'HMC5883L Field Strength Z'
|
|
heading:
|
|
name: 'HMC5883L Heading'
|
|
range: 130uT
|
|
oversampling: 8x
|
|
update_interval: 15s
|
|
i2c_id: i2c_bus
|
|
- platform: qmc5883l
|
|
address: 0x0D
|
|
field_strength_x:
|
|
name: 'QMC5883L Field Strength X'
|
|
field_strength_y:
|
|
name: 'QMC5883L Field Strength Y'
|
|
field_strength_z:
|
|
name: 'QMC5883L Field Strength Z'
|
|
heading:
|
|
name: 'QMC5883L Heading'
|
|
range: 800uT
|
|
oversampling: 256x
|
|
update_interval: 15s
|
|
i2c_id: i2c_bus
|
|
- platform: hx711
|
|
name: 'HX711 Value'
|
|
dout_pin: GPIO23
|
|
clk_pin: GPIO25
|
|
gain: 128
|
|
update_interval: 15s
|
|
- platform: ina219
|
|
address: 0x40
|
|
shunt_resistance: 0.1 ohm
|
|
current:
|
|
name: 'INA219 Current'
|
|
power:
|
|
name: 'INA219 Power'
|
|
bus_voltage:
|
|
name: 'INA219 Bus Voltage'
|
|
shunt_voltage:
|
|
name: 'INA219 Shunt Voltage'
|
|
max_voltage: 32.0V
|
|
max_current: 3.2A
|
|
update_interval: 15s
|
|
i2c_id: i2c_bus
|
|
- platform: ina226
|
|
address: 0x40
|
|
shunt_resistance: 0.1 ohm
|
|
current:
|
|
name: 'INA226 Current'
|
|
power:
|
|
name: 'INA226 Power'
|
|
bus_voltage:
|
|
name: 'INA226 Bus Voltage'
|
|
shunt_voltage:
|
|
name: 'INA226 Shunt Voltage'
|
|
max_current: 3.2A
|
|
update_interval: 15s
|
|
i2c_id: i2c_bus
|
|
- platform: ina3221
|
|
address: 0x40
|
|
channel_1:
|
|
shunt_resistance: 0.1 ohm
|
|
current:
|
|
name: 'INA3221 Channel 1 Current'
|
|
power:
|
|
name: 'INA3221 Channel 1 Power'
|
|
bus_voltage:
|
|
name: 'INA3221 Channel 1 Bus Voltage'
|
|
shunt_voltage:
|
|
name: 'INA3221 Channel 1 Shunt Voltage'
|
|
update_interval: 15s
|
|
i2c_id: i2c_bus
|
|
- platform: htu21d
|
|
temperature:
|
|
name: 'Living Room Temperature 6'
|
|
humidity:
|
|
name: 'Living Room Humidity 6'
|
|
update_interval: 15s
|
|
i2c_id: i2c_bus
|
|
- platform: max6675
|
|
name: 'Living Room Temperature'
|
|
cs_pin: GPIO23
|
|
update_interval: 15s
|
|
- platform: max31855
|
|
name: 'Den Temperature'
|
|
cs_pin: GPIO23
|
|
update_interval: 15s
|
|
reference_temperature:
|
|
name: 'MAX31855 Internal Temperature'
|
|
- platform: max31856
|
|
name: 'BBQ Temperature'
|
|
cs_pin: GPIO17
|
|
update_interval: 15s
|
|
mains_filter: 50Hz
|
|
- platform: max31865
|
|
name: 'Water Tank Temperature'
|
|
cs_pin: GPIO23
|
|
update_interval: 15s
|
|
reference_resistance: '430 Ω'
|
|
rtd_nominal_resistance: '100 Ω'
|
|
- platform: mhz19
|
|
uart_id: uart0
|
|
co2:
|
|
name: 'MH-Z19 CO2 Value'
|
|
temperature:
|
|
name: 'MH-Z19 Temperature'
|
|
update_interval: 15s
|
|
automatic_baseline_calibration: false
|
|
- platform: mpu6050
|
|
address: 0x68
|
|
accel_x:
|
|
name: 'MPU6050 Accel X'
|
|
accel_y:
|
|
name: 'MPU6050 Accel Y'
|
|
accel_z:
|
|
name: 'MPU6050 Accel z'
|
|
gyro_x:
|
|
name: 'MPU6050 Gyro X'
|
|
gyro_y:
|
|
name: 'MPU6050 Gyro Y'
|
|
gyro_z:
|
|
name: 'MPU6050 Gyro z'
|
|
temperature:
|
|
name: 'MPU6050 Temperature'
|
|
i2c_id: i2c_bus
|
|
- platform: ms5611
|
|
temperature:
|
|
name: 'Outside Temperature'
|
|
pressure:
|
|
name: 'Outside Pressure'
|
|
address: 0x77
|
|
update_interval: 15s
|
|
i2c_id: i2c_bus
|
|
- platform: pmsa003i
|
|
pm_1_0:
|
|
name: "PMSA003i PM1.0"
|
|
pm_2_5:
|
|
name: "PMSA003i PM2.5"
|
|
pm_10_0:
|
|
name: "PMSA003i PM10.0"
|
|
pmc_0_3:
|
|
name: "PMSA003i PMC <0.3µm"
|
|
pmc_0_5:
|
|
name: "PMSA003i PMC <0.5µm"
|
|
pmc_1_0:
|
|
name: "PMSA003i PMC <1µm"
|
|
pmc_2_5:
|
|
name: "PMSA003i PMC <2.5µm"
|
|
pmc_5_0:
|
|
name: "PMSA003i PMC <5µm"
|
|
pmc_10_0:
|
|
name: "PMSA003i PMC <10µm"
|
|
address: 0x12
|
|
standard_units: True
|
|
i2c_id: i2c_bus
|
|
- platform: pulse_counter
|
|
name: 'Pulse Counter'
|
|
pin: GPIO12
|
|
count_mode:
|
|
rising_edge: INCREMENT
|
|
falling_edge: DECREMENT
|
|
internal_filter: 13us
|
|
update_interval: 15s
|
|
- platform: pulse_meter
|
|
name: 'Pulse Meter'
|
|
id: pulse_meter_sensor
|
|
pin: GPIO12
|
|
internal_filter: 100ms
|
|
timeout: 2 min
|
|
on_value:
|
|
- pulse_meter.set_total_pulses:
|
|
id: pulse_meter_sensor
|
|
value: 12345
|
|
total:
|
|
name: 'Pulse Meter Total'
|
|
- platform: rotary_encoder
|
|
name: 'Rotary Encoder'
|
|
id: rotary_encoder1
|
|
pin_a: GPIO23
|
|
pin_b: GPIO25
|
|
pin_reset: GPIO25
|
|
filters:
|
|
- or:
|
|
- debounce: 0.1s
|
|
- delta: 10
|
|
resolution: 4
|
|
min_value: -10
|
|
max_value: 30
|
|
on_value:
|
|
- sensor.rotary_encoder.set_value:
|
|
id: rotary_encoder1
|
|
value: 10
|
|
- sensor.rotary_encoder.set_value:
|
|
id: rotary_encoder1
|
|
value: !lambda 'return -1;'
|
|
on_clockwise:
|
|
- logger.log: 'Clockwise'
|
|
on_anticlockwise:
|
|
- logger.log: 'Anticlockwise'
|
|
- platform: pulse_width
|
|
name: Pulse Width
|
|
pin: GPIO12
|
|
- platform: sm300d2
|
|
uart_id: uart0
|
|
co2:
|
|
name: 'SM300D2 CO2 Value'
|
|
formaldehyde:
|
|
name: 'SM300D2 Formaldehyde Value'
|
|
tvoc:
|
|
name: 'SM300D2 TVOC Value'
|
|
pm_2_5:
|
|
name: 'SM300D2 PM2.5 Value'
|
|
pm_10_0:
|
|
name: 'SM300D2 PM10 Value'
|
|
temperature:
|
|
name: 'SM300D2 Temperature Value'
|
|
humidity:
|
|
name: 'SM300D2 Humidity Value'
|
|
update_interval: 60s
|
|
- platform: sht3xd
|
|
temperature:
|
|
name: 'Living Room Temperature 8'
|
|
humidity:
|
|
name: 'Living Room Humidity 8'
|
|
address: 0x44
|
|
i2c_id: i2c_bus
|
|
update_interval: 15s
|
|
- platform: sts3x
|
|
name: 'Living Room Temperature 9'
|
|
address: 0x4A
|
|
i2c_id: i2c_bus
|
|
- platform: scd30
|
|
co2:
|
|
name: 'Living Room CO2 9'
|
|
temperature:
|
|
name: 'Living Room Temperature 9'
|
|
humidity:
|
|
name: 'Living Room Humidity 9'
|
|
address: 0x61
|
|
update_interval: 15s
|
|
automatic_self_calibration: true
|
|
altitude_compensation: 10m
|
|
ambient_pressure_compensation: 961mBar
|
|
temperature_offset: 4.2C
|
|
i2c_id: i2c_bus
|
|
- platform: scd4x
|
|
co2:
|
|
name: "SCD4X CO2"
|
|
temperature:
|
|
name: "SCD4X Temperature"
|
|
humidity:
|
|
name: "SCD4X Humidity"
|
|
update_interval: 15s
|
|
automatic_self_calibration: true
|
|
altitude_compensation: 10m
|
|
ambient_pressure_compensation: 961mBar
|
|
temperature_offset: 4.2C
|
|
i2c_id: i2c_bus
|
|
- platform: sgp30
|
|
eco2:
|
|
name: 'Workshop eCO2'
|
|
accuracy_decimals: 1
|
|
tvoc:
|
|
name: 'Workshop TVOC'
|
|
accuracy_decimals: 1
|
|
address: 0x58
|
|
update_interval: 5s
|
|
i2c_id: i2c_bus
|
|
- platform: sps30
|
|
pm_1_0:
|
|
name: 'Workshop PM <1µm Weight concentration'
|
|
id: 'workshop_PM_1_0'
|
|
pm_2_5:
|
|
name: 'Workshop PM <2.5µm Weight concentration'
|
|
id: 'workshop_PM_2_5'
|
|
pm_4_0:
|
|
name: 'Workshop PM <4µm Weight concentration'
|
|
id: 'workshop_PM_4_0'
|
|
pm_10_0:
|
|
name: 'Workshop PM <10µm Weight concentration'
|
|
id: 'workshop_PM_10_0'
|
|
pmc_0_5:
|
|
name: 'Workshop PM <0.5µm Number concentration'
|
|
id: 'workshop_PMC_0_5'
|
|
pmc_1_0:
|
|
name: 'Workshop PM <1µm Number concentration'
|
|
id: 'workshop_PMC_1_0'
|
|
pmc_2_5:
|
|
name: 'Workshop PM <2.5µm Number concentration'
|
|
id: 'workshop_PMC_2_5'
|
|
pmc_4_0:
|
|
name: 'Workshop PM <4µm Number concentration'
|
|
id: 'workshop_PMC_4_0'
|
|
pmc_10_0:
|
|
name: 'Workshop PM <10µm Number concentration'
|
|
id: 'workshop_PMC_10_0'
|
|
address: 0x69
|
|
update_interval: 10s
|
|
i2c_id: i2c_bus
|
|
- platform: sht4x
|
|
temperature:
|
|
name: 'SHT4X Temperature'
|
|
humidity:
|
|
name: 'SHT4X Humidity'
|
|
address: 0x44
|
|
update_interval: 15s
|
|
i2c_id: i2c_bus
|
|
- platform: shtcx
|
|
temperature:
|
|
name: 'Living Room Temperature 10'
|
|
humidity:
|
|
name: 'Living Room Humidity 10'
|
|
address: 0x70
|
|
update_interval: 15s
|
|
i2c_id: i2c_bus
|
|
- platform: template
|
|
name: 'Template Sensor'
|
|
state_class: measurement
|
|
id: template_sensor
|
|
lambda: |-
|
|
if (id(ultrasonic_sensor1).state > 1) {
|
|
return 42.0;
|
|
} else {
|
|
return {};
|
|
}
|
|
update_interval: 15s
|
|
on_value:
|
|
- sensor.template.publish:
|
|
id: template_sensor
|
|
state: 43.0
|
|
- sensor.template.publish:
|
|
id: template_sensor
|
|
state: !lambda 'return NAN;'
|
|
- platform: tsl2561
|
|
name: 'TSL2561 Ambient Light'
|
|
address: 0x39
|
|
update_interval: 15s
|
|
is_cs_package: true
|
|
integration_time: 402ms
|
|
gain: 16x
|
|
i2c_id: i2c_bus
|
|
- platform: tsl2591
|
|
id: this_little_light_of_mine
|
|
address: 0x29
|
|
update_interval: 15s
|
|
integration_time: 600ms
|
|
gain: high
|
|
visible:
|
|
name: "tsl2591 visible"
|
|
id: tsl2591_vis
|
|
unit_of_measurement: 'pH'
|
|
infrared:
|
|
name: "tsl2591 infrared"
|
|
id: tsl2591_ir
|
|
full_spectrum:
|
|
name: "tsl2591 full_spectrum"
|
|
id: tsl2591_fs
|
|
calculated_lux:
|
|
name: "tsl2591 calculated_lux"
|
|
id: tsl2591_cl
|
|
i2c_id: i2c_bus
|
|
- platform: ultrasonic
|
|
trigger_pin: GPIO25
|
|
echo_pin:
|
|
number: GPIO23
|
|
inverted: true
|
|
name: 'Ultrasonic Sensor'
|
|
timeout: 5.5m
|
|
id: ultrasonic_sensor1
|
|
- platform: uptime
|
|
name: Uptime Sensor
|
|
- platform: wifi_signal
|
|
name: 'WiFi Signal Sensor'
|
|
update_interval: 15s
|
|
- platform: mqtt_subscribe
|
|
name: 'MQTT Subscribe Sensor 1'
|
|
topic: 'mqtt/topic'
|
|
id: the_sensor
|
|
qos: 2
|
|
on_value:
|
|
- mqtt.publish_json:
|
|
topic: the/topic
|
|
payload: |-
|
|
root["key"] = id(the_sensor).state;
|
|
root["greeting"] = "Hello World";
|
|
- platform: sds011
|
|
uart_id: uart0
|
|
pm_2_5:
|
|
name: 'SDS011 PM2.5'
|
|
pm_10_0:
|
|
name: 'SDS011 PM10.0'
|
|
update_interval: 5min
|
|
rx_only: false
|
|
- platform: ccs811
|
|
eco2:
|
|
name: CCS811 eCO2
|
|
tvoc:
|
|
name: CCS811 TVOC
|
|
update_interval: 30s
|
|
baseline: 0x4242
|
|
i2c_id: i2c_bus
|
|
- platform: tx20
|
|
wind_speed:
|
|
name: 'Windspeed'
|
|
wind_direction_degrees:
|
|
name: 'Winddirection Degrees'
|
|
pin:
|
|
number: GPIO04
|
|
mode: INPUT
|
|
- platform: zyaura
|
|
clock_pin: GPIO5
|
|
data_pin: GPIO4
|
|
co2:
|
|
name: 'ZyAura CO2'
|
|
temperature:
|
|
name: 'ZyAura Temperature'
|
|
humidity:
|
|
name: 'ZyAura Humidity'
|
|
- platform: as3935
|
|
lightning_energy:
|
|
name: 'Lightning Energy'
|
|
distance:
|
|
name: 'Distance Storm'
|
|
- platform: tmp117
|
|
name: 'TMP117 Temperature'
|
|
update_interval: 5s
|
|
i2c_id: i2c_bus
|
|
- 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: 'CAQI'
|
|
i2c_id: i2c_bus
|
|
- platform: teleinfo
|
|
tag_name: "HCHC"
|
|
name: "hchc"
|
|
unit_of_measurement: "Wh"
|
|
icon: mdi:flash
|
|
teleinfo_id: myteleinfo
|
|
- platform: mcp9808
|
|
name: 'MCP9808 Temperature'
|
|
update_interval: 15s
|
|
i2c_id: i2c_bus
|
|
- platform: ezo
|
|
id: ph_ezo
|
|
address: 99
|
|
unit_of_measurement: 'pH'
|
|
i2c_id: i2c_bus
|
|
- platform: sdp3x
|
|
name: "HVAC Filter Pressure drop"
|
|
id: filter_pressure
|
|
update_interval: 5s
|
|
accuracy_decimals: 3
|
|
i2c_id: i2c_bus
|
|
- platform: cs5460a
|
|
id: cs5460a1
|
|
current:
|
|
name: "Socket current"
|
|
voltage:
|
|
name: "Mains voltage"
|
|
power:
|
|
name: "Socket power"
|
|
on_value:
|
|
then:
|
|
cs5460a.restart: cs5460a1
|
|
samples: 1600
|
|
pga_gain: 10X
|
|
current_gain: 0.01
|
|
voltage_gain: 0.000573
|
|
current_hpf: on
|
|
voltage_hpf: on
|
|
phase_offset: 20
|
|
pulse_energy: 0.01 kWh
|
|
cs_pin:
|
|
mcp23xxx: mcp23017_hub
|
|
number: 14
|
|
|
|
esp32_touch:
|
|
setup_mode: False
|
|
iir_filter: 10ms
|
|
sleep_duration: 27ms
|
|
measurement_duration: 8ms
|
|
low_voltage_reference: 0.5V
|
|
high_voltage_reference: 2.7V
|
|
voltage_attenuation: 1.5V
|
|
|
|
binary_sensor:
|
|
- platform: gpio
|
|
name: 'MCP23S08 Pin #1'
|
|
pin:
|
|
mcp23xxx: mcp23s08_hub
|
|
# Use pin number 1
|
|
number: 1
|
|
# One of INPUT or INPUT_PULLUP
|
|
mode: INPUT_PULLUP
|
|
inverted: False
|
|
- platform: gpio
|
|
name: 'MCP23S17 Pin #1'
|
|
pin:
|
|
mcp23xxx: mcp23s17_hub
|
|
# Use pin number 1
|
|
number: 1
|
|
# One of INPUT or INPUT_PULLUP
|
|
mode: INPUT_PULLUP
|
|
inverted: False
|
|
- platform: gpio
|
|
name: 'MCP23S17 Pin #1 with interrupt'
|
|
pin:
|
|
mcp23xxx: mcp23s17_hub
|
|
# Use pin number 1
|
|
number: 1
|
|
# One of INPUT or INPUT_PULLUP
|
|
mode: INPUT_PULLUP
|
|
inverted: False
|
|
interrupt: FALLING
|
|
- platform: gpio
|
|
pin: GPIO9
|
|
name: 'Living Room Window'
|
|
device_class: window
|
|
filters:
|
|
- invert:
|
|
- delayed_on: 40ms
|
|
- delayed_off: 40ms
|
|
on_press:
|
|
then:
|
|
- lambda: >-
|
|
ESP_LOGD("main", "Pressed");
|
|
on_release:
|
|
then:
|
|
- lambda: >-
|
|
ESP_LOGD("main", "Released");
|
|
on_click:
|
|
- min_length: 50ms
|
|
max_length: 350ms
|
|
then:
|
|
- lambda: >-
|
|
ESP_LOGD("main", "Clicked");
|
|
- then:
|
|
- lambda: >-
|
|
ESP_LOGD("main", "Clicked");
|
|
on_double_click:
|
|
- min_length: 50ms
|
|
max_length: 350ms
|
|
then:
|
|
- lambda: >-
|
|
ESP_LOGD("main", "Double Clicked");
|
|
- then:
|
|
- lambda: >-
|
|
ESP_LOGD("main", "Double Clicked");
|
|
on_multi_click:
|
|
- timing:
|
|
- ON for at most 1s
|
|
- OFF for at most 1s
|
|
- ON for at most 1s
|
|
- OFF for at least 0.2s
|
|
then:
|
|
- logger.log:
|
|
format: 'Multi Clicked TWO'
|
|
level: warn
|
|
- timing:
|
|
- OFF for 1s to 2s
|
|
- ON for 1s to 2s
|
|
- OFF for at least 0.5s
|
|
then:
|
|
- logger.log:
|
|
format: 'Multi Clicked LONG SINGLE'
|
|
level: warn
|
|
- timing:
|
|
- ON for at most 1s
|
|
- OFF for at least 0.5s
|
|
then:
|
|
- logger.log:
|
|
format: 'Multi Clicked SINGLE'
|
|
level: warn
|
|
id: binary_sensor1
|
|
- platform: gpio
|
|
pin:
|
|
number: GPIO9
|
|
mode: INPUT_PULLUP
|
|
name: 'Living Room Window 2'
|
|
- platform: status
|
|
name: 'Living Room Status'
|
|
- platform: esp32_touch
|
|
name: 'ESP32 Touch Pad GPIO27'
|
|
pin: GPIO27
|
|
threshold: 1000
|
|
id: btn_left
|
|
- platform: template
|
|
name: 'Garage Door Open'
|
|
id: garage_door
|
|
lambda: |-
|
|
if (isnan(id(${sensorname}_sensor).state)) {
|
|
// isnan checks if the ultrasonic sensor echo
|
|
// has timed out, resulting in a NaN (not a number) state
|
|
// in that case, return {} to indicate that we don't know.
|
|
return {};
|
|
} else if (id(${sensorname}_sensor).state > 30) {
|
|
// Garage Door is open.
|
|
return true;
|
|
} else {
|
|
// Garage Door is closed.
|
|
return false;
|
|
}
|
|
on_press:
|
|
- binary_sensor.template.publish:
|
|
id: garage_door
|
|
state: OFF
|
|
- output.ledc.set_frequency:
|
|
id: gpio_19
|
|
frequency: 500.0Hz
|
|
- output.ledc.set_frequency:
|
|
id: gpio_19
|
|
frequency: !lambda 'return 500.0;'
|
|
- platform: pn532
|
|
pn532_id: pn532_bs
|
|
uid: 74-10-37-94
|
|
name: 'PN532 NFC Tag'
|
|
- platform: rdm6300
|
|
uid: 7616525
|
|
name: 'RDM6300 NFC Tag'
|
|
- platform: gpio
|
|
name: 'PCF binary sensor'
|
|
pin:
|
|
pcf8574: pcf8574_hub
|
|
number: 1
|
|
mode: INPUT
|
|
inverted: True
|
|
- platform: gpio
|
|
name: 'MCP21 binary sensor'
|
|
pin:
|
|
mcp23xxx: mcp23017_hub
|
|
number: 1
|
|
mode: INPUT
|
|
inverted: True
|
|
- platform: gpio
|
|
name: 'MCP22 binary sensor'
|
|
pin:
|
|
mcp23xxx: mcp23008_hub
|
|
number: 7
|
|
mode: INPUT_PULLUP
|
|
inverted: False
|
|
- platform: gpio
|
|
name: 'MCP23 binary sensor'
|
|
pin:
|
|
mcp23016: mcp23016_hub
|
|
number: 7
|
|
mode: INPUT
|
|
inverted: False
|
|
|
|
- platform: remote_receiver
|
|
name: 'Raw Remote Receiver Test'
|
|
raw:
|
|
code:
|
|
[
|
|
5685,
|
|
-4252,
|
|
1711,
|
|
-2265,
|
|
1712,
|
|
-2265,
|
|
1711,
|
|
-2264,
|
|
1712,
|
|
-2266,
|
|
3700,
|
|
-2263,
|
|
1712,
|
|
-4254,
|
|
1711,
|
|
-4249,
|
|
1715,
|
|
-2266,
|
|
1710,
|
|
-2267,
|
|
1709,
|
|
-2265,
|
|
3704,
|
|
-4250,
|
|
1712,
|
|
-4254,
|
|
3700,
|
|
-2260,
|
|
1714,
|
|
-2265,
|
|
1712,
|
|
-2262,
|
|
1714,
|
|
-2267,
|
|
1709,
|
|
]
|
|
- platform: as3935
|
|
name: 'Storm Alert'
|
|
|
|
pca9685:
|
|
frequency: 500
|
|
address: 0x0
|
|
i2c_id: i2c_bus
|
|
|
|
tlc59208f:
|
|
- address: 0x20
|
|
id: tlc59208f_1
|
|
i2c_id: i2c_bus
|
|
- address: 0x22
|
|
id: tlc59208f_2
|
|
i2c_id: i2c_bus
|
|
- address: 0x24
|
|
id: tlc59208f_3
|
|
i2c_id: i2c_bus
|
|
|
|
my9231:
|
|
data_pin: GPIO12
|
|
clock_pin: GPIO14
|
|
num_channels: 6
|
|
num_chips: 2
|
|
bit_depth: 16
|
|
|
|
output:
|
|
- platform: gpio
|
|
pin: GPIO26
|
|
id: gpio_26
|
|
power_supply: atx_power_supply
|
|
inverted: False
|
|
- platform: ledc
|
|
pin: 19
|
|
id: gpio_19
|
|
frequency: 1500Hz
|
|
channel: 14
|
|
max_power: 0.5
|
|
- platform: pca9685
|
|
id: pca_0
|
|
channel: 0
|
|
- platform: pca9685
|
|
id: pca_1
|
|
channel: 1
|
|
- platform: pca9685
|
|
id: pca_2
|
|
channel: 2
|
|
- platform: pca9685
|
|
id: pca_3
|
|
channel: 3
|
|
- platform: pca9685
|
|
id: pca_4
|
|
channel: 4
|
|
- platform: pca9685
|
|
id: pca_5
|
|
channel: 5
|
|
- platform: pca9685
|
|
id: pca_6
|
|
channel: 6
|
|
- platform: pca9685
|
|
id: pca_7
|
|
channel: 7
|
|
- platform: tlc59208f
|
|
id: tlc_0
|
|
channel: 0
|
|
tlc59208f_id: 'tlc59208f_1'
|
|
- platform: tlc59208f
|
|
id: tlc_1
|
|
channel: 1
|
|
tlc59208f_id: 'tlc59208f_1'
|
|
- platform: tlc59208f
|
|
id: tlc_2
|
|
channel: 2
|
|
tlc59208f_id: 'tlc59208f_1'
|
|
- platform: tlc59208f
|
|
id: tlc_3
|
|
channel: 0
|
|
tlc59208f_id: 'tlc59208f_2'
|
|
- platform: tlc59208f
|
|
id: tlc_4
|
|
channel: 1
|
|
tlc59208f_id: 'tlc59208f_2'
|
|
- platform: tlc59208f
|
|
id: tlc_5
|
|
channel: 2
|
|
tlc59208f_id: 'tlc59208f_2'
|
|
- platform: tlc59208f
|
|
id: tlc_6
|
|
channel: 0
|
|
tlc59208f_id: 'tlc59208f_3'
|
|
- platform: tlc59208f
|
|
id: tlc_7
|
|
channel: 1
|
|
tlc59208f_id: 'tlc59208f_3'
|
|
- platform: tlc59208f
|
|
id: tlc_8
|
|
channel: 2
|
|
tlc59208f_id: 'tlc59208f_3'
|
|
- platform: gpio
|
|
id: id2
|
|
pin:
|
|
pcf8574: pcf8574_hub
|
|
number: 0
|
|
mode: OUTPUT
|
|
inverted: False
|
|
- platform: gpio
|
|
id: id22
|
|
pin:
|
|
mcp23xxx: mcp23017_hub
|
|
number: 0
|
|
mode: OUTPUT
|
|
inverted: False
|
|
- platform: gpio
|
|
id: id23
|
|
pin:
|
|
mcp23xxx: mcp23008_hub
|
|
number: 0
|
|
mode: OUTPUT
|
|
inverted: False
|
|
- platform: gpio
|
|
id: id25
|
|
pin:
|
|
mcp23016: mcp23016_hub
|
|
number: 0
|
|
mode: OUTPUT
|
|
inverted: False
|
|
- platform: my9231
|
|
id: my_0
|
|
channel: 0
|
|
- platform: my9231
|
|
id: my_1
|
|
channel: 1
|
|
- platform: my9231
|
|
id: my_2
|
|
channel: 2
|
|
- platform: my9231
|
|
id: my_3
|
|
channel: 3
|
|
- platform: my9231
|
|
id: my_4
|
|
channel: 4
|
|
- platform: my9231
|
|
id: my_5
|
|
channel: 5
|
|
- platform: slow_pwm
|
|
id: id24
|
|
pin: GPIO26
|
|
period: 15s
|
|
- platform: ac_dimmer
|
|
id: dimmer1
|
|
gate_pin: GPIO5
|
|
zero_cross_pin: GPIO26
|
|
- platform: esp32_dac
|
|
pin: GPIO25
|
|
id: dac_output
|
|
- platform: mcp4725
|
|
id: mcp4725_dac_output
|
|
i2c_id: i2c_bus
|
|
|
|
e131:
|
|
|
|
light:
|
|
- platform: binary
|
|
name: 'Desk Lamp'
|
|
output: gpio_26
|
|
effects:
|
|
- strobe:
|
|
- strobe:
|
|
name: 'My Strobe'
|
|
colors:
|
|
- state: True
|
|
duration: 250ms
|
|
- state: False
|
|
duration: 250ms
|
|
on_turn_on:
|
|
- switch.template.publish:
|
|
id: livingroom_lights
|
|
state: yes
|
|
on_turn_off:
|
|
- switch.template.publish:
|
|
id: livingroom_lights
|
|
state: yes
|
|
- platform: monochromatic
|
|
name: 'Kitchen Lights'
|
|
id: kitchen
|
|
output: gpio_19
|
|
gamma_correct: 2.8
|
|
default_transition_length: 2s
|
|
effects:
|
|
- strobe:
|
|
- flicker:
|
|
- flicker:
|
|
name: 'My Flicker'
|
|
alpha: 98%
|
|
intensity: 1.5%
|
|
- lambda:
|
|
name: My Custom Effect
|
|
update_interval: 1s
|
|
lambda: |-
|
|
static int state = 0;
|
|
state += 1;
|
|
if (state == 4)
|
|
state = 0;
|
|
- platform: rgb
|
|
name: 'Living Room Lights'
|
|
id: ${roomname}_lights
|
|
red: pca_0
|
|
green: pca_1
|
|
blue: pca_2
|
|
- platform: rgbw
|
|
name: 'Living Room Lights 2'
|
|
red: pca_3
|
|
green: pca_4
|
|
blue: pca_5
|
|
white: pca_6
|
|
color_interlock: true
|
|
- platform: rgbww
|
|
name: 'Living Room Lights 2'
|
|
red: pca_3
|
|
green: pca_4
|
|
blue: pca_5
|
|
cold_white: pca_6
|
|
warm_white: pca_6
|
|
cold_white_color_temperature: 153 mireds
|
|
warm_white_color_temperature: 500 mireds
|
|
color_interlock: true
|
|
- platform: rgbct
|
|
name: 'Living Room Lights 2'
|
|
red: pca_3
|
|
green: pca_4
|
|
blue: pca_5
|
|
color_temperature: pca_6
|
|
white_brightness: pca_6
|
|
cold_white_color_temperature: 153 mireds
|
|
warm_white_color_temperature: 500 mireds
|
|
color_interlock: true
|
|
- platform: cwww
|
|
name: 'Living Room Lights 2'
|
|
cold_white: pca_6
|
|
warm_white: pca_6
|
|
cold_white_color_temperature: 153 mireds
|
|
warm_white_color_temperature: 500 mireds
|
|
constant_brightness: true
|
|
- platform: color_temperature
|
|
name: 'Living Room Lights 2'
|
|
color_temperature: pca_6
|
|
brightness: pca_6
|
|
cold_white_color_temperature: 153 mireds
|
|
warm_white_color_temperature: 500 mireds
|
|
- platform: fastled_clockless
|
|
id: addr1
|
|
chipset: WS2811
|
|
pin: GPIO23
|
|
num_leds: 60
|
|
rgb_order: BRG
|
|
max_refresh_rate: 20ms
|
|
power_supply: atx_power_supply
|
|
color_correct: [75%, 100%, 50%]
|
|
name: 'FastLED WS2811 Light'
|
|
effects:
|
|
- addressable_color_wipe:
|
|
- addressable_color_wipe:
|
|
name: Color Wipe Effect With Custom Values
|
|
colors:
|
|
- red: 100%
|
|
green: 100%
|
|
blue: 100%
|
|
num_leds: 1
|
|
- red: 0%
|
|
green: 0%
|
|
blue: 0%
|
|
num_leds: 1
|
|
add_led_interval: 100ms
|
|
reverse: False
|
|
- addressable_scan:
|
|
- addressable_scan:
|
|
name: Scan Effect With Custom Values
|
|
move_interval: 100ms
|
|
- addressable_twinkle:
|
|
- addressable_twinkle:
|
|
name: Twinkle Effect With Custom Values
|
|
twinkle_probability: 5%
|
|
progress_interval: 4ms
|
|
- addressable_random_twinkle:
|
|
- addressable_random_twinkle:
|
|
name: Random Twinkle Effect With Custom Values
|
|
twinkle_probability: 5%
|
|
progress_interval: 32ms
|
|
- addressable_fireworks:
|
|
- addressable_fireworks:
|
|
name: Fireworks Effect With Custom Values
|
|
update_interval: 32ms
|
|
spark_probability: 10%
|
|
use_random_color: false
|
|
fade_out_rate: 120
|
|
- addressable_flicker:
|
|
- addressable_flicker:
|
|
name: Flicker Effect With Custom Values
|
|
update_interval: 16ms
|
|
intensity: 5%
|
|
- addressable_lambda:
|
|
name: 'Test For Custom Lambda Effect'
|
|
lambda: |-
|
|
if (initial_run) {
|
|
it[0] = current_color;
|
|
}
|
|
|
|
- wled:
|
|
port: 11111
|
|
|
|
- adalight:
|
|
uart_id: adalight_uart
|
|
|
|
- automation:
|
|
name: Custom Effect
|
|
sequence:
|
|
- light.addressable_set:
|
|
id: addr1
|
|
red: 100%
|
|
green: 100%
|
|
blue: 0%
|
|
- delay: 100ms
|
|
- light.addressable_set:
|
|
id: addr1
|
|
red: 0%
|
|
green: 100%
|
|
blue: 0%
|
|
- e131:
|
|
universe: 1
|
|
- platform: fastled_spi
|
|
id: addr2
|
|
chipset: WS2801
|
|
data_pin: GPIO23
|
|
clock_pin: GPIO22
|
|
data_rate: 2MHz
|
|
num_leds: 60
|
|
rgb_order: BRG
|
|
name: 'FastLED SPI Light'
|
|
- platform: neopixelbus
|
|
id: addr3
|
|
name: 'Neopixelbus Light'
|
|
gamma_correct: 2.8
|
|
color_correct: [0.0, 0.0, 0.0, 0.0]
|
|
default_transition_length: 10s
|
|
power_supply: atx_power_supply
|
|
effects:
|
|
- addressable_flicker:
|
|
name: Flicker Effect With Custom Values
|
|
update_interval: 16ms
|
|
intensity: 5%
|
|
type: GRBW
|
|
variant: SK6812
|
|
method: ESP32_I2S_0
|
|
num_leds: 60
|
|
pin: GPIO23
|
|
- platform: partition
|
|
name: 'Partition Light'
|
|
segments:
|
|
- id: addr1
|
|
from: 0
|
|
to: 0
|
|
- id: addr2
|
|
from: 1
|
|
to: 10
|
|
- id: addr2
|
|
from: 20
|
|
to: 25
|
|
- single_light_id: ${roomname}_lights
|
|
|
|
remote_transmitter:
|
|
- pin: 32
|
|
carrier_duty_percent: 100%
|
|
|
|
climate:
|
|
- platform: tcl112
|
|
name: TCL112 Climate With Sensor
|
|
supports_heat: True
|
|
supports_cool: True
|
|
sensor: ${sensorname}_sensor
|
|
- platform: tcl112
|
|
name: TCL112 Climate
|
|
action_state_topic: action/state/topic
|
|
away_command_topic: away/command/topic
|
|
away_state_topic: away/state/topic
|
|
current_temperature_state_topic: current/temperature/state/topic
|
|
fan_mode_command_topic: fan_mode/mode/command/topic
|
|
fan_mode_state_topic: fan_mode/mode/state/topic
|
|
mode_command_topic: mode/command/topic
|
|
mode_state_topic: mode/state/topic
|
|
swing_mode_command_topic: swing_mode/command/topic
|
|
swing_mode_state_topic: swing_mode/state/topic
|
|
target_temperature_command_topic: target/temperature/command/topic
|
|
target_temperature_high_command_topic: target/temperature/high/command/topic
|
|
target_temperature_high_state_topic: target/temperature/high/state/topic
|
|
target_temperature_low_command_topic: target/temperature/low/command/topic
|
|
target_temperature_low_state_topic: target/temperature/low/state/topic
|
|
target_temperature_state_topic: target/temperature/state/topic
|
|
- platform: coolix
|
|
name: Coolix Climate With Sensor
|
|
supports_heat: True
|
|
supports_cool: True
|
|
sensor: ${sensorname}_sensor
|
|
- platform: coolix
|
|
name: Coolix Climate
|
|
- platform: fujitsu_general
|
|
name: Fujitsu General Climate
|
|
- platform: daikin
|
|
name: Daikin Climate
|
|
- platform: yashima
|
|
name: Yashima Climate
|
|
- platform: mitsubishi
|
|
name: Mitsubishi
|
|
- platform: whirlpool
|
|
name: Whirlpool Climate
|
|
- platform: climate_ir_lg
|
|
name: LG Climate
|
|
- platform: toshiba
|
|
name: Toshiba Climate
|
|
- platform: hitachi_ac344
|
|
name: Hitachi Climate
|
|
- platform: heatpumpir
|
|
protocol: mitsubishi_heavy_zm
|
|
horizontal_default: left
|
|
vertical_default: up
|
|
name: HeatpumpIR Climate
|
|
min_temperature: 18
|
|
max_temperature: 30
|
|
- platform: midea
|
|
id: midea_unit
|
|
uart_id: uart0
|
|
name: Midea Climate
|
|
transmitter_id:
|
|
period: 1s
|
|
num_attempts: 5
|
|
timeout: 2s
|
|
beeper: false
|
|
autoconf: true
|
|
visual:
|
|
min_temperature: 17 °C
|
|
max_temperature: 30 °C
|
|
temperature_step: 0.5 °C
|
|
supported_modes:
|
|
- FAN_ONLY
|
|
- HEAT_COOL
|
|
- COOL
|
|
- HEAT
|
|
- DRY
|
|
custom_fan_modes:
|
|
- SILENT
|
|
- TURBO
|
|
supported_presets:
|
|
- ECO
|
|
- BOOST
|
|
- SLEEP
|
|
custom_presets:
|
|
- FREEZE_PROTECTION
|
|
supported_swing_modes:
|
|
- VERTICAL
|
|
- HORIZONTAL
|
|
- BOTH
|
|
outdoor_temperature:
|
|
name: "Temp"
|
|
power_usage:
|
|
name: "Power"
|
|
humidity_setpoint:
|
|
name: "Humidity"
|
|
- platform: anova
|
|
name: Anova cooker
|
|
ble_client_id: ble_blah
|
|
unit_of_measurement: c
|
|
icon: mdi:stove
|
|
|
|
script:
|
|
- id: climate_custom
|
|
then:
|
|
- climate.control:
|
|
id: midea_unit
|
|
custom_preset: FREEZE_PROTECTION
|
|
custom_fan_mode: SILENT
|
|
- id: climate_preset
|
|
then:
|
|
- climate.control:
|
|
id: midea_unit
|
|
preset: SLEEP
|
|
|
|
switch:
|
|
- platform: template
|
|
name: MIDEA_AC_TOGGLE_LIGHT
|
|
turn_on_action:
|
|
midea_ac.display_toggle:
|
|
- platform: template
|
|
name: MIDEA_AC_SWING_STEP
|
|
turn_on_action:
|
|
midea_ac.swing_step:
|
|
- platform: template
|
|
name: MIDEA_AC_BEEPER_CONTROL
|
|
optimistic: true
|
|
turn_on_action:
|
|
midea_ac.beeper_on:
|
|
turn_off_action:
|
|
midea_ac.beeper_off:
|
|
- platform: template
|
|
name: MIDEA_RAW
|
|
turn_on_action:
|
|
remote_transmitter.transmit_midea:
|
|
code: [0xA2, 0x08, 0xFF, 0xFF, 0xFF]
|
|
- platform: gpio
|
|
name: 'MCP23S08 Pin #0'
|
|
pin:
|
|
mcp23xxx: mcp23s08_hub
|
|
# Use pin number 0
|
|
number: 0
|
|
mode: OUTPUT
|
|
inverted: False
|
|
- platform: gpio
|
|
name: 'MCP23S17 Pin #0'
|
|
pin:
|
|
mcp23xxx: mcp23s17_hub
|
|
# Use pin number 0
|
|
number: 1
|
|
mode: OUTPUT
|
|
inverted: False
|
|
- platform: gpio
|
|
pin: GPIO25
|
|
name: 'Living Room Dehumidifier'
|
|
icon: 'mdi:restart'
|
|
inverted: True
|
|
command_topic: custom_command_topic
|
|
restore_mode: ALWAYS_OFF
|
|
- platform: template
|
|
name: JVC Off
|
|
id: living_room_lights_on
|
|
turn_on_action:
|
|
remote_transmitter.transmit_jvc:
|
|
data: 0x10EF
|
|
- platform: template
|
|
name: NEC
|
|
id: living_room_lights_off
|
|
turn_on_action:
|
|
remote_transmitter.transmit_nec:
|
|
address: 0x4242
|
|
command: 0x8484
|
|
- platform: template
|
|
name: LG
|
|
turn_on_action:
|
|
remote_transmitter.transmit_lg:
|
|
data: 4294967295
|
|
nbits: 28
|
|
- platform: template
|
|
name: Samsung
|
|
turn_on_action:
|
|
remote_transmitter.transmit_samsung:
|
|
data: 0xABCDEF
|
|
- platform: template
|
|
name: Samsung36
|
|
turn_on_action:
|
|
remote_transmitter.transmit_samsung36:
|
|
address: 0x0400
|
|
command: 0x000E00FF
|
|
- platform: template
|
|
name: ToshibaAC
|
|
turn_on_action:
|
|
- remote_transmitter.transmit_toshiba_ac:
|
|
rc_code_1: 0xB24DBF4050AF
|
|
rc_code_2: 0xD5660001003C
|
|
- platform: template
|
|
name: Sony
|
|
turn_on_action:
|
|
remote_transmitter.transmit_sony:
|
|
data: 0xABCDEF
|
|
nbits: 12
|
|
- platform: template
|
|
name: Panasonic
|
|
turn_on_action:
|
|
remote_transmitter.transmit_panasonic:
|
|
address: 0x4004
|
|
command: 0x1000BCD
|
|
- platform: template
|
|
name: Pioneer
|
|
turn_on_action:
|
|
- remote_transmitter.transmit_pioneer:
|
|
rc_code_1: 0xA556
|
|
rc_code_2: 0xA506
|
|
repeat:
|
|
times: 2
|
|
- platform: template
|
|
name: RC Switch Raw
|
|
turn_on_action:
|
|
remote_transmitter.transmit_rc_switch_raw:
|
|
code: '00101001100111110101xxxx'
|
|
protocol: 1
|
|
- platform: template
|
|
name: RC Switch Type A
|
|
turn_on_action:
|
|
remote_transmitter.transmit_rc_switch_type_a:
|
|
group: '11001'
|
|
device: '01000'
|
|
state: True
|
|
protocol:
|
|
pulse_length: 175
|
|
sync: [1, 31]
|
|
zero: [1, 3]
|
|
one: [3, 1]
|
|
inverted: False
|
|
- platform: template
|
|
name: RC Switch Type B
|
|
turn_on_action:
|
|
remote_transmitter.transmit_rc_switch_type_b:
|
|
address: 4
|
|
channel: 2
|
|
state: True
|
|
- platform: template
|
|
name: RC Switch Type C
|
|
turn_on_action:
|
|
remote_transmitter.transmit_rc_switch_type_c:
|
|
family: 'a'
|
|
group: 1
|
|
device: 2
|
|
state: True
|
|
- platform: template
|
|
name: RC Switch Type D
|
|
turn_on_action:
|
|
remote_transmitter.transmit_rc_switch_type_d:
|
|
group: 'a'
|
|
device: 2
|
|
state: True
|
|
- platform: template
|
|
name: RC5
|
|
turn_on_action:
|
|
remote_transmitter.transmit_rc5:
|
|
address: 0x00
|
|
command: 0x0B
|
|
- platform: template
|
|
name: RC5
|
|
turn_on_action:
|
|
remote_transmitter.transmit_raw:
|
|
code: [1000, -1000]
|
|
- platform: template
|
|
name: Living Room Lights
|
|
id: livingroom_lights
|
|
optimistic: True
|
|
assumed_state: yes
|
|
turn_on_action:
|
|
- switch.turn_on: living_room_lights_on
|
|
- output.set_level:
|
|
id: gpio_19
|
|
level: 50%
|
|
- output.set_level:
|
|
id: gpio_19
|
|
level: !lambda 'return 0.5;'
|
|
- output.set_level:
|
|
id: dac_output
|
|
level: 50%
|
|
- output.set_level:
|
|
id: dac_output
|
|
level: !lambda 'return 0.5;'
|
|
- output.set_level:
|
|
id: mcp4725_dac_output
|
|
level: !lambda 'return 0.5;'
|
|
turn_off_action:
|
|
- switch.turn_on: living_room_lights_off
|
|
restore_state: False
|
|
on_turn_on:
|
|
- switch.template.publish:
|
|
id: livingroom_lights
|
|
state: yes
|
|
- platform: restart
|
|
name: 'Living Room Restart'
|
|
- platform: safe_mode
|
|
name: 'Living Room Restart (Safe Mode)'
|
|
- platform: shutdown
|
|
name: 'Living Room Shutdown'
|
|
- platform: output
|
|
name: 'Generic Output'
|
|
output: pca_6
|
|
- platform: template
|
|
name: 'Template Switch'
|
|
id: my_switch
|
|
lambda: |-
|
|
if (id(binary_sensor1).state) {
|
|
return true;
|
|
} else {
|
|
return {};
|
|
}
|
|
id(my_switch).publish_state(false);
|
|
id(my_switch).publish_state(true);
|
|
if (id(my_switch).state) {
|
|
// Switch is ON, do something here
|
|
id(my_switch).turn_off();
|
|
id(my_switch).turn_on();
|
|
} else {
|
|
// Switch is OFF, do something else here
|
|
}
|
|
optimistic: true
|
|
assumed_state: no
|
|
restore_state: True
|
|
on_turn_off:
|
|
- switch.template.publish:
|
|
id: my_switch
|
|
state: !lambda 'return false;'
|
|
- platform: uart
|
|
uart_id: uart0
|
|
name: 'UART String Output'
|
|
data: 'DataToSend'
|
|
- platform: uart
|
|
uart_id: uart0
|
|
name: 'UART Bytes Output'
|
|
data: [0xDE, 0xAD, 0xBE, 0xEF]
|
|
- platform: uart
|
|
uart_id: uart0
|
|
name: 'UART Recurring Output'
|
|
data: [0xDE, 0xAD, 0xBE, 0xEF]
|
|
send_every: 1s
|
|
- platform: template
|
|
assumed_state: yes
|
|
name: Stepper Switch
|
|
turn_on_action:
|
|
- stepper.set_target:
|
|
id: my_stepper
|
|
target: !lambda |-
|
|
static int32_t i = 0;
|
|
i += 1000;
|
|
if (i > 5000) {
|
|
i = -5000;
|
|
}
|
|
return i;
|
|
- stepper.report_position:
|
|
id: my_stepper
|
|
position: 0
|
|
|
|
- platform: gpio
|
|
name: 'SN74HC595 Pin #0'
|
|
pin:
|
|
sn74hc595: sn74hc595_hub
|
|
# Use pin number 0
|
|
number: 0
|
|
inverted: False
|
|
- platform: template
|
|
id: ble1_status
|
|
optimistic: true
|
|
|
|
fan:
|
|
- platform: binary
|
|
output: gpio_26
|
|
name: 'Living Room Fan 1'
|
|
oscillation_output: gpio_19
|
|
direction_output: gpio_26
|
|
- platform: speed
|
|
id: fan_speed
|
|
icon: mdi:weather-windy
|
|
output: pca_6
|
|
speed_count: 10
|
|
name: 'Living Room Fan 2'
|
|
oscillation_output: gpio_19
|
|
direction_output: gpio_26
|
|
oscillation_state_topic: oscillation/state/topic
|
|
oscillation_command_topic: oscillation/command/topic
|
|
speed_level_state_topic: speed_level/state/topic
|
|
speed_level_command_topic: speed_level/command/topic
|
|
speed_state_topic: speed/state/topic
|
|
speed_command_topic: speed/command/topic
|
|
on_speed_set:
|
|
then:
|
|
- logger.log: "Fan speed was changed!"
|
|
|
|
interval:
|
|
- interval: 10s
|
|
then:
|
|
- display.page.show: !lambda |-
|
|
if (true) return id(page1); else return id(page2);
|
|
- display.page.show_next: display1
|
|
- display.page.show_previous: display1
|
|
- interval: 2s
|
|
then:
|
|
- lambda: |-
|
|
static uint16_t btn_left_state = id(btn_left)->get_value();
|
|
|
|
ESP_LOGD("adaptive touch", "___ Touch Pad '%s' (T%u): val: %u state: %u tres:%u", id(btn_left)->get_name().c_str(), id(btn_left)->get_touch_pad(), id(btn_left)->get_value(), btn_left_state, id(btn_left)->get_threshold());
|
|
|
|
btn_left_state = ((uint32_t) id(btn_left)->get_value() + 63 * (uint32_t)btn_left_state) >> 6;
|
|
|
|
id(btn_left)->set_threshold(btn_left_state * 0.9);
|
|
- if:
|
|
condition:
|
|
display.is_displaying_page:
|
|
id: display1
|
|
page_id: page1
|
|
then:
|
|
- logger.log: 'Seeing page 1'
|
|
|
|
color:
|
|
- id: kbx_red
|
|
red: 100%
|
|
green_int: 123
|
|
blue: 2%
|
|
- id: kbx_blue
|
|
red: 0%
|
|
green: 1%
|
|
blue: 100%
|
|
|
|
display:
|
|
- platform: lcd_gpio
|
|
dimensions: 18x4
|
|
data_pins:
|
|
- GPIO19
|
|
- GPIO21
|
|
- GPIO22
|
|
- GPIO23
|
|
enable_pin: GPIO23
|
|
rs_pin: GPIO25
|
|
lambda: |-
|
|
it.print("Hello World!");
|
|
- platform: lcd_pcf8574
|
|
dimensions: 18x4
|
|
address: 0x3F
|
|
lambda: |-
|
|
it.print("Hello World!");
|
|
i2c_id: i2c_bus
|
|
- platform: max7219
|
|
cs_pin: GPIO23
|
|
num_chips: 1
|
|
lambda: |-
|
|
it.print("01234567");
|
|
- platform: tm1637
|
|
clk_pin: GPIO23
|
|
dio_pin: GPIO25
|
|
intensity: 3
|
|
lambda: |-
|
|
it.print("1234");
|
|
- platform: tm1637
|
|
clk_pin:
|
|
mcp23xxx: mcp23017_hub
|
|
number: 1
|
|
dio_pin:
|
|
mcp23xxx: mcp23017_hub
|
|
number: 2
|
|
intensity: 3
|
|
lambda: |-
|
|
it.print("1234");
|
|
- platform: pcd8544
|
|
cs_pin: GPIO23
|
|
dc_pin: GPIO23
|
|
reset_pin: GPIO23
|
|
contrast: 60
|
|
lambda: |-
|
|
it.rectangle(0, 0, it.get_width(), it.get_height());
|
|
- platform: ssd1306_i2c
|
|
model: 'SSD1306_128X64'
|
|
reset_pin: GPIO23
|
|
address: 0x3C
|
|
id: display1
|
|
contrast: 60%
|
|
pages:
|
|
- id: page1
|
|
lambda: |-
|
|
it.rectangle(0, 0, it.get_width(), it.get_height());
|
|
- id: page2
|
|
lambda: |-
|
|
// Nothing
|
|
on_page_change:
|
|
from: page1
|
|
to: page2
|
|
then:
|
|
lambda: |-
|
|
ESP_LOGD("display", "1 -> 2");
|
|
i2c_id: i2c_bus
|
|
- platform: ssd1306_spi
|
|
model: 'SSD1306 128x64'
|
|
cs_pin: GPIO23
|
|
dc_pin: GPIO23
|
|
reset_pin: GPIO23
|
|
lambda: |-
|
|
it.rectangle(0, 0, it.get_width(), it.get_height());
|
|
- platform: ssd1322_spi
|
|
model: 'SSD1322 256x64'
|
|
cs_pin: GPIO23
|
|
dc_pin: GPIO23
|
|
reset_pin: GPIO23
|
|
lambda: |-
|
|
it.rectangle(0, 0, it.get_width(), it.get_height());
|
|
- platform: ssd1325_spi
|
|
model: 'SSD1325 128x64'
|
|
cs_pin: GPIO23
|
|
dc_pin: GPIO23
|
|
reset_pin: GPIO23
|
|
lambda: |-
|
|
it.rectangle(0, 0, it.get_width(), it.get_height());
|
|
- platform: ssd1327_i2c
|
|
model: 'SSD1327 128X128'
|
|
reset_pin: GPIO23
|
|
address: 0x3D
|
|
id: display1327
|
|
brightness: 60%
|
|
pages:
|
|
- id: page13271
|
|
lambda: |-
|
|
it.rectangle(0, 0, it.get_width(), it.get_height());
|
|
- id: page13272
|
|
lambda: |-
|
|
// Nothing
|
|
i2c_id: i2c_bus
|
|
- platform: ssd1327_spi
|
|
model: 'SSD1327 128x128'
|
|
cs_pin: GPIO23
|
|
dc_pin: GPIO23
|
|
reset_pin: GPIO23
|
|
lambda: |-
|
|
it.rectangle(0, 0, it.get_width(), it.get_height());
|
|
- platform: ssd1331_spi
|
|
cs_pin: GPIO23
|
|
dc_pin: GPIO23
|
|
reset_pin: GPIO23
|
|
lambda: |-
|
|
it.rectangle(0, 0, it.get_width(), it.get_height());
|
|
- platform: ssd1351_spi
|
|
model: 'SSD1351 128x128'
|
|
cs_pin: GPIO23
|
|
dc_pin: GPIO23
|
|
reset_pin: GPIO23
|
|
lambda: |-
|
|
it.rectangle(0, 0, it.get_width(), it.get_height());
|
|
- platform: st7789v
|
|
cs_pin: GPIO5
|
|
dc_pin: GPIO16
|
|
reset_pin: GPIO23
|
|
backlight_pin: GPIO4
|
|
lambda: |-
|
|
it.rectangle(0, 0, it.get_width(), it.get_height());
|
|
- platform: st7920
|
|
width: 128
|
|
height: 64
|
|
cs_pin:
|
|
number: GPIO23
|
|
inverted: true
|
|
lambda: |-
|
|
it.rectangle(0, 0, it.get_width(), it.get_height());
|
|
- platform: st7735
|
|
model: 'INITR_BLACKTAB'
|
|
cs_pin: GPIO5
|
|
dc_pin: GPIO16
|
|
reset_pin: GPIO23
|
|
rotation: 0
|
|
device_width: 128
|
|
device_height: 160
|
|
col_start: 0
|
|
row_start: 0
|
|
lambda: |-
|
|
it.rectangle(0, 0, it.get_width(), it.get_height());
|
|
- platform: ili9341
|
|
model: "TFT 2.4"
|
|
cs_pin: GPIO5
|
|
dc_pin: GPIO4
|
|
reset_pin: GPIO22
|
|
led_pin:
|
|
number: GPIO15
|
|
inverted: true
|
|
lambda: |-
|
|
it.rectangle(0, 0, it.get_width(), it.get_height());
|
|
- platform: ili9341
|
|
model: "TFT 2.4"
|
|
cs_pin: GPIO5
|
|
dc_pin: GPIO4
|
|
reset_pin: GPIO22
|
|
led_pin:
|
|
number: GPIO15
|
|
inverted: true
|
|
auto_clear_enabled: false
|
|
rotation: 90
|
|
lambda: |-
|
|
if (!id(glob_bool_processed)) {
|
|
it.fill(Color::WHITE);
|
|
id(glob_bool_processed) = true;
|
|
}
|
|
|
|
tm1651:
|
|
id: tm1651_battery
|
|
clk_pin: GPIO23
|
|
dio_pin: GPIO23
|
|
|
|
remote_receiver:
|
|
pin: GPIO32
|
|
dump: all
|
|
|
|
status_led:
|
|
pin: GPIO2
|
|
|
|
pn532_spi:
|
|
id: pn532_bs
|
|
cs_pin: GPIO23
|
|
update_interval: 1s
|
|
on_tag:
|
|
- lambda: |-
|
|
ESP_LOGD("main", "Found tag %s", x.c_str());
|
|
- mqtt.publish:
|
|
topic: the/topic
|
|
payload: !lambda 'return x;'
|
|
on_tag_removed:
|
|
- lambda: |-
|
|
ESP_LOGD("main", "Removed tag %s", x.c_str());
|
|
- mqtt.publish:
|
|
topic: the/topic
|
|
payload: !lambda 'return x;'
|
|
|
|
pn532_i2c:
|
|
i2c_id: i2c_bus
|
|
|
|
rdm6300:
|
|
uart_id: uart0
|
|
|
|
rc522_spi:
|
|
cs_pin: GPIO23
|
|
update_interval: 1s
|
|
on_tag:
|
|
- lambda: |-
|
|
ESP_LOGD("main", "Found tag %s", x.c_str());
|
|
|
|
rc522_i2c:
|
|
- update_interval: 1s
|
|
on_tag:
|
|
- lambda: |-
|
|
ESP_LOGD("main", "Found tag %s", x.c_str());
|
|
i2c_id: i2c_bus
|
|
|
|
- update_interval: 1s
|
|
on_tag:
|
|
- lambda: |-
|
|
ESP_LOGD("main", "Found tag %s", x.c_str());
|
|
i2c_id: i2c_bus
|
|
|
|
gps:
|
|
uart_id: uart0
|
|
|
|
time:
|
|
- platform: sntp
|
|
id: sntp_time
|
|
servers:
|
|
- 0.pool.ntp.org
|
|
- 1.pool.ntp.org
|
|
- 192.168.178.1
|
|
on_time:
|
|
cron: '/30 0-30,30/5 * ? JAN-DEC MON,SAT-SUN,TUE-FRI'
|
|
then:
|
|
- lambda: 'ESP_LOGD("main", "time");'
|
|
- platform: gps
|
|
on_time_sync:
|
|
then:
|
|
ds1307.write_time:
|
|
id: ds1307_time
|
|
- platform: ds1307
|
|
id: ds1307_time
|
|
update_interval: never
|
|
on_time:
|
|
seconds: 0
|
|
then: ds1307.read_time
|
|
i2c_id: i2c_bus
|
|
|
|
cover:
|
|
- platform: template
|
|
name: 'Template Cover'
|
|
id: template_cover
|
|
lambda: |-
|
|
if (id(binary_sensor1).state) {
|
|
return COVER_OPEN;
|
|
} else {
|
|
return {};
|
|
}
|
|
optimistic: true
|
|
open_action:
|
|
- cover.template.publish:
|
|
id: template_cover
|
|
state: CLOSED
|
|
assumed_state: no
|
|
has_position: yes
|
|
position_state_topic: position/state/topic
|
|
position_command_topic: position/command/topic
|
|
tilt_lambda: !lambda 'return 0.5;'
|
|
tilt_state_topic: tilt/state/topic
|
|
tilt_command_topic: tilt/command/topic
|
|
on_open:
|
|
then:
|
|
- lambda: 'ESP_LOGD("cover", "open");'
|
|
on_closed:
|
|
then:
|
|
- lambda: 'ESP_LOGD("cover", "closed");'
|
|
- platform: am43
|
|
name: 'Test AM43'
|
|
id: am43_test
|
|
ble_client_id: ble_foo
|
|
icon: mdi:blinds
|
|
|
|
debug:
|
|
|
|
tca9548a:
|
|
- address: 0x70
|
|
id: multiplex0
|
|
channels:
|
|
- bus_id: multiplex0_chan0
|
|
channel: 0
|
|
i2c_id: i2c_bus
|
|
- address: 0x71
|
|
id: multiplex1
|
|
i2c_id: multiplex0_chan0
|
|
|
|
pcf8574:
|
|
- id: 'pcf8574_hub'
|
|
address: 0x21
|
|
pcf8575: False
|
|
i2c_id: i2c_bus
|
|
|
|
mcp23017:
|
|
- id: 'mcp23017_hub'
|
|
open_drain_interrupt: 'true'
|
|
i2c_id: i2c_bus
|
|
|
|
mcp23008:
|
|
- id: 'mcp23008_hub'
|
|
address: 0x22
|
|
open_drain_interrupt: 'true'
|
|
i2c_id: i2c_bus
|
|
|
|
mcp23016:
|
|
- id: 'mcp23016_hub'
|
|
address: 0x23
|
|
i2c_id: i2c_bus
|
|
|
|
stepper:
|
|
- platform: a4988
|
|
id: my_stepper
|
|
step_pin: GPIO23
|
|
dir_pin: GPIO25
|
|
sleep_pin: GPIO25
|
|
max_speed: 250 steps/s
|
|
acceleration: 100 steps/s^2
|
|
deceleration: 200 steps/s^2
|
|
|
|
globals:
|
|
- id: glob_int
|
|
type: int
|
|
restore_value: yes
|
|
initial_value: '0'
|
|
- id: glob_float
|
|
type: float
|
|
restore_value: yes
|
|
initial_value: '0.0f'
|
|
- id: glob_bool
|
|
type: bool
|
|
restore_value: no
|
|
initial_value: 'true'
|
|
- id: glob_string
|
|
type: std::string
|
|
restore_value: no
|
|
# initial_value: ""
|
|
- id: glob_bool_processed
|
|
type: bool
|
|
restore_value: no
|
|
initial_value: 'false'
|
|
|
|
text_sensor:
|
|
- platform: mqtt_subscribe
|
|
name: 'MQTT Subscribe Text'
|
|
topic: 'the/topic'
|
|
qos: 2
|
|
on_value:
|
|
- text_sensor.template.publish:
|
|
id: ${textname}_text
|
|
state: Hello World
|
|
- text_sensor.template.publish:
|
|
id: ${textname}_text
|
|
state: |-
|
|
return "Hello World2";
|
|
- globals.set:
|
|
id: glob_int
|
|
value: '0'
|
|
- canbus.send:
|
|
can_id: 23
|
|
data: [0x10, 0x20, 0x30]
|
|
- platform: template
|
|
name: Template Text Sensor
|
|
id: ${textname}_text
|
|
- platform: wifi_info
|
|
scan_results:
|
|
name: 'Scan Results'
|
|
ip_address:
|
|
name: 'IP Address'
|
|
ssid:
|
|
name: 'SSID'
|
|
bssid:
|
|
name: 'BSSID'
|
|
mac_address:
|
|
name: 'Mac Address'
|
|
- platform: version
|
|
name: 'ESPHome Version No Timestamp'
|
|
hide_timestamp: True
|
|
- platform: teleinfo
|
|
tag_name: "OPTARIF"
|
|
name: "optarif"
|
|
teleinfo_id: myteleinfo
|
|
|
|
sn74hc595:
|
|
- id: 'sn74hc595_hub'
|
|
data_pin: GPIO21
|
|
clock_pin: GPIO23
|
|
latch_pin: GPIO22
|
|
oe_pin: GPIO32
|
|
sr_count: 2
|
|
|
|
rtttl:
|
|
output: gpio_19
|
|
|
|
canbus:
|
|
- platform: mcp2515
|
|
cs_pin: GPIO17
|
|
can_id: 4
|
|
bit_rate: 50kbps
|
|
on_frame:
|
|
- can_id: 500
|
|
then:
|
|
- lambda: |-
|
|
std::string b(x.begin(), x.end());
|
|
ESP_LOGD("canid 500", "%s", &b[0] );
|
|
- can_id: 23
|
|
then:
|
|
- if:
|
|
condition:
|
|
lambda: 'return x[0] == 0x11;'
|
|
then:
|
|
light.toggle: ${roomname}_lights
|
|
|
|
teleinfo:
|
|
id: myteleinfo
|
|
uart_id: uart0
|
|
update_interval: 60s
|
|
historical_mode: true
|