esphome-docs/devices/teckin_sp20_us.yaml
2022-02-11 11:10:43 +13:00

93 lines
1.9 KiB
YAML

# Example ESPHome code to emulate stock firmware functionality while maintaining 100%
# local control through Home Assistant.
substitutions:
device_name: '<NODE_NAME>' # used internally.. e.g. teckin_sp20
friendly_name: '<Node Name>' # displayed in HA.. e.g. Teckin SP20
esphome:
name: ${device_name}
esp8266:
board: esp01_1m
wifi:
ssid: !secret wifi_ssid
password: !secret wifi_password
# Enable Logs from the device
logger:
# Enable Home Assistant API
api:
# Enable Over-The-Air updates
ota:
sensor:
# Power measuring sensor
- platform: hlw8012
sel_pin:
number: GPIO12
inverted: true
cf_pin: GPIO5
cf1_pin: GPIO14
current:
name: ${friendly_name} Current
power:
name: ${friendly_name} Power
id: power
filters:
# Some calibration
- multiply: 0.4545
voltage:
name: ${friendly_name} Voltage
current_resistor: 0.001 # default 0.001
voltage_divider: 910 # default 2351
change_mode_every: 3 # default 8
update_interval: 3s # default 60s
# Sum power readings over the day
- platform: total_daily_energy
name: ${friendly_name} Total Daily Energy
power_id: power
filters:
- multiply: 0.001 # convert Wh to kWh
unit_of_measurement: kWh
# Enable getting local time for total daily energy calculation
time:
- platform: homeassistant
id: homeassistant_time
status_led:
pin:
number: GPIO0 # Red LED
inverted: true
binary_sensor:
- platform: gpio
pin: GPIO13
id: button
name: ${friendly_name} Button
on_press:
- switch.toggle: relay
internal: true
switch:
- platform: gpio
id: blue_led
pin:
number: GPIO2
inverted: true
- platform: gpio
pin: GPIO4
id: relay
name: ${friendly_name}
# Tie Blue LED to relay
on_turn_on:
- switch.turn_on: blue_led
on_turn_off:
- switch.turn_off: blue_led