Bei
SonosBY_PlayPlaylistByName_Auswahl(„Wohnzimmer“,„Faun“);
oder jeder anderen Playlist wird die Playlist nicht abgespielt.
Andere Befehle von Deinen Script funktionieren - damit sollte ja die Basiseinrichtung korrekt sein.
Der Befehl $result = SonosBY_BrowsePL(); gibt die folgende Info für die Playlist Faun zurück.
Kommt keine Fehlermeldung beim Abspielen einer Playlist?
Könntest du bitte mal parallel die Sonos-Software am Computer öffnen, dann den Raum beobachten, ob die Playliste in den Raum geladen und nur nicht abgespielt wird oder irgendwie etwas mehr an Infos kommen wo es klemmt?
Diese Befehle sollten die Playlist im Raum leeren und dann die Playlist „Faun“ laden (ohne sie abzuspielen)…klappt das? Wie sieht die Rückgabe aus, wenn nicht „200 OK“?
SonosBY_PlaylistLeeren("Wohnzimmer");
$result = SonosBY_AddURItoQueue($SonosGroupNrDesPlayers, "file:///jffs/settings/savedqueues.rsq#2"); // Bitte bei "$SonosGroupNrDesPlayers" die Nr. vom Wohnzimmer im Array eintragen
print_r($result);
Notice: Undefined index: Wohnzimmer in C:\IP-Symcon\scripts\30908.ips.php on line 385
Notice: Undefined index: Wohnzimmer in C:\IP-Symcon\scripts\30908.ips.php on line 399
Warning: fsockopen(): unable to connect to :1400 (Es konnte keine Verbindung hergestellt werden, da der Zielcomputer die Verbindung verweigerte.
) in C:\IP-Symcon\scripts\30908.ips.php on line 1033
Warning: fputs() expects parameter 1 to be resource, boolean given in C:\IP-Symcon\scripts\30908.ips.php on line 1034
Warning: stream_get_contents() expects parameter 1 to be resource, boolean given in C:\IP-Symcon\scripts\30908.ips.php on line 1035
Warning: fclose() expects parameter 1 to be resource, boolean given in C:\IP-Symcon\scripts\30908.ips.php on line 1036
HTTP/1.1 200 OK
CONTENT-LENGTH: 385
CONTENT-TYPE: text/xml; charset=„utf-8“
EXT:
Server: Linux UPnP/1.0 Sonos/31.3-22220 (ZPS1)
Connection: close
20467270
In der Sonos App sieht man das nicht nix tut - d.h. das was „läuft“ läuft weiter es wird keine Queue gelöscht - hinzugefügt etc. Das was läuft läuft so weiter.
$SonosGroupNrDesPlayers = 0; // Hier die Nr von deiner Sonos aus dem Config-Array eintragen
SonosBY_PlaylistLeeren($SonosGroupNrDesPlayers);
$result = SonosBY_AddURItoQueue($SonosGroupNrDesPlayers, "file:///jffs/settings/savedqueues.rsq#2");
print_r($result);
Wenn das funktioniert, dann sollte der Rest auch funktionieren Und das „HTTP/1.1 200 OK“ sagt auch, dass die Playlist erfolgreich geladen wurde. Kannst du bitte nochmal alles überprüfen bei dir und etwas genauer testen? Sicher alles richtig in der Config eingetragen? Stimmen alle RINCON? …?
Hab es eben nochmal bei mir durchgetestet - egal ob grad etwas abgespielt wird oder nicht, die Playlist wird geleert und dann die neue Playlist geladen und abgespielt.
Kann bitte noch jemand anderes gegen testen mit der Playlist? Klappt das bei anderen?
HTTP/1.1 200 OK
CONTENT-LENGTH: 382
CONTENT-TYPE: text/xml; charset=„utf-8“
EXT:
Server: Linux UPnP/1.0 Sonos/31.3-22220 (ZPS1)
Connection: close
Nun, habe ich mal verschiedene Sachen probiert … es hängt davon ab was ich vorher mache und selbst dann variiert das Ergebnis.
MP3 läuft (egal was) - Dein Script - „Laufendes“ Lied wird aus Queue gelöscht und auf Playlist Faun umgestellt - aber Playlist Faun wird nicht abgespielt/gestartet.
Radiosender läuft aus Meine RadioSender - Dein Script - Es passiert nichts - trotz der obigen auch erfolgreichen „Aktion“ läuft der Radiosender einfach weiter
Bei den Test-Zeilen von mir wird auch nur die Playlist geladen und nicht abgespielt, hatte ich ja geschrieben.
Aber wenn das funktioniert, dann fehlt ja fast nichts mehr…
Probier mal das:
$SonosGroupNrDesPlayers = 0; // Hier die Nr von deiner Sonos aus dem Config-Array eintragen
SonosBY_Stop_Playing($SonosGroupNrDesPlayers);
SonosBY_PlaylistLeeren($SonosGroupNrDesPlayers);
$result = SonosBY_AddURItoQueue($SonosGroupNrDesPlayers, "file:///jffs/settings/savedqueues.rsq#2");
IPS_Sleep(2000);
$result1 = SonosBY_SetAVTransportURI($SonosGroupNrDesPlayers, "x-rincon-queue:".$SonosGroupAR[$SonosGroupNrDesPlayers][2]."#0");
print_r($result1);
echo "-----------------------------------------------------------------------------------------"
$result2 = SonosBY_StartResume_Playing($SonosGroupNrDesPlayers);
print_r($result2);
Und wenn das funktioniert, dann muss es auch mit der normalen Funktion „SonosBY_PlayPlaylistByName_Auswahl“ funktionieren! Weil das quasi das gleiche ist, nur in „einzeln“ (bis auf Gruppe erstellen, aber das fällt bei einem Player ja eh weg)
EDIT: Selbst wenn ich vorher einen Radiosender laufen lasse, funktioniert die Funktion mit der Playlist einwandfrei Eben ganz frisch getestet
Ich habe heute mal als Master die Stereopaare eingetragen. Nachdem dann TTS ausgeführt wurde werden auch die Gruppen
(WohnzimmerStereo,Küche,Schlafzimmer) wieder getrennt.
Was bei mir nicht funktioniert das der alte Zustand hergestellt wird
Also wenn die Sonos alle auf Stop stehen bevor ich das Script starte wird nach dem Script die letzte Wiedergabe an allen Sonos gespielt und nicht wie es sein sollte das die Sonos danach wieder auf Stop stehen.
<?
include ‚SonosBY.ips.php‘;
$AlterZustandAR = SonosBY_AltenZustandLesen();
SonosBY_GruppeErstellen();
SonosBY_TTS_ALLE(„Ich bin ein Test der Sprachausgabe“);
SonosBY_GruppeAufloesen();
SonosBY_AltenZustandSetzen($AlterZustandAR);
?>
Du machst das doppelt und falsch, deswegen wird es nicht funktionieren
Beim Befehl „SonosBY_TTS_Alle($Text);“ ist schon alles mit drin, was du nochmal extra ihm mit gibst an Befehlen
In der Beschreibung oben im Skript steht:
SonosBY_TTS_Alle($Text) << Merkt sich den Zustand aller Player, erstellt eine Gruppe, spielt den Text ab, löst die Gruppe auf, stellt alte Zustände wieder her
Also reicht dir ein Skript mit diesem Inhalt:
<?
include 'SonosBY.ips.php';
SonosBY_TTS_Alle("Ich bin ein Test der Sprachausgabe");
?>
…darin wird automatisch das schon gemacht, was du nochmal extra geschrieben hast. Also alter Zustand gemerkt, Gruppen erstellen, Sprachausgabe, Gruppen auflösen, alten Zustand wieder setzen. Bei allen, AUßER beim Master der Gruppe! Steht aber auch so in der Beschreibung vom Skript!
Ich kam noch nicht dazu, dass mit dem Stereopaar zu testen, mache ich die Tage…
Hi MaLu,
ich vermute fast es liegt an Deiner Playlist „Faun“. Andere mal probiert? Ich hatte das Problem mal, als einTitel nicht mehr auffindbar war. Ist „Faun“ eine offline oder Dienste-Playlist? (Spotify, rdio)
Gruß
Hoep
Danke für den Tip - ich glaub ich werd wahnsinnig - meine RINCON hat sich geändert. Unter http://x.x.x.x:1400/status/zp nochmal geschaut … und siehe da … eine andere als ich schon immer verwendet hatte - also bis zum Update auf die Version 6 vom Sonos System.Da steckt ja die MAC Adresse drin … … naja nun gehts mal weiter …
Wo wohnst denn Chris - Schulde Dir mindestens - 2 Bier @hoep - wenn wir schon mal dabei sind - Du kriegst auch 2 Bier
Aiaiaiaiai Das hättest du aber auch schneller haben können
Aber freut mich, dass wir die Ursache des Fehlers finden konnten und es jetzt bei dir klappt! Es gibt nichts schlimmeres für mich als aufgeben und den Fehler „auf sich beruhen lassen“.
Ja, mit den Playlists klappt es nun auch unter IPSSonos … aber Oje:confused:, die Radio Stations lassen sich immer noch net synchronisieren. Eieieieieieieiei
Leider bekomme ich seit dem update auf Sonos V6 meine Playlisten bzw Radiosender nicht mehr ausgelesen bzw. gesetzt.
Ich vermute nach wie vor einen Fehler in der Browse Funktion.
Evtl. stehe ich aber auch nur auf dem Schlauch…
Der Output beim Aufruf von zB:
SonosBY_PlayPlaylistByName_Auswahl(‚Wohnzimmer‘, ‚Club Music‘);
lautet:
Warning: SimpleXMLElement::__construct(): Entity: line 1: parser error : EntityRef: expecting ';' in C:\IP-Symcon\scripts\13475.ips.php on line 370
Warning: SimpleXMLElement::__construct(): otify:spotify%3atrack%3a2xiuLdATFe8xoSFBwvegkA%3fsid%3d9%26flags%3d32%26sn%3d1&l in C:\IP-Symcon\scripts\13475.ips.php on line 370
Warning: SimpleXMLElement::__construct(): ^ in C:\IP-Symcon\scripts\13475.ips.php on line 370
Warning: SimpleXMLElement::__construct(): Entity: line 3: parser error : Opening and ending tag mismatch: albumArtURI line 1 and container in C:\IP-Symcon\scripts\13475.ips.php on line 370
Warning: SimpleXMLElement::__construct(): xcX1np7NsK5XtQQao%3fsid%3d9%26flags%3d32%26sn%3d1</upnp:albumArtURI></container> in C:\IP-Symcon\scripts\13475.ips.php on line 370
Warning: SimpleXMLElement::__construct(): ^ in C:\IP-Symcon\scripts\13475.ips.php on line 370
Warning: SimpleXMLElement::__construct(): Entity: line 4: parser error : expected '>' in C:\IP-Symcon\scripts\13475.ips.php on line 370
Warning: SimpleXMLElement::__construct(): 1000 in C:\IP-Symcon\scripts\13475.ips.php on line 370
Warning: SimpleXMLElement::__construct(): ^ in C:\IP-Symcon\scripts\13475.ips.php on line 370
Warning: SimpleXMLElement::__construct(): Entity: line 4: parser error : Opening and ending tag mismatch: albumArtURI line 3 and u in C:\IP-Symcon\scripts\13475.ips.php on line 370
Abort Processing during exceed of maximal ErrorCount: SimpleXMLElement::__construct(): 1000
Error in Script C:\IP-Symcon\scripts\13475.ips.php on Line 370
Und gesetzt wird natürlich nichts…
Die Konfig des Scriptes erscheinbt mir korrekt zu sein.
Bis jetzt habe ich mit SonosBR bzw PHP Sonos gearbeitet und hat auch immer alles funktioniert.
Hätte bitte jemand eine Lösung bzw. Idee für mein Problem??
Sind das zufällig Spotify Playlisten? Die Rückmeldungen deuten sowas an… Ist diese „Club Music“ eine Spotify oder Sonos-Playlist? Hast du allgemein Spotify-Playlisten?
Die Funktion mit den Playlisten in SonosBY ist nur für Sonos-Playlisten. Da ich keinen Spotify-Zugang habe, kann ich das leider nicht testen.