Sonos steuern

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

Vorheriges Thema - Nächstes Thema

Otto123

@Visionsurfer ich mache das mit set Sonos_Groups [x;y;z] . Und wozu Du das sleep am Anfang jeder Zeile hast erschließt sich mir nicht ...

@dantist meine Connect heißt Wohnzimmer und im FHEM gibt es Sonos_Wohnzimmer - Wenn Deine Connect Eingang heißt sollte sie im FHEM Sonos_Eingang heißen.
Oder ich verstehe Dich nicht.   :o

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

dantist

Vielleicht habe ich mich unklar ausgedrückt  :) Ich möchte das Signal, das bei meiner Sonos Connect am Line In-Eingang anliegt, in einem Sonos-Raum abspielen.

Otto123

#2672
Aber der Player (also egal welcher ob Connect oder Play 5) spielt doch den LineIn lokal ab! Je nach dem wie Du das benannt hast siehst Du das dann als Titel. Da kannst Du Play und Stop drücken.
In FHEM siehst du das reading LineInConnected.

Aber Du kannst doch nicht den LineIn in einen anderen Raum lenken?! Du kannst eine Gruppe bilden!Geht, siehe Folgebeiträge

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

Reinerlein

Hallo dantist und Otto,

das geht schon. Habe ich hier schon mal beantwortet :) https://forum.fhem.de/index.php/topic,10033.msg547974.html#msg547974

Das geht nur nicht bei einer Playbar, die muss dafür immer erstmal selber auf den HDMI-Eingang schalten, dann kann man sich damit gruppieren. Das macht das Modul aber in einem Schritt selbst...

Grüße
Reiner

Otto123

Hallo Reiner,

jetzt wo Du es sagst, ich hatte es schon mal gelesen  :-[

Und jetzt habe ich auch gefunden wie das in der Sonos App geht  :-X macht man zu selten ...

Kannst Du das nicht noch ins Wiki schreiben?

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

Reinerlein

Hi Otto,

es steht im Wiki beim Befehl PlayURI. Dort steht auch der Sonderfall mit der Playbar beschrieben, ich werde aber nochmal explizit auf die entfernte Abspielmöglichkeit als Standardverhalten eingehen, und einen Satz dazu hinzufügen :)

Grüße
Reiner

Otto123

Ok der Wiki Artikel ist groß. Ich habe vorhin nach LineIn gesucht, da kam kein Treffer darauf.

Danke Dir!

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

dantist

#2677
Danke Reinerlein, das ist es! Funktioniert perfekt  :) Jetzt sorgt ein umfunktionierter Amazon Dash-Button dafür, dass auf Knopfdruck der Plattenspieler in die anderen Räume gestreamed wird :)

visionsurfer

Hallo,

ich weiß nicht ob ich mir meine Sonos Einstellungen kaputt gespielt habe.

Ich habe 4 Play 1 Sonos Player. Alle sind in FHEM im Room Sonos. Überall werden mir direkt unter dem Device die Buttons angezeigt. Also der Play, Pause, Titel zurück, nächster Titel usw.

Nur bei einem Player sind die Buttons nicht vorhanden ? Hab ich mir da irgendwas kaputt gemacht ? Ich habe wie weiter oben beschrieben nur in meinem Residenz Modul die Sonos Player versucht zu verbinden.

Hier mal das List von dem Player im Schlafzimmer wo die Buttons nicht mehr vorhanden sind ? Habt ihr eine Ahnung was da los ist und wie ich die wieder hinbekomme ?


Internals:
   DEF        RINCON_5CAAFD7AA18401400_MR
   NAME       Sonos_Schlafzimmer
   NR         714
   NTFY_ORDER 50-Sonos_Schlafzimmer
   STATE      appeared
   TYPE       SONOSPLAYER
   UDN        RINCON_5CAAFD7AA18401400_MR
   Readings:
     2017-01-01 15:54:45   AlarmList       {}
     2017-01-01 15:54:45   AlarmListIDs
     2017-01-01 15:54:45   AlarmListVersion RINCON_5CAAFD7AA18401400:0
     2016-12-23 20:23:17   AlarmRunning    0
     2016-12-23 20:23:17   AlarmRunningID
     2016-12-23 20:23:17   Balance         0
     2016-12-23 20:23:25   Bass            0
     2016-12-23 20:23:17   CrossfadeMode   0
     2016-12-23 20:23:24   DailyIndexRefreshTime
     2017-01-01 14:33:20   FavouritesVersion RINCON_B8E9378098B801400,2
     2016-12-23 20:23:24   GroupMute       0
     2017-01-02 23:38:59   GroupVolume     12
     2016-12-23 20:23:17   HeadphoneConnected 0
     2016-12-23 20:23:17   IsMaster        1
     2017-01-03 21:49:48   LastActionResult RemoveMember: Success!
     2016-12-23 20:23:25   Loudness        1
     2016-12-23 20:23:24   MasterPlayer    Sonos_Schlafzimmer
     2016-12-23 20:23:17   Mute            0
     2016-12-23 20:23:25   OutputFixed     0
     2016-12-24 11:43:11   PlaylistsVersion RINCON_B8E9378097A801400,4
     2017-01-02 21:52:23   QueueHash       54b1663c68b9a253898d7c0acb726f2d
     2017-01-02 21:52:22   QueueVersion
     2017-01-01 14:33:20   RadiosVersion   RINCON_B8E9378098B801400,2
     2016-12-23 20:23:17   Repeat          0
     2016-12-23 20:23:17   RepeatOne       0
     2017-01-02 23:38:58   Shuffle         1
     2017-01-03 21:40:44   SlavePlayer     []
     2016-12-23 20:23:17   SleepTimer      off
     2016-12-23 20:23:17   SleepTimerVersion
     2016-12-23 20:23:25   SubEnable       1
     2016-12-23 20:23:25   SubGain         0
     2016-12-23 20:23:25   SubPolarity     0
     2016-12-23 20:23:25   Treble          0
     2016-12-23 20:23:25   TruePlay        0
     2017-01-02 23:38:51   Volume          12
     2016-12-23 20:23:24   ZoneGroupID     RINCON_5CAAFD7AA18401400:__
     2017-01-03 21:40:44   ZoneGroupName   Schlafzimmer
     2017-01-03 21:40:44   ZonePlayerUUIDsInGroup RINCON_5CAAFD7AA18401400
     2017-01-02 23:38:58   currentAlbum    Entspannungsmusik, Eine musikalische Traumreise
     2017-01-02 23:38:54   currentAlbumArtURI ./www/images/default/SONOSPLAYER/Sonos_Schlafzimmer_AlbumArt.ERROR
     2017-01-02 23:38:58   currentAlbumArtURL http://192.168.178.59:1400/getaa?s=1&u=x-sonosapi-hls-static%3alibrary%2falbums%2fWellness_20Pur%2fEntspannungsmusik_2C_20Eine_20musikalische_20Traumreise%2f65996401-cebd-4129-aa21-3ea20f18249a%2f%3fsid%3d201%26flags%3d8224%26sn%3d1
     2017-01-02 23:38:58   currentAlbumArtist Wellness Pur
     2017-01-02 23:38:58   currentArtist   Wellness Pur
     2016-12-24 23:31:28   currentNormalAudio 1
     2016-12-23 20:23:17   currentOriginalTrackNumber
     2016-12-24 23:31:28   currentSender
     2016-12-23 20:23:17   currentSenderCurrent
     2016-12-24 12:14:38   currentSenderInfo
     2017-01-01 21:24:39   currentStreamAudio 0
     2017-01-02 23:38:58   currentTitle    Lichtspiele der Natur
     2017-01-02 22:52:44   currentTrack    1
     2017-01-02 23:38:58   currentTrackDuration 0:17:08
     2017-01-03 21:40:43   currentTrackPosition 0:00:00
     2017-01-02 23:38:58   currentTrackProvider
     2017-01-02 23:38:58   currentTrackURI x-sonosapi-hls-static:library%2falbums%2fWellness_20Pur%2fEntspannungsmusik_2C_20Eine_20musikalische_20Traumreise%2f65996401-cebd-4129-aa21-3ea20f18249a%2f?sid=201&flags=8224&sn=1
     2016-12-23 20:23:17   fieldType
     2017-01-02 23:38:58   infoSummarize1  (Wellness Pur) 'Lichtspiele der Natur' vom Album 'Entspannungsmusik, Eine musikalische Traumreise'
     2017-01-03 21:40:43   infoSummarize2  STOPPED => (Wellness Pur) 'Lichtspiele der Natur' vom Album 'Entspannungsmusik, Eine musikalische Traumreise'
     2017-01-02 23:38:58   infoSummarize3  Lautstärke: 12 ~ Ton An ~ Balance: Mitte ~ Kein Kopfhörer
     2016-12-23 20:23:17   infoSummarize4
     2016-12-23 20:23:17   location        http://192.168.178.59:1400/xml/device_description.xml
     2017-01-02 23:38:58   nextAlbum       Entspannungsmusik, Eine musikalische Traumreise
     2017-01-02 23:38:57   nextAlbumArtURI ./www/images/default/SONOSPLAYER/Sonos_Schlafzimmer_NextAlbumArt.ERROR
     2017-01-02 23:38:58   nextAlbumArtURL http://192.168.178.59:1400/getaa?s=1&u=x-sonosapi-hls-static%3alibrary%2falbums%2fWellness_20Pur%2fEntspannungsmusik_2C_20Eine_20musikalische_20Traumreise%2f88948ce8-e97f-40eb-9fea-288c600c1ada%2f%3fsid%3d201%26flags%3d8224%26sn%3d1
     2016-12-23 20:23:17   nextAlbumArtist
     2017-01-02 23:38:58   nextArtist      Wellness Pur
     2016-12-23 20:23:17   nextOriginalTrackNumber
     2017-01-02 23:38:58   nextTitle       Traumreise
     2017-01-02 23:38:58   nextTrackDuration 0:16:48
     2016-12-23 20:23:17   nextTrackProvider
     2017-01-02 23:38:58   nextTrackURI    x-sonosapi-hls-static:library%2falbums%2fWellness_20Pur%2fEntspannungsmusik_2C_20Eine_20musikalische_20Traumreise%2f88948ce8-e97f-40eb-9fea-288c600c1ada%2f?sid=201&flags=8224&sn=1
     2017-01-02 23:38:58   numberOfTracks  4
     2016-12-23 20:23:17   playerType      S1
     2017-01-01 15:54:31   presence        appeared
     2016-12-23 20:23:24   roomIcon        masterbedroom
     2016-12-23 20:23:17   roomName        Schlafzimmer
     2016-12-23 20:23:17   roomNameAlias   Schlafzimmer
     2016-12-23 20:23:17   saveRoomName    Schlafzimmer
     2016-12-23 20:23:17   serialNum       5C-AA-FD-7A-A1-84:5
     2016-12-23 20:23:17   softwareRevision 7.0
     2017-01-01 15:54:40   state           appeared
     2017-01-03 21:40:43   transportState  STOPPED
Attributes:
   alias      Schlafzimmer
   generateInfoSummarize1 <NormalAudio><Artist prefix="(" suffix=")"/><Title prefix=" '" suffix="'" ifempty="[Keine Musikdatei]"/><Album prefix=" vom Album '" suffix="'"/></NormalAudio> <StreamAudio><Sender suffix=":"/><SenderCurrent prefix=" '" suffix="' -"/><SenderInfo prefix=" "/></StreamAudio>
   generateInfoSummarize2 <TransportState/><InfoSummarize1 prefix=" => "/>
   generateInfoSummarize3 <Volume prefix="Lautstärke: "/><Mute instead=" ~ Kein Ton" ifempty=" ~ Ton An" emptyval="0"/> ~ Balance: <Balance ifempty="Mitte" emptyval="0"/><HeadphoneConnected instead=" ~ Kopfhörer aktiv" ifempty=" ~ Kein Kopfhörer" emptyval="0"/>
   generateVolumeSlider 1
   getAlarms  1
   group      Schlafzimmer
   icon       icoSONOSPLAYER_icon-S1.png
   minVolume  0
   model      Sonos_S1
   room       Sonos
   sortby     1
   stateVariable Presence
   userReadings Favourites:LastActionResult.*?GetFavouritesWithCovers.* { if (ReadingsVal("Sonos_Schlafzimmer", "LastActionResult", "") =~ m/.*?: (.*)/) { return $1; } }, Radios:LastActionResult.*?GetRadiosWithCovers.* { if (ReadingsVal("Sonos_Schlafzimmer", "LastActionResult", "") =~ m/.*?: (.*)/) { return $1; } }, Playlists:LastActionResult.*?GetPlaylistsWithCovers.* { if (ReadingsVal("Sonos_Schlafzimmer", "LastActionResult", "") =~ m/.*?: (.*)/) { return $1; } }, currentTrackPosition:LastActionResult.*?GetCurrentTrackPosition.* { if (ReadingsVal("Sonos_Schlafzimmer", "LastActionResult", "") =~ m/.*?: (.*)/) { return $1; } }


Grüße,
Visionsurfer


Reinerlein

Hi Visionsurfer,

das ist ein automatisch Mit-Erzeugtes RemoteControl-Device. Der Name ist der des PlayerDevices + "RC".
Versuch doch mal direkt in der Adresszeile die passende Detailseiten-URL dafür einzugeben. Dann siehst du, ob es noch da ist, oder aus Versehen gelöscht wurde.

Wenn du es gelöscht hast, kannst du es von einem der anderen Player passend kopieren, oder du entfernst das Sonosplayer-Device, dann wird es nach einer Neu-Erkennung wieder angelegt werden...

Grüße
Reinerlein

visionsurfer

Guten Morgen,

also ich habe geschaut dieses Device+RC ist auch für Schlafzimmer vorhanden. Aber es steht nicht direkt wie bei allen anderen unter dem eigentlichen Player. Bekommt man das irgendwie wieder hin oder muss ich das Gerät löschen ?

Noch eine andere Frage:

Ich nutze ja das Resident Modul und dort sind im Macro viele Sonos Beispiele drin. Da wird aber immer mit addmember und removemember gearbeitet.
Was ist da der Unterschied zu "Group".

Weiter oben in einem Posting, hab ich dazu ja auch den Code gepostet. Scheinbar funktioniert es aber bei mir nicht. Es starten nicht beide Player. Wenn ich aber im FHEMweb den Play Button vom Player Bad drücke, dann startet gleichzeitig auch die Musik im Player Schlafzimmer.

Grüße,
Visionsurfer

Otto123

#2681
Guten Morgen Visionsurfer,

ich verstehe Deinen Code weiter oben nicht, er ist scheinbar aus dem Zusammenhang gerissen.
Ich kann nur soviel sagen: Die Sonos Befehle besonders Gruppierungen brauchen Zeit.
Zu Bad das Schlafzimmer dazu gruppieren und anschließen ohne Pause Schlafzimmer noch drei Befehle überhelfen funktioniert nicht. Ich kann dazu nur "empirisch" sagen: Ich mache zwischen jedem Sonos Befehl eine Pause und probiere die Befehlsketten separat in der FHEM Kommandozeile aus.
Das besonders die (Um)Gruppierung Zeit braucht sieht man auch sehr schön in der Sonos App selbst, das ist ein Sonos "Problem" da FHEM auch nicht zaubern.

Also unabhängig von Deinen Makros: löse Deine Befehlsketten zum Test aus dem restlichen Code und probiere sie separat aus.

Die RC's sind normalerweise im Raum hidden, die stehen gar nicht unter den Playern. Zumindest bei mir. Klar bekommst Du das hin mit den Attributen room und group.

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

Reinerlein

Hi Visionsurfer,

mein Fehler, das RemoteControl ist nicht das, was angezeigt wird, sondern ein Weblink-Device, welches den HTML-Code des RemoteControls anzeigt. Dieses Device hat den Namen des Playerdevice + "RC_Weblink".

Mittels

list TYPE=weblink
kannst du dir alle deine Weblinks auflisten lassen. Da müsste der ja dabei sein :)

Ansonsten hier die Definition des Weblinks (am Beispiel von Sonos_Bad):

define Sonos_BadRC_Weblink weblink htmlCode {fhem("get Sonos_BadRC htmlcode", 1)}
attr Sonos_BadRC_Weblink room Sonos
attr Sonos_BadRC_Weblink group Bad
attr Sonos_BadRC_Weblink sortby 3


Grüße
Reiner

visionsurfer

ok.

Danke @Reiner.
Warum auch immer hat dieser 3 weblink gefehlt. Ich hab ihn nun wie von dir beschrieben und angepasst wieder anlegt. Jetzt hab ich auch wieder die Buttons an meinem Player im Schlafzimmer.

Kannst du mir eventuell auch den Unterschied zwischen der Group Funktion und dem Add oder Removemember erklären ? Das versteh ich noch nicht ganz und aus der Wiki werde ich da auch nicht schlau.

Grüße,
Visionsurfer

Reinerlein

Hi Visionsurfer,

das ist ganz einfach: Viele Wege führen nach Rom :)

Mit AddMember (am Sonosplayer-Device) sagst du einem Player (dem zukünftigen Master), dass er jetzt einen weiteren mit seiner Musik beliefern soll. Mit RemoveMember entfernst du diesen zweiten Player wieder.

set Sonos_Bad AddMember Sonos_Kueche
Sonos_Bad ist der neue Master, der auch die Küche mit seiner Musik beliefert.

Die Groups Funktion (am Sonos-Device) kann mit einer Anweisung eine Gruppenkonstellation sicherstellen. Dort muss ich aber noch mal ran, damit das vielleicht auch mal mit Stereo-Paaren korrekt arbeitet. Diese sind Sonos-Intern auch nur Gruppen von zwei Playern.

set Sonos Groups [Sonos_Bad, Sonos_Kueche]
Macht im Ergebnis das gleiche, stellt allerdings sicher, dass eine etwaige Gruppe, in der sich Sonos_Bad oder auch Sonos_Kueche befinden, zuvor aufgelöst werden.

Nehmen wir mal das obige Beispiel mit AddMember und machen folgendes:

set Sonos_Kueche AddMember Sonos_Wohnzimmer
set Sonos_Bad AddMember Sonos_Kueche
Dann gibt es am Ende eine Gruppe mit drei Mitgliedern, die den Player Sonos_Bad als Master haben.

Mit der Groups-Anweisung kannst du auch gleich mehrere Gruppen erzeugen:

set Sonos Groups [Sonos_Bad, Sonos_Kueche], [Sonos_Wohnzimmer, Sonos_Flur]
.
.
set Sonos Groups [Sonos_Bad, Sonos_Kueche, Sonos_Wohnzimmer, Sonos_Flur]


Und mittels "get Sonos Groups" kannst du dir die aktuelle Gruppenkonstellation in der obigen Schreibweise ausgeben lassen.
Dazu gibt es aber einige Beispiele im Wiki...

Ich hoffe, dass konnte ein wenig Licht in die Sache bringen :)

Grüße
Reiner