Add Update Online button to update only online devices#868
Draft
mrmees wants to merge 1 commit intoesphome:mainfrom
Draft
Add Update Online button to update only online devices#868mrmees wants to merge 1 commit intoesphome:mainfrom
mrmees wants to merge 1 commit intoesphome:mainfrom
Conversation
a3d48ac to
5efa3a8
Compare
Add button to compile and OTA-upload only online devices that need updates. Fetches device status and online state, filters to updatable online devices, then sequentially compiles and uploads each with progress tracking, retry verification (5 attempts, 10s apart), and cancellable operations. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
45c4870 to
dfcd38d
Compare
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Adds an "Update Online" button that intelligently updates only devices that are:
This complements the existing "Update All" button by skipping offline devices and devices already running the current version, reducing failed OTA attempts and wasted compile time.
Features
Implementation
Frontend-only approach - No backend modifications required. Uses existing WebSocket endpoints:
GET ./devices- List configured devices with version infoGET ./ping- Get online status mapWS ./compile- Compile configurationWS ./upload- Upload firmware via OTAFiles changed
src/components/esphome-header-menu.tssrc/update-online/index.tssrc/update-online/update-online-dialog.tspackage.json@material/mwc-linear-progressdependencyScreenshots
(Button appears next to "Update All" in the header menu)
Test plan