-
-
Notifications
You must be signed in to change notification settings - Fork 71
Description
Version
2025.10.4
What type of installation are you using?
Home Assistant Add-on
Browser
Chrome
What happened?
This is particularly applicable to battery operated devices
If the device isn't present during the "install, wireless" run, the OTA process gives up after a few seconds
At that point, clicking "retry" restarts the compilation process. It's a lot faster the second time around but that takes time, requires watching the battery device and usually clicking regularly on a button to force it to remain connected
IE: It's quite easy to have it time out again. It takes around 40-60 seconds for battery devices to wake up and reconnect to the AP and connecting to Homeassistant API takes a few seconds longer than that due to HA polling the device instead of the other way around
quickfix: Unless the Yaml or underlaying software version have changed, "retry" should simply resume at the upload stage.
drifting into feature territory:
Even better would be an option to queue the failed upload until the device becomes present - some battery devices are hard to physically access and may only connect 3 or 4 times/day. Presence polling needs to happen every 10-15 seconds
How to reproduce
Go to "edit" on any configured device in the ESPhome Builder dashboard (or right click,install on it)
Select "wirelessly"
let ESPhome compile and fail to connect (or fail during upload)
click retry
Watch the whole processes kick off again from the start, skipping various objects that haven't changed
It's as if the yaml is updated every time "retry" is clicked.
(It makes sense to do that for "install" but not for "retry")
Expected behavior
"retry" should skip the entire compilation process and simply resume the script at connection/upload stage
Even better, a "queue" option would save having to physically hover over and poke at the battery operated device whilst it's updating
Relevant log output
[Note the wildly varying retry times. This makes uploading to battery devices (especially tuya low-energy ones) much harder]
Building UF2 OTA image
|-- esphome_2025.10.4_cbu_bk7231n_lt1.9.1.uf2
|-- firmware.uf2
|-- firmware.bin
======================== [SUCCESS] Took 586.63 seconds ========================
INFO Successfully compiled program.
INFO Connecting to 192.168.178.133 port 8892...
ERROR Connecting to 192.168.178.133 port 8892 failed: [Errno 113] No route to host
ERROR Connection failed.
WARNING Failed to upload to ['th08.local']
retry
INFO ESPHome 2025.10.4
INFO Reading configuration /config/esphome/th08.yaml...
INFO Detected timezone 'Europe/London'
...
RAM: [==== ] 36.8% (used 96436 bytes from 262144 bytes)
Flash: [========= ] 88.0% (used 952716 bytes from 1083136 bytes)
========================= [SUCCESS] Took 35.12 seconds =========================
INFO Successfully compiled program.
INFO Connecting to 192.168.178.133 port 8892...
ERROR Connecting to 192.168.178.133 port 8892 failed: [Errno 113] No route to host
ERROR Connection failed.
WARNING Failed to upload to ['th08.local']
retry
...
RAM: [==== ] 36.8% (used 96436 bytes from 262144 bytes)
Flash: [========= ] 88.0% (used 952716 bytes from 1083136 bytes)
Building UF2 OTA image
|-- esphome_2025.10.4_cbu_bk7231n_lt1.9.1.uf2
|-- firmware.uf2
|-- firmware.bin
========================= [SUCCESS] Took 83.01 seconds =========================
INFO Successfully compiled program.
INFO Connecting to 192.168.178.133 port 8892...
INFO Connected to 192.168.178.133
INFO Uploading /data/build/th08/.pioenvs/th08/firmware.uf2 (3307008 bytes)
Uploading: [============================================================] 100% Done...
INFO Upload took 15.17 seconds, waiting for result...
INFO OTA successfulScreenshots
No response