A dedicated Home Assistant panel for managing firmware updates across all your ESPHome devices. Instead of updating devices one by one through the ESPHome dashboard or the standard HA update entities, this gives you a centralized overview with batch update capabilities.
Note: This integration is intended for users who compile and flash ESPHome updates directly from Home Assistant (using the ESPHome add-on or Device Builder).
For now, this integration can be installed via custom repositories in HACS but will soon be available in the HACS store. Icons will become visible in HA version 2026.3.0 or newer.
This morning I finally had the opportunity to test this integration.
While everything worked great I cannot seem to leave the main page anymore.
When there is no upgrade in process I can swipe from left to right and the home assistant menu appears. When updates are in progress no menu appears, it just bounces a bit to the right.
This is on iOS. Is this generic or something I’m doing wrong?
I’m not sure what you mean, I myself use iOS too but cannot swipe left/right, is this an add-on of some sort? can you give more details?
Or are you talking about the sidebar?
EDIT: tested the sidebar swipe in iOS while updating, everything is working as expected, sidebar appears and I can open the other panels, nothing seems out of the ordinary.
No, just the normal menu. I have my side bar (i think this is default) auto hide on my iOS device. When I go to the menu and see the ESPhome update manager, going back to the menu is swiping from left to right. Then the menu appears.
When everything was updating i could not get the swiping part to work. Now after the updates have been finished it is possible again.
But since ive got 10+ esphome devices it takes some time.
When I close the companion app on my iphone and start it again, it starts in the same view I left it, thus not being able to leave the esphome update manager.
I honestly don’t know how to explain further, maybe next esphome update I’ll try and see again and record the screen.
Btw, i now see i was still running 1.0.0. Maybe the 1.1.0 feature ‘auto update’ entriely removes the need for me to open the gui …
I’m sure it’s me, but I don’t understand this part, not sure what menu you’re talking about, but would like to understand so I can replicate the issue.
anyways, update first to the latest version, some significant changes were made.
Problem solved! issue was the buttons on the right falling outside viewport and blocking touch events, preventing the sidebar swipe.
Tested on a small iPhone 12 mini and it’s working as expected now.
When using even smaller screens, you need to use the device in panorama mode as a workaround.
Fix is available in release v1.2.4
EDIT: made an additional improvement for small phone screens in release v1.2.5
about live logs: Live device logs are out of scope for this integration - the ESPHome Dashboard already provides that functionality.
log archive: I had this idea when building the integration but was not convinced this would be needed. I’ll add it to the backlog. If you really need to, you could also create an automation that copies the log file whenever it changes - that way you have full control over how many logs to keep and where to store them. (I can provide you with the necessary steps to take to accomplish this if needed)
include “from version > to version" in the logs: Good idea, I’ll add this to the next release.
Rename the side panel: I prefer keeping ‘ESPHome Updates’ - it’s concise and accurately describes the primary function. ‘Manager’ implies broader functionality that this integration doesn’t provide. The full name ‘ESPHome Update Manager’ is used in the panel header and logs where there’s more space.
Display the current version number: This information is already available in HACS and the Integrations page. Adding it to the panel header would just be visual clutter.
Manual refresh/rescan button: The integration doesn’t scan for updates for the ESPHome device builder add-on, it simply displays the update status that Home Assistant already knows about. The actual update detection is handled by Home Assistant and the ESPHome integration, not by this panel. A refresh button would just reload the same data that’s already shown. This integration reads the firmware update entities, which reflect whether each device’s firmware matches the installed ESPHome Device Builder version.
about your zombie device: Removing a device in ESPHome Device Builder only deletes the configuration file - it doesn’t remove the device from Home Assistant. To fully remove a device, you need to:
Go to Settings → Devices & Services → ESPHome
Find the device entry
Click the 3 dots and select Delete
The ESPHome Update Manager only displays what Home Assistant knows about - it can’t remove devices itself
Thanks for taking the time to review the integration and share your ideas! I’ve noted the version logging suggestion and will add it in a future update. Hopefully the explanations help clarify how everything works under the hood. Feel free to reach out if you have more questions or feedback!
EDIT: update version info added to log file in release v1.2.7
Hi, I’ll get back to you later about the enhancements.
But regarding the zombie device, as I explained in my post, it’s not visible in ESPHome Builder, but only in the ESPHome Device Manager, which is the odd part!