Sonos2mqtt - vielleicht hat jemand Lust mitzumachen

Begonnen von Otto123, 31 Mai 2020, 18:30:55

Vorheriges Thema - Nächstes Thema

Spartacus

Moin zusammen,
hier noch mal der DAU :-)

Ich habe jetzt fhem auf meinem sonos2mqtt-Server abgeschaltet und den server über die Konsole gestartet (siehe Anhang)
Der Server zeigt nun auf meinen fhem-Server im VLAN50.

Auf dem fhem Server in VLAn50 läuft nun der mqtt-Server und die Bridge. Die Bridge ist connected.

Wenn ich allerdings das Template setzen will, bekomme ich die Aufforderung Parameter einzugeben.(Bridge.png). Irgendetwas stimmt offenbar noch nicht.

Eine Idee?

Spartacus



Fhem-System: 1 x raspberry PI Typ B, 1 x enOcean PI Typ B | Enocean: PTM210, FMS61NP, FAM14, 2 x FSR14-4x, FTS14-EM | LaCrosse: 2 x TX29D über Jeelink V3 | 1-Wire: 2 x DS18B20 über DS9490R

Otto123

Ich habe mir eigentlich Mühe gegeben, dass der Name keine Rolle spielt. Umbenennen sollte völlig problemlos gehen.

Die Logik ist simpel, ich weiß nicht wo es da zu Fehlern kommen kann? Aber ich will nicht sagen, dass es perfekt ist. Du könntest ein List der beiden Player in unterschiedlichen Zuständen posten?

isMaster:coordinatorUuid.* {ReadingsVal($name,'coordinatorUuid','') eq ReadingsVal($name,'uuid','')?1:0},
inGroup:groupName.* {ReadingsVal($name,'groupName','') =~ / \+ /?1:0},
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

Otto123

#947
Hallo Spartacus,
was steht im Template für eine Version? Eigentlich sollte das hart auf sonos gesetzt sein.

Du hast Port auf 1800 gesetzt - Dein MQTT2 Server läuft wirklich auf 1800 oder auf default 1883?
Meine Konfigurationsbeispiele sind meistens zum Mitdenken und nicht für stumpfes C&P ;)

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

Spartacus

Fhem-System: 1 x raspberry PI Typ B, 1 x enOcean PI Typ B | Enocean: PTM210, FMS61NP, FAM14, 2 x FSR14-4x, FTS14-EM | LaCrosse: 2 x TX29D über Jeelink V3 | 1-Wire: 2 x DS18B20 über DS9490R

Otto123

#949
list TYPE=MQTT2_SERVER DEF
Oder meinst Du Template Version? die steht im Inhaltstext wenn Du auf set attrTemplate gehst und das Template auswählst.
Ganz unten:
setreading DEVICE attrTemplateVersion 20210301
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

Spartacus

Hi,
ja genau, die Template-Version. Die steht da, wenn man das Template auswählt. Ich nehme an, es ist das hier!

setreading DEVICE attrTemplateVersion 20201103

Spartacus
Fhem-System: 1 x raspberry PI Typ B, 1 x enOcean PI Typ B | Enocean: PTM210, FMS61NP, FAM14, 2 x FSR14-4x, FTS14-EM | LaCrosse: 2 x TX29D über Jeelink V3 | 1-Wire: 2 x DS18B20 über DS9490R

Otto123

musst Du bitte aktualisieren!
{ Svn_GetFile("FHEM/lib/AttrTemplate/mqtt2.template", "FHEM/lib/AttrTemplate/mqtt2.template", sub(){ AttrTemplate_Initialize() }) }
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

Spartacus

Hi,
danke Dir! Soweit läuft es jetzt, allerdings werden keine Player angelegt....keine Ahnung, was da jetzt fehlt!

Die Firewall ist definitiv offen. Ping zwischen den Kisten läuft!

Eine Idee fürs Troubleshooting?

Spartacus

Fhem-System: 1 x raspberry PI Typ B, 1 x enOcean PI Typ B | Enocean: PTM210, FMS61NP, FAM14, 2 x FSR14-4x, FTS14-EM | LaCrosse: 2 x TX29D über Jeelink V3 | 1-Wire: 2 x DS18B20 über DS9490R

Otto123

#953
die mqtt Portnummer?
Zum anlegen müssen die Player laufen oder sonos2mqtt gestartet werden.
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

Spartacus

...der Port war schon mal nen Volltreffer (...ist wohl Zeit ins Bett zu gehen!).

Die Player scheinen jetzt angelegt zu werden...dauert aber sehr lange...
btw. Was ist der der Unterschied zwischen den sonos2mqtt-Templates?

Schon mal ganz lieben Dank. Ich werde meine Schritte dann morgen mal dokumentieren und hier posten!

Spartacus
Fhem-System: 1 x raspberry PI Typ B, 1 x enOcean PI Typ B | Enocean: PTM210, FMS61NP, FAM14, 2 x FSR14-4x, FTS14-EM | LaCrosse: 2 x TX29D über Jeelink V3 | 1-Wire: 2 x DS18B20 über DS9490R

Spartacus

Hi,
Kommando zurück!
Ich sehe, dass die Payer in den Readings der Bridge auftauchen. Sie werden aber nicht als Device angelegt.

Spartacus
Fhem-System: 1 x raspberry PI Typ B, 1 x enOcean PI Typ B | Enocean: PTM210, FMS61NP, FAM14, 2 x FSR14-4x, FTS14-EM | LaCrosse: 2 x TX29D über Jeelink V3 | 1-Wire: 2 x DS18B20 über DS9490R

Otto123

#956
Diese config Readings sind ok, das sind die MQTT Infos die wir nicht brauchen :)

Du hast das template angwendet?
set SonosBridge attrTemplate sonos2mqtt_bridge_comfort

Was gibt Dir das zurück?
list n_configSonos.*
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

Phiolin

Zitat von: Otto123 am 15 März 2021, 21:46:33
Ich habe mir eigentlich Mühe gegeben, dass der Name keine Rolle spielt. Umbenennen sollte völlig problemlos gehen.

Die Logik ist simpel, ich weiß nicht wo es da zu Fehlern kommen kann? Aber ich will nicht sagen, dass es perfekt ist. Du könntest ein List der beiden Player in unterschiedlichen Zuständen posten?

isMaster:coordinatorUuid.* {ReadingsVal($name,'coordinatorUuid','') eq ReadingsVal($name,'uuid','')?1:0},
inGroup:groupName.* {ReadingsVal($name,'groupName','') =~ / \+ /?1:0},


Danke, ich experimentiere da heute noch mal ein wenig und beobachte das.
Es ist möglich, dass ich noch eine ältere Version des attrTemplates oder der Utils hatte. Jetzt müsste aber alles Up-to-Date sein.

Werden eigentlich die Attribute der Player aktualisiert, wenn man das attrTemplate neu auf die Bridge anwendet, oder muss man dafür das sonos2mqtt_speaker attrTemplate extra anwenden?
Vielleicht ist es möglich, bei Aktualisierungen der Templates einen Hinweis im Bridge Device einzublenden o.ä., da sich im Moment da ja scheinbar noch einiges tut und die Sachen ja (noch?) nicht über das normale FHEM Update rein kommen?

Phiolin

#958
Hier haben wir direkt einen Fall:

Dieser Player ist in einer Gruppe (siehe groupName: Wohnzimmer + 1).
Trotzdem steht isMaster auf 1 und inGroup auf 0.

Internals:
   CFGFN     
   CID        RINCON_949F3E8B52B201400
   DEF        RINCON_949F3E8B52B201400
   DEVICETOPIC sonos
   FUUID      604f8383-f33f-8c0c-b1e1-0a92457b2d1f2ac1
   IODev      mqtt_main
   LASTInputDev mqtt_main
   MSGCNT     72
   NAME       MQTT2_RINCON_949F3E8B52B201400
   NR         783
   STATE      PLAYING
   TYPE       MQTT2_DEVICE
   mqtt_main_MSGCNT 72
   mqtt_main_TIME 2021-03-16 06:54:53
   JSONMAP:
     mute_Master mute
     volume_Master volume
   READINGS:
     2021-03-15 16:55:51   CopyrightInfo   © 2003-2020, Sonos, Inc. All rights reserved.
     2021-03-15 16:55:51   DisplaySoftwareVersion 12.2.2
     2021-03-15 16:55:51   ExtraInfo       
     2021-03-15 16:55:51   Flags           0
     2021-03-15 16:55:51   HTAudioIn       0
     2021-03-15 16:55:51   HardwareVersion 1.20.1.6-2.2
     2021-03-15 16:55:51   IPAddress       10.0.11.70
     2021-03-15 17:09:46   Input           Radio
     2021-03-15 16:55:51   MACAddress      94:9F:3E:8B:52:B2
     2021-03-15 17:09:46   Master          Fitnessraum
     2021-03-15 16:55:51   SerialNumber    94-9F-3E-8B-52-B2:2
     2021-03-15 16:55:51   SoftwareVersion 61.1-83220
     2021-03-15 17:02:48   associatedWith  SonosBridge
     2021-03-15 16:55:49   attrTemplateVersion 20210303
     2021-03-16 06:54:53   bass            0
     2021-03-15 17:04:51   command         play
     2021-03-16 06:54:53   coordinatorUuid RINCON_949F3E8B217001400
     2021-03-16 06:06:51   currentTrack_Album sonos-tts-polly by @Svrooij
     2021-03-16 06:54:53   currentTrack_AlbumArtUri http://10.0.11.70:1400/getaa?u=x-rincon-mp3radio:%2f%2fhttps:%2f%2fwdr-wdr2-ruhrgebiet.icecastssl.wdr.de%2fwdr%2fwdr2%2fruhrgebiet%2fmp3%2f128%2fstream.mp3&v=1
     2021-03-16 06:06:51   currentTrack_Artist Marlene Amazon Polly de-DE
     2021-03-16 06:06:51   currentTrack_Duration 0:00:03
     2021-03-16 06:54:53   currentTrack_ItemId -1
     2021-03-16 06:54:53   currentTrack_ParentId -1
     2021-03-16 06:54:53   currentTrack_ProtocolInfo x-rincon-mp3radio:*:*:*
     2021-03-16 06:54:53   currentTrack_Title WDR 2 Ruhrgebiet Direkt
     2021-03-16 06:54:53   currentTrack_TrackUri x-rincon-mp3radio://https://wdr-wdr2-ruhrgebiet.icecastssl.wdr.de/wdr/wdr2/ruhrgebiet/mp3/128/stream.mp3
     2021-03-16 06:54:53   currentTrack_UpnpClass object.item
     2021-03-16 06:54:53   enqueuedMetadata_ItemId R:0/0/24
     2021-03-16 06:54:53   enqueuedMetadata_ParentId R:0/0
     2021-03-16 06:54:53   enqueuedMetadata_Title WDR 2 Ruhrgebiet Direkt
     2021-03-16 06:54:53   enqueuedMetadata_UpnpClass object.item.audioItem.audioBroadcast
     2021-03-15 17:04:51   error_Action    Play
     2021-03-15 17:04:51   error_Fault     UPnPError
     2021-03-15 17:04:51   error_FaultCode s:Client
     2021-03-15 17:04:51   error_UpnpErrorCode 701
     2021-03-15 17:04:51   error_UpnpErrorDescription Transition not available
     2021-03-15 17:04:51   error_name      SonosError
     2021-03-16 06:54:53   groupName       Wohnzimmer + 1
     2021-03-15 17:09:46   inCouple        0
     2021-03-15 17:09:46   inGroup         0
     2021-03-15 17:09:46   isMaster        1
     2021-03-16 06:54:53   model           Sonos Play:1
     2021-03-15 16:55:52   modelNumber     S12
     2021-03-16 06:54:53   mute            false
     2021-03-16 06:54:53   mute_LF         false
     2021-03-15 16:55:48   mute_Master     false
     2021-03-16 06:54:53   mute_RF         false
     2021-03-16 06:54:53   name            Fitnessraum
     2021-03-16 06:54:53   playmode        NORMAL
     2021-03-16 06:54:52   state           joinGroup
     2021-03-16 06:54:53   transportState  PLAYING
     2021-03-16 06:54:53   treble          0
     2021-03-16 06:54:53   ts              1615874092873
     2021-03-16 06:54:53   uuid            RINCON_949F3E8B52B201400
     2021-03-16 06:54:53   volume          25
     2021-03-16 06:54:53   volume_LF       100
     2021-03-15 16:55:48   volume_Master   25
     2021-03-16 06:54:53   volume_RF       100
Attributes:
   IODev      mqtt_main
   alias      Fitnessraum
   devStateIcon {sonos2mqtt($name,'devStateIcon')}
   devicetopic sonos
   event-on-change-reading state,transportState,volume,isMaster,inGroup
   icon       Sonos2mqtt_icon-S12
   jsonMap    volume_Master:volume mute_Master:mute
   model      sonos2mqtt_speaker
   readingList $DEVICETOPIC/RINCON_949F3E8B52B201400:.* { json2nameValue($EVENT,'',$JSONMAP) }
  $DEVICETOPIC/RINCON_949F3E8B52B201400/ZoneInfo:.* { json2nameValue($EVENT) }
sonos/RINCON_949F3E8B52B201400/error:.* { json2nameValue($EVENT) }
   room       MQTT2_DEVICE
   setList    input:Queue {sonos2mqtt($NAME,$EVENT)}
joinGroup: {sonos2mqtt($NAME,$EVENT)}
leaveGroup:noArg {sonos2mqtt($NAME,$EVENT)}
mute:true,false {sonos2mqtt($NAME,$EVENT)}
next:noArg {sonos2mqtt($NAME,$EVENT)}
notify:textField {sonos2mqtt($NAME,$EVENT)}
pause:noArg {sonos2mqtt($NAME,$EVENT)}
play:noArg {sonos2mqtt($NAME,$EVENT)}
playUri:textField {sonos2mqtt($NAME,$EVENT)}
previous:noArg {sonos2mqtt($NAME,$EVENT)}
sayText:textField {sonos2mqtt($NAME,$EVENT)}
setAVTUri:textField {sonos2mqtt($NAME,$EVENT)}
sleep:selectnumbers,0,15,120,0,lin {sonos2mqtt($NAME,$EVENT)}
speak:textField {sonos2mqtt($NAME,$EVENT)}
stop:noArg {sonos2mqtt($NAME,$EVENT)}
toggle:noArg {sonos2mqtt($NAME,$EVENT)}
volume:slider,0,1,100 {sonos2mqtt($NAME,$EVENT)}
volumeDown:noArg {sonos2mqtt($NAME,$EVENT)}
volumeUp:noArg {sonos2mqtt($NAME,$EVENT)}
x_raw_payload:textField {sonos2mqtt($NAME,$EVENT)}
   stateFormat transportState
   userReadings Master:groupName.* {(split(' +',ReadingsVal($name,'groupName','')))[0]},
isMaster:coordinatorUuid.* {ReadingsVal($name,'coordinatorUuid','') eq ReadingsVal($name,'uuid','')?1:0},
inGroup:groupName.* {ReadingsVal($name,'groupName','') =~ / \+ /?1:0},
inCouple:coordinatorUuid.* {(ReadingsVal($name,'coordinatorUuid','') ne ReadingsVal($name,'uuid','') and (index(ReadingsVal($name,'groupName',''), ReadingsVal($name,'name','')) != -1))?1:0},
Input:currentTrack_TrackUri.* {sonos2mqtt_ur($name,'Input')}


Im alten Sonos Modul sieht der Player so aus:

Internals:
   DEF        RINCON_949F3E8B52B201400_MR
   FUUID      5c45a0be-f33f-8c0c-47e5-18362e373b551358
   NAME       Sonos_Fitnessraum
   NOTIFYDEV  Sonos_Fitnessraum
   NR         209
   NTFY_ORDER 50-Sonos_Fitnessraum
   STATE      appeared ~ 0.0% (0:00:00 / 0:00:00)
   TYPE       SONOSPLAYER
   UDN        RINCON_949F3E8B52B201400_MR
   READINGS:
     2021-03-15 16:51:07   AlarmList       {}
     2021-03-15 16:51:07   AlarmListIDs   
     2021-03-15 16:51:07   AlarmListVersion RINCON_949F3E85047601400:0
     2018-02-02 12:55:39   AlarmRunning    0
     2018-02-02 12:55:39   AlarmRunningID 
     2021-03-16 06:51:11   AvailablePlayer ['Sonos_Schlafzimmer','Sonos_Wohnzimmer']
     2021-03-16 06:51:11   AvailablePlayerList -|Sonos_Schlafzimmer|Sonos_Wohnzimmer
     2021-03-16 06:51:11   AvailablePlayerListAlias Auswahl|Schlafzimmer|Wohnzimmer
     2018-02-02 12:55:22   Balance         0
     2018-02-02 12:55:39   Bass            0
     2018-02-02 12:55:39   CrossfadeMode   0
     2018-02-02 12:55:39   DailyIndexRefreshTime
     2018-02-02 12:55:39   DirectControlAccountID
     2018-02-02 12:55:39   DirectControlClientID
     2018-02-02 12:55:39   DirectControlIsSuspended 0
     2020-12-19 16:57:13   Favourites      {'FV:2/18' => {'Cover' => 'http://cdn-radiotime-logos.tunein.com/s99166g.png','Description' => 'TuneIn Sender','Position' => '0','Title' => 'WDR 2 Ruhrgebiet','Ressource' => 'x-sonosapi-stream:s99166?sid=254&flags=8224&sn=0','Typ' => 'audioBroadcast'}}
     2020-12-19 16:57:13   FavouritesVersion RINCON_949F3E85047601400,51
     2018-02-02 12:55:39   GroupMute       0
     2021-03-16 06:54:53   GroupVolume     20
     2018-02-02 12:55:39   HeadphoneConnected 0
     2018-02-02 12:55:22   IsBonded        0
     2021-03-16 06:54:52   IsMaster        0
     2018-03-27 17:06:19   IsZoneBridge    0
     2021-03-15 16:55:52   LastActionResult Pause: Success!
     2021-03-16 06:45:22   LastSubscriptionsRenew MusicServices: 2021-03-16 06:45:22
     2018-02-02 12:55:39   Loudness        1
     2021-03-16 06:54:52   MasterPlayer    Sonos_Wohnzimmer
     2018-02-02 12:55:39   Mute            0
     2018-02-28 14:20:08   Orientation     0
     2018-02-02 12:55:39   OutputFixed     0
     2019-10-23 17:26:30   Playlists       {'SQ:4' => {'Ressource' => 'file:///jffs/settings/savedqueues.rsq#4','Cover' => 'http://10.0.11.70:1400/getaa?s=1&u=x-sonos-http%3alibrarytrack%3ai.MG2VHA42Ml3.mp4%3fsid%3d204%26flags%3d73760%26sn%3d1','Title' => 'Liebe'},'SQ:1' => {'Ressource' => 'file:///jffs/settings/savedqueues.rsq#1','Cover' => 'http://10.0.11.70:1400/getaa?s=1&u=x-sonos-http%3alibrarytrack%3ai.kGYqBUVDXkRr.mp4%3fsid%3d204%26flags%3d8224%26sn%3d1','Title' => 'Gute Nacht'},'SQ:0' => {'Ressource' => 'file:///jffs/settings/savedqueues.rsq#0','Cover' => 'http://10.0.11.70:1400/getaa?s=1&u=x-sonos-http%3alibrarytrack%3ai.5dgLSVYJ6OX.mp4%3fsid%3d204%26flags%3d8224%26sn%3d1','Title' => 'Guten Morgen'},'SQ:3' => {'Ressource' => 'file:///jffs/settings/savedqueues.rsq#3','Cover' => 'http://10.0.11.70:1400/getaa?s=1&u=x-sonos-http%3alibrarytrack%3ai.5GeYUVYJ6OX.mp4%3fsid%3d204%26flags%3d8224%26sn%3d1','Title' => 'Weihnachten'}}
     2020-12-13 16:06:36   PlaylistsVersion RINCON_949F3E8B52B201400,140
     2019-10-23 17:26:30   Queue           {'Duration' => '0:00:00','DurationSec' => 0}
     2019-10-14 12:58:45   QueueDuration   0:00:00
     2019-10-14 12:58:45   QueueDurationSec 0
     2021-03-16 06:07:03   QueueHash       62c37a5412419c6ef07dc569912de80b
     2021-03-16 06:07:03   QueueVersion    809
     2019-10-23 17:26:32   Radios          {'R:0/0/20' => {'Ressource' => 'x-sonosapi-stream:s99166?sid=254&flags=8224&sn=0','Cover' => 'http://cdn-radiotime-logos.tunein.com/s99166g.png','Title' => 'WDR 2 Ruhrgebiet'},'R:0/0/5' => {'Ressource' => 'x-sonosapi-stream:s223992?sid=254&flags=8224&sn=0','Cover' => 'http://cdn-profiles.tunein.com/s17490/images/logog.jpg','Title' => 'HIT RADIO FFH 100.9 (Hot AC)'},'R:0/0/6' => {'Ressource' => 'x-sonosapi-stream:s25531?sid=254&flags=8224&sn=0','Cover' => 'http://cdn-profiles.tunein.com/s25531/images/logog.png','Title' => 'N-JOY 94.2 (Top 40/Pop)'},'R:0/0/2' => {'Ressource' => 'x-sonosapi-stream:s25005?sid=254&flags=8224&sn=0','Cover' => 'http://cdn-profiles.tunein.com/s25005/images/logog.jpg?t=1','Title' => 'Fritz vom rbb'},'R:0/0/4' => {'Ressource' => 'x-sonosapi-stream:s293289?sid=254&flags=8224&sn=0','Cover' => 'http://cdn-profiles.tunein.com/s293289/images/logog.png?t=1','Title' => 'ENERGY Digital'},'R:0/0/14' => {'Ressource' => 'x-rincon-mp3radio://http://rtlberlin.hoerradar.de/rtlberlin-event01-mp3-128','Cover' => 'http://10.0.11.70:1400/getaa?u=x-rincon-mp3radio%3A%2F%2Fhttp%3A%2F%2Frtlberlin.hoerradar.de%2Frtlberlin-event01-mp3-128','Title' => '104.6rtl Weihnachtsradio'},'R:0/0/24' => {'Ressource' => 'x-rincon-mp3radio://https://wdr-wdr2-ruhrgebiet.icecastssl.wdr.de/wdr/wdr2/ruhrgebiet/mp3/128/stream.mp3','Cover' => 'http://10.0.11.70:1400/getaa?u=x-rincon-mp3radio%3A%2F%2Fhttps%3A%2F%2Fwdr-wdr2-ruhrgebiet.icecastssl.wdr.de%2Fwdr%2Fwdr2%2Fruhrgebiet%2Fmp3%2F128%2Fstream.mp3','Title' => 'WDR 2 Ruhrgebiet Direkt'}}
     2019-05-06 20:44:58   RadiosList      104.6rtl.Weihnachtsradio|ENERGY.Digital|Fritz.vom.rbb|HIT.RADIO.FFH.100.9..Hot.AC.|N-JOY.94.2..Top.40.Pop.|WDR.2.Ruhrgebiet|WDR.2.Ruhrgebiet.Direkt
     2019-05-06 20:44:58   RadiosListAlias 104.6rtl Weihnachtsradio|ENERGY Digital|Fritz vom rbb|HIT RADIO FFH 100.9 (Hot AC)|N-JOY 94.2 (Top 40/Pop)|WDR 2 Ruhrgebiet|WDR 2 Ruhrgebiet Direkt
     2020-12-19 16:57:13   RadiosVersion   RINCON_949F3E85047601400,51
     2021-02-27 17:08:45   Repeat          0
     2018-02-02 12:55:39   RepeatOne       0
     2021-03-12 07:49:58   Shuffle         0
     2021-03-16 06:06:53   SlavePlayer     []
     2021-03-16 06:06:53   SlavePlayerList
     2021-03-16 06:06:53   SlavePlayerListAlias
     2021-03-16 06:06:53   SlavePlayerNotBonded []
     2021-03-16 06:06:53   SlavePlayerNotBondedList
     2021-03-16 06:06:53   SlavePlayerNotBondedListAlias
     2018-02-02 12:55:39   SleepTimer      off
     2018-02-02 12:55:39   SleepTimerVersion
     2018-02-02 12:55:39   SubEnable       1
     2018-02-02 12:55:39   SubGain         0
     2018-02-02 12:55:39   SubPolarity     0
     2018-02-02 12:55:39   Treble          0
     2018-02-02 12:55:39   TruePlay        1
     2021-03-16 06:11:17   Volume          25
     2019-02-14 20:56:39   WifiEnabled     0
     2018-11-23 19:23:47   WirelessMode    0
     2021-03-16 06:54:52   ZoneGroupID     RINCON_949F3E8B217001400:__
     2021-03-16 06:07:03   ZoneGroupName   Fitnessraum
     2021-03-16 06:54:52   ZoneGroupNameDetails Wohnzimmer
     2021-03-16 06:54:52   ZonePlayerUUIDsInGroup RINCON_949F3E8B217001400,RINCON_949F3E8B52B201400
     2021-03-16 06:54:52   currentAlbum   
     2021-03-16 06:54:52   currentAlbumArtURL /fhem/sonos/cover/empty.jpg
     2021-03-16 06:06:24   currentAlbumArtist
     2021-03-16 06:06:24   currentArtist   
     2021-03-16 06:54:52   currentEnqueuedTransportHandle x-rincon-mp3radio://https://wdr-wdr2-ruhrgebiet.icecastssl.wdr.de/wdr/wdr2/ruhrgebiet/mp3/128/stream.mp3|<DIDL-Lite xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:upnp="urn:schemas-upnp-org:metadata-1-0/upnp/" xmlns:r="urn:schemas-rinconnetworks-com:metadata-1-0/" xmlns="urn:schemas-upnp-org:metadata-1-0/DIDL-Lite/"><item id="R:0/0/24" parentID="R:0/0" restricted="false"><dc:title>WDR 2 Ruhrgebiet Direkt</dc:title><upnp:class>object.item.audioItem.audioBroadcast</upnp:class><desc id="cdudn" nameSpace="urn:schemas-rinconnetworks-com:metadata-1-0/">SA_RINCON65031_</desc></item></DIDL-Lite>
     2021-03-16 06:54:52   currentEnqueuedTransportURI x-rincon-mp3radio://https://wdr-wdr2-ruhrgebiet.icecastssl.wdr.de/wdr/wdr2/ruhrgebiet/mp3/128/stream.mp3
     2021-03-16 06:05:39   currentFavouriteName
     2021-03-16 06:05:39   currentFavouriteNameMasked
     2021-03-16 06:54:52   currentNormalAudio 0
     2018-02-02 12:55:39   currentOriginalTrackNumber
     2021-03-12 07:49:58   currentPlaylistName
     2021-03-12 07:49:58   currentPlaylistNameMasked
     2021-03-16 06:54:52   currentRadioName WDR 2 Ruhrgebiet Direkt
     2021-03-16 06:54:52   currentRadioNameMasked WDR.2.Ruhrgebiet.Direkt
     2021-03-16 06:54:52   currentSender   WDR 2 Ruhrgebiet Direkt
     2018-02-02 12:55:39   currentSenderCurrent
     2021-03-16 06:55:30   currentSenderInfo Lifehouse - Halfway gone
     2021-03-16 06:54:52   currentSource   WDR 2 Ruhrgebiet Direkt
     2021-03-16 06:54:52   currentStreamAudio 1
     2021-03-16 06:54:52   currentTitle   
     2021-03-15 17:08:06   currentTrack    1
     2021-03-16 06:54:52   currentTrackDuration 0:00:00
     2021-03-16 06:06:24   currentTrackDurationSec 0
     2021-03-16 06:55:30   currentTrackHandle http://https://wdr-edge-30b6-fra-ts-cdn.cast.addradio.de/wdr/wdr2/ruhrgebiet/mp3/128/stream.mp3?_art=dj0yJmlwPTc5LjIyOS4yMzkuMTkmaWQ9aWNzY3hsLWVuYnoza2VuYiZ0PTE2MTU5NjAyODAmcz03ODY2ZjI5YyNjMzRjNjMwZTg5MmI4ZDE1ZTUwMzQ4OTA1MzYwYTY0Yg|<DIDL-Lite xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:upnp="urn:schemas-upnp-org:metadata-1-0/upnp/" xmlns:r="urn:schemas-rinconnetworks-com:metadata-1-0/" xmlns="urn:schemas-upnp-org:metadata-1-0/DIDL-Lite/"><item id="-1" parentID="-1" restricted="true"><res protocolInfo="x-rincon-mp3radio:*:*:*">x-rincon-mp3radio://https://wdr-edge-30b6-fra-ts-cdn.cast.addradio.de/wdr/wdr2/ruhrgebiet/mp3/128/stream.mp3?_art=dj0yJmlwPTc5LjIyOS4yMzkuMTkmaWQ9aWNzY3hsLWVuYnoza2VuYiZ0PTE2MTU5NjAyODAmcz03ODY2ZjI5YyNjMzRjNjMwZTg5MmI4ZDE1ZTUwMzQ4OTA1MzYwYTY0Yg</res><r:streamContent>Lifehouse - Halfway gone</r:streamContent><r:radioShowMd></r:radioShowMd><dc:title>stream.mp3?_art=dj0yJmlwPTc5LjIyOS4yMzkuMTkmaWQ9aWNzY3hsLWVuYnoza2VuYiZ0PTE2MTU5NjAyODAmcz03ODY2ZjI5YyNjMzRjNjMwZTg5MmI4ZDE1ZTUwMzQ4OTA1MzYwYTY0Yg</dc:title><upnp:class>object.item</upnp:class></item></DIDL-Lite>
     2021-03-16 06:54:52   currentTrackPosition 0:00:00
     2021-03-16 06:54:52   currentTrackPositionSec 0
     2021-03-16 06:54:52   currentTrackPositionSimulated 0:00:00
     2021-03-16 06:06:24   currentTrackPositionSimulatedPercent 0.0
     2021-03-16 06:54:52   currentTrackPositionSimulatedSec 0
     2021-03-16 06:54:52   currentTrackProvider Radio
     2021-03-16 06:54:52   currentTrackProviderIconQuadraticURL /fhem/sonos/cover/tunein_quadratic.jpg
     2021-03-16 06:54:52   currentTrackProviderIconRoundURL /fhem/sonos/cover/tunein_round.png
     2021-03-16 06:54:52   currentTrackURI http://https://wdr-edge-30b6-fra-ts-cdn.cast.addradio.de/wdr/wdr2/ruhrgebiet/mp3/128/stream.mp3?_art=dj0yJmlwPTc5LjIyOS4yMzkuMTkmaWQ9aWNzY3hsLWVuYnoza2VuYiZ0PTE2MTU5NjAyODAmcz03ODY2ZjI5YyNjMzRjNjMwZTg5MmI4ZDE1ZTUwMzQ4OTA1MzYwYTY0Yg
     2019-05-04 15:52:08   fhemMsgAudio    Ihr sollt nicht lästern, wir hören hier alles!
     2019-05-04 15:52:08   fhemMsgAudioGw  Sonos_Arbeitszimmer:OK
     2019-05-04 15:52:08   fhemMsgAudioPrio 0
     2019-05-04 15:52:08   fhemMsgAudioState 1
     2019-05-04 15:52:08   fhemMsgAudioTitle -
     2019-05-04 15:52:08   fhemMsgState    1
     2019-05-04 15:52:08   fhemMsgStateTypes audio:1
     2018-02-02 12:55:22   fieldType       
     2021-03-16 06:55:30   infoSummarize1  WDR 2 Ruhrgebiet Direkt: Lifehouse - Halfway gone
     2021-03-16 06:55:30   infoSummarize2  PLAYING => WDR 2 Ruhrgebiet Direkt: Lifehouse - Halfway gone
     2021-03-16 06:54:52   infoSummarize3  Lautstärke: 15 ~ Ton An ~ Balance: Mitte ~ Kein Kopfhörer
     2018-02-02 12:55:39   infoSummarize4 
     2019-10-23 17:19:03   location        http://10.0.11.70:1400/xml/device_description.xml
     2021-03-12 07:49:58   nextAlbum       
     2021-03-12 07:49:58   nextAlbumArtURL /fhem/sonos/cover/empty.jpg
     2021-02-27 17:08:45   nextAlbumArtist
     2021-03-12 07:49:58   nextArtist     
     2018-02-02 12:55:39   nextOriginalTrackNumber
     2021-03-12 07:49:58   nextTitle       
     2021-03-12 07:49:58   nextTrackDuration
     2021-03-12 07:49:58   nextTrackDurationSec
     2021-03-15 06:58:32   nextTrackHandle |
     2021-03-12 07:49:58   nextTrackProvider
     2021-03-12 07:49:58   nextTrackProviderIconQuadraticURL
     2021-03-12 07:49:58   nextTrackProviderIconRoundURL
     2021-03-12 07:49:58   nextTrackURI   
     2021-03-15 17:09:45   numberOfTracks  1
     2018-02-02 12:55:22   playerType      S12
     2021-03-16 05:05:11   presence        appeared
     2018-02-02 12:55:39   roomIcon        office
     2020-06-05 15:46:49   roomName        Fitnessraum
     2020-06-05 15:46:49   roomNameAlias   Fitnessraum
     2020-06-05 15:46:49   saveRoomName    Fitnessraum
     2018-02-02 12:55:22   serialNum       94-9F-3E-8B-52-B2:2
     2020-12-19 16:57:13   softwareRevision 12.2.2
     2021-03-10 05:05:11   softwareRevisionAvailable 13.0
     2020-12-19 16:57:13   softwareRevisionInternal 61.1-83220
     2021-03-10 05:05:11   softwareRevisionInternalAvailable 62.1-86220
     2021-03-16 06:54:52   state           PLAYING
     2021-03-16 06:54:52   transportState  PLAYING
   helper:
     simulateCurrentTrackPosition 0
Attributes:
   alias      Fitnessraum
   event-on-change-reading state,transportState,MasterPlayerPlayingCount,IsMaster,presence
   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
   getTitleInfoFromMaster 1
   group      Medien
   icon       icoSONOSPLAYER_icon-S12.png
   minVolume  0
   model      Sonos_S12
   room       Fitnessraum
   simulateCurrentTrackPosition 0
   sortby     1
   stateFormat presence ~ currentTrackPositionSimulatedPercent% (currentTrackPositionSimulated / currentTrackDuration)
   webCmd     Volume


Hier sieht man: IsMaster = 0.
Auch weitere Readings sind nicht aktuell. Die lists sind nahezu zum gleichen Zeitpunkt erstellt werden, es sind also auch Werte falsch wie einige von den  currentTrack_* Readings. Im alten Sonos Device sind diese aktuell, an den fehlenden UPnP Messages kann es also eigentlich nicht liegen.

Ah, ich glaub ich habs... event-on-change-reading beißt sich mit den definierten userReadings. Wegen der Menge an Events hatte ich event-on-change-reading auf einige wenige interessante Readings gesetzt, aber dann fehlen die Events für die userReadings. Das wird es wohl zumindest für die inGroup/isMaster Readings sein.

Also weiter im Test. :D

Für die Wunschliste: Können wir im Bridge Device vielleicht einige der Readings aus dem alten Sonos Device implementieren? Vor allem die Listen der aktuellen Master-Player? Ich verwende das alte MasterPlayerPlaying/MasterPlayerPlayingCount um dynamisch Player in Gruppen aufzunehmen/zu entfernen, wenn jemand einen Raum betritt/verlässt.

2021-03-16 08:03:00   MasterPlayer    ['Sonos_Fitnessraum','Sonos_Schlafzimmer']
     2021-03-16 08:03:00   MasterPlayerCount 2
     2021-03-16 08:03:00   MasterPlayerNotPlaying ['Sonos_Fitnessraum']
     2021-03-16 08:03:00   MasterPlayerNotPlayingCount 1
     2021-03-16 07:37:38   MasterPlayerPlaying ['Sonos_Schlafzimmer']
     2021-03-16 07:37:38   MasterPlayerPlayingCount 1


Oh, und Player "set" Kommandos für Repeat und Shuffle! :D

Spartacus

#959
Hi Otto123,

Zitat von: Otto123 am 15 März 2021, 22:42:13
Diese config Readings sind ok, das sind die MQTT Infos die wir nicht brauchen :)

Du hast das template angwendet?
set SonosBridge attrTemplate sonos2mqtt_bridge_comfort

Was gibt Dir das zurück?
list n_configSonos.*


habe ich gemacht und sieht so aus:
Internals:
   CFGFN     
   DEF        global:DEFINED.MQTT2_RINCON_[A-Z0-9]+|MQTT2_RINCON_[A-Z0-9]+:IPAddress:.* {sonos2mqtt_nty($NAME,$EVENT)}
   FUUID      604fccb3-f33f-d9cb-9914-b26ceb7ad3bc55ed
   NAME       n_configSonos
   NR         199
   NTFY_ORDER 50-n_configSonos
   REGEXP     global:DEFINED.MQTT2_RINCON_[A-Z0-9]+|MQTT2_RINCON_[A-Z0-9]+:IPAddress:.*
   STATE      active
   TYPE       notify
   READINGS:
     2021-03-15 22:08:22   state           active
Attributes:


NACHTRAG:
ich habe das template noch mal ausgeführt. Im log tauchen einige Warnings auf!
021.03.16 08:13:28 1: PERL WARNING: Subroutine sonos2mqttUtils_Initialize redefined at ./FHEM/99_sonos2mqttUtils.pm line 14.
2021.03.16 08:13:28 1: PERL WARNING: Subroutine sonos2mqtt redefined at ./FHEM/99_sonos2mqttUtils.pm line 22.
2021.03.16 08:13:28 1: PERL WARNING: Subroutine sonos2mqtt_searchList redefined at ./FHEM/99_sonos2mqttUtils.pm line 174.
2021.03.16 08:13:28 1: PERL WARNING: Subroutine sonos2mqtt_devStateIcon redefined at ./FHEM/99_sonos2mqttUtils.pm line 198.
2021.03.16 08:13:28 1: PERL WARNING: Subroutine sonos2mqtt_mod_list redefined at ./FHEM/99_sonos2mqttUtils.pm line 241.
2021.03.16 08:13:28 1: PERL WARNING: Subroutine sonos2mqtt_setup redefined at ./FHEM/99_sonos2mqttUtils.pm line 258.
2021.03.16 08:13:28 1: PERL WARNING: Subroutine sonos2mqtt_nty redefined at ./FHEM/99_sonos2mqttUtils.pm line 297.
2021.03.16 08:13:28 1: PERL WARNING: Subroutine sonos2mqtt_ur redefined at ./FHEM/99_sonos2mqttUtils.pm line 321.
2021.03.16 08:13:28 1: PERL WARNING: Subroutine sonos2mqtt_getList redefined at ./FHEM/99_sonos2mqttUtils.pm line 350.


Spartacus
Fhem-System: 1 x raspberry PI Typ B, 1 x enOcean PI Typ B | Enocean: PTM210, FMS61NP, FAM14, 2 x FSR14-4x, FTS14-EM | LaCrosse: 2 x TX29D über Jeelink V3 | 1-Wire: 2 x DS18B20 über DS9490R