ESPHome bricked my plugs? Tuya-Convert Tasmota to ESPHome

I followed digiblur’s instructions below to flashing Tasmota onto my Gosund WP3 smart plugs.

That worked great. Awesome instructions - thanks Travis.

After doing that, I decided to wanted to give ESPHome a try on these devices, since I’ve yet to use ESPHome. I installed the ESPHome Add-On in Home Assistant and created my first basic node following the guide/questions. I then edited the file using multiple resources. I’m using a hidden network so had to add a few things to the code.

I used the Tasmota page to ‘update firmware’ and upload my newly created ESPHome bin file.
At first, I could get my device connected to my router, but it wouldn’t show up in ESPHome even after multiple reboots of my router and Home Assistant.
References:

This latest code seems to have bricked my device. The led indicator no longer comes on, it’s not connected to my router, it does not broadcast its fallback wifi, and does not allow power to pass through.

Any ideas what is wrong with my code?

substitutions:
  device_name: gosund1wp3
  friendly_name: Gosund WP3

esphome:
  name: "${device_name}"
  platform: ESP8266
  board: esp01_1m

wifi:
  ssid: mywifiname
  password: mywifipassword
  #fast_connect required for hidden networks
  fast_connect: true
  # Optional manual IP: May help connect to hidden networks better.
  manual_ip:
    static_ip: 10.0.0.42
    gateway: 10.0.0.1
    subnet: 255.255.255.0

  # Enable fallback hotspot (captive portal) in case wifi connection fails
  ap:
    ssid: "${device_name} Fallback Hotspot"
    password: fallbackwifipassword

captive_portal:

# Enable logging
logger:

# Enable Home Assistant API
api:

ota:
  password: "myotapassword"

binary_sensor:
  - platform: gpio
    pin:
      number: GPIO4
      mode: INPUT_PULLUP
      inverted: True
    name: "${friendly_name} Button"
    id: "${device_name}_button"
    on_press:
      - switch.toggle: "${device_name}_relay"
  - platform: status
    name: "${friendly_name} Status"
    id: "${device_name}_status"

switch:
  - platform: gpio
    name: "${friendly_name} Relay"
    id: "${device_name}_relay"
    pin: GPIO14
    on_turn_on:
      - output.turn_on: led
    on_turn_off:
      - output.turn_off: led

status_led:
  pin:
    number: GPIO12
    inverted: yes

output:
  - platform: gpio
    pin: GPIO13
    inverted: true
    id: led

sensor:
  - platform: wifi_signal
    name: "${friendly_name} WiFi signal"
    id: "${device_name}_wifi_signal"
    update_interval: 60s
  - platform: uptime
    name: "${friendly_name} Uptime"
    id: "${device_name}_uptime"
    update_interval: 60s

text_sensor:
  - platform: version
    name: "${friendly_name} ESPHome Version"
    id: "${device_name}_esphome_version"

Thanks for any help!

Did it ever (only 1 time) work with esphome flashed? So did it ever connect to your wifi?

A couple of things to consider:

  1. you use “fast connect” esphome will not scan for wifi networks but just connect to the first ssid configured it sees (even if this is a very bad quality ssid!).
  2. If the device is connected to wifi it will not show a fallback hotspot.
  3. I am not familiar with the WP3 but if you have configured a wrong GPIO number, it “might” not boot (not sure is this can be the case in your’s).

If the device is still “valid” and willing to connect to the preconfigured wifi there’s 1 thing left to do:

  • spin up an AP with the ssid and password and let it connect to it…

If not… the only thing left to do is reflash it physically via serial.

EDIT: I see after rereading that it did connect to your router…
since you haven’t used use_address: under wifi: the addon will not “see” it if the name is not correct or it is not in the same subnet.

Guess you are just one of the many victims from the latest dashboard “optimizations”.

In short: The online indication of a esphome node is (sadly) just completely gone :man_facepalming:

3 Likes

If the device is online, there is no colour.

Seems simple enough.

…and no text too indicating it’s online.

This is might be precise enough for :green_apple: boys & girls but a average user would expect something like a green bar as present in this screenshot:

Like presented in the docs: Getting Started with ESPHome and Home Assistant — ESPHome

1 Like

Mine was red and said Offline:

If everything is “correct” (no warning/error) the status led will be off by default.

What makes you think that? Your router does not serve a DHCP adress as the device has a static address. It will not show up in your routers ARP table.

Another strong indication that it is actually connected to the configured wifi

Nothing obvious. Did you try to ping the device by it’s IP or (m)DNS hostname?

Edit this page on github is linked on every doc page for esphome

Part of me does wonder if the GPIO numbers are wrong. The pinout guides I found for this plug for Tasmota are different than the one I found for ESPHome.
Tasmota: Gosund WP3 Plug Configuration for Tasmota
ESPHome: Gosund WP3 | ESPHome-Devices

Before when it connected to my wifii (but didn’t show up in ESPHome), I saw it on my UDM Pro’s Client List.
I just plugged the device back in and tried to ping it, but no luck.

I think my issues are likely related to both a hidden network and that hidden network on a different subnet than HomeAssistant/ESPHome.

I would expect that your esphome device connects to wifi but the network configuration is wrong (any particular reason for manual IP in the year 2021?).

Quickest way to fix this might just to turn your wifi off (or bring the device out of the WiFi range) so it spwans it’s ap an you can fix your configuration

I just tried the manual ip as I read that it may help with hidden networks.

I did turn off my wifi but didn’t see the ap. That’s actually what made me think it was bricked.

That’s to bad

Bricking a esp typically can only be a “soft brick” and if their is no (real) hardware failure you will always be able to flash it over serial.

For that reason I completely avoid devices which are glued together or don’t have serial pins/pads easily available.

I would call this information fake facts. The serving of a IP address via DHCP (kind of best practice since two decades?) doesn’t have to do anything with the sign-in/authentication of the wifi itself. It will be most likely the same hardware (consumer grade router) doing the job but’s that actually it.

The only “real” use case using a manual ip in 2021 is for battery powered (:battery:) esp’s because you can save typically a second “on time” which will conserve a good amount of energy :zap: (maybe giving you some hours of “standby time”).

Other than that manual ip’s typically cause more problems than solve solutions. I expect mainly older people suggestion just information which was maybe valid 30 years ago…

1 Like

Pretty sure it was originally suggested by Otto.

Yeah, these might have been the first “smart” things I ever bought, a couple years ago, and were super cheap. They’ve been in the basement for a year and I figured I’d give flashing them a try. Definitely not worth the hassle of flashing over serial.

Thanks for all your suggestions though.