Skip to content

UI: OTA Management Page #45

@rodneyosodo

Description

@rodneyosodo

Summary

The backend supports OTA updates (download, verify, replace, restart) and publishes progress to m/{domain}/c/{ctrl}/ota/status. There is also a new OTA abort capability (#35). However there is no UI page for triggering or monitoring OTA updates — it is only accessible via MQTT or direct HTTP API calls.

What to build

  • Add an OTA page at /ui/ota
  • Add a nav entry in the sidebar/topbar
  • OTA trigger form:
    • Firmware URL input
    • Expected SHA-256 hash input (optional)
    • Expected size input (optional)
    • "Start Update" button
  • Progress display:
    • State badge (idle / downloading / verifying / ready / restarting)
    • Progress bar (percentage from ota_progress field)
    • Bytes downloaded / total
  • "Abort" button (cancels in-progress download, depends on Add OTA Abort to Cancel In-Progress Update #35)
  • Status history log (last N status messages)
  • Current firmware version display

Depends on

Reference

Aeolus OTA status format (docs/ota.md):

[{"n":"state","vs":"downloading"},{"n":"bytes","v":65536,"u":"By"},{"n":"total","v":1324740,"u":"By"}]
[{"n":"state","vs":"verifying"},{"n":"bytes","v":1324740,"u":"By"},{"n":"total","v":1324740,"u":"By"}]
[{"n":"state","vs":"ready"}]

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or request

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions