ESPHome AthomSmart Plug failes to update wirelessly

I have 2 of these plugs and an update is available, but when I click update it fails. Log as below. Any help appreciated. FYI I have completely reset them

Config file:
substitutions:
…name: work-laptop-athom-smart-plug-v2-f143e6
packages:
…athom.smart-plug-v2: github://athom-tech/athom-configs/athom-smart-plug-v2.yaml
esphome:
…name_add_mac_suffix: false

wifi:
…ssid: !secret wifi_ssid
…password: !secret wifi_password

Output after trying to update:
NFO Reading configuration /config/esphome/athom-smart-plug-v2-f143e6.yaml…
INFO Detected timezone ‘Europe/London’
Failed config

esphome: None
…name: work-laptop-athom-smart-plug-v2-f143e6

…[friendly_name] is an invalid option for [esphome]. Please check the indentation.
…friendly_name: Smart Plug V2 None
…name_add_mac_suffix: False
…project:
…name: Athom Technology.Smart Plug V2
…version: 2.0
…build_path: .esphome/build/work-laptop-athom-smart-plug-v2-f143e6
button.factory_reset: [source /config/esphome/.esphome/packages/43f53298/athom-smart-plug-v2.yaml:140]

…Platform not found: ‘button.factory_reset’.
…platform: factory_reset
…name: Restart with Factory Default Settings
…id: Reset

FYI - I have updated config to that on github, but I now get the following errors. Note indentation is correct.

INFO Reading configuration /config/esphome/athom-smart-plug-v2-f143e6.yaml…
INFO Detected timezone ‘Europe/London’
Failed config

esphome: None
…name: athom-smart-plug-v2

…[friendly_name] is an invalid option for [esphome]. Please check the indentation.
…friendly_name: Smart Plug V2 None
…name_add_mac_suffix: True
…project:
…name: Athom Technology.Smart Plug V2
…version: 2.0
…build_path: .esphome/build/athom-smart-plug-v2
button.factory_reset: [source /config/esphome/athom-smart-plug-v2-f143e6.yaml:140]

…Platform not found: ‘button.factory_reset’.
…platform: factory_reset
…name: Restart with Factory Default Settings
…id: Reset

Update: I have moded the config to the following as below, and the update installed. However, If I click Adopt if fails to adopt the device.

substitutions:
name: “athom-smart-plug-v2”
room: “”
device_description: “athom smart plug v2”
project_name: “Athom Technology.Smart Plug V2”
project_version: “2.0”
relay_restore_mode: RESTORE_DEFAULT_OFF

esphome:
name: “${name}”
name_add_mac_suffix: true
project:
name: “${project_name}”
version: “${project_version}”

esp8266:
board: esp8285
restore_from_flash: true

preferences:
flash_write_interval: 1min

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

globals:

  • id: total_energy
    type: float
    restore_value: yes
    initial_value: ‘0.0’

sensor:

  • platform: uptime
    name: “Uptime Sensor”

  • platform: wifi_signal
    name: “WiFi Signal”
    update_interval: 60s

  • 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”
    id: energy
    unit_of_measurement: kWh
    filters:
    # Multiplication factor from W to kW is 0.001
    - multiply: 0.001
    on_value:
    then:
    - lambda: |-
    static float previous_energy_value = 0.0;
    float current_energy_value = id(energy).state;
    id(total_energy) += current_energy_value - previous_energy_value;
    previous_energy_value = current_energy_value;

  • platform: template
    name: “Total Energy”
    unit_of_measurement: kWh
    device_class: “energy”
    state_class: “total_increasing”
    icon: “mdi:lightning-bolt”
    accuracy_decimals: 3
    lambda: |-
    return id(total_energy);
    update_interval: 10s

  • 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

switch:

  • platform: gpio
    name: Smart Plug V2

    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”
    ssid:
    name: “Connected SSID”
    mac_address:
    name: “Mac Address”

time:

  • platform: sntp
    id: sntp_time

Update: after doing a clean build, then an install it has worked. JIC anyone else has gad this issue as it fixed mine.

However, wont be using these anymore. so much faffing - will stay with Tasmota plugs if I need anymore energy monitoring plugs.