Suche

    Sonos – Lautsprecher

    Dokumentation direkt aus GitHub Wilkware/SonosUPnP ↗

    Version Product Version License Actions

    Das Modul steuert einen einzelnen Sonos-Lautsprecher über die lokale UPnP-Schnittstelle und zeigt an, was gerade gespielt wird.

    1. Funktionsumfang

    • Wiedergabesteuerung: Zurück, Stopp, Play, Pause, Weiter.
    • Lautstärke einstellen und Stummschaltung.
    • Auswahl eines Internetradio-Senders aus der globalen Senderliste der Bridge oder einer eigenen Liste pro Lautsprecher.
    • Anzeige von Interpret, Titel und Album bzw. Sendername - auch bei Radiostreams, die den aktuellen Titel nur im Stream mitliefern.
    • Cover des aktuellen Titels; ersatzweise das Senderlogo aus der Senderliste oder ein Platzhalterbild.
    • Werbe-Einblendungen mancher Radiostreams (Tracking-Adressen statt Titel) werden erkannt und nicht angezeigt.
    • Zyklische Abfrage des Wiedergabestatus.
    • Erkennung nicht erreichbarer Lautsprecher mit automatischer Wiederaufnahme, sobald der Lautsprecher wieder antwortet (siehe Statusvariablen ).

    2. Voraussetzungen

    • Symcon ab Version 8.1
    • Eine Sonos Bridge als übergeordnete Instanz

    3. Installation

    • Über den Modul Store die Bibliothek SonosUPnP installieren.
    • Alternativ über das Modul Control folgende URL hinzufügen.
      https://github.com/Wilkware/SonosUPnP oder git://github.com/Wilkware/SonosUPnP.git

    4. Einrichtung

    • Die Instanz wird am einfachsten über den Sonos Konfigurator angelegt - UUID und Raumname werden dabei automatisch gesetzt.
    • Alternativ ist unter ‘Instanz hinzufügen’ das Sonos Lautsprecher-Modul unter dem Hersteller ‘Sonos’ aufgeführt.
    • Weitere Informationen zum Hinzufügen von Instanzen in der Dokumentation der Instanzen

    Konfigurationsseite:

    Einstellungsbereich:

    ⏱️ Statusaktualisierung …

    NameBeschreibung
    AktualisierungsintervallZeitspanne in Sekunden für die Abfrage des Wiedergabestatus (5..60s, Standard 10s)

    📻 Senderliste …

    NameBeschreibung
    Eigene SenderlisteOptionale Senderliste nur für diesen Lautsprecher (Name, Stream-URL, Icon-URL). Leer lassen, um die globale Liste der Bridge zu verwenden.

    Aktionsbereich:

    🧪 Test …

    AktionBeschreibung
    ZURÜCK / STOPP / PLAY / PAUSE / WEITERWiedergabesteuerung des Lautsprechers
    LautstärkeSchieberegler, vorbelegt mit der aktuellen Lautstärke
    STUMM EIN / STUMM AUSStummschaltung ein- bzw. ausschalten
    STATUS ABFRAGENWiedergabestatus sofort abfragen und das Ergebnis (bzw. die Fehlerursache) in einem Popup anzeigen

    5. Statusvariablen

    Die Statusvariablen werden automatisch angelegt. Das Löschen einzelner kann zu Fehlfunktionen führen.

    IdentNameTypBeschreibung
    PlaybackWiedergabeIntegerSteuerung und Anzeige der Wiedergabe (Zurück, Stopp, Play, Pause, Weiter)
    VolumeLautstärkeIntegerLautstärke des Lautsprechers (0..100%)
    MuteStummBooleanStummschaltung des Lautsprechers
    ArtistInterpretStringInterpret des aktuellen Titels
    TitleTitelStringAktueller Titel
    AlbumAlbumStringAlbum des aktuellen Titels bzw. Sendername bei Radiostreams
    PlaylistSenderStringAuswahl des Radiosenders aus der Senderliste

    Hinweis: Zusätzlich wird ein Medienobjekt ‘Cover’ (Ident Cover) für das Cover des aktuellen Titels angelegt.

    Erreichbarkeit: Antwortet der Lautsprecher nicht (ausgeschaltet, neue IP-Adresse), wechselt die Instanz in den Status Lautsprecher nicht erreichbar (201), die Wiedergabe wird als gestoppt angezeigt und nur noch alle 30 Sekunden abgefragt. Die Bridge sucht dann automatisch nach einer geänderten IP-Adresse. Sobald der Lautsprecher wieder antwortet, wird die Instanz automatisch wieder aktiv.

    6. Darstellungen

    Es werden keine eigenen Darstellungen oder Profile angelegt, verwendet werden ausschließlich die Standardprofile von Symcon (~PlaybackPreviousNext, ~Intensity.100, ~Switch, ~Artist, ~Song, ~Playlist).

    7. Visualisierung

    Alle Statusvariablen und das Cover können direkt in der Visualisierung (Kachel- und WebFront) verwendet werden.
    Wiedergabe, Lautstärke, Stumm und Senderauswahl sind schaltbar.

    8. Befehlsreferenz

    bool WWXSU_UpdateStatus(int $InstanzID);
    

    Fragt Wiedergabestatus, Titelinformationen, Lautstärke und Stummschaltung sofort ab und aktualisiert die Statusvariablen.
    Liefert true, wenn der Lautsprecher geantwortet hat, sonst false.

    Beispiel:

    if (!WWXSU_UpdateStatus(12345)) {
        echo "Lautsprecher nicht erreichbar";
    }
    

    Die Steuerung erfolgt über RequestAction auf die jeweilige Statusvariable, z. B.:

    // Lautstärke auf 20% setzen
    RequestAction(IPS_GetObjectIDByIdent('Volume', 12345), 20);
    // Wiedergabe starten (0 = Zurück, 1 = Stopp, 2 = Play, 3 = Pause, 4 = Weiter)
    RequestAction(IPS_GetObjectIDByIdent('Playback', 12345), 2);
    // Ersten Sender der Senderliste abspielen
    RequestAction(IPS_GetObjectIDByIdent('Playlist', 12345), 0);
    

    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 ;-)

    GitHub

    Spenden

    Die Software ist für die nicht kommerzielle Nutzung kostenlos, über eine Spende bei Gefallen des Moduls würde ich mich freuen.

    PayPal

    Lizenz

    Namensnennung - Nicht-kommerziell - Weitergabe unter gleichen Bedingungen 4.0 International

    Licence