Scheduled bulk updates with a two-phase pipeline (compile at a preset time, then OTA upload), per-device exclusions, and outcome notifications #3462
Unanswered
ettiennecoetzee
asked this question in
Builder features or enhancements
Replies: 0 comments
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Uh oh!
There was an error while loading. Please reload this page.
-
Describe the enhancement
Summary
I would like ESPHome Dashboard (Home Assistant add-on) to support an automated “bulk update orchestration” workflow that can (1) wait until ESPHome/ESPHome Builder has been updated, (2) compile selected nodes at a preset scheduled time window, (3) only if compiles succeed, proceed to OTA uploads, and (4) produce a clear notification/report of outcomes (compile + upload) with the ability to exclude “protected” devices from the bulk update process.
This is closely related to the existing desire for scheduled “Update All” behavior, but I am specifically requesting a safer, more controllable, two-step pipeline with opt-out protection and reporting. (#1677) :contentReference[oaicite:1]{index=1}
Problem / Motivation
Requested Feature: Two-phase Bulk Update Orchestrator
High-level behavior
Trigger condition
Phase 1: Compile window (scheduled)
Gate
Phase 2: OTA upload window
Outcome notification and report
Device exclusions (safety feature)
Add a first-class way to exclude devices from bulk updates, for example:
Optional “staged rollout” enhancements
Why this belongs in ESPHome Dashboard
ESPHome already has an “Update All” concept discussed in the community, and scheduling has been requested before (#1677). :contentReference[oaicite:4]{index=4}
This proposal focuses on making bulk updates safer and more automatable by:
Acceptance criteria (what “done” looks like)
Workarounds used today
Users can approximate this with external scripts/automations, but it is fragile and not integrated with Dashboard status, logs, device online state, or per-device protection. An integrated solution would reduce mistakes and make updates safer for larger fleets.
Environment (example, can be edited)
Use cases
In my setup I manage a fleet of ESPHome devices (mix of ESP32/ESP8266) that are updated frequently as ESPHome and Home Assistant evolve. When ESPHome updates, I typically want all devices rebuilt, but I do not want to compile and OTA flash everything immediately during the day while the Home Assistant host is busy and while I am not available to babysit failures. The ideal workflow is to queue a bulk update, have the add-on automatically compile selected nodes overnight at a preset time with safe queueing, then only if the compiles succeed proceed to OTA uploads, finally generating a single summary notification showing which nodes compiled and uploaded successfully and which failed with links to logs. A small subset of devices are “critical” (for example door locks, climate control, alarms, remote nodes), so they must be excludable from bulk updates by default to avoid a breaking change taking them offline, with the option to include them explicitly when I am ready.
Visual examples
No response
Anything else?
No response
Beta Was this translation helpful? Give feedback.
All reactions