FHEM Forum

FHEM - Anwendungen => Multimedia => Thema gestartet von: choetzu am 26 November 2017, 00:04:50

Titel: Sonos: On/Off Status bei Gruppenwiedergabe
Beitrag von: choetzu am 26 November 2017, 00:04:50
Hallo,
Wie macht ihr das? Ich habe 4 Sonosplayer. 2 davon sind in einer Gruppe (bad und wohnzimmer). Wenn ich nun das Bad ein und ausschalte wechselt der Status von Played auf stopped oder umgekehrt. Wohnzimmer bleibt aber immer auf played, egal ob bad einoder ausgeschaltet ist. Siehe Anlage.

Wie kann ich darstellen, ob Wohnzimmer tatsächlich läuft oder nicht?

Lg c
Titel: Antw:Sonos: On/Off Status bei Gruppenwiedergabe
Beitrag von: dev0 am 26 November 2017, 07:08:47
Zitat von: choetzu am 26 November 2017, 00:04:50
Wie macht ihr das?
Mit einem Notify und eigenen Readings, die den Status korrekt darstellen. Siehe hier (https://github.com/ddtlabs/smartvisu-widgets/blob/master/sonos/99_fronthemSonosUtils.pm).
Meiner Bitte so etwas ins Sonos Modul zu integrieren wurde leider nicht entsprochen, da der Maintainer die Zustände nur so wiedergeben möchte, wie sie von den Playern gemeldet werden. Aber vielleicht läßt sich der Maintainer überzeugen, wenn genug Anwender den Wunsch äußern. ;)
Titel: Antw:Sonos: On/Off Status bei Gruppenwiedergabe
Beitrag von: choetzu am 26 November 2017, 08:47:49
Zitat von: dev0 am 26 November 2017, 07:08:47
Mit einem Notify und eigenen Readings, die den Status korrekt darstellen. Siehe hier (https://github.com/ddtlabs/smartvisu-widgets/blob/master/sonos/99_fronthemSonosUtils.pm).
Meiner Bitte so etwas ins Sonos Modul zu integrieren wurde leider nicht entsprochen, da der Maintainer die Zustände nur so wiedergeben möchte, wie sie von den Playern gemeldet werden. Aber vielleicht läßt sich der Maintainer überzeugen, wenn genug Anwender den Wunsch äußern. ;)

Herzlichen Dank für deine Antwort. Hiermit äussere ich den Wunsch :)

Dein Link führt zu einem Modul und nicht zu einem Notify. Und als Laie verstehe ich da nur Bahnhof :)

Soll ich dieses Modul installieren resp in den FHEM ordner kopieren?
Titel: Antw:Sonos: On/Off Status bei Gruppenwiedergabe
Beitrag von: dev0 am 26 November 2017, 10:05:41
Der Link führt zu dem Code der im notify aufgerufen wird. Das Define des Notify ist dort auch beschrieben:

# ########################################################################################
# sv_SonosTransportStateChanged()
#
# example call:
# define <notifyName> notify <yourPrefix>_.*:transportState:.* { sv_SonosTransportStateChanged($NAME,$EVTPART1) }
# eg. define n_sv_sonosGetTrackPos notify Sonos_.*:transportState:.* { sv_SonosTransportStateChanged($NAME,$EVTPART1) }
# ########################################################################################
Titel: Antw:Sonos: On/Off Status bei Gruppenwiedergabe
Beitrag von: choetzu am 27 November 2017, 09:09:46
ok, ich blamiere mich jetzt, aber trotzdem letzte Frage :)

Reicht dieses Notify oder muss ich das 99_fronthemSonosUtils.pm in FHEM kopieren?
Titel: Antw:Sonos: On/Off Status bei Gruppenwiedergabe
Beitrag von: dev0 am 27 November 2017, 10:41:47
Du kannst die benötigten Subs in eine eigene 99_myUtilsXYZ.pm packen oder auch einfach 99_fronthemSonosUtils.pm in Deinen ./FHEM Ordner kopieren. Das ist egal, die Funktionen müssen nur für FHEM erreichbar sein.  Dann entweder ein reload der entsprechenden 99_myUtils... ausführen oder FHEM neu starten. Danach kannst Du die Funktionen/Subs in einem Notify nutzen.

Die neuen "svXXX" Readings werden natürlich erst dann angelegt, wenn sich die Status der Player ändern: also einmal alle möglichen Kombinationen Deiner Player gruppieren... Dadurch werden die svXXX Readings angelegt, die Du dann benutzen kannst. Ob ein Player gerade etwas abspielt kannst Du dann anhand der Readings "svTransportState.*" erkennen...


     2017-11-27 07:16:32   svTransportStatePause 0
     2017-11-27 07:16:32   svTransportStatePlay 1
     2017-11-27 07:16:32   svTransportStateStop 0


Es werden noch mehr Readings angelegt, aber die wirst Du für Dein Vorhaben nicht benötigen:

     2017-11-27 07:16:32   svHasClient_Sonos_XXX 0
     2017-11-18 13:26:57   svHasClient_Sonos_YYY 0
     2017-11-27 06:21:02   svHasClient_Sonos_ZZZ 0
     2017-11-27 07:16:32   svIsInAnyGroup  0
     2017-11-27 07:16:32   svIsInThisGroup none
     2017-10-21 10:45:36   svIsVisible     0
     2017-10-21 10:45:36   svIsVisibleName Sonos_YYY


Zitat von: choetzu am 27 November 2017, 09:09:46
ok, ich blamiere mich jetzt, aber trotzdem letzte Frage :)

Blamieren ist das falsche Wort, aber nach ~500 Beiträgen im Forum hätte ich einfach etwas mehr Know-How erwartet.
Titel: Antw:Sonos: On/Off Status bei Gruppenwiedergabe
Beitrag von: dev0 am 27 November 2017, 10:55:52
Durch Deine Frage ist mir gerade noch ein Tippfehler aufgefallen, den ich gerade korrigiert habe... Also ggf. die 99_fronthemSonosUtils neu downloaden.
Titel: Antw:Sonos: On/Off Status bei Gruppenwiedergabe
Beitrag von: choetzu am 27 November 2017, 13:45:48
wo du recht hast, hast du recht.. ;) Und deshalb sorry die Umstände.. Ich habe mich in den 500Beiträgen brutal entwickelt, von 0 auf 40... Bis ich auf 100 bin dauert es vermutlich noch was.. Aber ich bleibe dran und bin um alle Komentare dankbar.
Titel: Antw:Sonos: On/Off Status bei Gruppenwiedergabe
Beitrag von: choetzu am 27 November 2017, 17:17:52
Hallo dev

sorry nochmals, aber es funktioniert noch nicht. Wenn ich z.B. das Bad (=Master) und die Küche in einer Gruppe zusammenfasse, dann kommt bei beiden svTransportStatePlay = 1. Wenn ich nun ausschalte, ist bei Bad svTransportStatePlay=0 und bei Küche bleibt svTransportStatePlay=1.

da sollte doch auch 0 stehen, oder?

lg c
Titel: Antw:Sonos: On/Off Status bei Gruppenwiedergabe
Beitrag von: dev0 am 27 November 2017, 19:14:11
Ich schaue es mir die Tage an, komme im Moment nicht dazu.
Titel: Antw:Sonos: On/Off Status bei Gruppenwiedergabe
Beitrag von: juemuc am 27 November 2017, 21:27:17
Warum nutzt ihr denn nicht das reading transportState?
Damit lasse ich mir den Status jedes einzelnen Players anzeigen.

VG
Jürgen
Titel: Antw:Sonos: On/Off Status bei Gruppenwiedergabe
Beitrag von: dev0 am 28 November 2017, 06:28:32
@juemuc: Weil Slaves in einer Gruppe den Status nicht korrekt anzeigen. Oder hat sich das in der aktuell Modulversion geändert?
@choetzu: Kann ich nicht nachvollziehen. Wenn ich eine Gruppe bilde und den Master etwas abspielen lasse, dass wechselt bei allen Mono-Speakern das svTransportStateStop auf 0 und svTransportStatePlay auf 1. Beim Stoppen des Masters genau andersrum. Bei Stereopärchen Slaves werden die Readings nur bei den linken Device gesetzt.
Titel: Antw:Sonos: On/Off Status bei Gruppenwiedergabe
Beitrag von: juemuc am 28 November 2017, 22:09:46
Zitat von: dev0 am 28 November 2017, 06:28:32
@juemuc: Weil Slaves in einer Gruppe den Status nicht korrekt anzeigen. Oder hat sich das in der aktuell Modulversion geändert?
@choetzu: Kann ich nicht nachvollziehen. Wenn ich eine Gruppe bilde und den Master etwas abspielen lasse, dass wechselt bei allen Mono-Speakern das svTransportStateStop auf 0 und svTransportStatePlay auf 1. Beim Stoppen des Masters genau andersrum. Bei Stereopärchen Slaves werden die Readings nur bei den linken Device gesetzt.

Also bei mir ist der Wert von "transportState" immer korrekt. Auch in einer Gruppe.

VG
Jürgen
Titel: Antw:Sonos: On/Off Status bei Gruppenwiedergabe
Beitrag von: choetzu am 01 Dezember 2017, 15:38:52
Zitat von: juemuc am 28 November 2017, 22:09:46
Also bei mir ist der Wert von "transportState" immer korrekt. Auch in einer Gruppe.

VG
Jürgen
sprich wenn du die Gruppe stoppst, dann haben alle in der Gruppe befindlichen Slaves ebenfalls eine 0 bei "svTransportStatePlay" und bei "svTransportStateStop" eine 1? Bei mir bleibt beim Slave das "svTransportStatePlay" auf 1.

Zur Sicherheit: ich rede nicht von "transportState"


Zitat@choetzu: Kann ich nicht nachvollziehen. Wenn ich eine Gruppe bilde und den Master etwas abspielen lasse, dass wechselt bei allen Mono-Speakern das svTransportStateStop auf 0 und svTransportStatePlay auf 1. Beim Stoppen des Masters genau andersrum

hmm, bei mir eben nicht. Beim Abspielen verhält er sich korrekt.. Beim Stoppen aber eben leider nicht...
Titel: Antw:Sonos: On/Off Status bei Gruppenwiedergabe
Beitrag von: juemuc am 01 Dezember 2017, 23:02:04
Zitat von: choetzu am 01 Dezember 2017, 15:38:52
sprich wenn du die Gruppe stoppst, dann haben alle in der Gruppe befindlichen Slaves ebenfalls eine 0 bei "svTransportStatePlay" und bei "svTransportStateStop" eine 1? Bei mir bleibt beim Slave das "svTransportStatePlay" auf 1.

Zur Sicherheit: ich rede nicht von "transportState"


hmm, bei mir eben nicht. Beim Abspielen verhält er sich korrekt.. Beim Stoppen aber eben leider nicht...

Ich meine schon "transportState". Die Readings "svTransportStatePlay", "svTransportStateStop" habe ich nicht.

VG
Jürgen
Titel: Antw:Sonos: On/Off Status bei Gruppenwiedergabe
Beitrag von: choetzu am 04 Dezember 2017, 22:34:02
Hallo,
kleine Entwarnung. Bei mir klappt es auch. Ich habe alle Sonos Devices gelöscht und dann wieder hinzugefügt, danach noch eine Sonos Connect:Amp mit einem alten ZonePlayer ausgetauscht und jetzt gehts. Fragt mich nicht wieso ;)
Danke für all die Hilfe und Geduld.
Lg c