Public Access
Add a page schedule with rotation, Home Assistant trigger rules and a Stopwatch tab
- Schedule: daily blocks from a start time, each with up to 6 rotating pages or bitmaps (own duration), switching with the effect or instantly. A manual pick (Show tab, HA Mode) lasts until the next block; Back to schedule ends it. - Rules: an HA state (=, is not, above, below) shows a page while true, adds it to the rotation while true, or shows it for N seconds when it becomes true. Each rule is polled at its own interval, with a 60 s back-off on errors. - PageSelector (pure logic, tested) decides the shown page; schedule stored in NVS; HA sensor Shown page and button Back to schedule. - Web UI: Schedule and Stopwatch tabs, bitmaps used by pages or rules in their own subsection, schedule in export/import. Version 2.6.0. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
1 parent
47ef65ee7d
commit
93b9bec69a
25 files changed
+1217
-50
No files matched your search
@@ -25,6 +25,9 @@ debug output. Wiring is described in the [main README](../../README.md#wiring-be
|
||||
| `logic/font.*` | Dot font format (built-in and uploaded fonts), text width, drawing |
|
||||
| `logic/builtin_fonts.*` | Small, Normal, Large, Full height; the `.cpp` is generated by `tools/make_builtin_fonts.py` |
|
||||
| `logic/builtin_pages.*` | The built-in Clock page (the clock of the old firmware) |
|
||||
| `logic/page_schedule.*` | Schedule blocks and trigger rules: the structs, checks, rule conditions |
|
||||
| `logic/page_selector.*` | Which page is shown now: rules, a manual pick, the rotating schedule (`PageSelector`) |
|
||||
| `logic/stopwatch.h` | The stopwatch of the dynamic pages |
|
||||
| `logic/power_timer.*` | Countdown to switching the display off |
|
||||
| `logic/status_led.h` | Blink pattern of the built-in LED |
|
||||
| `logic/boot_policy.*` | How to start after a reset: normal, OTA-only window, safe mode |
|
||||
@@ -33,6 +36,7 @@ debug output. Wiring is described in the [main README](../../README.md#wiring-be
|
||||
| `system/boot_target.*` | Switching between the clock firmware and the recovery app |
|
||||
| `system/system_store.*` | Settings in NVS: WiFi, recovery reason, firmware slot and version, power-on count |
|
||||
| `system/settings_store.*` | The web UI settings in NVS |
|
||||
| `system/schedule_store.*` | The page schedule and rules in NVS |
|
||||
| **`display/`** | **What is drawn** |
|
||||
| `display/frames.*` | The screens: dynamic page, "No WiFi", page bitmap, live image, off image (`FlipdotFrames`) |
|
||||
| `display/bitmap_store.*` | Built-in bitmaps and the uploaded ones on LittleFS |
|
||||
@@ -52,6 +56,7 @@ debug output. Wiring is described in the [main README](../../README.md#wiring-be
|
||||
| **`web/`** | **Web UI** (see the [main README](../../README.md#web-ui)) |
|
||||
| `web/web_ui.*` | Web server and JSON API (the endpoints are listed in `web_ui.h`) |
|
||||
| `web/page_json.*` | Dynamic pages as JSON |
|
||||
| `web/schedule_json.*` | The page schedule and rules as JSON |
|
||||
| `web/web_page.h` | The page: HTML and JavaScript; the browser converts images and draws the previews |
|
||||
|
||||
`DisplayController` only talks to two small interfaces, `DisplayPower` (implemented by
|
||||
|
||||
Reference in new issue
Block a user