ESP8266 devices not coming back online after firmware update?

First , I skipped the most recent few ESPHome updates, until 2023.4.0 came along. Figured it was time, after all. ESP32 devices updated firmware and came back online, no issues. ESP8266 devices (various clones) some came back online, but most did not. Will have to go around and cable up to the problematic devices to see what may be going on.

Any comments or ideas? I’ve read the release notes for the most recent releases, and nothing seemed to cause any concern.

I feel your pain. I hesitate to upgrade my ESP devices simply to get rid of those nuisance (51 here) update notices.

DEVOPS- THEY ARE A NUISANCE. Let users mute ESPHome updates.

Worse, I have one device that simply will not do an OTA upgrade. I have to take an hour to take it out of the wall and plug in a UART to manually flash it. All this to squelch needless update notices.

1 Like

On the brighter side, a few of the devices have finally come back online. But not nearly enough. Hopefully it will be better by morning.

You can. Go to entities and search for update entities and disable them.
Esphome all end with _firmware

1 Like

I have included this into my ESP8266 devices that i can’t access physically (ie recessed lights, which i’d have to find a ladder to take down, break them open, solder pins and reconnect live wires :confounded: - have done it twice).

Works well, boots into safe mode which enables OTA updating if something went wrong:

button:
  - platform: safe_mode
    name: Safe Mode
    id: ${device_name}_safe_mode
    icon: mdi:restart-alert
    device_class: restart
    entity_category: diagnostic
    disabled_by_default: true

interval:
  - interval: 60s
    then:
      - if:
          condition:
            wifi.connected:
            #api.connected: 
          then:
            - lambda: |-
                ESP_LOGI("watchdog", "wifi.connected");  
          else:
            - lambda: |-
                ESP_LOGW("watchdog", "considering safe_mode");              
            - delay: 60s
            - if:
                condition:
                  #api.connected: 
                  wifi.connected:
                then:
                  - lambda: |-
                      ESP_LOGI("watchdog", "wifi.connected");  
                else:
                  - lambda: |-                  
                      ESP_LOGE("watchdog", "entering safe_mode");                                
                  - button.press: ${device_name}_safe_mode
1 Like

I have 75 such entities. You are completely missing the point. Until a couple of versions ago, you had to deliberately go into the ESPHome front end to upgrade individual devices. Even then it was a simple “Update available” on each device. Now, if I update ESPHome, I get 75 Update notices in my Settings Page. This is utterly useless and annoying.

Even if I did use your “solution”, I would have to do it all over again with the next ESPHome update. And, what if I do want to update one or two of my devices?

I don’t want bandaids, I do not want the device updates to show in Settings. The way it was before someone thought that having the device updates in Settings was a great idea. I’ll bet that whoever thought that this was a good thing doesn’t have dozens of ESPHome devices.

You are missing the point.
Go to
Settings.
Devices and services.
Click entities.
Search for _firmware
Select all. Disable them.
You won’t see them again in updates until you enable then again. Even after the next update.

1 Like

I shouldn’t have to do this for every device. ESPHome Device upgrades do not belong on the settings tab. They belong on the ESPHome tab where that have always been.

2 Likes

I agree with @stevemann - - The presence of the red UPDATE flag on an individual ESPHome device on the ESPHome tab is more than sufficient notification.

1 Like

For you and me and a lot of others it is. But maybe someone wants the notifications there. I agree that it should be easier to change this.
Default setting in esp dashboard. Or next to the ignore button also add disable.
But I think one should have the choice.

I love the way it is now.
I want every single device, card, integration, etc. to be able to update trhu a common process and ESPHome shouldn’t be an exception.

I have a blueprint which takes care of all those updates over night and, if I have some device that I don’t wanna to follow the automated process I can simply add as an exception on my blueprint settings, or click skip for an specific update or even as @bkbarti mentioned, disable the update entity for specific devices.

Do you have a way to power cycle those devices remotely. It’s weird that some devices stopped the communication, but it’s also weird that some returned after a long wait.

Good morning,

I have the same problem on two ESP32, since the firmware update (OTA), the Home Assistant API connection no longer works!

No problem on 4 other ESP32. I don’t understand why this happens, via ESPHome I can always update them but they don’t want to connect to the home assistant API!

I use the latest version with the api and the key but nothing to do…

I tried everything,

  • Delete build files
  • New ESP OTA Flash
  • Restarting the ESP
  • Restarting the Router
  • Restarting the ESPHOME Addon
  • Restarting Home Assistant OS
  • Restarting the Host Server
  • Etc…

I only have the USB flash left to test but not easy because you have to dismantle the ESPs !

My yaml is correct :

api:
  encryption:
    key: mykeyautogenerate

logs:

WARNING Can't connect to ESPHome API for 192.168.1.17: Error connecting to ('192.168.1.17', 6053): [Errno 111] Connect call failed ('192.168.1.17', 6053)

How about an OPTION?

Start a new thread and others who have similar occurrences may be able to help you. This thread is already sideways from the original topic. In your new thread, post your YAML file for a device that won’t connect to the API.

You stole this thread and are now suggesting people on the original topic to start another one? :stuck_out_tongue:

1 Like

Closing at request of topic creator.

1 Like