# AWTRIX 3 – Sonos NowPlaying (ioBroker Script) Zeigt den aktuell abgespielten Sonos-Titel als **AWTRIX 3 Custom App** via **MQTT** an: > 🎵 Künstler — Titel (Album) Das Script nutzt einen **Keep-Alive Refresh**, damit die App in der Rotation bleibt, solange Sonos spielt. Sobald Playback stoppt/pausiert oder kein Titel mehr vorhanden ist, wird die App automatisch entfernt. ## Features - ✅ Anzeige: `🎵 Künstler — Titel (Album)` - ✅ Keep-Alive Refresh (damit die App nicht „rausfällt“) - ✅ Entfernt die App automatisch bei Stop/Pause/kein Titel - ✅ Debounce gegen Event-Spam vom Sonos-Adapter - ✅ Alles in **einer Datei** (ioBroker-friendly) ## Voraussetzungen - ioBroker **JavaScript-Adapter** - ioBroker **Sonos-Adapter** - ioBroker **MQTT-Adapter** (als Client/Publisher nutzbar über `sendMessage2Client`) - AWTRIX 3 mit aktivierter MQTT-Anbindung (Prefix bekannt, i.d.R. `awtrix`) ## Installation (Quick Start) 1. Datei `nowplaying.js` öffnen und den Block **USER CONFIG** anpassen: - `AWTRIX_PREFIX` (meist `awtrix`) - `DP.*` (deine Sonos-Datenpunkte) 2. In ioBroker → **JavaScript** → neues Script anlegen → Inhalt von `nowplaying.js` einfügen 3. Script starten 4. Sonos abspielen → nach spätestens wenigen Sekunden sollte es auf der AWTRIX erscheinen ## Sonos-Datenpunkte finden In ioBroker unter **Objekte**: `sonos.0` → `root` → `` → - `current_title` - `current_artist` - `current_album` - `state_simple` Kopiere die Objekt-IDs in `CFG.DP`. ## AWTRIX MQTT Topics (was das Script sendet) - Custom App: - `/custom/` - Beispiel: `awtrix/custom/NowPlaying` - Optionaler Switch: - `/switch` - Wird nur genutzt, wenn `FORCE_SWITCH=true` ## Konfiguration (wichtigste Optionen) Im `CFG` Block: - `LIFETIME_SEC`: Wie lange ein Eintrag ohne Refresh überlebt - `KEEPALIVE_SEC`: Alle wieviel Sekunden refreshed wird - `FORCE_SWITCH`: Wenn `true`, schaltet AWTRIX bei jedem Refresh aktiv auf die App (meist **false** lassen) - `ICON_MUSIC`, `COLOR_RGB`, `TEXT_CASE`: Darstellung - `DEBUG`: Zusätzliche Logs ## Troubleshooting ### Es wird nichts angezeigt - Stimmt `AWTRIX_PREFIX`? - Ist MQTT auf der AWTRIX aktiv? - Funktioniert dein MQTT Adapter (und kann publishen)? - Stimmen die Sonos-Datenpunkte? ### App verschwindet nach kurzer Zeit - `KEEPALIVE_SEC` ggf. kleiner setzen (z.B. 5–10) - `LIFETIME_SEC` größer setzen (z.B. 600–1200) - Prüfen ob `state_simple` wirklich `true` während Playback ist ### Die Uhr springt ständig auf die App - `FORCE_SWITCH` auf `false` setzen ## Lizenz MIT – siehe `LICENSE`.