.common-athom-smart-plug-v2.yaml (Source)

# Customized Athon Smart Plug ESPHome Configuration
substitutions:
  project_name: "athom.smart-plug-v2"
  project_version: "1.0"
  relay_restore_mode: RESTORE_DEFAULT_ON
packages:
  home: !include home.yaml
esphome:
  name: "athom-smartplug-v2"
  name_add_mac_suffix: true
  project:
    name: "${project_name}"
    version: "${project_version}"
esp8266:
  board: esp8285
  restore_from_flash: true
preferences:
  flash_write_interval: 180sec
  
api:
ota:
logger:
  baud_rate: 0
mdns:
  disabled: false
web_server:
  port: 80
wifi:
  ap: {} # This spawns an AP with the device name and mac address with no password.
captive_portal:
dashboard_import:
  package_import_url: github://athom-tech/athom-configs/athom-smart-plug-v2.yaml
uart:
  rx_pin: RX
  baud_rate: 4800
binary_sensor:
  - platform: status
    name: "Status"
  - platform: gpio
    pin:
      number: 5
      mode: INPUT_PULLUP
      inverted: true
    name: "Power Button"
    disabled_by_default: true
    on_multi_click:
      - timing:
          - ON for at most 1s
          - OFF for at least 0.2s
        then:
          - switch.toggle: relay
      - timing:
          - ON for at least 4s
        then:
          - button.press: restart_button
sensor:
  - platform: uptime
    name: "Uptime Sensor"
  - platform: cse7766
    update_interval: 10s
    current:
      name: "Current"
      filters:
          - lambda: if (x < 0.060) return 0.0; else return x;   #For the chip will report less than 3w power when no load is connected
    voltage:
      name: "Voltage"
    power:
      name: "Power"
      id: power_sensor
      filters:
          - lambda: if (x < 3.0) return 0.0; else return x;    #For the chip will report less than 3w power when no load is connected
    energy:
      name: "Energy"
      unit_of_measurement: kWh
      filters:
        # Multiplication factor from W to kW is 0.001
        - multiply: 0.001
  - platform: total_daily_energy
    name: "Total Daily Energy"
    restore: true
    power_id: power_sensor
    unit_of_measurement: kWh
    accuracy_decimals: 3
    filters:
      - multiply: 0.001
button:
  - platform: restart
    id: restart_button
    name: "Restart"
switch:
  - platform: gpio
    name: "Power"
    pin: GPIO12
    id: relay
    restore_mode: ${relay_restore_mode}
light:
  - platform: status_led
    name: "Status LED"
    id: blue_led
    disabled_by_default: true
    pin:
      inverted: true
      number: GPIO13
text_sensor:
  - platform: wifi_info
    ip_address:
      name: "IP Address"
      disabled_by_default: true
# Time is defined in the common import.   
# time:
#   - platform: sntp
#     id: my_time