esphome/tests/test1.yaml

2226 lines
50 KiB
YAML
Raw Normal View History

substitutions:
devicename: test1
sensorname: my
textname: template
roomname: living_room
esphome:
2018-08-26 11:26:14 +02:00
name: test1
name_add_mac_suffix: true
2018-08-26 11:26:14 +02:00
platform: ESP32
board: nodemcu-32s
platformio_options:
board_build.partitions: huge_app.csv
2018-08-26 11:26:14 +02:00
on_boot:
priority: 150.0
then:
- lambda: >-
ESP_LOGD("main", "ON BOOT!");
on_shutdown:
then:
- lambda: >-
ESP_LOGD("main", "ON SHUTDOWN!");
2018-09-23 18:58:41 +02:00
on_loop:
then:
- lambda: >-
ESP_LOGV("main", "ON LOOP!");
- light.addressable_set:
id: addr1
2019-05-27 19:35:36 +02:00
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
2018-09-26 18:39:41 +02:00
build_path: build/test1
2018-08-26 11:26:14 +02:00
packages:
wifi: !include test_packages/test_packages_package_wifi.yaml
pkg_test: !include test_packages/test_packages_package1.yaml
2018-08-26 11:26:14 +02:00
wifi:
2019-01-06 11:43:14 +01:00
networks:
2020-11-20 03:59:19 +01:00
- ssid: 'MySSID'
password: 'password1'
- ssid: 'MySSID2'
password: ''
channel: 14
bssid: 'A1:63:95:47:D3:1D'
enable_mdns: true
2018-08-26 11:26:14 +02:00
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
2018-08-26 11:26:14 +02:00
http_request:
useragent: esphome/device
timeout: 10s
2018-08-26 11:26:14 +02:00
mqtt:
broker: '192.168.178.84'
port: 1883
username: 'debug'
password: 'debug'
client_id: someclient
discovery: True
discovery_retain: False
discovery_prefix: discovery
topic_prefix: helloworld
log_topic:
topic: helloworld/hi
level: INFO
2018-08-26 11:26:14 +02:00
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: >-
2018-09-23 18:58:41 +02:00
ESP_LOGD("main", "Got message %s", x.c_str());
2018-08-26 11:26:14 +02:00
- topic: livingroom/ota_mode
then:
2020-11-20 03:59:19 +01:00
- deep_sleep.prevent
2018-08-26 11:26:14 +02:00
- topic: livingroom/ota_mode
then:
2020-11-20 03:59:19 +01:00
- deep_sleep.enter:
on_json_message:
topic: the/topic
then:
2020-11-20 03:59:19 +01:00
- if:
condition:
- wifi.connected:
- mqtt.connected:
- light.is_on: kitchen
- light.is_off: kitchen
then:
- lambda: |-
int data = x["my_data"];
ESP_LOGD("main", "The data is: %d", data);
- light.turn_on:
id: ${roomname}_lights
2020-11-20 03:59:19 +01:00
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;'
2020-11-20 03:59:19 +01:00
- light.dim_relative:
id: ${roomname}_lights
2020-11-20 03:59:19 +01:00
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 {};
2018-08-26 11:26:14 +02:00
i2c:
sda: 21
scl: 22
scan: True
frequency: 100kHz
setup_priority: -100
2018-08-26 11:26:14 +02:00
spi:
clk_pin: GPIO21
mosi_pin: GPIO22
miso_pin: GPIO23
uart:
- tx_pin: GPIO22
rx_pin: GPIO23
baud_rate: 115200
id: uart0
parity: NONE
data_bits: 8
stop_bits: 1
rx_buffer_size: 512
invert: false
- id: adalight_uart
tx_pin: GPIO25
rx_pin: GPIO26
baud_rate: 115200
rx_buffer_size: 1024
2018-08-26 11:26:14 +02:00
ota:
safe_mode: True
password: 'superlongpasswordthatnoonewillknow'
port: 3286
2020-12-01 23:41:39 +01:00
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);
2018-08-26 11:26:14 +02:00
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
2018-08-26 11:26:14 +02:00
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
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
2018-08-26 11:26:14 +02:00
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);
2018-08-26 11:26:14 +02:00
- platform: adc
pin: A0
2020-11-20 03:59:19 +01:00
name: 'Living Room Brightness'
2018-08-26 11:26:14 +02:00
update_interval: '1:01'
attenuation: 2.5db
2020-11-20 03:59:19 +01:00
unit_of_measurement: '°C'
icon: 'mdi:water-percent'
2018-08-26 11:26:14 +02:00
accuracy_decimals: 5
expire_after: 120s
setup_priority: -100
force_update: true
2018-08-26 11:26:14 +02:00
filters:
- offset: 2.0
- multiply: 1.2
- calibrate_linear:
2020-11-20 03:59:19 +01:00
- 0.0 -> 0.0
- 40.0 -> 45.0
- 100.0 -> 102.5
2018-08-26 11:26:14 +02:00
- filter_out: 42.0
- filter_out: nan
- median:
window_size: 5
send_every: 5
send_first_at: 3
2021-03-05 14:10:06 +01:00
- min:
window_size: 5
send_every: 5
send_first_at: 3
- max:
window_size: 5
send_every: 5
send_first_at: 3
2018-08-26 11:26:14 +02:00
- sliding_window_moving_average:
window_size: 15
send_every: 15
send_first_at: 15
2018-08-26 11:26:14 +02:00
- exponential_moving_average:
alpha: 0.1
send_every: 15
- throttle: 1s
- heartbeat: 5s
- debounce: 0.1s
- delta: 5.0
- or:
2020-11-20 03:59:19 +01:00
- throttle: 1s
- delta: 5.0
2018-08-26 11:26:14 +02:00
- lambda: return x * (9.0/5.0) + 32.0;
on_value:
then:
[Huge] Util Refactor, Dashboard Improvements, Hass.io Auth API, Better Validation Errors, Conditions, Custom Platforms, Substitutions (#234) * Implement custom sensor platform * Update * Ethernet * Lint * Fix * Login page * Rename cookie secret * Update manifest * Update cookie check logic * Favicon * Fix * Favicon manifest * Fix * Fix * Fix * Use hostname * Message * Temporary commit for screenshot * Automatic board selection * Undo temporary commit * Update esphomeyaml-edge * In-dashboard editing and hosting files locally * Update esphomeyaml-edge * Better ANSI color escaping * Message * Lint * Download Efficiency * Fix gitlab * Fix * Rename extra_libraries to libraries * Add example * Update README.md * Update README.md * Update README.md * HassIO -> Hass.io * Updates * Add update available notice * Update * Fix substitutions * Better error message * Re-do dashboard ANSI colors * Only include FastLED if user says so * Autoscroll logs * Remove old checks * Use safer RedirectText * Improvements * Fix * Use enviornment variable * Use http://hassio/host/info * Fix conditions * Update platformio versions * Revert "Use enviornment variable" This reverts commit 7f038eb5d26df72f76ea9ae76774e2cec1fd7f59. * Fix * README update * Temp * Better invalid config messages * Platformio debug * Improve error messages * Debug * Remove debug * Multi Conf * Update * Better paths * Remove unused * Fixes * Lint * lib_ignore * Try fix platformio colors * Fix dashboard scrolling * Revert * Lint * Revert
2018-12-05 21:22:06 +01:00
- lambda: |-
2018-08-26 11:26:14 +02:00
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);
2018-08-26 11:26:14 +02:00
on_value_range:
above: 5
below: 10
then:
- lambda: >-
ESP_LOGD("main", "Got value range %f", x);
2019-02-17 19:27:33 +01:00
- wait_until:
binary_sensor.is_on: binary_sensor1
2018-08-26 11:26:14 +02:00
on_raw_value:
- lambda: >-
ESP_LOGD("main", "Got raw value %f", x);
- logger.log:
level: DEBUG
2020-11-20 03:59:19 +01:00
format: 'Got raw value %f'
args: ['x']
2020-11-20 03:59:19 +01:00
- logger.log: 'Got raw value NAN'
2018-08-26 11:26:14 +02:00
- mqtt.publish:
topic: some/topic
payload: Hello
qos: 2
retain: True
- platform: esp32_hall
name: ESP32 Hall Sensor
2018-08-26 11:26:14 +02:00
- platform: ads1115
multiplexer: 'A0_A1'
gain: 1.024
id: ${sensorname}_sensor
2018-08-26 11:26:14 +02:00
filters:
state_topic: hi/me
retain: false
availability:
- platform: atm90e32
cs_pin: 5
phase_a:
voltage:
2020-11-20 03:59:19 +01:00
name: 'EMON Line Voltage A'
current:
2020-11-20 03:59:19 +01:00
name: 'EMON CT1 Current'
power:
2020-11-20 03:59:19 +01:00
name: 'EMON Active Power CT1'
reactive_power:
2020-11-20 03:59:19 +01:00
name: 'EMON Reactive Power CT1'
power_factor:
2020-11-20 03:59:19 +01:00
name: 'EMON Power Factor CT1'
gain_voltage: 7305
gain_ct: 27961
phase_b:
current:
2020-11-20 03:59:19 +01:00
name: 'EMON CT2 Current'
power:
2020-11-20 03:59:19 +01:00
name: 'EMON Active Power CT2'
reactive_power:
2020-11-20 03:59:19 +01:00
name: 'EMON Reactive Power CT2'
power_factor:
2020-11-20 03:59:19 +01:00
name: 'EMON Power Factor CT2'
gain_voltage: 7305
gain_ct: 27961
phase_c:
current:
2020-11-20 03:59:19 +01:00
name: 'EMON CT3 Current'
power:
2020-11-20 03:59:19 +01:00
name: 'EMON Active Power CT3'
reactive_power:
2020-11-20 03:59:19 +01:00
name: 'EMON Reactive Power CT3'
power_factor:
2020-11-20 03:59:19 +01:00
name: 'EMON Power Factor CT3'
gain_voltage: 7305
gain_ct: 27961
frequency:
2020-11-20 03:59:19 +01:00
name: 'EMON Line Frequency'
chip_temperature:
2020-11-20 03:59:19 +01:00
name: 'EMON Chip Temp A'
line_frequency: 60Hz
current_phases: 3
gain_pga: 2X
2018-08-26 11:26:14 +02:00
- platform: bh1750
2020-11-20 03:59:19 +01:00
name: 'Living Room Brightness 3'
2018-08-26 11:26:14 +02:00
internal: true
address: 0x23
resolution: 1.0
update_interval: 30s
retain: False
availability:
state_topic: livingroom/custom_state_topic
measurement_duration: 31
2018-08-26 11:26:14 +02:00
- platform: bme280
temperature:
2020-11-20 03:59:19 +01:00
name: 'Outside Temperature'
2018-08-26 11:26:14 +02:00
oversampling: 16x
pressure:
2020-11-20 03:59:19 +01:00
name: 'Outside Pressure'
2018-08-26 11:26:14 +02:00
oversampling: none
humidity:
2020-11-20 03:59:19 +01:00
name: 'Outside Humidity'
2018-08-26 11:26:14 +02:00
oversampling: 8x
address: 0x77
iir_filter: 16x
update_interval: 15s
- platform: bme680
temperature:
2020-11-20 03:59:19 +01:00
name: 'Outside Temperature'
2018-08-26 11:26:14 +02:00
oversampling: 16x
pressure:
2020-11-20 03:59:19 +01:00
name: 'Outside Pressure'
2018-08-26 11:26:14 +02:00
humidity:
2020-11-20 03:59:19 +01:00
name: 'Outside Humidity'
2018-08-26 11:26:14 +02:00
gas_resistance:
2020-11-20 03:59:19 +01:00
name: 'Outside Gas Sensor'
2018-08-26 11:26:14 +02:00
address: 0x77
heater:
temperature: 320
duration: 150ms
update_interval: 15s
- platform: bmp085
temperature:
2020-11-20 03:59:19 +01:00
name: 'Outside Temperature'
2018-08-26 11:26:14 +02:00
pressure:
2020-11-20 03:59:19 +01:00
name: 'Outside Pressure'
2018-08-26 11:26:14 +02:00
filters:
- lambda: >-
return x / powf(1.0 - (x / 44330.0), 5.255);
update_interval: 15s
- platform: bmp280
temperature:
2020-11-20 03:59:19 +01:00
name: 'Outside Temperature'
2018-08-26 11:26:14 +02:00
oversampling: 16x
pressure:
2020-11-20 03:59:19 +01:00
name: 'Outside Pressure'
2018-08-26 11:26:14 +02:00
address: 0x77
update_interval: 15s
iir_filter: 16x
- platform: dallas
address: 0x1C0000031EDD2A28
2020-11-20 03:59:19 +01:00
name: 'Living Room Temperature'
2018-08-26 11:26:14 +02:00
resolution: 9
- platform: dallas
index: 1
2020-11-20 03:59:19 +01:00
name: 'Living Room Temperature 2'
2018-08-26 11:26:14 +02:00
- platform: dht
pin: GPIO26
temperature:
2020-11-20 03:59:19 +01:00
name: 'Living Room Temperature 3'
2018-08-26 11:26:14 +02:00
humidity:
2020-11-20 03:59:19 +01:00
name: 'Living Room Humidity 3'
2018-08-26 11:26:14 +02:00
model: AM2302
update_interval: 15s
- platform: dht12
temperature:
2020-11-20 03:59:19 +01:00
name: 'Living Room Temperature 4'
2018-08-26 11:26:14 +02:00
humidity:
2020-11-20 03:59:19 +01:00
name: 'Living Room Humidity 4'
2018-08-26 11:26:14 +02:00
update_interval: 15s
- platform: duty_cycle
pin: GPIO25
name: Duty Cycle Sensor
- platform: esp32_hall
2020-11-20 03:59:19 +01:00
name: 'ESP32 Hall Sensor'
2018-08-26 11:26:14 +02:00
update_interval: 15s
- platform: hdc1080
temperature:
2020-11-20 03:59:19 +01:00
name: 'Living Room Temperature 5'
2018-08-26 11:26:14 +02:00
humidity:
2020-11-20 03:59:19 +01:00
name: 'Living Room Pressure 5'
2018-08-26 11:26:14 +02:00
update_interval: 15s
- platform: hlw8012
sel_pin: 5
cf_pin: 14
cf1_pin: 13
current:
2020-11-20 03:59:19 +01:00
name: 'HLW8012 Current'
2018-08-26 11:26:14 +02:00
voltage:
2020-11-20 03:59:19 +01:00
name: 'HLW8012 Voltage'
2018-08-26 11:26:14 +02:00
power:
2020-11-20 03:59:19 +01:00
name: 'HLW8012 Power'
id: hlw8012_power
2021-02-13 09:57:06 +01:00
energy:
name: 'HLW8012 Energy'
2021-02-13 09:57:06 +01:00
id: hlw8012_energy
2018-08-26 11:26:14 +02:00
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
2020-11-20 03:59:19 +01:00
name: 'HLW8012 Total Daily Energy'
- platform: integration
sensor: hlw8012_power
2020-11-20 03:59:19 +01:00
name: 'Integration Sensor'
time_unit: s
- platform: integration
sensor: hlw8012_power
name: 'Integration Sensor lazy'
time_unit: s
min_save_interval: 60s
2018-08-26 11:26:14 +02:00
- platform: hmc5883l
address: 0x68
field_strength_x:
2020-11-20 03:59:19 +01:00
name: 'HMC5883L Field Strength X'
2018-08-26 11:26:14 +02:00
field_strength_y:
2020-11-20 03:59:19 +01:00
name: 'HMC5883L Field Strength Y'
2018-08-26 11:26:14 +02:00
field_strength_z:
2020-11-20 03:59:19 +01:00
name: 'HMC5883L Field Strength Z'
2018-08-26 11:26:14 +02:00
heading:
2020-11-20 03:59:19 +01:00
name: 'HMC5883L Heading'
2018-08-26 11:26:14 +02:00
range: 130uT
oversampling: 8x
update_interval: 15s
- platform: qmc5883l
address: 0x0D
field_strength_x:
2020-11-20 03:59:19 +01:00
name: 'QMC5883L Field Strength X'
field_strength_y:
2020-11-20 03:59:19 +01:00
name: 'QMC5883L Field Strength Y'
field_strength_z:
2020-11-20 03:59:19 +01:00
name: 'QMC5883L Field Strength Z'
heading:
2020-11-20 03:59:19 +01:00
name: 'QMC5883L Heading'
range: 800uT
oversampling: 256x
2018-08-26 11:26:14 +02:00
update_interval: 15s
- platform: hx711
2020-11-20 03:59:19 +01:00
name: 'HX711 Value'
2018-08-26 11:26:14 +02:00
dout_pin: GPIO23
clk_pin: GPIO25
2018-08-26 11:26:14 +02:00
gain: 128
update_interval: 15s
- platform: ina219
address: 0x40
shunt_resistance: 0.1 ohm
current:
2020-11-20 03:59:19 +01:00
name: 'INA219 Current'
2018-08-26 11:26:14 +02:00
power:
2020-11-20 03:59:19 +01:00
name: 'INA219 Power'
2018-08-26 11:26:14 +02:00
bus_voltage:
2020-11-20 03:59:19 +01:00
name: 'INA219 Bus Voltage'
2018-08-26 11:26:14 +02:00
shunt_voltage:
2020-11-20 03:59:19 +01:00
name: 'INA219 Shunt Voltage'
2018-08-26 11:26:14 +02:00
max_voltage: 32.0V
max_current: 3.2A
update_interval: 15s
- platform: ina226
address: 0x40
shunt_resistance: 0.1 ohm
current:
2020-11-20 03:59:19 +01:00
name: 'INA226 Current'
power:
2020-11-20 03:59:19 +01:00
name: 'INA226 Power'
bus_voltage:
2020-11-20 03:59:19 +01:00
name: 'INA226 Bus Voltage'
shunt_voltage:
2020-11-20 03:59:19 +01:00
name: 'INA226 Shunt Voltage'
max_current: 3.2A
update_interval: 15s
2018-08-26 11:26:14 +02:00
- platform: ina3221
address: 0x40
channel_1:
shunt_resistance: 0.1 ohm
current:
2020-11-20 03:59:19 +01:00
name: 'INA3221 Channel 1 Current'
2018-08-26 11:26:14 +02:00
power:
2020-11-20 03:59:19 +01:00
name: 'INA3221 Channel 1 Power'
2018-08-26 11:26:14 +02:00
bus_voltage:
2020-11-20 03:59:19 +01:00
name: 'INA3221 Channel 1 Bus Voltage'
2018-08-26 11:26:14 +02:00
shunt_voltage:
2020-11-20 03:59:19 +01:00
name: 'INA3221 Channel 1 Shunt Voltage'
2018-08-26 11:26:14 +02:00
update_interval: 15s
- platform: htu21d
temperature:
2020-11-20 03:59:19 +01:00
name: 'Living Room Temperature 6'
2018-08-26 11:26:14 +02:00
humidity:
2020-11-20 03:59:19 +01:00
name: 'Living Room Humidity 6'
2018-08-26 11:26:14 +02:00
update_interval: 15s
- platform: max6675
2020-11-20 03:59:19 +01:00
name: 'Living Room Temperature'
2018-08-26 11:26:14 +02:00
cs_pin: GPIO23
update_interval: 15s
- platform: max31855
2020-11-20 03:59:19 +01:00
name: 'Den Temperature'
cs_pin: GPIO23
update_interval: 15s
Add MAX31865 sensor support, fix MAX31855 sensor (#832) * Add MAX31865 sensor support, fix MAX31855 sensor. # MAX31865 Added support for the MAX31865 RTD-to-Digital Converter to measure PT100 and similar RTDs. Verified with an Adafruit unit (product ID: 3328) and a PT100 probe. # MAX31855 This was setup for incorrect SPI clock polarity and phase, and would return bad data due to a race condition measuring on the wrong edge (verified with Saleae Logic scope). Selecting the correct configuration fixes that problem. Re-wrote the decode off the datasheet to handle error states better (sends NaN as an update on failure to read temperature, which shows the value as Unknown in Home Assistant). Added the *optional* ability to monitor the internal high-precision temperature sensor, which can be nice in some applications. * Tests for MAX31855/MAX38165. * Update style to match project rules. Also fix CONF_REFERENCE_RESISTANCE and CONF_REFERENCE_TEMPERATURE being defined multiple places. Missed this when I added them to const.py. * Update style to match project rules. Pylint line limit 101/100 ("missed it by that much"). Also apparently I can't read and patched the wrong line in max31855.cpp. * Minor string/style cleanup. There was a copy-paste leftover in max31855.cpp and max31865/sensor.py had unnecessary whitespace. * Improve MAX31865 fault detection and logging. Log levels are more in-line with the documented descriptions. Fault detection code is improved. A transient fault between reads is still reported, but now only faults *during* a read cause the sensor to fail and return NAN ("unknown" in Home Assistant). * Update style to match project rules. I just now realized the .clang-format and pylintrc files are included. D'oh! * MAX31855 & MAX31865 code style alignment. @OttoWinter caught some style mismatches, updated to match project better. * Fix a lost '\' in max31865/sensor.py.
2019-11-06 13:56:43 +01:00
reference_temperature:
2020-11-20 03:59:19 +01:00
name: 'MAX31855 Internal Temperature'
- platform: max31856
2020-11-20 03:59:19 +01:00
name: 'BBQ Temperature'
cs_pin: GPIO17
update_interval: 15s
mains_filter: 50Hz
Add MAX31865 sensor support, fix MAX31855 sensor (#832) * Add MAX31865 sensor support, fix MAX31855 sensor. # MAX31865 Added support for the MAX31865 RTD-to-Digital Converter to measure PT100 and similar RTDs. Verified with an Adafruit unit (product ID: 3328) and a PT100 probe. # MAX31855 This was setup for incorrect SPI clock polarity and phase, and would return bad data due to a race condition measuring on the wrong edge (verified with Saleae Logic scope). Selecting the correct configuration fixes that problem. Re-wrote the decode off the datasheet to handle error states better (sends NaN as an update on failure to read temperature, which shows the value as Unknown in Home Assistant). Added the *optional* ability to monitor the internal high-precision temperature sensor, which can be nice in some applications. * Tests for MAX31855/MAX38165. * Update style to match project rules. Also fix CONF_REFERENCE_RESISTANCE and CONF_REFERENCE_TEMPERATURE being defined multiple places. Missed this when I added them to const.py. * Update style to match project rules. Pylint line limit 101/100 ("missed it by that much"). Also apparently I can't read and patched the wrong line in max31855.cpp. * Minor string/style cleanup. There was a copy-paste leftover in max31855.cpp and max31865/sensor.py had unnecessary whitespace. * Improve MAX31865 fault detection and logging. Log levels are more in-line with the documented descriptions. Fault detection code is improved. A transient fault between reads is still reported, but now only faults *during* a read cause the sensor to fail and return NAN ("unknown" in Home Assistant). * Update style to match project rules. I just now realized the .clang-format and pylintrc files are included. D'oh! * MAX31855 & MAX31865 code style alignment. @OttoWinter caught some style mismatches, updated to match project better. * Fix a lost '\' in max31865/sensor.py.
2019-11-06 13:56:43 +01:00
- platform: max31865
2020-11-20 03:59:19 +01:00
name: 'Water Tank Temperature'
Add MAX31865 sensor support, fix MAX31855 sensor (#832) * Add MAX31865 sensor support, fix MAX31855 sensor. # MAX31865 Added support for the MAX31865 RTD-to-Digital Converter to measure PT100 and similar RTDs. Verified with an Adafruit unit (product ID: 3328) and a PT100 probe. # MAX31855 This was setup for incorrect SPI clock polarity and phase, and would return bad data due to a race condition measuring on the wrong edge (verified with Saleae Logic scope). Selecting the correct configuration fixes that problem. Re-wrote the decode off the datasheet to handle error states better (sends NaN as an update on failure to read temperature, which shows the value as Unknown in Home Assistant). Added the *optional* ability to monitor the internal high-precision temperature sensor, which can be nice in some applications. * Tests for MAX31855/MAX38165. * Update style to match project rules. Also fix CONF_REFERENCE_RESISTANCE and CONF_REFERENCE_TEMPERATURE being defined multiple places. Missed this when I added them to const.py. * Update style to match project rules. Pylint line limit 101/100 ("missed it by that much"). Also apparently I can't read and patched the wrong line in max31855.cpp. * Minor string/style cleanup. There was a copy-paste leftover in max31855.cpp and max31865/sensor.py had unnecessary whitespace. * Improve MAX31865 fault detection and logging. Log levels are more in-line with the documented descriptions. Fault detection code is improved. A transient fault between reads is still reported, but now only faults *during* a read cause the sensor to fail and return NAN ("unknown" in Home Assistant). * Update style to match project rules. I just now realized the .clang-format and pylintrc files are included. D'oh! * MAX31855 & MAX31865 code style alignment. @OttoWinter caught some style mismatches, updated to match project better. * Fix a lost '\' in max31865/sensor.py.
2019-11-06 13:56:43 +01:00
cs_pin: GPIO23
update_interval: 15s
2020-11-20 03:59:19 +01:00
reference_resistance: '430 Ω'
rtd_nominal_resistance: '100 Ω'
2018-08-26 11:26:14 +02:00
- platform: mhz19
uart_id: uart0
2018-08-26 11:26:14 +02:00
co2:
2020-11-20 03:59:19 +01:00
name: 'MH-Z19 CO2 Value'
2018-08-26 11:26:14 +02:00
temperature:
2020-11-20 03:59:19 +01:00
name: 'MH-Z19 Temperature'
2018-08-26 11:26:14 +02:00
update_interval: 15s
automatic_baseline_calibration: false
2018-08-26 11:26:14 +02:00
- platform: mpu6050
address: 0x68
accel_x:
2020-11-20 03:59:19 +01:00
name: 'MPU6050 Accel X'
2018-08-26 11:26:14 +02:00
accel_y:
2020-11-20 03:59:19 +01:00
name: 'MPU6050 Accel Y'
2018-08-26 11:26:14 +02:00
accel_z:
2020-11-20 03:59:19 +01:00
name: 'MPU6050 Accel z'
2018-08-26 11:26:14 +02:00
gyro_x:
2020-11-20 03:59:19 +01:00
name: 'MPU6050 Gyro X'
2018-08-26 11:26:14 +02:00
gyro_y:
2020-11-20 03:59:19 +01:00
name: 'MPU6050 Gyro Y'
2018-08-26 11:26:14 +02:00
gyro_z:
2020-11-20 03:59:19 +01:00
name: 'MPU6050 Gyro z'
2018-08-26 11:26:14 +02:00
temperature:
2020-11-20 03:59:19 +01:00
name: 'MPU6050 Temperature'
2018-08-26 11:26:14 +02:00
- platform: ms5611
temperature:
2020-11-20 03:59:19 +01:00
name: 'Outside Temperature'
2018-08-26 11:26:14 +02:00
pressure:
2020-11-20 03:59:19 +01:00
name: 'Outside Pressure'
2018-08-26 11:26:14 +02:00
address: 0x77
update_interval: 15s
- platform: pulse_counter
2020-11-20 03:59:19 +01:00
name: 'Pulse Counter'
2018-08-26 11:26:14 +02:00
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'
2018-08-26 11:26:14 +02:00
- platform: rotary_encoder
2020-11-20 03:59:19 +01:00
name: 'Rotary Encoder'
id: rotary_encoder1
2018-08-26 11:26:14 +02:00
pin_a: GPIO23
pin_b: GPIO25
2018-08-26 11:26:14 +02:00
pin_reset: GPIO25
filters:
- or:
2020-11-20 03:59:19 +01:00
- 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:
2020-11-20 03:59:19 +01:00
- logger.log: 'Clockwise'
on_anticlockwise:
2020-11-20 03:59:19 +01:00
- 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
2018-08-26 11:26:14 +02:00
- platform: sht3xd
temperature:
2020-11-20 03:59:19 +01:00
name: 'Living Room Temperature 8'
2018-08-26 11:26:14 +02:00
humidity:
2020-11-20 03:59:19 +01:00
name: 'Living Room Humidity 8'
2018-08-26 11:26:14 +02:00
address: 0x44
update_interval: 15s
- platform: sts3x
2020-11-20 03:59:19 +01:00
name: 'Living Room Temperature 9'
address: 0x4A
- platform: scd30
co2:
2020-11-20 03:59:19 +01:00
name: 'Living Room CO2 9'
temperature:
2020-11-20 03:59:19 +01:00
name: 'Living Room Temperature 9'
humidity:
2020-11-20 03:59:19 +01:00
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
- platform: sgp30
eco2:
2020-11-20 03:59:19 +01:00
name: 'Workshop eCO2'
accuracy_decimals: 1
tvoc:
2020-11-20 03:59:19 +01:00
name: 'Workshop TVOC'
accuracy_decimals: 1
address: 0x58
update_interval: 5s
- platform: sps30
pm_1_0:
2020-11-20 03:59:19 +01:00
name: 'Workshop PM <1µm Weight concentration'
id: 'workshop_PM_1_0'
pm_2_5:
2020-11-20 03:59:19 +01:00
name: 'Workshop PM <2.5µm Weight concentration'
id: 'workshop_PM_2_5'
pm_4_0:
2020-11-20 03:59:19 +01:00
name: 'Workshop PM <4µm Weight concentration'
id: 'workshop_PM_4_0'
pm_10_0:
2020-11-20 03:59:19 +01:00
name: 'Workshop PM <10µm Weight concentration'
id: 'workshop_PM_10_0'
pmc_0_5:
2020-11-20 03:59:19 +01:00
name: 'Workshop PM <0.5µm Number concentration'
id: 'workshop_PMC_0_5'
pmc_1_0:
2020-11-20 03:59:19 +01:00
name: 'Workshop PM <1µm Number concentration'
id: 'workshop_PMC_1_0'
pmc_2_5:
2020-11-20 03:59:19 +01:00
name: 'Workshop PM <2.5µm Number concentration'
id: 'workshop_PMC_2_5'
pmc_4_0:
2020-11-20 03:59:19 +01:00
name: 'Workshop PM <4µm Number concentration'
id: 'workshop_PMC_4_0'
pmc_10_0:
2020-11-20 03:59:19 +01:00
name: 'Workshop PM <10µm Number concentration'
id: 'workshop_PMC_10_0'
address: 0x69
update_interval: 10s
2021-04-28 10:22:46 +02:00
- platform: sht4x
temperature:
name: 'SHT4X Temperature'
humidity:
name: 'SHT4X Humidity'
address: 0x44
update_interval: 15s
- platform: shtcx
2019-10-19 21:59:55 +02:00
temperature:
2020-11-20 03:59:19 +01:00
name: 'Living Room Temperature 10'
2019-10-19 21:59:55 +02:00
humidity:
2020-11-20 03:59:19 +01:00
name: 'Living Room Humidity 10'
2019-10-19 21:59:55 +02:00
address: 0x70
update_interval: 15s
2018-08-26 11:26:14 +02:00
- platform: template
2020-11-20 03:59:19 +01:00
name: 'Template Sensor'
state_class: measurement
id: template_sensor
lambda: |-
if (id(ultrasonic_sensor1).state > 1) {
2018-08-26 11:26:14 +02:00
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;'
2018-08-26 11:26:14 +02:00
- platform: tsl2561
2020-11-20 03:59:19 +01:00
name: 'TSL2561 Ambient Light'
2018-08-26 11:26:14 +02:00
address: 0x39
update_interval: 15s
is_cs_package: true
integration_time: 402ms
gain: 16x
- platform: ultrasonic
trigger_pin: GPIO25
2018-08-26 11:26:14 +02:00
echo_pin:
number: GPIO23
inverted: true
2020-11-20 03:59:19 +01:00
name: 'Ultrasonic Sensor'
timeout: 5.5m
2018-08-26 11:26:14 +02:00
id: ultrasonic_sensor1
- platform: uptime
name: Uptime Sensor
- platform: wifi_signal
2020-11-20 03:59:19 +01:00
name: 'WiFi Signal Sensor'
2018-08-26 11:26:14 +02:00
update_interval: 15s
- platform: mqtt_subscribe
2020-11-20 03:59:19 +01:00
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:
2020-11-20 03:59:19 +01:00
name: 'SDS011 PM2.5'
pm_10_0:
2020-11-20 03:59:19 +01:00
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
- platform: tx20
wind_speed:
2020-11-20 03:59:19 +01:00
name: 'Windspeed'
wind_direction_degrees:
2020-11-20 03:59:19 +01:00
name: 'Winddirection Degrees'
pin:
number: GPIO04
mode: INPUT
- platform: zyaura
clock_pin: GPIO5
data_pin: GPIO4
co2:
2020-11-20 03:59:19 +01:00
name: 'ZyAura CO2'
temperature:
2020-11-20 03:59:19 +01:00
name: 'ZyAura Temperature'
humidity:
2020-11-20 03:59:19 +01:00
name: 'ZyAura Humidity'
2019-10-12 17:03:01 +02:00
- platform: as3935
lightning_energy:
2020-11-20 03:59:19 +01:00
name: 'Lightning Energy'
distance:
2020-11-20 03:59:19 +01:00
name: 'Distance Storm'
- platform: tmp117
2020-11-20 03:59:19 +01:00
name: 'TMP117 Temperature'
update_interval: 5s
- 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: 'CAQI'
- platform: teleinfo
tag_name: "HCHC"
name: "hchc"
unit_of_measurement: "Wh"
icon: mdi:flash
teleinfo_id: myteleinfo
- platform: mcp9808
2020-11-20 03:59:19 +01:00
name: 'MCP9808 Temperature'
update_interval: 15s
- platform: ezo
id: ph_ezo
address: 99
2020-11-20 03:59:19 +01:00
unit_of_measurement: 'pH'
- platform: sdp3x
name: "HVAC Filter Pressure drop"
id: filter_pressure
update_interval: 5s
accuracy_decimals: 3
- 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
2018-08-26 11:26:14 +02:00
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
2018-08-26 11:26:14 +02:00
- platform: gpio
pin: GPIO9
2020-11-20 03:59:19 +01:00
name: 'Living Room Window'
2018-08-26 11:26:14 +02:00
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:
2020-11-20 03:59:19 +01:00
- lambda: >-
ESP_LOGD("main", "Double Clicked");
2018-08-26 11:26:14 +02:00
- then:
2020-11-20 03:59:19 +01:00
- lambda: >-
ESP_LOGD("main", "Double Clicked");
on_multi_click:
2020-11-20 03:59:19 +01:00
- 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
2018-08-26 11:26:14 +02:00
id: binary_sensor1
2018-12-02 13:16:02 +01:00
- platform: gpio
pin:
number: GPIO9
mode: INPUT_PULLUP
2020-11-20 03:59:19 +01:00
name: 'Living Room Window 2'
2018-08-26 11:26:14 +02:00
- platform: status
2020-11-20 03:59:19 +01:00
name: 'Living Room Status'
2018-08-26 11:26:14 +02:00
- platform: esp32_touch
2020-11-20 03:59:19 +01:00
name: 'ESP32 Touch Pad GPIO27'
2018-08-26 11:26:14 +02:00
pin: GPIO27
threshold: 1000
id: btn_left
2018-08-26 11:26:14 +02:00
- platform: template
2020-11-20 03:59:19 +01:00
name: 'Garage Door Open'
id: garage_door
lambda: |-
if (isnan(id(${sensorname}_sensor).state)) {
2018-08-26 11:26:14 +02:00
// 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) {
2018-08-26 11:26:14 +02:00
// 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;'
2018-08-26 11:26:14 +02:00
- platform: pn532
pn532_id: pn532_bs
2018-08-26 11:26:14 +02:00
uid: 74-10-37-94
2020-11-20 03:59:19 +01:00
name: 'PN532 NFC Tag'
2018-08-26 11:26:14 +02:00
- platform: rdm6300
uid: 7616525
2020-11-20 03:59:19 +01:00
name: 'RDM6300 NFC Tag'
2018-08-26 11:26:14 +02:00
- platform: gpio
2020-11-20 03:59:19 +01:00
name: 'PCF binary sensor'
2018-08-26 11:26:14 +02:00
pin:
pcf8574: pcf8574_hub
number: 1
mode: INPUT
inverted: True
- platform: gpio
2020-11-20 03:59:19 +01:00
name: 'MCP21 binary sensor'
pin:
mcp23xxx: mcp23017_hub
number: 1
mode: INPUT
inverted: True
- platform: gpio
2020-11-20 03:59:19 +01:00
name: 'MCP22 binary sensor'
pin:
mcp23xxx: mcp23008_hub
number: 7
mode: INPUT_PULLUP
inverted: False
- platform: gpio
2020-11-20 03:59:19 +01:00
name: 'MCP23 binary sensor'
pin:
mcp23016: mcp23016_hub
number: 7
mode: INPUT
inverted: False
- platform: remote_receiver
2020-11-20 03:59:19 +01:00
name: 'Raw Remote Receiver Test'
raw:
2020-11-20 03:59:19 +01:00
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,
]
2019-10-12 17:03:01 +02:00
- platform: as3935
2020-11-20 03:59:19 +01:00
name: 'Storm Alert'
2018-08-26 11:26:14 +02:00
pca9685:
frequency: 500
address: 0x0
tlc59208f:
- address: 0x20
id: tlc59208f_1
- address: 0x22
id: tlc59208f_2
- address: 0x24
id: tlc59208f_3
2018-11-13 16:51:30 +01:00
my9231:
data_pin: GPIO12
clock_pin: GPIO14
num_channels: 6
num_chips: 2
bit_depth: 16
2018-08-26 11:26:14 +02:00
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'
2018-08-26 11:26:14 +02:00
- 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
2018-11-13 16:51:30 +01:00
- 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
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: GPIO26
- platform: esp32_dac
pin: GPIO25
id: dac_output
- platform: mcp4725
id: mcp4725_dac_output
2018-08-26 11:26:14 +02:00
e131:
2018-08-26 11:26:14 +02:00
light:
- platform: binary
2020-11-20 03:59:19 +01:00
name: 'Desk Lamp'
2018-08-26 11:26:14 +02:00
output: gpio_26
effects:
- strobe:
- strobe:
2020-11-20 03:59:19 +01:00
name: 'My Strobe'
2018-08-26 11:26:14 +02:00
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
2018-08-26 11:26:14 +02:00
- platform: monochromatic
2020-11-20 03:59:19 +01:00
name: 'Kitchen Lights'
2018-08-26 11:26:14 +02:00
id: kitchen
output: gpio_19
gamma_correct: 2.8
default_transition_length: 2s
effects:
- strobe:
- flicker:
- flicker:
2020-11-20 03:59:19 +01:00
name: 'My Flicker'
2018-08-26 11:26:14 +02:00
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
2020-11-20 03:59:19 +01:00
name: 'Living Room Lights'
id: ${roomname}_lights
2018-08-26 11:26:14 +02:00
red: pca_0
green: pca_1
blue: pca_2
- platform: rgbw
2020-11-20 03:59:19 +01:00
name: 'Living Room Lights 2'
2018-08-26 11:26:14 +02:00
red: pca_3
green: pca_4
blue: pca_5
white: pca_6
color_interlock: true
2018-08-26 11:26:14 +02:00
- platform: rgbww
2020-11-20 03:59:19 +01:00
name: 'Living Room Lights 2'
2018-08-26 11:26:14 +02:00
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
2018-08-26 11:26:14 +02:00
- platform: cwww
2020-11-20 03:59:19 +01:00
name: 'Living Room Lights 2'
2018-08-26 11:26:14 +02:00
cold_white: pca_6
warm_white: pca_6
cold_white_color_temperature: 153 mireds
warm_white_color_temperature: 500 mireds
constant_brightness: true
2018-08-26 11:26:14 +02:00
- platform: fastled_clockless
2019-02-16 16:47:23 +01:00
id: addr1
2018-08-26 11:26:14 +02:00
chipset: WS2811
pin: GPIO23
num_leds: 60
rgb_order: BRG
max_refresh_rate: 20ms
power_supply: atx_power_supply
color_correct: [75%, 100%, 50%]
2020-11-20 03:59:19 +01:00
name: 'FastLED WS2811 Light'
2018-08-26 11:26:14 +02:00
effects:
2020-11-20 03:59:19 +01:00
- 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;
}
2020-11-20 03:59:19 +01:00
- wled:
port: 11111
2020-11-20 03:59:19 +01:00
- adalight:
uart_id: adalight_uart
2020-11-20 03:59:19 +01:00
- 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
2018-08-26 11:26:14 +02:00
- platform: fastled_spi
2019-02-16 16:47:23 +01:00
id: addr2
2018-08-26 11:26:14 +02:00
chipset: WS2801
data_pin: GPIO23
clock_pin: GPIO22
data_rate: 2MHz
2018-08-26 11:26:14 +02:00
num_leds: 60
rgb_order: BRG
2020-11-20 03:59:19 +01:00
name: 'FastLED SPI Light'
2019-01-06 16:59:11 +01:00
- platform: neopixelbus
2019-02-16 16:47:23 +01:00
id: addr3
2020-11-20 03:59:19 +01:00
name: 'Neopixelbus Light'
2019-01-06 16:59:11 +01:00
gamma_correct: 2.8
color_correct: [0.0, 0.0, 0.0, 0.0]
default_transition_length: 10s
power_supply: atx_power_supply
effects:
2020-11-20 03:59:19 +01:00
- addressable_flicker:
name: Flicker Effect With Custom Values
update_interval: 16ms
intensity: 5%
2019-01-06 16:59:11 +01:00
type: GRBW
variant: SK6812
method: ESP32_I2S_0
num_leds: 60
pin: GPIO23
2019-02-16 16:47:23 +01:00
- platform: partition
2020-11-20 03:59:19 +01:00
name: 'Partition Light'
2019-02-16 16:47:23 +01:00
segments:
- id: addr1
from: 0
to: 0
- id: addr2
from: 1
to: 10
- id: addr2
from: 20
to: 25
2018-08-26 11:26:14 +02:00
remote_transmitter:
- pin: 32
🏗 Merge C++ into python codebase (#504) ## Description: Move esphome-core codebase into esphome (and a bunch of other refactors). See https://github.com/esphome/feature-requests/issues/97 Yes this is a shit ton of work and no there's no way to automate it :( But it will be worth it 👍 Progress: - Core support (file copy etc): 80% - Base Abstractions (light, switch): ~50% - Integrations: ~10% - Working? Yes, (but only with ported components). Other refactors: - Moves all codegen related stuff into a single class: `esphome.codegen` (imported as `cg`) - Rework coroutine syntax - Move from `component/platform.py` to `domain/component.py` structure as with HA - Move all defaults out of C++ and into config validation. - Remove `make_...` helpers from Application class. Reason: Merge conflicts with every single new integration. - Pointer Variables are stored globally instead of locally in setup(). Reason: stack size limit. Future work: - Rework const.py - Move all `CONF_...` into a conf class (usage `conf.UPDATE_INTERVAL` vs `CONF_UPDATE_INTERVAL`). Reason: Less convoluted import block - Enable loading from `custom_components` folder. **Related issue (if applicable):** https://github.com/esphome/feature-requests/issues/97 **Pull request in [esphome-docs](https://github.com/esphome/esphome-docs) with documentation (if applicable):** esphome/esphome-docs#<esphome-docs PR number goes here> ## Checklist: - [ ] The code change is tested and works locally. - [ ] Tests have been added to verify that the new code works (under `tests/` folder). If user exposed functionality or configuration variables are added/changed: - [ ] Documentation added/updated in [esphomedocs](https://github.com/OttoWinter/esphomedocs).
2019-04-17 12:06:00 +02:00
carrier_duty_percent: 100%
2018-08-26 11:26:14 +02:00
climate:
- platform: tcl112
name: TCL112 Climate With Sensor
supports_heat: True
supports_cool: True
sensor: ${sensorname}_sensor
- platform: tcl112
name: TCL112 Climate
- 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: midea_ac
visual:
min_temperature: 18 °C
max_temperature: 25 °C
temperature_step: 0.1 °C
name: 'Electrolux EACS'
beeper: true
outdoor_temperature:
name: 'Temp'
power_usage:
name: 'Power'
humidity_setpoint:
name: 'Hum'
- platform: anova
name: Anova cooker
ble_client_id: ble_blah
unit_of_measurement: c
midea_dongle:
uart_id: uart0
strength_icon: true
2018-08-26 11:26:14 +02:00
switch:
- 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
2018-08-26 11:26:14 +02:00
- platform: gpio
pin: GPIO25
2020-11-20 03:59:19 +01:00
name: 'Living Room Dehumidifier'
icon: 'mdi:restart'
2018-08-26 11:26:14 +02:00
inverted: True
command_topic: custom_command_topic
2019-01-06 11:43:14 +01:00
restore_mode: ALWAYS_OFF
🏗 Merge C++ into python codebase (#504) ## Description: Move esphome-core codebase into esphome (and a bunch of other refactors). See https://github.com/esphome/feature-requests/issues/97 Yes this is a shit ton of work and no there's no way to automate it :( But it will be worth it 👍 Progress: - Core support (file copy etc): 80% - Base Abstractions (light, switch): ~50% - Integrations: ~10% - Working? Yes, (but only with ported components). Other refactors: - Moves all codegen related stuff into a single class: `esphome.codegen` (imported as `cg`) - Rework coroutine syntax - Move from `component/platform.py` to `domain/component.py` structure as with HA - Move all defaults out of C++ and into config validation. - Remove `make_...` helpers from Application class. Reason: Merge conflicts with every single new integration. - Pointer Variables are stored globally instead of locally in setup(). Reason: stack size limit. Future work: - Rework const.py - Move all `CONF_...` into a conf class (usage `conf.UPDATE_INTERVAL` vs `CONF_UPDATE_INTERVAL`). Reason: Less convoluted import block - Enable loading from `custom_components` folder. **Related issue (if applicable):** https://github.com/esphome/feature-requests/issues/97 **Pull request in [esphome-docs](https://github.com/esphome/esphome-docs) with documentation (if applicable):** esphome/esphome-docs#<esphome-docs PR number goes here> ## Checklist: - [ ] The code change is tested and works locally. - [ ] Tests have been added to verify that the new code works (under `tests/` folder). If user exposed functionality or configuration variables are added/changed: - [ ] Documentation added/updated in [esphomedocs](https://github.com/OttoWinter/esphomedocs).
2019-04-17 12:06:00 +02:00
- platform: template
name: JVC Off
2018-08-26 11:26:14 +02:00
id: living_room_lights_on
🏗 Merge C++ into python codebase (#504) ## Description: Move esphome-core codebase into esphome (and a bunch of other refactors). See https://github.com/esphome/feature-requests/issues/97 Yes this is a shit ton of work and no there's no way to automate it :( But it will be worth it 👍 Progress: - Core support (file copy etc): 80% - Base Abstractions (light, switch): ~50% - Integrations: ~10% - Working? Yes, (but only with ported components). Other refactors: - Moves all codegen related stuff into a single class: `esphome.codegen` (imported as `cg`) - Rework coroutine syntax - Move from `component/platform.py` to `domain/component.py` structure as with HA - Move all defaults out of C++ and into config validation. - Remove `make_...` helpers from Application class. Reason: Merge conflicts with every single new integration. - Pointer Variables are stored globally instead of locally in setup(). Reason: stack size limit. Future work: - Rework const.py - Move all `CONF_...` into a conf class (usage `conf.UPDATE_INTERVAL` vs `CONF_UPDATE_INTERVAL`). Reason: Less convoluted import block - Enable loading from `custom_components` folder. **Related issue (if applicable):** https://github.com/esphome/feature-requests/issues/97 **Pull request in [esphome-docs](https://github.com/esphome/esphome-docs) with documentation (if applicable):** esphome/esphome-docs#<esphome-docs PR number goes here> ## Checklist: - [ ] The code change is tested and works locally. - [ ] Tests have been added to verify that the new code works (under `tests/` folder). If user exposed functionality or configuration variables are added/changed: - [ ] Documentation added/updated in [esphomedocs](https://github.com/OttoWinter/esphomedocs).
2019-04-17 12:06:00 +02:00
turn_on_action:
remote_transmitter.transmit_jvc:
data: 0x10EF
- platform: template
name: NEC
2018-08-26 11:26:14 +02:00
id: living_room_lights_off
🏗 Merge C++ into python codebase (#504) ## Description: Move esphome-core codebase into esphome (and a bunch of other refactors). See https://github.com/esphome/feature-requests/issues/97 Yes this is a shit ton of work and no there's no way to automate it :( But it will be worth it 👍 Progress: - Core support (file copy etc): 80% - Base Abstractions (light, switch): ~50% - Integrations: ~10% - Working? Yes, (but only with ported components). Other refactors: - Moves all codegen related stuff into a single class: `esphome.codegen` (imported as `cg`) - Rework coroutine syntax - Move from `component/platform.py` to `domain/component.py` structure as with HA - Move all defaults out of C++ and into config validation. - Remove `make_...` helpers from Application class. Reason: Merge conflicts with every single new integration. - Pointer Variables are stored globally instead of locally in setup(). Reason: stack size limit. Future work: - Rework const.py - Move all `CONF_...` into a conf class (usage `conf.UPDATE_INTERVAL` vs `CONF_UPDATE_INTERVAL`). Reason: Less convoluted import block - Enable loading from `custom_components` folder. **Related issue (if applicable):** https://github.com/esphome/feature-requests/issues/97 **Pull request in [esphome-docs](https://github.com/esphome/esphome-docs) with documentation (if applicable):** esphome/esphome-docs#<esphome-docs PR number goes here> ## Checklist: - [ ] The code change is tested and works locally. - [ ] Tests have been added to verify that the new code works (under `tests/` folder). If user exposed functionality or configuration variables are added/changed: - [ ] Documentation added/updated in [esphomedocs](https://github.com/OttoWinter/esphomedocs).
2019-04-17 12:06:00 +02:00
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
🏗 Merge C++ into python codebase (#504) ## Description: Move esphome-core codebase into esphome (and a bunch of other refactors). See https://github.com/esphome/feature-requests/issues/97 Yes this is a shit ton of work and no there's no way to automate it :( But it will be worth it 👍 Progress: - Core support (file copy etc): 80% - Base Abstractions (light, switch): ~50% - Integrations: ~10% - Working? Yes, (but only with ported components). Other refactors: - Moves all codegen related stuff into a single class: `esphome.codegen` (imported as `cg`) - Rework coroutine syntax - Move from `component/platform.py` to `domain/component.py` structure as with HA - Move all defaults out of C++ and into config validation. - Remove `make_...` helpers from Application class. Reason: Merge conflicts with every single new integration. - Pointer Variables are stored globally instead of locally in setup(). Reason: stack size limit. Future work: - Rework const.py - Move all `CONF_...` into a conf class (usage `conf.UPDATE_INTERVAL` vs `CONF_UPDATE_INTERVAL`). Reason: Less convoluted import block - Enable loading from `custom_components` folder. **Related issue (if applicable):** https://github.com/esphome/feature-requests/issues/97 **Pull request in [esphome-docs](https://github.com/esphome/esphome-docs) with documentation (if applicable):** esphome/esphome-docs#<esphome-docs PR number goes here> ## Checklist: - [ ] The code change is tested and works locally. - [ ] Tests have been added to verify that the new code works (under `tests/` folder). If user exposed functionality or configuration variables are added/changed: - [ ] Documentation added/updated in [esphomedocs](https://github.com/OttoWinter/esphomedocs).
2019-04-17 12:06:00 +02:00
- 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
🏗 Merge C++ into python codebase (#504) ## Description: Move esphome-core codebase into esphome (and a bunch of other refactors). See https://github.com/esphome/feature-requests/issues/97 Yes this is a shit ton of work and no there's no way to automate it :( But it will be worth it 👍 Progress: - Core support (file copy etc): 80% - Base Abstractions (light, switch): ~50% - Integrations: ~10% - Working? Yes, (but only with ported components). Other refactors: - Moves all codegen related stuff into a single class: `esphome.codegen` (imported as `cg`) - Rework coroutine syntax - Move from `component/platform.py` to `domain/component.py` structure as with HA - Move all defaults out of C++ and into config validation. - Remove `make_...` helpers from Application class. Reason: Merge conflicts with every single new integration. - Pointer Variables are stored globally instead of locally in setup(). Reason: stack size limit. Future work: - Rework const.py - Move all `CONF_...` into a conf class (usage `conf.UPDATE_INTERVAL` vs `CONF_UPDATE_INTERVAL`). Reason: Less convoluted import block - Enable loading from `custom_components` folder. **Related issue (if applicable):** https://github.com/esphome/feature-requests/issues/97 **Pull request in [esphome-docs](https://github.com/esphome/esphome-docs) with documentation (if applicable):** esphome/esphome-docs#<esphome-docs PR number goes here> ## Checklist: - [ ] The code change is tested and works locally. - [ ] Tests have been added to verify that the new code works (under `tests/` folder). If user exposed functionality or configuration variables are added/changed: - [ ] Documentation added/updated in [esphomedocs](https://github.com/OttoWinter/esphomedocs).
2019-04-17 12:06:00 +02:00
- platform: template
name: RC Switch Raw
turn_on_action:
remote_transmitter.transmit_rc_switch_raw:
code: '00101001100111110101xxxx'
🏗 Merge C++ into python codebase (#504) ## Description: Move esphome-core codebase into esphome (and a bunch of other refactors). See https://github.com/esphome/feature-requests/issues/97 Yes this is a shit ton of work and no there's no way to automate it :( But it will be worth it 👍 Progress: - Core support (file copy etc): 80% - Base Abstractions (light, switch): ~50% - Integrations: ~10% - Working? Yes, (but only with ported components). Other refactors: - Moves all codegen related stuff into a single class: `esphome.codegen` (imported as `cg`) - Rework coroutine syntax - Move from `component/platform.py` to `domain/component.py` structure as with HA - Move all defaults out of C++ and into config validation. - Remove `make_...` helpers from Application class. Reason: Merge conflicts with every single new integration. - Pointer Variables are stored globally instead of locally in setup(). Reason: stack size limit. Future work: - Rework const.py - Move all `CONF_...` into a conf class (usage `conf.UPDATE_INTERVAL` vs `CONF_UPDATE_INTERVAL`). Reason: Less convoluted import block - Enable loading from `custom_components` folder. **Related issue (if applicable):** https://github.com/esphome/feature-requests/issues/97 **Pull request in [esphome-docs](https://github.com/esphome/esphome-docs) with documentation (if applicable):** esphome/esphome-docs#<esphome-docs PR number goes here> ## Checklist: - [ ] The code change is tested and works locally. - [ ] Tests have been added to verify that the new code works (under `tests/` folder). If user exposed functionality or configuration variables are added/changed: - [ ] Documentation added/updated in [esphomedocs](https://github.com/OttoWinter/esphomedocs).
2019-04-17 12:06:00 +02:00
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]
2018-08-26 11:26:14 +02:00
- platform: template
name: Living Room Lights
id: livingroom_lights
2018-08-26 11:26:14 +02:00
optimistic: True
assumed_state: yes
2018-08-26 11:26:14 +02:00
turn_on_action:
2020-11-20 03:59:19 +01:00
- 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;'
2018-08-26 11:26:14 +02:00
turn_off_action:
2020-11-20 03:59:19 +01:00
- switch.turn_on: living_room_lights_off
restore_state: False
on_turn_on:
- switch.template.publish:
id: livingroom_lights
state: yes
2018-08-26 11:26:14 +02:00
- platform: restart
2020-11-20 03:59:19 +01:00
name: 'Living Room Restart'
2018-08-26 11:26:14 +02:00
- platform: shutdown
2020-11-20 03:59:19 +01:00
name: 'Living Room Shutdown'
2018-08-26 11:26:14 +02:00
- platform: output
2020-11-20 03:59:19 +01:00
name: 'Generic Output'
2018-08-26 11:26:14 +02:00
output: pca_6
- platform: template
2020-11-20 03:59:19 +01:00
name: 'Template Switch'
2018-08-26 11:26:14 +02:00
id: my_switch
lambda: |-
if (id(binary_sensor1).state) {
2018-08-26 11:26:14 +02:00
return true;
} else {
return {};
}
id(my_switch).publish_state(false);
id(my_switch).publish_state(true);
if (id(my_switch).state) {
2018-08-26 11:26:14 +02:00
// Switch is ON, do something here
id(my_switch).turn_off();
id(my_switch).turn_on();
2018-08-26 11:26:14 +02:00
} 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;'
2018-08-26 11:26:14 +02:00
- platform: uart
uart_id: uart0
2020-11-20 03:59:19 +01:00
name: 'UART String Output'
2018-08-26 11:26:14 +02:00
data: 'DataToSend'
- platform: uart
uart_id: uart0
2020-11-20 03:59:19 +01:00
name: 'UART Bytes Output'
2018-08-26 11:26:14 +02:00
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:
2020-11-20 03:59:19 +01:00
- 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
2018-08-26 11:26:14 +02:00
- platform: gpio
2020-11-20 03:59:19 +01:00
name: 'SN74HC595 Pin #0'
pin:
sn74hc595: sn74hc595_hub
# Use pin number 0
number: 0
inverted: False
- platform: template
id: ble1_status
2018-08-26 11:26:14 +02:00
fan:
- platform: binary
output: gpio_26
2020-11-20 03:59:19 +01:00
name: 'Living Room Fan 1'
oscillation_output: gpio_19
direction_output: gpio_26
2018-08-26 11:26:14 +02:00
- platform: speed
output: pca_6
speed_count: 10
2020-11-20 03:59:19 +01:00
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_state_topic: speed/state/topic
speed_command_topic: speed/command/topic
2018-08-26 11:26:14 +02:00
2019-02-17 00:35:23 +01:00
interval:
- interval: 10s
then:
2020-11-20 03:59:19 +01:00
- 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: |-
2020-11-20 03:59:19 +01:00
static uint16_t btn_left_state = id(btn_left)->get_value();
2020-11-20 03:59:19 +01:00
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());
2020-11-20 03:59:19 +01:00
btn_left_state = ((uint32_t) id(btn_left)->get_value() + 63 * (uint32_t)btn_left_state) >> 6;
2020-11-20 03:59:19 +01:00
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'
2019-02-17 00:35:23 +01:00
color:
- id: kbx_red
red: 100%
green_int: 123
blue: 2%
- id: kbx_blue
red: 0%
green: 1%
blue: 100%
2018-08-26 11:26:14 +02:00
display:
2020-11-20 03:59:19 +01:00
- 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!");
- 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");
2020-11-20 03:59:19 +01:00
- platform: tm1637
clk_pin:
mcp23xxx: mcp23017_hub
2020-11-20 03:59:19 +01:00
number: 1
dio_pin:
mcp23xxx: mcp23017_hub
2020-11-20 03:59:19 +01:00
number: 2
intensity: 3
lambda: |-
it.print("1234");
2020-11-20 03:59:19 +01:00
- 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
brightness: 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");
2020-11-20 03:59:19 +01:00
- platform: ssd1306_spi
model: 'SSD1306 128x64'
cs_pin: GPIO23
2020-12-30 10:52:41 +01:00
dc_pin: GPIO23
reset_pin: GPIO23
lambda: |-
it.rectangle(0, 0, it.get_width(), it.get_height());
- platform: ssd1322_spi
model: 'SSD1322 256x64'
2020-12-30 10:52:41 +01:00
cs_pin: GPIO23
2020-11-20 03:59:19 +01:00
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
- 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());
2020-11-20 03:59:19 +01:00
- 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());
New display ST7735 (#1066) * Initial Commit - ST7735 * Updated for CI checks * Updated for travis build * Travis fixes * Travis line too long * Travis fixes * Fixed up travis format issues * Travis Fixes * Initial Commit - ST7735 * Updated for CI checks * Updated for travis build * Travis fixes * Travis line too long * Travis fixes * Fixed up travis format issues * Travis Fixes * Update to new color API and added test * Check fixes * Fixed sid length in test * Cleaned up whitespaces * kbx81 recommended fixes * test fix * Fixes of fixes * Fixed test1.yaml * Fixed test1.yaml * Changed digital pin #s to gpio * Updated to match kbx's color names * Typo for ST7735_INITR_MINI_160X80 * Updated 8bit color space code Added to_rgb_332 to color.h fixed typo * Added in to_rgb_332,to_bgr_332, rgb_332to_rgb_556 and a more generic scale * Fixed MADCTL * Fixp MADCTL * Implemented usrbgr option updated color to support 332 bgr conversion typo fix * Updated to_bgr_332 * Fix up for clang * FIx up init code. type in buffer caused overrun * fixup protected names * typos * Matched use_bgr to its conf * color.h red fix in bgr_233to_rgb_565 * Fix ST7735_INITR_MINI_160X80 * Renamed bgr_233to_bgr_565 to match its function Color space leak in bgr_233to_bgr_565. cleaned up init code for displays. * Fix * clang fix * Started Color Conversion * Added various bit color functions add triadto * lint changes * Various fixes * Various formatting fixes. Wish my checks worked! * Updated color api to support different formats removed to_rgb_565 * lint clang fixes * Test1 fix * test1.yaml fix * fixed 565 in ILI9341Display * Added CodeOwners * Updated CODEOWNERS * changed to to332 and to565 * Waiting for color.h changes * Stage changes * Removed all changes except this driver * Moved color functions into driver * lint changes * Lint and removed unrelated display driver changes * Lint changes * Initial Commit - ST7735 * Updated for CI checks * Updated for travis build * Travis fixes * Travis line too long * Travis fixes * Fixed up travis format issues * Travis Fixes * Initial Commit - ST7735 * Updated for CI checks * Updated for travis build * Travis fixes * Travis line too long * Travis fixes * Fixed up travis format issues * Travis Fixes * Update to new color API and added test * Check fixes * Fixed sid length in test * Cleaned up whitespaces * kbx81 recommended fixes * test fix * Fixes of fixes * Fixed test1.yaml * Fixed test1.yaml * Changed digital pin #s to gpio * Updated to match kbx's color names * Typo for ST7735_INITR_MINI_160X80 * Updated 8bit color space code Added to_rgb_332 to color.h fixed typo * Added in to_rgb_332,to_bgr_332, rgb_332to_rgb_556 and a more generic scale * Fixed MADCTL * Fixp MADCTL * Implemented usrbgr option updated color to support 332 bgr conversion typo fix * Updated to_bgr_332 * Fix up for clang * FIx up init code. type in buffer caused overrun * fixup protected names * typos * Matched use_bgr to its conf * color.h red fix in bgr_233to_rgb_565 * Fix ST7735_INITR_MINI_160X80 * Renamed bgr_233to_bgr_565 to match its function Color space leak in bgr_233to_bgr_565. cleaned up init code for displays. * Fix * clang fix * Started Color Conversion * Added various bit color functions add triadto * lint changes * Various fixes * Various formatting fixes. Wish my checks worked! * Updated color api to support different formats removed to_rgb_565 * lint clang fixes * Test1 fix * test1.yaml fix * fixed 565 in ILI9341Display * Added CodeOwners * Updated CODEOWNERS * changed to to332 and to565 * Waiting for color.h changes * Stage changes * Removed all changes except this driver * Moved color functions into driver * lint changes * Lint and removed unrelated display driver changes * Lint changes * Updated with latest color api * pulled from origin * Updated for color.h changes * pulled test1 from dev * Added test
2020-11-23 18:37:43 +01:00
- platform: st7735
model: 'INITR_BLACKTAB'
cs_pin: GPIO5
dc_pin: GPIO16
reset_pin: GPIO23
rotation: 0
2021-02-14 06:21:43 +01:00
device_width: 128
device_height: 160
col_start: 0
row_start: 0
New display ST7735 (#1066) * Initial Commit - ST7735 * Updated for CI checks * Updated for travis build * Travis fixes * Travis line too long * Travis fixes * Fixed up travis format issues * Travis Fixes * Initial Commit - ST7735 * Updated for CI checks * Updated for travis build * Travis fixes * Travis line too long * Travis fixes * Fixed up travis format issues * Travis Fixes * Update to new color API and added test * Check fixes * Fixed sid length in test * Cleaned up whitespaces * kbx81 recommended fixes * test fix * Fixes of fixes * Fixed test1.yaml * Fixed test1.yaml * Changed digital pin #s to gpio * Updated to match kbx's color names * Typo for ST7735_INITR_MINI_160X80 * Updated 8bit color space code Added to_rgb_332 to color.h fixed typo * Added in to_rgb_332,to_bgr_332, rgb_332to_rgb_556 and a more generic scale * Fixed MADCTL * Fixp MADCTL * Implemented usrbgr option updated color to support 332 bgr conversion typo fix * Updated to_bgr_332 * Fix up for clang * FIx up init code. type in buffer caused overrun * fixup protected names * typos * Matched use_bgr to its conf * color.h red fix in bgr_233to_rgb_565 * Fix ST7735_INITR_MINI_160X80 * Renamed bgr_233to_bgr_565 to match its function Color space leak in bgr_233to_bgr_565. cleaned up init code for displays. * Fix * clang fix * Started Color Conversion * Added various bit color functions add triadto * lint changes * Various fixes * Various formatting fixes. Wish my checks worked! * Updated color api to support different formats removed to_rgb_565 * lint clang fixes * Test1 fix * test1.yaml fix * fixed 565 in ILI9341Display * Added CodeOwners * Updated CODEOWNERS * changed to to332 and to565 * Waiting for color.h changes * Stage changes * Removed all changes except this driver * Moved color functions into driver * lint changes * Lint and removed unrelated display driver changes * Lint changes * Initial Commit - ST7735 * Updated for CI checks * Updated for travis build * Travis fixes * Travis line too long * Travis fixes * Fixed up travis format issues * Travis Fixes * Initial Commit - ST7735 * Updated for CI checks * Updated for travis build * Travis fixes * Travis line too long * Travis fixes * Fixed up travis format issues * Travis Fixes * Update to new color API and added test * Check fixes * Fixed sid length in test * Cleaned up whitespaces * kbx81 recommended fixes * test fix * Fixes of fixes * Fixed test1.yaml * Fixed test1.yaml * Changed digital pin #s to gpio * Updated to match kbx's color names * Typo for ST7735_INITR_MINI_160X80 * Updated 8bit color space code Added to_rgb_332 to color.h fixed typo * Added in to_rgb_332,to_bgr_332, rgb_332to_rgb_556 and a more generic scale * Fixed MADCTL * Fixp MADCTL * Implemented usrbgr option updated color to support 332 bgr conversion typo fix * Updated to_bgr_332 * Fix up for clang * FIx up init code. type in buffer caused overrun * fixup protected names * typos * Matched use_bgr to its conf * color.h red fix in bgr_233to_rgb_565 * Fix ST7735_INITR_MINI_160X80 * Renamed bgr_233to_bgr_565 to match its function Color space leak in bgr_233to_bgr_565. cleaned up init code for displays. * Fix * clang fix * Started Color Conversion * Added various bit color functions add triadto * lint changes * Various fixes * Various formatting fixes. Wish my checks worked! * Updated color api to support different formats removed to_rgb_565 * lint clang fixes * Test1 fix * test1.yaml fix * fixed 565 in ILI9341Display * Added CodeOwners * Updated CODEOWNERS * changed to to332 and to565 * Waiting for color.h changes * Stage changes * Removed all changes except this driver * Moved color functions into driver * lint changes * Lint and removed unrelated display driver changes * Lint changes * Updated with latest color api * pulled from origin * Updated for color.h changes * pulled test1 from dev * Added test
2020-11-23 18:37:43 +01:00
lambda: |-
it.rectangle(0, 0, it.get_width(), it.get_height());
tm1651:
id: tm1651_battery
clk_pin: GPIO23
dio_pin: GPIO23
2018-08-26 11:26:14 +02:00
remote_receiver:
pin: GPIO32
dump: all
status_led:
pin: GPIO2
pn532_spi:
id: pn532_bs
2018-08-26 11:26:14 +02:00
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;'
2018-08-26 11:26:14 +02:00
pn532_i2c:
2018-08-26 11:26:14 +02:00
rdm6300:
uart_id: uart0
2018-08-26 11:26:14 +02:00
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());
- update_interval: 1s
on_tag:
- lambda: |-
ESP_LOGD("main", "Found tag %s", x.c_str());
gps:
uart_id: uart0
2018-08-26 11:26:14 +02:00
time:
2020-11-20 03:59:19 +01:00
- 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
2018-08-26 11:26:14 +02:00
cover:
- platform: template
2020-11-20 03:59:19 +01:00
name: 'Template Cover'
id: template_cover
lambda: |-
if (id(binary_sensor1).state) {
return COVER_OPEN;
2018-08-26 11:26:14 +02:00
} else {
return {};
}
optimistic: true
open_action:
- cover.template.publish:
id: template_cover
state: CLOSED
assumed_state: no
2018-08-26 11:26:14 +02:00
debug:
tca9548a:
- address: 0x70
id: multiplex0
scan: True
- address: 0x71
id: multiplex1
scan: True
multiplexer:
id: multiplex0
channel: 0
2018-08-26 11:26:14 +02:00
pcf8574:
- id: 'pcf8574_hub'
address: 0x21
pcf8575: False
mcp23017:
- id: 'mcp23017_hub'
open_drain_interrupt: 'true'
mcp23008:
- id: 'mcp23008_hub'
address: 0x22
open_drain_interrupt: 'true'
mcp23016:
- id: 'mcp23016_hub'
address: 0x23
stepper:
2020-11-20 03:59:19 +01:00
- 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:
2020-11-20 03:59:19 +01:00
- 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: ""
text_sensor:
2020-11-20 03:59:19 +01:00
- platform: mqtt_subscribe
name: 'MQTT Subscribe Text'
topic: 'the/topic'
qos: 2
on_value:
- text_sensor.template.publish:
id: ${textname}_text
2020-11-20 03:59:19 +01:00
state: Hello World
- text_sensor.template.publish:
id: ${textname}_text
2020-11-20 03:59:19 +01:00
state: |-
return "Hello World2";
- globals.set:
id: glob_int
value: '0'
- canbus.send:
can_id: 23
data: [0x10, 0x20, 0x30]
2020-11-20 03:59:19 +01:00
- platform: template
name: Template Text Sensor
id: ${textname}_text
2020-11-20 03:59:19 +01:00
- platform: wifi_info
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