mirror of
https://github.com/niels-emmer/wall-cast.git
synced 2026-09-13 23:53:36 +02:00
-
v2.0.0 Stable
released this
2026-03-28 18:55:09 +01:00 | 26 commits to main since this release📅 Originally published on GitHub: Sat, 28 Mar 2026 17:55:38 GMT
🏷️ Git tag created: Sat, 28 Mar 2026 17:55:09 GMTNew widgets
- Air quality — European AQI, PM2.5/PM10/NO₂/O₃, 4-day pollen forecast (birch, grass, alder, mugwort, ragweed) via open-meteo CAMS — no API key
- Market — crypto Fear & Greed gauge, four stock indices (S&P 500, Dow Jones, AEX, FTSE 100), five stock tickers, top 10 crypto coins — no API key
- P2000 emergency alerts — Dutch emergency services paging feed, filtered by region and discipline; auto-skips in rotator when quiet; optional news ticker injection
Notifications: ntfy + Matrix
- Matrix channel — assistant notifications dispatched in parallel to ntfy and Matrix; bot setup via
create-account, room invite, and one-time join;MATRIX_TOKENin.envonly - Config restructured —
notify.ntfy.{enabled,url}andnotify.matrix.{enabled,homeserver,room_id}; auto-migrated from oldntfy_url/ntfy_topicformat on startup - Per-person Matrix room — each person can configure
matrix_room_idalongsidentfy_topic - ntfy/Matrix reachability probes — landing page STATUS section shows live ok/offline/not-configured for both notification servers
Assistant improvements
- 10 new rule variables — weather (temperature, wind speed), rain (mm_now, minutes_until_rain), polestar (battery_pct, range_km, is_plugged_in), air quality (AQI, pollen_birch, pollen_grass)
- Rules system rewrite — structured
Rulelist replaces flat dict; condition builder modal in admin panel; per-family and per-person rules; auto-migrated from old format - Per-person ntfy topics — each person has their own topic; global rules fan out to all personal topics
- Personalised RSS feeds — per-person feeds appear only on screens they're assigned to
Casting & device management
- Apple TV pairing — full AirPlay pairing flow from the admin panel
- Android TV Remote — wake and standby screens from the landing page power button
- Auto-recover from IP changes — caster finds devices by name after a DHCP change
- Post-cast verification — silently failed casts (e.g. rejected by Google Home after a voice command) are detected and retried
- Per-screen power toggle — landing page has a power button per screen
- Screen diagnostics — per-screen status, last log entries, and manual re-cast button in admin panel
Landing page & admin panel
- System STATUS section — services (backend/caster/scanner/assistant/ntfy/matrix) + all 13 API data sources with last-fetched age; replaces the old two binary pills
- Cache health registry — all 13 API routers report per-fetch health; status endpoint aggregates
- Rotator fade speed — configurable via admin panel (Slow → Fast); applies globally
- Info widget editor — admin panel can configure
infowidget slots in the rotator
Fixes
- Caster recast loop — cooldown guard + reachability-based trust
- Warnings expiry — cleared immediately on cache hits
- Bus 500 errors —
asyncio.CancelledErrorhandling + 20s timeout - Rain source — switched from buienalarm.nl (blocked) to open-meteo minutely_15
- Market quotes — switched from Yahoo Finance (blocked) to Stooq CSV
- Weather icons — Meteocons SVGs replace broken emoji on Chromecast
- On-route traffic filter — corridor proximity instead of road name only
- Calendar — finished events hidden; colours resolved; 403 warnings suppressed
- nginx —
index.htmlnever cached
Upgrading
git pull && docker compose up --build -dConfig auto-migrates on startup — no manual changes needed. If you had
notify.ntfy_url/notify.ntfy_topicin your YAML, the migration converts them tonotify.ntfy.{enabled,url}automatically.If you're adding Matrix: set
MATRIX_TOKEN=syt_...in.env, see docs/assistant.md for the full bot setup walkthrough.Downloads
-
Source code (ZIP)
0 downloads
-
Source code (TAR.GZ)
0 downloads