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
@@ -152,6 +152,13 @@ See README.md for the overview.
|
||||
changed rectangle (`lib/BROSE9323/frame_commands.h`, tested with the Nano parser in
|
||||
`test_nano`). Don't send frames pixel by pixel (`s` commands are 7 characters per dot). Character 127 is the degree sign in
|
||||
page texts and fonts (UTF-8 ° in JSON).
|
||||
- What is shown is decided by `logic/page_selector` (rules > manual pick until the next
|
||||
block > rotating schedule > chosen page) in `appPageLoop()`; `settings.page` is the chosen
|
||||
page (the HA "Mode" dropdown). Schedule and rules are stored in NVS
|
||||
(`system/schedule_store.cpp`, bump `VERSION` when `PageSchedule` changes). Pages used by
|
||||
the schedule or rules can't be deleted.
|
||||
- The ESP32 flash slot is about 90% full (web page and fonts are in flash). Check the size
|
||||
after adding features; the web page could be served gzipped if it gets tight.
|
||||
- Fonts use the "FDF1" format of `logic/font.h`; the web page writes the same format.
|
||||
`logic/builtin_fonts.cpp` is generated: change `tools/make_builtin_fonts.py` and rerun it.
|
||||
- Home Assistant values come from HA's REST API (`net/ha_api`), one blocking request per
|
||||
|
||||
Reference in new issue
Block a user