Moin
Ich möchte den Status meines Sonos auslesen. Jedoch ohne Plugin, bzw VD.
Auf einer Seite hab ich gelesen, daß mit getTransportInfo der Status play, pause mit 1, 0 ausgelesen werden kann. Ich habe bereits einiges ausprobiert, jedoch ohne Erfolg. Es muss doch eine Möglichkeit den Playstatus, bzw. Zone abzufragen und das Ergebnis in eine Variable einzusetzen.
Hi,
Ohne PlugIn und ohne VD?
Hast Du fir das einmal
angesehen ? Geht über API.
https://forum.fibaro.com/index.php?/topic/24949-vd-sonos-players-status-v10-3-step-setup/
Viele Grüße Hoggle
Hi
die seite hatte ich auch schon gefunden, komme trotzdem nicht weiter.
Hi,
Womit genau kommst du nicht weiter?
Die Status-Abfrage mit dem VD funktioniert bei mir.
Viele Grüße Hoggle
Hi
was hast du denn im VD geändert? Der Port sollte 1400 sein und in Zeile 10 die Namen der Räume ändern??
Nutzt du die API und hast den RPI entsprechend eingerichtet?
Ich habe keinen Raspberry Pi!
Hi,
Du willst (siehe 1. Post) den Status weder über ein VD noch das Sonos-Plugin auslesen, hast aber auch keinen RPI.
Da komme oich nicht mit.
Wie soll das sonst funktionieren?
Warum nimmst Du nicht das PlugIn?
Das ist der simpelste Weg.
Sieht ca so aus, wobei “5” die ID des Sonos-PlugIn ist:
then
if (fibaro:getValue(5, "state") == "STOPPED") then
fibaro:debug("if-Schleife")
fibaro:debug("The state is: " .. fibaro:getValue(5, "state"));fibaro:setGlobal("SONOS_RADIO", "radiohamburg.hoerradar.de/radiohamburg-live-mp3-192?");
fibaro:call(206, "pressButton", "1");
elseif (fibaro:getValue(5, "state") == "PLAYING") then
fibaro:debug("The state is: " .. fibaro:getValue(5, "state"));
fibaro:call(206, "pressButton", "4"); --Stop
end
end
fibaro:debug("Am Ende ist The state: " .. fibaro:getValue(5, "state"));
VG Hoggle
Moin
Ich benutze den Sonos hauptsächlich über die iPad App.
Mein Plan ist: Wenn im Wohnzimmer die Musik läuft soll die Variable auf Play gestellt werden, ansonsten auf Stop.
wenn ich ins Bad gehe soll dort die gleiche Musik abgespielt werden wie im Wohnzimmer, wenn dort die Variable auf Play steht. Ist die Musik im Wohnzimmer aus, also die Variable auf stop, soll beim betreten des Badezimmers den Radiosender abspielen.
Dann nutzt du am besten das PlugIn und orientierst dich am obigen Script, um deine Variable zu setzen.
Moin
Ich hab jetzt ein VD erstellt mit einer Schleife. Ich glaube, daß das die Lösung sein muss. die Variable ändert den Status nach einer Sekunde. Das sollte reichen. Der nächste Schritt ist jetzt die Szene für das Bad zu schreiben.
Vielen Dank
selfId = fibaro:getSelfId()
status = fibaro:getGlobal(“SonosStatus”)
fibaro:call(selfId, “setProperty”, “ui.status.value”, status)
if (fibaro:getValue(6, “state”) == “PLAYING”)
then
fibaro:setGlobal(“SonosStatus”, “Play”);
fibaro:log(“SonosStatus=Play”);
fibaro:debug(“SonosStatus=Play”);
elseif (fibaro:getValue(6, “state”) == “PAUSED_PLAYBACK”)
then
fibaro:setGlobal(“SonosStatus”, “Pause”);
fibaro:log(“SonosStatus=Pause”);
fibaro:debug(“SonosStatus=Pause”);
end
Hallo,
kann mir jemand dabei helfen ob es einen Befehl gibt den aktuellen Sender auszulesen der gestreamt wird? Diese Info dann Local zu speichern damit ich sie am Ende eines LUA wieder nutzen kann!?
Ziel:
- Stream läuft
- Durch einen Trigger wird ein Jingle ausgelöst (Türklingel über Sonos)
- Automatisches Fortsetzen des letzten Zustandes inkl. des letzten Streams
Ich habe alles am laufen. Nur leider bekomme ich es nicht hin das der Sonos Commander nach abspielen eines Buttons wieder zurückspringt.
Ich könnte zwar einen neuen Stream starten nach dem Jingle. Ist aber eine schlechte Lösung weil man ja auch mal verschiedene Radiostationen hört (oder der Sonos gar aus war)
Danke für eure Hilfe
Gruss aus Bremen
Mike