You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
Commit 8527f5e
Browse filesBrowse the repository at this point in the historyBrowse files
feat: one-click OTA firmware update from GitHub releases
Add a GitHub Actions workflow (release-firmware.yml) that builds the
complete firmware on every push to master and publishes/refreshes a
rolling 'latest' GitHub Release with firmware.bin + version.json (commit
sha + date) for stable download URLs.
In the Tools tab, a 'check for updates' button compares the device's
built git revision (from /info) against the release's version.json and,
if newer, downloads firmware.bin in the browser and pushes it to the
existing /update OTA endpoint (no extra firmware/TLS code). The manual
firmware upload remains as a fallback.
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Copy file name to clipboardExpand all lines: README.md
+1Lines changed: 1 addition & 0 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -66,6 +66,7 @@ neon logo that doubles as the SVG favicon ([`8d9725c`](../../commit/8d9725c)):
66
66
| --- | --- |
67
67
| PWA support: web app manifest + app icon, "add to home screen" with proper icon and name |[`a59fe0b`](../../commit/a59fe0b)|
68
68
| Full backup: export/import of all settings + RFID assignments as JSON, WiFi credentials optional |[`7f2e4ae`](../../commit/7f2e4ae)|
69
+
| One-click OTA update: GitHub Actions publishes a rolling `latest` release (`firmware.bin`); a Tools-tab button makes the device pull that firmware from GitHub over HTTPS and flash it via OTA, then reboot. Also triggerable via the bindable command **186** (button/RFID modifier) and the MQTT command-topic `firmware_update` (`ON`/`update`); the state-topic reports `idle`/`updating`/`up_to_date`/`failed`|[`06ac13d`](../../commit/06ac13d)|
69
70
| Equalizer profiles: dropdown presets (Flat / Music / Audiobook-Speech / Deep voices / Custom) on top of the 3-band tone control; speech presets cut bass and lift mids/highs so deep narrator voices stay intelligible, persisted in NVS. Profiles can also be assigned per file or directory (right-click in the file browser) — e.g. set the speech profile for all Bibi Blocksberg episodes at once; the RFID tab shows the active profile for the highlighted file (or "No EQ set"). The active profile can be cycled with the bindable command **154** (button/RFID modifier) and set/reported via the MQTT topic `equalizer` (`flat`/`music`/`speech`/`voiceBoost`) |[`300b9dd`](../../commit/300b9dd)|
70
71
| Blinking "OK" indicator next to the battery replaces the generic "action successful" toast |[`0870ccc`](../../commit/0870ccc)|
71
72
| Blinking "connection lost" icon in the navbar replaces the connection-lost toast |[`c45402b`](../../commit/c45402b)|
0 commit comments