GUI = U-Studio.gambas (0.64.20)
Daemon = ulanzi-studio-niri (2.0.2, Live-Update + Seiten-Sync 2026-09-10)
Fixes 2026-09-12: Keep-Alive ohne Deck-Rebuild. Der Daemon machte alle 300 s einen vollen
  OUT_SET_BUTTONS-Push (0x0001) => alle Tiles blinkten schwarz, Deck unbenutzbar für Sekunden,
  Standby-Monitore wachten auf. Jetzt: `_periodic_refresh` pusht nur die je per 0x000D
  berührten Tiles der aktiven Seite erneut (Partial-Update, tracked in `_partial_touched`).
  Widget-/Usage-Refresh (`_refresh_widget_tiles`) ebenfalls nur noch 0x000D. Volle 0x0001-Pushes
  nur noch bei Connect/Config-Reload/Seitenwechsel. Einzige offene Annahme: dass 0x000D-Touch
  die Firmware-TTL (10 Min) zurücksetzt. Daemon-Quelle: update_setup/daemon/src/ulanzi_niri/.
Fixes 2026-09-10 (nacht): Manuelle Seitenwahl in der GUI springt auch auf dem Deck
  (GUI→Daemon-Kanal /tmp/ulanzi-page-cmd + Pending-Flag gegen Timer-Überschreiben,
  Deck-Page-Button-Opcode: Pi-Konstante-Bug fix, Seite-3-Sprung). update.sh liefert
  jetzt auch das GUI-Binary.
Fixes 2026-09-10: Sensorbilder verschwinden nach ~10 Min (Daemon-Watcher-Supervisor +
  periodischer Full-Page-Refresh alle 300 s gegen Firmware-TTL), automatischer Seitensync
  Deck→GUI (/tmp/ulanzi-active-page), GUI-Keep-Alive alle 300 s, pgIdx-Bugfix (Pi-Kollision)
Fixes 2026-09-09: Mehrseiten-Bug/Seitenwechsel (Platzhalter-Kacheln, Page-Guard, Seitensync),
  Sensor-null→n/a, Unterstrich-Key-Auflösung (cpu_fan_rpm = cpu + fan_rpm)
Datum = 2026-09-12