Sonos Modul

:slight_smile: mein Problem Thread 847 mit dem Fehler Balance Variable ist nicht definiert die sekündlich vom sonos Modul kam könnte ich selbst lösen. Wer auch das Problem hat -> Ursache ist ein Konflikt zwischen dem sonos Modul und dem Patimi Framework. Gruss

Gesendet von iPhone mit Tapatalk

Ich habe im Webfront meine Sonos Favoriten und auch in der Variable Playlist. Vom Webfront kann ich damit auch sender Wechseln die nicht in der Liste

Stations in WebFront:
vorhanden sind aber wie kann ich das durch ein Script ?

Hätte gern Sender von meinen Sonos Favoriten:D

Vielen Dank im Vorraus

FM4 und FM4Lounge (österreich / Chill )

Großes Danke

Hi!

Ist zufällig jemand im aktuellen Beta-Programm von Sonos und weiß, ob es da „Probleme“ mit der Sonos-Steuerung über IPS gibt und man was anpassen oder ggf. alles neu/anders machen muss?

Soweit man hört wollen die was ändern was die bisherige SOAP Steuerung angeht?! Hängt wohl irgendwie damit zusammen?! >> Das ‚Works with Sonos‘-Siegel | Sonos

Vlt. kann jemand Licht ins Dunkel bringen und ggf. „Entwarnung“ geben?

Grüße,
Chris

Einerseits wäre es ja sehr gut man könnte die neue offizielle API nutzten ob man da Zugriff drauf bekommt ist aber noch abzuwarten.

Das betrifft eine offizielle API, was natürlich wünschenswert wäre, allerdings heisst das ja nicht, dass der inoffizielle Teil nicht mehr funktioniert.

8.3 funktioniert auf jeden Fall normal.

Sebastian

Hi Sebastian!

Das „Problem“ ist, dass Sonos vor einiger Zeit eine E-Mail rum geschickt hat, in der quasi „gewarnt“ wird, dass die Einführung der neuen API Auswirkungen auf die alten und !nicht unterstützten! Steuerungsmöglichkeiten hat (wurde schwammig formuliert) und deshalb kam die Sorge auf, dass die alte „API“ evtl. abgeschaltet wird oder (für uns) wichtige Dinge nicht mehr funktionieren.

Und nur weil bei diesem Update die alte „API“ noch soweit erhalten blieb, bedeutet das nicht, dass es beim nächsten oder übernächsten Update (oder wann auch immer) genauso ist… Auch wenn wir es wohl alle hoffen :slight_smile:
Leider weiß niemand etwas genaues. Weder was mit der alten „API“ in Zukunft im Detail passiert, noch wie die neue API aussieht und wer sie wie verwenden kann/darf.

Grüße,
Chris

Hallo zusammen,

da bezüglich Radiosenden eine Verwirrung zu herrschen scheint:
Lest euch doch mal SNS_SetRadio auf SymconSonos/README.md at master · tkugelberg/SymconSonos · GitHub durch.

SNS_SetRadio(integer $InstanceID, string $radio)

Setzt die Audioquelle auf die URL des in $radio mitgegebenen Radiosenders.
Zunächst wird gesucht, ob der Sender in den ausgelieferten Sendern gefunden wird. Wenn er dort nicht gefunden wird, wird in den TuneIn Favoriten (Meine Radiosender) gesucht.
Sollte die Instanz sich gerade in einer Gruppe befinden, wird sie automatisch aus der Gruppe genommen und danach die neue Audiquelle gesetzt.
Sollte diese Funktion auf einem Gruppenkoordinator ausgeführt werden gilt die neue Audioquelle für die ganze Gruppe.

–> Wenn ein Radiosender in den Favoriten definiert ist, z.B: mit dem Namen „SWR3 Elchradio“ und ich


SNS_SetRadio(12345,'SWR3 Elchradio');
SNS_PLAY(12345);

aufrufe, wird dieser Sender auch abgespielt. Ich habe es gerade extra noch mal ausprobiert.

Wenn man den Sender als „Playlist“ angezeigt bekommen möchte, muss man sie unter „Mein Sonos“ hinzufügen, und beim Playlist Import „Favorites“ einbeziehen.

Es muss definitiv keine Datei des Moduls angepasst werden. Das würde auch Updates verhindern. AUF KEINEN FALL!!!

Gruß,
Thorsten

Mein Problem war, dass ich einen Sender abspielen möchte, von dem ich die URL weiß, der aber in keiner Liste auftaucht. Wie mache ich das?

Hi,

nun ja, das Modul bietet das nicht an. Lediglich über das PlayFiles, was aber wartet, bis die Wiedergabe rum ist…

Es würde gehen, wenn man die sonosAccess.php direkt verwendet:


include_once("/richtiger/Pfad/sonosAccess.php"); // Keine Ahnung wie das dynamisch richtig geht
$sonos = new SonosAccess('<Sonos IP oder Hostname>');   // Könnte über die Instanz ausgelesen werden
$sonos->SetAVTransportURI('<URL>');
$sonos->Play();

Wenn es aber noch mehr brauchen wäre es fast wert dies als Funktion SNS_SetTransportURI anzubieten…

Gibt es Meinungen?

Gruß,
Thorsten

Wenn es aber noch mehr brauchen wäre es fast wert dies als Funktion SNS_SetTransportURI anzubieten…

Gibt es Meinungen?

Ja, wäre nicht schlecht.:wink:

Ohja, Bitte Bitte !!! :o

Loerdy

Hallo,

ich habe mich auch endlich dazu durchgerungen mir Sonos zuzulegen. Und habe mir jetzt mal das Modul installiert. Danke für das Modul!!

Ich habe eine Frage bezüglich einer Sprachausgabe. Diese würde ich gerne auf meinen bisher drei vorhandenen Lautsprechern ausgeben und danach wieder zur alten Wiedergabe zurückkehren.

Habe dazu mal ein Skript was ich hier gefunden habe etwas abgeändert. Leider scheine ich da etwas auf dem Holzweg zu sein.

<?
$old_volume_bad =         GetValue(18004 /*[Sonos\Sonos PLAY:3 Bad\Volume]*/);
$old_volume_buero =     GetValue(34501 /*[Sonos\Sonos PLAY:3 Büro\Volume]*//*[Erdgeschoss\Wohnzimmer\Sonos\Volume]*/);
$old_volume_kueche =  GetValue(24270 /*[Sonos\Sonos PLAY:1 Küche\Volume]*/);
$old_status_bad =         GetValueInteger(IPS_GetVariableIDByName("Status",50016 /*[Sonos\Sonos PLAY:3 Bad]*/));
$old_status_buero =     GetValueInteger(IPS_GetVariableIDByName("Status",43418 /*[Sonos\Sonos PLAY:3 Büro]*/));
$old_status_kueche =     GetValueInteger(IPS_GetVariableIDByName("Status",44687 /*[Sonos\Sonos PLAY:1 Küche]*/));

// only if sonos was playing
if( $old_status_bad === 1 )
  SNS_Pause(50016 /*[Sonos\Sonos PLAY:3 Bad]*/);
if( $old_status_buero === 1 )
  SNS_Pause(43418 /*[Sonos\Sonos PLAY:3 Büro]*/);
if( $old_status_kueche === 1 )
  SNS_Pause(44687 /*[Sonos\Sonos PLAY:1 Küche]*/);
  
  
SNS_SetGroup(44687 /*[Sonos\Sonos PLAY:1 Küche]*/, 43418 /*[Sonos\Sonos PLAY:3 Büro]*/);
SNS_SetGroup(50016 /*[Sonos\Sonos PLAY:3 Bad]*/, 43418 /*[Sonos\Sonos PLAY:3 Büro]*/);
SNS_ChangeGroupVolume(43418 /*[Sonos\Sonos PLAY:3 Büro]*/, 35);
SNS_PlayFiles(43418 /*[Sonos\Sonos PLAY:3 Büro]*/, Array(POLLY_saveMP3(33293 /*[Sonos\Polly]*/, "Das ist nur ein Test")));
SNS_ChangeGroupVolume(43418 /*[Sonos\Sonos PLAY:3 Büro]*/, -35);
//SNS_SetRadio(43418 /*[Sonos\Sonos PLAY:3 Büro]*/, 'SWR3');  
SNS_SetGroup(44687 /*[Sonos\Sonos PLAY:1 Küche]*/, 0);
SNS_SetGroup(50016 /*[Sonos\Sonos PLAY:3 Bad]*/, 0);


// only if sonos was playing
if( $old_status_bad === 1 )
  SNS_Play(50016 /*[Sonos\Sonos PLAY:3 Bad]*/);  
if( $old_status_buero === 1 )
  SNS_Play(43418 /*[Sonos\Sonos PLAY:3 Büro]*/);  
if( $old_status_keuche === 1 )
  SNS_Play(44687 /*[Sonos\Sonos PLAY:1 Küche]*/);  

?>

Wie müsste ich denn hier kerrekterweise vorgehen?

Danke
Stephan

Ich nutze zur Zeit mein eigenes SONOS Modul habe allerdings Interesse auf das PHP Modul umzusteigen.

Dazu müsste die Möglichkeit bestehen von einem Netzwerksegment in das andere zu kommunizieren. Bei mir ensteht das Problem durch Google WIFI das ein eigenes Segment aufmacht. IP-Symcon liegt aus einer Reihe von Gründen in einem anderen Segment.

Bei meiner Sonos Installation habe ich das Problem dadurch gelöst das jeder Sonos Player eine feste IP Adresse zugewiesen bekommt und ich die letzen digits der IP Adresse (bei 192.168.041 wäre das 41) als Port beim Port Forwarding im Google WIFI eintrage.

Ich habe dann meine Sonos Lib so geändert das ich die Router Adresse um den Port erweitere.
Z.B. mein Sonos Player hat die Adresse 192.168.86.41, Der Google WIFI Router hat die WAN Adresse 192.168.0.30
Meine Portweiterleitung wäre dann 192.168.0.30:41 auf 192.168.86.80

Der Funktion der Sonos Lib übergebe ich die 192.168.86.41. Die Lib ersetzt die IP Adresse durch die statische router Adresse 192.168.030 und errechnet den Port : 41 und erzeugt die folgende Zieladresse : 192.168.0.30:41

Das ganze ist eigentlich ganz simple. Über ein Formular im Modul könnte man festlegen ob NAT zum Einsatz kommt oder nicht und falls ja kann man die Router IP eintragen.

Um sämtliche Player automatisch zu erfassen nutze ich übrigens die xxx.xxx.xxx/status Abfrage, dazu benötige ich nur die korrekte IP Adresse eines einzelnen Players.

Also vielleicht ist das ja eine Funktion die auch andere interessiert und vielleicht kann man das Modul ja entsprechend erweitern. Damit könnte man auch vom Internet den Sonos player zuhause ansteuern :slight_smile:

Hallo zusammen

Ich habe ein Problem bzw. eine Frage zur Anzeige der Playlists: Diese werden mir zwar gemäss den Sonos Playlists aufgelistet und lassen sich auch anwählen. Die entsprechende Playlist beginnt auch zu starten, bei „nowPlaying“ erscheint sogar der korrekte Song. Das Problem ist nun, dass die entsprechende Playlist aber nicht angewählt bleibt (nicht als aktiv markiert), sondern „Format error: Invalid profile association“ steht.

Was mache ich hier falsch bzw. weshalb markiert es mir die Playlist nur ganz kurz beim Anwählen und fällt danach in die Error-Anzeige?

Um einen Hinweis wäre ich sehr dankbar.

Beste Grüsse

Ich könnte es sehr sehr gut gebrauchen …

Läuft das 8.4 Update problemlos?

Danke Sebastian

Hallo,

ich habe meine Sonos eben geupdated, bis jetzt läuft noch alles.

Die Frage gab es mit Sicherheit schon hier, aber diese ganzen Seiten zu durchforsten ist ein wenig viel. :smiley:
Gibt es eine Möglichkeit, bei der Playlist die einzelnen Titel anzeigen zu lassen? Um evtl. direkt zu einem Titel springen zu können?

Grüße,
Kai

Hallo,

Das liegt an dem Vorgehen von Sonos.
Wenn Du eines Playliste auswählst, werden nur die Titel in die Wiedergabeliste kopiert.
Ich habe somit keine Möglichkeit auszulesen ob und welche Playliste läuft.

Daher leere ich den Parameter Playliste immer sofort nach dem Anstarten wieder.
Steht aber auch hier: SymconSonos/README.md at master · tkugelberg/SymconSonos · GitHub

Gruß,
Thorsten

Hi
Ich beschäftige mich seit kurzen erst mit den HM IP Synom und bin leider noch ein Anfänger.

Ich habe das Sonos Modul so wie beschrieben für den IPS hinzugefügt.
Und auch schon die ersten 3 Zonen mit eingebunden.

Jetzt habe ich leider ein Problem mit den Gruppen von Sonos.

Wenn ich die Gruppe über das Sonos App Aktiviere schmeißt mir der IPS die Zonen immer raus die die ich zu Gruppe hinzugefügt habe.
Mir ist auch aufgefallen, dass der updateStatus Script bei den Zonen die ich zur Gruppe über das Sonos App hinzugefügt habe eine Fehler bei Zeile 516 anzeigt.

Wenn ich die Gruppierung über IPS mache bleibt die Gruppe so wie ich sie zusammengelegt habe.
Und es kommt auch zur keiner Fehlermeldung vom Script.

Wäre toll, wenn mir da einer Weiterhelfen könnte.

Ich habe die IPS Pro Version 4.4 auf einer Linux Ubunto 16.04 installiert.
Es sind derzeit 7 Zonen bei mir im betrieb wobei erst drei davon im IPS eingebunden wurden.

Beste Grüße Manfred