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)
- Datei
nowplaying.jsöffnen und den Block USER CONFIG anpassen:AWTRIX_PREFIX(meistawtrix)DP.*(deine Sonos-Datenpunkte)
- In ioBroker → JavaScript → neues Script anlegen → Inhalt von
nowplaying.jseinfügen - Script starten
- Sonos abspielen → nach spätestens wenigen Sekunden sollte es auf der AWTRIX erscheinen
Sonos-Datenpunkte finden
In ioBroker unter Objekte:
sonos.0 → root → <dein Gerät> →
current_titlecurrent_artistcurrent_albumstate_simple
Kopiere die Objekt-IDs in CFG.DP.
AWTRIX MQTT Topics (was das Script sendet)
- Custom App:
<prefix>/custom/<APP_NAME>- Beispiel:
awtrix/custom/NowPlaying
- Optionaler Switch:
<prefix>/switch- Wird nur genutzt, wenn
FORCE_SWITCH=true
Konfiguration (wichtigste Optionen)
Im CFG Block:
LIFETIME_SEC: Wie lange ein Eintrag ohne Refresh überlebtKEEPALIVE_SEC: Alle wieviel Sekunden refreshed wirdFORCE_SWITCH: Wenntrue, schaltet AWTRIX bei jedem Refresh aktiv auf die App (meist false lassen)ICON_MUSIC,COLOR_RGB,TEXT_CASE: DarstellungDEBUG: 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_SECggf. kleiner setzen (z.B. 5–10)LIFETIME_SECgrößer setzen (z.B. 600–1200)- Prüfen ob
state_simplewirklichtruewährend Playback ist
Die Uhr springt ständig auf die App
FORCE_SWITCHauffalsesetzen
Lizenz
MIT – siehe LICENSE.