Sonos – Bridge
Die Bridge ist die zentrale Instanz der Bibliothek. Sie erkennt die Sonos-Lautsprecher automatisch im lokalen Netzwerk und stellt den Lautsprecher-Instanzen deren aktuelle IP-Adresse sowie die globale Senderliste bereit.
1. Funktionsumfang
- Automatische Erkennung aller Sonos-Lautsprecher im Netzwerk per SSDP (UPnP-Discovery).
- Auslesen der Gerätedaten (Raumname, Modell, Generation, Software-/Hardware-Version, Seriennummer, MAC- und IP-Adresse).
- Zuordnung der Lautsprecher über ihre eindeutige ID (UUID) statt über die IP-Adresse - per DHCP geänderte Adressen werden automatisch erkannt.
- Regelmäßige Netzwerksuche alle 5 Minuten sowie kurz nach dem Start von Symcon.
- Sofortige, zeitlich begrenzte Neusuche, sobald ein Lautsprecher unter seiner bekannten Adresse nicht antwortet.
- Lautsprecher, die vorübergehend nicht antworten (z. B. ausgeschaltet), bleiben 24 Stunden bekannt.
- Verwaltung einer globalen Senderliste (Internetradio), die von allen Lautsprecher-Instanzen genutzt wird, sofern diese keine eigene Liste haben.
2. Voraussetzungen
- Symcon ab Version 8.1
- UPnP in der Sonos-App aktiviert (Einstellungen → System → Netzwerk → UPnP, Pfad je nach App-Version)
- Sonos-Lautsprecher im selben Netzwerk (Subnetz) wie Symcon
- Multicast im Netzwerk erlaubt (SSDP, UDP-Port 1900) sowie Zugriff auf die Lautsprecher über TCP-Port 1400
- Bei Betrieb in einem Docker-Container: Host-Netzwerk (
network_mode: host), da Multicast sonst nicht durchgereicht wird
3. Installation
- Über den Modul Store die Bibliothek SonosUPnP installieren.
- Alternativ über das Modul Control folgende URL hinzufügen.
https://github.com/Wilkware/SonosUPnPodergit://github.com/Wilkware/SonosUPnP.git
4. Einrichtung
- Unter ‘Instanz hinzufügen’ ist das Sonos Bridge-Modul unter dem Hersteller ‘Sonos’ aufgeführt.
- In der Regel wird die Bridge automatisch beim Anlegen des Sonos Konfigurators als übergeordnete Instanz erzeugt.
- Weitere Informationen zum Hinzufügen von Instanzen in der Dokumentation der Instanzen
Konfigurationsseite:
Einstellungsbereich:
📻 Globale Senderliste …
| Name | Beschreibung |
|---|---|
| Name | Anzeigename des Senders (erscheint in der Senderauswahl und als Album bei Radiostreams) |
| Stream-URL | Direkte Adresse des Audio-Streams (z. B. MP3/AAC) |
| Icon-URL | Optionales Senderlogo, wird als Cover verwendet, wenn der Stream selbst keins liefert |
Änderungen an der Liste werden beim Übernehmen automatisch an alle Lautsprecher-Instanzen weitergegeben.
Aktionsbereich:
❓ Abfrage von …
| Aktion | Beschreibung |
|---|---|
| LAUTSPRECHER | Startet sofort eine Netzwerksuche und zeigt die gefundenen Lautsprecher (Raum, UUID, Modell, IP, MAC) an |
5. Statusvariablen
Es werden keine Statusvariablen angelegt.
6. Darstellungen
Es werden keine Darstellungen oder Profile benötigt.
7. Visualisierung
Die Bridge hat keine eigene Darstellung in der Visualisierung.
8. Befehlsreferenz
string WWXSU_GetPlayerIP(int $InstanzID, string $UUID);
Liefert die zuletzt bekannte IP-Adresse des Lautsprechers mit der übergebenen UUID (z. B. RINCON_000E58xxxxxx01400).
Ist die UUID unbekannt, wird eine Neusuche eingeplant und eine Exception ausgelöst.
Beispiel:
$ip = WWXSU_GetPlayerIP(12345, 'RINCON_000E58xxxxxx01400');
9. Versionshistorie
v1.0.20261012
- NEU: Initialversion
Entwickler
Seit nunmehr über 10 Jahren fasziniert mich das Thema Haussteuerung. In den letzten Jahren betätige ich mich auch intensiv in der Symcon Community und steuere dort verschiedenste Skript und Module bei. Ihr findet mich dort unter dem Namen @pitti ;-)
Spenden
Die Software ist für die nicht kommerzielle Nutzung kostenlos, über eine Spende bei Gefallen des Moduls würde ich mich freuen.
Lizenz
Namensnennung - Nicht-kommerziell - Weitergabe unter gleichen Bedingungen 4.0 International