Sonos Modul

Hi Thorsten!

Danke für die Erweiterung. :slight_smile:
Scheint vom Grundsatz her erstmal zu funktionieren, allerdings nur beim Wechsel des gespielten Stücks für ca. 5 Sekunden: Dann ist das Media-Image wieder „blank“. Sowohl im IPS-Webfront als auch in der separaten Visualisierung über IPSView.

Gruß
Lars

Hallo,

Seltsam. War bei mir nicht so. Ich habe aber auch nur ein Radio und Playlists ausprobiert.

Was spielst Du denn ab?

Gruß,
Thorsten

Hallo,
ich habe das neue Sonos Modul und ein kleines Problem.
Ich möchte einen Sonos Play für 30 Minuten einschalten.
Ich habe das beim alten Modul mit SNS_SetSleepTimer gemacht.
Beim neuen Modul bekomme ich immer eine Fehlermeldung.
Hier mein Script und die Fehlermeldung.
Wo liegt mein Fehler ?

<?
    If (GetValueInteger(25789) == 1)
	{SNS_SetSleepTimer(25760, 30);}
	else
	{$radio = "Miled Music 80's";
  	SNS_SetRadio(25760, $radio);
	SNS_Play(25760);
	SNS_SetVolume(25760, 20);
	SNS_SetSleepTimer(25760, 30);}
?>

Fehlermeldung:

10.01.2020, 19:51:53 | TimerPool | Sonos Play 1 Bad (Sonos Update Status): <br />
<b>Fatal error</b>: Uncaught Error: Call to undefined method SonosPlayer::ReadProperty() in /var/lib/symcon/modules/.store/de.kugelberg.sonos/SonosPlayer/module.php:1252
Stack trace:
#0 /var/lib/symcon/scripts/__generated.inc.php(1875): SonosPlayer->updateStatus()
#1 /-(1): SNS_updateStatus(25760)
#2 {main}

Gruß Rüdiger
thrown in <b>/var/lib/symcon/modules/.store/de.kugelberg.sonos/SonosPlayer/module.php</b> on line <b>1252</b><br />

Das ist von der Quelle unabhängig. Ich habe das getestet mit: Radio über TuneIn (da wird das Logo nicht skaliert), Amazon Music, Plex, Sonos Bibliothek und Airplay vom iPhone. Mehr hab ich nicht im Angebot. :wink:

Player ist ein Play5, das ist aber bei meinen Play1 auch so. Aktuelle Software auf den Sonos: 10.6.1. IPS ist die 5.3 vom 24.12. in einem Docker-Container auf einem Synology NAS.

Was für Infos könnten dir noch helfen?

Guten Morgen

Ich möchte gerne mit einem Script zwei Sonos-Boxen gruppieren.

Irgend was mache ich falsch. Script gibt keinen Fehler zurück, aber die Boxen werden nicht gruppiert
Via Web GUI von Symcon funktioniert es.

//SNS_SetGroup(integer $InstanceID, integer $groupCoordinator)
SNS_SetGroup( 28734, 47140);

28734 = ID Sonos Bad
47140 = ID Sonos Büro

Oder ist $groupCoordinator nicht die ID der „MasterBox“? Nur wo finde ich $groupCoordinator?

Als Variable diese in Symcon nicht ersichtlich.

Danke für die Hilfe.

LG Fipe

Hi,

Du hast ja so recht.
Ich habe nach meinem Test noch eingebaut, dass das Medienobjekt wirklich nur dann upgedated wird, wenn es sich ändert.

Und da hatte ich ich eine Bedingung im if vergessen. :banghead:

Jetzt bleibt es wieder da :wink:

Gruß,
Thorsten

Hallo,

Ich habe es bei mir genau so getestet, und es ging.
Allerdings sehe ich, dass bei Dir der Fehler in Zeile 1252 kommt. Das ist in der aktuellen Version mitten in der Funktion „SetLoudness“.
Kannst Du mal ein Update machen und dann nochmal versuchen?

Danke,
Thorsten

Hallo,

Hallo,

doch doch, das ist richtig.
„SNS_SetGroup( 28734, 47140);“ sollte den Lautsprecher im Bad dem Büro zuordnen.
Es gibt die Variable „Member of Group“ bzw. „Teil der Gruppe“. Da steht drin, wer der Koordinator für die Box ist.
Wenn es keinen gibt, steht da „keine“

Gruß,
Thorsten

Hallo,

eine der wichtigsten Funktionen ist für mich, alles im Haus auszuschalten.

Dafür habe ich jetzt eine neue Funktion am Splitter bereitgestellt:

SNS_StopAll(<splitter Instance ID>);

–> Das triggert ein SNS_Stop() auf alle in IPS bekannte Instanzen.

Gruß,
Thorsten

Hallo Thorsten,
funktioniert jetzt. Ich habe erst mal alles aus Symcon gelöscht was mit Sonos zu tun hatte, dann neu installiert und wieder Fehler.
Dann das gleiche nochmal und auf dem Server (ubuntu) unter modules auch alles mit Sonos gelöscht, dann neu installiert. Discovery hat keine Player gefunden. Habe die per Hand eingebunden und im Moment läuft es (drückt Daumen :wink: ).
Blöde Frage: wie mach ich eigentlich bei der Discover/Konfiguratoren ein update?! Unter Module steht ja nix mit Sonos.

Gruß Rüdiger

Zum nächsten Testing Update werde ich die Wartezeit beim SSDP Modul erhöhen, sodass die Probleme beim Suchen hoffentlich weg sind.

paresy

in letzter Zeit schmiert mein IPS dauernd ab. Die letzten Einträge im Log sind immer die „updateStatus“ Scripts. Leider aber bekomme ich keine Detailinfos dazu. Hier im Bild die Scripts meiner einzelnen Sonos.

Nun ja, die laufen für jede Instanz alle paar Sekunden…
Da ist die Wahrscheinlichkeit doch recht hoch, dass diese im Log auftauchen…

Gruß,
Thorsten

Top, funktioniert. Danke. :smiley:

Hallo zusammen,

seit dem letzten Update bekomme ich öfters diese Fehlermeldung.

Der Fehler tritt meistens auf wenn ich den Player mit einem Radiostream starte.

Kann da jemand was mit anfangen ?

Gruß Stephan

Hallo,

in Zeile 1731 hole ich die Cover Datei ab, um diese als Media Object abzulegen.
Das scheint bei Dir nicht zu funktionieren. --> AccessDenied

Schade.
Da muss ich dann wohl noch ein wenig error Handling einbauen.

Gruß,
Thorsten

Ich weiß nicht seit wann genau aber ich hatte dann lauter Meldungen wie angehängt. Habe daraufhin die Discovery sowie Splitter Instanz gelöscht. Bei der Neuerstellung der Discovery instanz kommt auch dieser Fehler:

Ich habe auch die Fehlermeldung mit Zeile 1731 sehr häufig im Log.

Kannst Du noch SNS_PauseAll einbauen? Das wäre super.

Danke und Gruß,
Christoph

Hallo,

ich habe jetzt mal hinzugefügt, dass das Media Image nicht geschrieben wird, wenn das Bild nicht geladen werden kann.
Somit sollte der Fehler weg sein, und das Medienobjekt leer.

Gruß,
Thorsten

Wird getestet, Danke.

Ich fände eine Variable „spielt gerade“ oder „aktiv“ ganz gut. Nur so als Anregung.