Sonos steuern

Begonnen von Will, 05 Januar 2013, 15:51:12

Vorheriges Thema - Nächstes Thema

Reinerlein

Hi Christian,

naja, das sollte nicht so schwer sein. Einfach einem anderen Raum zuordnen, und weg ist er, oder?

Steuern brauchst du sowieso immer nur den Master...

Grüße
Reiner

djhans

Hi,
ja das versuche ich mal. Aber wo sind eigentlich die Icons versteckt? Da ich dn SUB im Wohnzimmer betreibe, würde ich ihm gerne auch das SUB-Icon zuweisen. Also den Connect:Amp und den SUB.
Das muss man dann wahrscheinlich als ein Icon abspeichern. Finde es in fhem aber nicht..

djhans

Reinerlein

Hi Christian,

also die Icons werden vom Modul vom Player heruntergeladen, und im Verzeichnis "www/images/default/" lokal abgelegt. Dort kannst du ja mal nachschauen...

Aber ich verstehe die Frage nicht: Der Sub hat doch das Icon für den Sub erhalten, oder?
Und das der auf Playing steht, ist normal, da er ja einer Gruppe angehört, und damit nicht selber weiss, ob etwas abgespielt wird (er spielt immer, meistens wohl sehr leise :-)

Grüße
Reiner

djhans

Hi Reiner,
ich wollte den Sub halt wegen der "Playing" Sache gar nicht in der Visualisierung anzeigen, sondern einfach dem Connect ein anderes Symbol geben, damit man erkennen kann, dass hier der SUB eingebunden ist....bei dem Stereo-Paar würde ich dann einen "doppelten Play1" als Symbol zuweisen. Oder kann man den Zustand "PAYING" "STOPPED" etc ausbelden?

Das mit der Visualisierung der Gruppe in fhem ist mir noch nicht klar! Ich kann zwar Räume und Gruppen in fhem bilden und die Sonos Devices da reinpacken, aber ich müsste das eigentlich über ein Event steuern. Wenn man über den Controller eine Gruppe bildet oder auflöst, dann muss fhem halt die Räume und Gruppen entsprechend ändern.

Aber auf welches Ereignis muss ich reagieren?

djhans

Reinerlein

Hi Christian,

ich setze in das Reading "state" die Variable, die mit dem Attribut "stateVariable" gesetzt wurde. Dabei ist "TransportState" der Standard, wenn nichts angegeben wurde. Anschließend überträgt Fhem den Wert von "state" nach "STATE", was dann wiederrum auf der Oberfläche angezeigt wird.
Du kannst da aber mal versuchen, ob es mit "stateFormat" ganz leerzumachen geht, das wurde als neue Fhem-Möglichkeit geschaffen, als ich das andere schon drin hatte :-)

Gruppenänderungen kannst du durch Reagieren auf "ZoneGroupState" am zentralen Sonos-Device erkennen.
Vielleicht geht es aber über Fhem-Erweiterungen wie Dashboard besser, da es ja schließlich ein Reading gibt, welches den Gruppenraumnamen angibt ("ZoneGroupname" am Sonosplayer-Device).

Spannende Sache :-)

Grüße
Reiner

djhans

#875
Hallo Reiner,
habe ein dummy device mit Namen "Format" testweise angelegt und mit
attr Format stateFormat {" "}
geschafft, dass in STATE nix mehr steht. Geht aber offenbar nur mit perl-Code, da sonst eine 1 zurückgegeben wird.

Allerdings kommt dann bei:
attr Sonos_Wohnzimmer_SW stateFormat {" "}
fogender Fehler:
Sonos_Wohnzimmer_SW: unknown attribute stateFormat. Type 'attr Sonos_Wohnzimmer_SW ?' for a detailed list.
scheint, als würde das stateFormat mit dem Sonos-Modul nicht funzen...

Nachtrag:
..ich kann irgendwie noch nicht erkennen, wie ich auf ZoneGroupState reagieren soll. welcher Parameter ändert sich bei der Gruppenbildung bzw. Auflösung.

Christian




Reinerlein

Hi Christian,

das ist komisch. Unter meiner Fhem-Testumgebung gibt es das Attribut, unter meinem Pi wird es nicht angeboten.
Das ist über die zentral zur Verfügung gestellte Variable $readingFnAttributes bereitgestellt... da scheint es einen Unterschied bei der Variablenverarbeitung/Importierung zwischen den beiden Plattformen zu geben.

Ich werde das mal versuchen zu finden. Irgendwelche Tipps?

Grüße
Reiner

djhans

Reiner,
sorry, da kann ich leider keine Tipps geben! So fit bin ich noch lange nicht in fhem. Wie gesagt, mit einem dummy device geht es auch auf einem pi....

@ all:
Vielleicht hat hier jemand einen Tipp für mich:
Ich wollte neben meiner Visualisierung ein Icon anbieten, dass zwischen Stop und Play umschaltet. Wenn ich das mit set Sonos_Wohnzimmer Play bzw. Stop antrigger ändert sich das Icon auch, aber beim Klicken auf das Symbol passiert nix.
Habe mir das bei einer Lampe abgeguckt und versucht auf den Player zu übertragen

attr devStateIcon Sonos_Wohnzimmer  STOPPED:FS20.off:Stop PLAYING:FS20.on:Play
Danke,
Christian

der-Lolo

#878
Ist das nicht falschrum? Wenn du stopped als on zeigst dann muss du doch dann Play senden und nicht wenn der State eh schon Play ist... Oder?
Soweit ich das devStateIcon verstehe kommt zuerst der aktive State bei dem das Icon gezeigt werden soll, dann das Icon, dann der Befehl der ausgeführt werden soll beim Klick.
Und reicht ein einfaches Play oder musst du da nicht noch weitere Parameter geben?

@Reinerlein:
Sonos spannt ja ein eigenes WLAN Netz auf um die Player miteinander kommunizieren zu lassen...
Mit Android Geräten ist es über die Sonos app möglich sich in dieses Netzwerk einzuloggen.
Wäre es vielleicht auch möglich einen Raspi in dieses Netz zu bringen? So könnte die Kommunikation mit Sonos in diesem autarkem Netz stattfinden...
Hintergrund ist: ich schalte hier einiges morgens um 6 z.b. Die Nachtabsenkung der Heizkörper aus - Max verursacht dann wohl einiges an Traffic - wenn ich um 6 Uhr auch meinen play3 im Bad anschalte schafft er es nicht sich im Sonos Netz anzumelden, wenn ich aber um 6:05 anschalte gelingt es meistens...
Wenn nun ein raspi per WLAN im Sonos Netz wäre und dort mit den Playern kommunizieren würde, könnte der raspi ja per lankabel ins heimnetz und von dort empfangene Befehle ins Sonos Netz bringen.
Was denkst du? Gibt es da einige Möglichkeit?

djhans

#879
Hi der-Lolo,
yep! Habe es selber noch gemerkt!
STOPPED:FS20.off:Play PLAYING:FS20.on:Stop
so ist es richtg!

Zum anderen Thema:
ich habe nicht viel Ahnung von fhem, aber beobachte auch, dass die Sonos-Module den Pi schon ziemlich beschäftigen. Ich überlege deshalb einen eingenen Pi (oder BeagleBone )mit fhem nur für Sonos zu nehmen. Zumal ich noch plane weitere Sonos-Komponenten hinzuzufügen. Wäre es nicht denkbar diese dann über fhem2fhem zu koppeln? Oder ist das eine Schnapsidee?
Danke,
Christian

Reinerlein

Hallo der-Lolo,

selbst wenn es da eine Möglichkeit gibt (ich meine über die Sonos-App erhält man ja die notwendigen Zugangsdaten), glaube ich nicht, dass es dein Problem löst. Die notwendigen Datenpakete für das synchronisieren und im Sonos-Netz anmelden, die so ein Player da sendet, sollten bei weitem nicht an der Kapazitätsgrenze liegen.
Auch die UPnP-Pakete an die ganzen Controller sind nur sehr kleine Mengen, die mit ein paar Datenpaketen abgehandelt sind.

Außerdem liegen die Max und HM-Sachen ja alle im 868MHz Band, und die WLAN-Sachen liegen davon weit weg, sodass eine reine Funkstörung eigentlich auch nicht der Grund sein sollte...

Die Ursache dieses Problems muss woanders liegen...
Leider kann ich dir da auch gerade keinen Tipp geben. Vielleicht mal eine Störung bei Sonos aufgeben. Die wollen dann immer so Diagnosedaten vom Zeitpunkt der Störung haben. Im Normalfall ist das immer der schwierige Part, da ein Problem meist nicht nachstellbar ist. In deinem Fall ist das ja anders...

Grüße
Reiner

der-Lolo

Danke für deine Meinung Reinerlein, ich werd mal eine Anfrage bei Sonos starten. Mal schauen ob die was sagen können...

djhans

Hallo,
gibt es eigentlich eine Lösung für das Problem mit den Umlauten in currentSenderInfo?
Das sieht bei mir immer so aus.

Sie hören WDR 2 Trends mit Micha
Gruß
djhans


Christoph

@der-Lolo

Zugangsdaten kann man mit nem Android Gerät mit Root auslesen

http://stadt-bremerhaven.de/sonos-lautsprecher-als-repeater-sonosnet-mit-anderen-geraeten-nutzen/


Gruß Christoph

der-Lolo

Danke für den tip Christoph - ich werde es mal ausprobieren...