Sonos: aktuellen Zustand des ZP abfragen

Hallo,
ich stehe momentan vor dem Problem, das ich unser Sonos-System zur Wiedergabe von Warn- und Statusmeldungen verwenden möchte.
Die Ansteurung des Sonos ist soweit ist klar und funktioniert auch einwandfrei.

Nun stehe ich aber vor folgendem Problem: Wie kann ich den aktuellen Status des ZonePlayers abfragen, d.h. Play / Pause, Lautstärke etc.

So könnte man die akutelle Wiedergabe unterbrechen, eine Meldung über IPS ausgeben und anschließend wieder auf das „normale“ Programm umschalten.

Hat jemand hierzu eine Idee?

Gruß
Stephan

… nee leider nicht. Das Problem sind wohl die Paylisten.
Mit dem Radio ganz einfach:

include("PHPSonos.inc.php");
$adr = GetValue(21415 /*[Audio Video\SONOS XY]*/ );
$sonos = new PHPSonos($adr);
$sonos->Stop();
IPS_Sleep(5000);
$sonos->ClearQueue(); //Playlist löschen
$sonos->AddToQueue("x-file-cifs://STORA/UnsereMusik/Sounds/termin_google.wav"); //Datei hinzufügen
$sonos->SetQueue("x-rincon-queue:RINCON_"."000xxxxxxxxxx"."01400#0"); //Playlist auswählen > notwendig, wenn Radio vorher ausgewählt war
$sonos->Play();
IPS_Sleep(5000);
$sonos->SetRadio("x-rincon-mp3radio://ndr-ndr1wellenord-hi-wma.wm.llnwd.net/ndr_ndr1wellenord_hi_wma");
$sonos->Play();

MST

Zunächst mal Danke für die Antwort. Diese Ansteuerung (Grundfunktionen etc.) ist mir klar.

Es geht mir nur um die Frage, in welchem Zustand befindet sich der Sonos ZP momentan: Play oder Pause, wie ist die aktuelle Lautstärke usw.

Wenn noch jemand eine Idee hat, wäre ich dankbar für jeden Hinweis.

Gruß
Stephan

Schau Dir mal den 3. Post von diesen Beiträgen an!!!

Der fragt in seinem Script auch den aktuellen Status ab!! Das könnte deine Frage beantworten!

http://www.ip-symcon.de/forum/f53/php-sonos-klasse-ansteuern-einzelner-player-7676/

Gruss Peter

Hallo se77,
lade Dir mal Sonosweb (Opensource Perl Webinterface für Sonos) runter.

Das Webinterface kannst Du ins Webfront integrieren und über bestimmte URLs auch steuern oder Infos per Webparsing einfach auslesen.

Volume und Play/ Pause kannst Du dann z.B. über
http://mein.ips.pc.x:meinport/status.html oder status.xml auslesen.

Ansonsten natürlich „$status = $sonos->GetTransportInfo();“, mit der Klasse, wie von meinem Vorposter vorgeschlagen.

Über das Sonos Forum solltest Du noch „zpcmd“ und „sonoswatch“ (von Osler) finden. Sonos Watch löst z.B. bei beginnendem Play ein Ereignis aus.

C# Quellcode gibt es beispielsweise auf Sonority.

Viele Grüße, Benjamin :slight_smile:

Vielen Dank! Das ist genau das was ich gesucht habe :slight_smile:

:wink:

Schreib gerne mal, was Du mit den Infos „gebaut“ hast, so dass Alle etwas davon haben.

Sonority bzw. die UITest App eignet sich übrigens gut als Ausgangsbasis für eine Sonos BiDi Integration. Ich experimentiere da schon länger - der Soronity Code ist leider recht Buggy (Race Condition, Threads).

Grüße,Benjamin