Files
public-scripts/ioBroker-Skripte/AWTRIX Now Playing Sonos/Readme.md

83 lines
2.6 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# 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``<dein Gerät>`
- `current_title`
- `current_artist`
- `current_album`
- `state_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 ü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. 510)
- `LIFETIME_SEC` größer setzen (z.B. 6001200)
- 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`.