Sonos steuern

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

Vorheriges Thema - Nächstes Thema

Otto123

Zitat von: elmer am 15 März 2017, 16:33:59
Ist es möglich wenn sich das Reading vom Sonos von transportState von Play auf PAUSED_PLAYBACK ändert das sich der Dummy dann ausschaltet?
Hi,

klar mit einem "Weg" Deiner Wahl: notify oder DOIF
Du machst den Eventmonitor auf, schreibst dein Sonosdevice oben rein und schaust was passiert wenn Du play oder pause drückst.
Da siehst Du sowas: Sonos_Buero transportState: PAUSED_PLAYBACK
Du kannst Dir das notify dort seit kurzem fast direkt zusammenklicken. Ich denke so sollte es gehen:
define nty_DummyAus notify <SonosPlayer>:transportState:.PAUSED_PLAYBACK set <dummy> aus

Gruß Otto
Viele Grüße aus Leipzig  ⇉  nächster Stammtisch an der Lindennaundorfer Mühle
RaspberryPi B B+ B2 B3 B3+ ZeroW,HMLAN,HMUART,Homematic,Fritz!Box 7590,WRT3200ACS-OpenWrt,Sonos,VU+,Arduino nano,ESP8266,MQTT,Zigbee,deconz

elmer


elmer

#2762
Jetzt kommt schon die nächste Baustelle :(

Ich mache anscheinend etwas falsch wenn ich Bookmarks setze, ich möchte immer, das wenn ich einen Sonos aus mache, das auch die Position gespeichert wird. Irgendwie geht es manchmal und dann wieder nicht.

Auf dem Raspberry habe ich mir einen Orner zum speichern ertellt, dort habe ich auch vier verschiedene Dateien für die Favoriten und für die Playlist drinn ( SONOS_BookmarksPlaylists_Sonos_Bad.....).

Leider speichert es nicht immer ab vor allem bei der Playlist ist mir das aufgefallen, oder sind bei einem Fhem Neustart die Bookmarks weg, ich Check das nicht. Habe ich etwas vergessen einzustellen muß ich noch attr setzen damit das geht :(

Weiß niemand was man genau einstellen muß damit immer alles automatisch gespeichert wird?

Reinerlein

Hi Elmer,

Die Bookmarks werden bei jedem globalen Save-Event gespeichert und wenn der SubProzess normal beendet wird. Das steht dann auch im Log auf Stufe 3.

Außerdem kannst du einfach ein "set Sonos SaveBookmarks" absetzen, woraufhin sie auch gespeichert werden.
Das gleiche gilt andesherum auch für das Laden der Bookmarks...

Grüße
Reinerlein

elmer

Per Hand speichern möchte ich eben vermeiden, da ich die Musik mit Alexa starte, sonst müsste ich wieder zum Tablet greifen.

Ich möchte alles automatisch speichern, was mich eben gewundert hat das nicht immer automatisch abgespeichert wurde, deshalb dachte ich man muss noch zusätzlich irgendwelche attr setzen.

Reinerlein

Hi Elmer,

bedenke aber, dass bei einem FHEM Neustart kein implizites "save" ausgeführt wird. Das musst du manuell vor dem Neustart machen, oder zyklisch durchführen.

Ich bin mir jetzt nicht ganz sicher, ob bei einem Player abschalten der korrekte Trigger für das Speichern der Bookmark-Informationen im Arbeitsspeicher kommt. Dort reagiere ich für die Titel natürlich auf Beginn und Ende der Wiedergabe (bzw. Titelwechsel), und für die Liste auf einen neuen Hashwert der Liste.
Vielleicht vor dem Abschalten der Player (sofern du es über FHEM machst), erst die Wiedergabe anhalten...

Grüße
Reinerlein

elmer

#2766
Heute ist mir aufgefallen, wenn ich sage Alexa schalte ... ein, und die Wiedergabe wird am Tablet gestoppt, speichert Sonos die letzte Position.

Wenn ich aber zum Stoppen sage, Alexe schalte ... aus wird nicht gespeichert und beim nächsten Start geht es von vorne los.

Kann man evtl. beim stoppen einen Save Befehl mit senden?

([szene_Memento_Favourite_Bad] eq "on")(set Sonos_Bad StartFavourite Memento) DOELSEIF ([szene_Memento_Favourite_Bad] eq "off")(set Sonos_Bad Stop)

Fixel2012

Zitat von: elmer am 18 März 2017, 10:49:51
Heute ist mir aufgefallen, wenn ich sage Alexa schalte ... ein und stopfe die Wiedergabe am Tablet, speichert Sonos die letzte Position.

Wenn ich aber zum Stoppen sage, Alexe schalte ... aus wird nicht gespeichert und beim nächsten Start geht es von vorne los.

Kann man evtl. beim stoppen einen Save Befehl mit senden?

([szene_Memento_Favourite_Bad] eq "on")(set Sonos_Bad StartFavourite Memento) DOELSEIF ([szene_Memento_Favourite_Bad] eq "off")(set Sonos_Bad Stop)
Du kannst statt stop Pause Benutzen, dort speichert der Sonos den Track und sogar die track Position.

Gesendet von meinem ONEPLUS A3003 mit Tapatalk

Fhem 5.8 auf Raspi 3, HMLAN und 868MHz CUL mit einigen Komponenten, Z-Wave Rollladenaktoren, Tablet UI, 433 MHz CUL mit Baumarktsteckdosen und Temp Sensoren, Amazon Echo, Echo Dot, 2x SONOS  play1, 1x SONOS Connect AMP,  presence, HUE, Lightify

elmer

Hatte ich auch schon getestet mit set Sonos_Bad Pause, leider ohne Erfolg.

Reinerlein

Hallo elmer,

also bei einem Stop kann sich das Modul keine Bookmarkposition merken, da die letzte Information, die ich da erhalte ist:
- Erster Titel der Queue
- Am Anfang des Titels

Sonos setzt die Wiedergabe einfach dorthin zurück, weswegen dass dann auch der Bookmarkpunkt ist, der gespeichert wird.
Du solltest nirgendwo selber Stop setzen. Das ist meistens nicht das, was man benötigt...
Durchsuch dein FHEM nochmal, ob nicht irgendwer einen der Player mal auf Stop setzt.

Desweiteren bin ich mir tatsächlich nicht sicher, wie das mit Gruppen (bzw. deren Auf- und Abbau) ist.
Ich persönlich würde erst die Wiedergabe pausieren, und dann die Gruppen umbauen.
Es ist für das Modul sehr schwierig herauszufinden, was die letzte gewollte Aktion mit einem Titel (oder einem Titelwechsel) ist. Das bedeutet, das mein Merktrigger immer der Wechsel im Transportstate (bzw. ein neuer Titel in der Liste) ist...

Grüße
Reinerlein

elmer

Ok, ich werde mal alle Stop raus nehmen und einen neuen Versuch starten.

Ich bin mir nicht sicher ob evtl. die bookmarkPlaylistDefinition auch mein Problem mit ist. Ich habe dort nur Sonos_Bad, Sonos_Kueche eingetragen, oder muss ich da noch mehr eintragen, oder kann ich ganz auf dieses attr. verzichten.

Reinerlein

Hi elmer,

ohne Attribut geht nicht, sonst kennt er keinerlei Bookmarkgruppen :)
Aber viel falsch machen kann man im Prinzip ja auch nicht... Sonst poste das doch mal, wenn du da unsicher bist...

Grüße
Reinerlein

elmer

Ok, anscheinend blicke ich nicht durch beim Sonos und den Bookmarks, ich habe jetzt schon einige Tage immer wieder den Artikel im Wiki gelesen, aber anscheinend verstehe ich da etwas nicht oder einfach nur falsch.

Im moment habe ich nur diese 3 attr. gesetzt

bookmarkPlaylistDefinition:Sonos_Bad, Sonos_Kueche

bookmarkSaveDir:/opt/fhem/sonosbookmarks

bookmarkTitleDefinition:Sonos_Bad, Sonos_Kueche


Ich glaube das ich Käse bei bookmarkPlaylistDefinition und bei bookmarkTitleDefinition angebe und das es deshalb nicht funktioniert. Ich habe dort meine Player eingetragen, passt das oder ist das falsch?

Reinerlein

Hi Elmer,

spontan würde ich sagen, dass das Komma stören könnte.

Genau gesagt gibst du an erster Stelle (vor dem Doppelpunkt) den Namen des Bookmarks an. Dieser Name ist frei wählbar, und dient dem Dateinamen und der internen Unterscheidung.
Jetzt kommt das wichtige: Hinter dem Doppelpunkt kommt ein regulärer Ausdruck, der die Player beschreibt, die in dieser Gruppe berücksichtigt werden sollen. Das ist in deinem Fall "Sonos_Bad," (inkl. Komma!) dann kommt eine weitere Gruppe (durch Leerzeichen getrennt), die nicht vollständig beschrieben ist...

Mach mal folgendes:

Gruppe1:(Sonos_Bad|Sonos_Kueche)

Das einfach in beide Attribute eintragen (also für die Attribute "bookmarkPlaylistDefinition" und "bookmarkTitleDefinition").
Damit werden die Playlistpositionen (sprich: Tracknummer) für jede verschiedene Abspielliste, und die Titelpositionen für alle Titel auf den beiden Playern gespeichert.
Das mit den Titelpositionen ist eigentlich eher wichtig für sowas wie Hörbücher, Musikstücke möchte man ja meistens immer wieder von vorne hören. Dafür kann man dann Einschränkungen machen, für welche Titel diese Positionen überhaupt gespeichert werden sollen, z.B. über die Länge identifiziert:

attr Sonos bookmarkTitleDefinition Gruppe1:(Sonos_Bad|Sonos_Kueche)::600
bedeutet, dass Positionen innerhalb der Titel für alle Titel (deswegen keine Angabe nach dem zweiten Doppelpunkt) die min. 600 Sekunden (=10 Minuten) lang sind (und auf den beiden Playern Bad und Küche abgespielt werden), gespeichert werden...

Das muss man sich mal alles gut überlegen :)

Grüße
Reinerlein

elmer

Danke für die Hilfe, erste Versuche schauen schon mal gut aus, ob gespeichert wird wenn ich mit Alexa starte kann ich jetzt leider nicht testen.

Ich habe es jetzt so und hoffe das ich damit mehr Glück habe.

Bookmark:Sonos_Bad Sonos_Kueche::600