FHEM - Hausautomations-Systeme > MQTT

Sonos2mqtt - vielleicht hat jemand Lust mitzumachen

<< < (2/223) > >>

Otto123:
Ja hast Du Recht. Mein Fehler: beim bridgeregexp setzen wird ja die ReadingsList erstmal gelöscht.

ReadingsList wieder modfiziert einfügen und geht :)

87insane:
Aber dein Part mit der regex ist ja eh schon 3/4 der arbeit! Danke!

Den Rest können wir abgucken vom eigentlichen Modul oder neu erfinden. Das waren aber lange 2stunden :-P

Gesendet von meinem LM-G810 mit Tapatalk

hoppel118:
Ich lese hier auch mal mit.

Neulich habe ich mit Beta-User und Rudi meine Fröling Heizung per MQTT2-Server angebunden. Mehr Erfahrung habe ich auf dem Gebiet MQTT auch noch nicht.

Der MQTT Client der Open Source Software „p4d“ zur Anbindung meiner Heizung war ursprünglich auch für homeassistant geschrieben. Der Entwickler dahinter war aber offen für alles mögliche und hat einige Anpassungen für FHEM und Openhab vorgenommen, so dass man nun den homeassistant spezifischen Kram deaktivieren kann.

Momentan bin ich erstmal ein paar Wochen unterwegs und nicht am Rechner.

Viele Grüße Hoppel

Otto123:

--- Zitat von: 87insane am 31 Mai 2020, 21:25:26 ---
Hast du eine Version vom installierten sonos2mqtt oder aber einen online Status der Bridge? Leider habe ich das nicht.

--- Ende Zitat ---
Wie meinst Du das.

Die Bridge erzeugt ein Reading connected, da steht 0 oder 2 drin
Die Version zeigt er beim start mit --version

BTW: Ich bekomme beim HA das MQTT addon nicht konfiguriert. Das ist wieder ne andere Sprache, ne andere Philosophie, die Beschreibung und Doku vom Insider für Insider  :'( Ich hatte gehofft das geht ganz einfach  :-X

Gruß Otto

87insane:

--- Zitat ---Wie meinst Du das.
--- Ende Zitat ---
Hätte gerne in der Bridge ein Reading mit Version und dem Status ob online/offline. Haben bisher alle Bridges mit denen ich bei MQTT arbeite. Weiß nur noch nicht wie ich es bei sonos2mqtt rauß ziehen kann :\

Also ich hab HA schon ein paar mal bedient und auch bei Kollegen gesehen. Allerdings ist das in meinen Augen hier echt OT. Ich habe null gegen andere Plattformen aber das ist ggf echt einen eigenen Thread wert (das ich das mal sagen werde  ???). Sicher ist aber das die Kollegen auf einer der anderen Seiten sehr kooperativ sind! Hatte durch andere Projekte immer mal wieder Kontakt mit der "anderen Seite" :-P.
Spaß bei Seite. Das Modul kann wie alle anderen auch einen Schalter bekommen das die HA individuellen Dinge aus sind. Hat man z.B. sehr sichtbar auch in der SIDOH Bridge.

Ich spiele gerade noch mit den bridgeRegexp herum. Die gefallen mir so nicht.
Die bisherigen...

--- Code: ---sonos/RINCON_([0-9A-F]+):.* "Sonos_$1"\
homeassistant/music_player/RINCON_([0-9A-F]+)/sonos/config:.* "Sonos_$1"
--- Ende Code ---


erzeugen diese Zweige:

--- Code: ---Das bekommen wir ein mal:
sonos/connected:.* connected

Ab hier von jedem Player ein mal:
homeassistant/music_player/RINCON_5CAAFD79D52801400/sonos/config:.* { json2nameValue($EVENT) }
sonos/status/wohnzimmer/renderingcontrol:.* { json2nameValue($EVENT) }
sonos/status/wohnzimmer/avtransport:.* { json2nameValue($EVENT) }
sonos/RINCON_7828CAF427B201400:.* { json2nameValue($EVENT) }
--- Ende Code ---

Erzeugt wird dadurch:
- Jeder Player als: MQTT2_sonos_RINCON_HEX_ID_ und ReadingsList
- Ein Gerät mit dem Namen MQTT2_mqttjs_ID und ReadingsList homeassistant/music_player/RINCON_HEX_ID/sonos/config:.* { json2nameValue($EVENT) } ------ Für alle Player gemeinsam
- Ein Gerät mit dem Namen MQTT2_sonos_connected_ und ReadingsList sonos/connected:.* connected ------- In meinen Augen der Status der Bridge
- Ein Gerät mit dem Namen MQTT2_sonos_status_ und ReadingsList sonos/status/PLAYERNAME/avtransport:.* { json2nameValue($EVENT) } und sonos/status/PLAYERNAME/renderingcontrol:.* { json2nameValue($EVENT) } ------ Für alle Player gemeinsam


Jetzt müssten in meinen Augen zu den Playern auch:
- Die Komandos, diese sind im mqttjs_ID Gerät

--- Code: ---Internals:
   CFGFN     
   CID        mqttjs_6ebdc533
   DEF        mqttjs_6ebdc533
   DEVICETOPIC MQTT2_mqttjs_6ebdc533
   FUUID      5ed428a3-f33f-fcb4-c175-e05d47dba7242d57
   IODev      sonosmqtt
   NAME       MQTT2_mqttjs_6ebdc533
   NR         6247
   STATE      ???
   TYPE       MQTT2_DEVICE
   READINGS:
     2020-05-31 23:58:59   availability_topic sonos/connected
     2020-05-31 23:58:59   available_commands_1 adv-command
     2020-05-31 23:58:59   available_commands_10 playmode
     2020-05-31 23:58:59   available_commands_11 previous
     2020-05-31 23:58:59   available_commands_12 queue
     2020-05-31 23:58:59   available_commands_13 seek
     2020-05-31 23:58:59   available_commands_14 selecttrack
     2020-05-31 23:58:59   available_commands_15 setavtransporturi
     2020-05-31 23:58:59   available_commands_16 sleep
     2020-05-31 23:58:59   available_commands_17 speak
     2020-05-31 23:58:59   available_commands_18 stop
     2020-05-31 23:58:59   available_commands_19 switchtoline
     2020-05-31 23:58:59   available_commands_2 command
     2020-05-31 23:58:59   available_commands_20 switchtoqueue
     2020-05-31 23:58:59   available_commands_21 switchtotv
     2020-05-31 23:58:59   available_commands_22 toggle
     2020-05-31 23:58:59   available_commands_23 unmute
     2020-05-31 23:58:59   available_commands_24 volume
     2020-05-31 23:58:59   available_commands_25 volumedown
     2020-05-31 23:58:59   available_commands_26 volumeup
     2020-05-31 23:58:59   available_commands_3 joingroup
     2020-05-31 23:58:59   available_commands_4 leavegroup
     2020-05-31 23:58:59   available_commands_5 mute
     2020-05-31 23:58:59   available_commands_6 next
     2020-05-31 23:58:59   available_commands_7 notify
     2020-05-31 23:58:59   available_commands_8 pause
     2020-05-31 23:58:59   available_commands_9 play
     2020-05-31 23:58:59   command_topic   sonos/RINCON_5CAAFD79D52801400/control
     2020-05-31 23:58:59   device_class    speaker
     2020-05-31 23:58:59   device_identifiers_1 RINCON_5CAAFD79D52801400
     2020-05-31 23:58:59   device_manufacturer Sonos
     2020-05-31 23:58:59   device_name     Badezimmer
     2020-05-31 23:58:59   icon            mdi:speaker
     2020-05-31 23:58:59   json_attributes true
     2020-05-31 23:58:59   json_attributes_topic sonos/RINCON_5CAAFD79D52801400
     2020-05-31 23:58:59   name            Badezimmer
     2020-05-31 23:58:59   payload_available 2
     2020-05-31 23:58:59   state_topic     sonos/RINCON_5CAAFD79D52801400
     2020-05-31 23:59:01   subscriptions   sonos/+/control sonos/cmd/+ sonos/set/+/+
     2020-05-31 23:58:59   unique_id       sonos2mqtt_RINCON_5CAAFD79D52801400_speaker
Attributes:
   IODev      sonosmqtt
   readingList mqttjs_6ebdc533:homeassistant/music_player/RINCON_7828CAF4289001400/sonos/config:.* { json2nameValue($EVENT) }
mqttjs_6ebdc533:homeassistant/music_player/RINCON_7828CAF427B201400/sonos/config:.* { json2nameValue($EVENT) }
mqttjs_6ebdc533:homeassistant/music_player/RINCON_5CAAFD79D52801400/sonos/config:.* { json2nameValue($EVENT) }
   room       MQTT2_DEVICE
--- Ende Code ---

- Die Einstellungen der Player und auch die Trackinfos. Diese sind im MQTT_sonos_status Gerät:

--- Code: ---Internals:
   CFGFN     
   CID        sonos_status_
   DEF        sonos_status_
   DEVICETOPIC MQTT2_sonos_status_
   FUUID      5ed428a3-f33f-fcb4-d7cf-847acbc230c4f24e
   IODev      sonosmqtt
   NAME       MQTT2_sonos_status_
   NR         6248
   STATE      ???
   TYPE       MQTT2_DEVICE
   READINGS:
     2020-05-31 23:59:04   AVTransportURI  x-sonosapi-stream:s306651?sid=254&flags=8224&sn=0
     2020-05-31 23:59:00   AVTransportURIMetaData_AlbumArtUri https://img.ardmediathek.de/standard/00/42/92/13/72/-295433861/1x1/576?mandant=ard
     2020-05-31 23:59:04   AVTransportURIMetaData_ItemId -1
     2020-05-31 23:59:04   AVTransportURIMetaData_ParentId -1
     2020-05-31 23:59:04   AVTransportURIMetaData_Title DJ Mag Germany Radio by iloveradio.de
     2020-05-31 23:59:04   AVTransportURIMetaData_UpnpClass object.item.audioItem.audioBroadcast
     2020-05-31 23:59:04   AlarmRunning    false
     2020-05-31 23:59:01   Bass            0
     2020-05-31 23:59:04   CurrentCrossfadeMode false
     2020-05-31 23:59:04   CurrentMediaDuration NOT_IMPLEMENTED
     2020-05-31 23:59:04   CurrentPlayMode NORMAL
     2020-05-31 23:59:04   CurrentRecordQualityMode NOT_IMPLEMENTED
     2020-05-31 23:59:04   CurrentSection  0
     2020-05-31 23:59:04   CurrentTrack    1
     2020-05-31 23:59:04   CurrentTrackDuration 0:00:00
     2020-05-31 23:59:04   CurrentTrackMetaData_AlbumArtUri http://192.168.20.71:1400/getaa?s=1&u=x-sonosapi-stream:s306651%3fsid%3d254%26flags%3d8224%26sn%3d0
     2020-05-31 23:59:04   CurrentTrackMetaData_ItemId -1
     2020-05-31 23:59:04   CurrentTrackMetaData_ParentId -1
     2020-05-31 23:59:04   CurrentTrackMetaData_ProtocolInfo sonos.com-http:*:audio/mpeg:*
     2020-05-31 23:59:04   CurrentTrackMetaData_Title x-sonosapi-stream:s306651?sid=254&flags=8224&sn=0
     2020-05-31 23:59:04   CurrentTrackMetaData_TrackUri x-sonosapi-stream:s306651?sid=254&flags=8224&sn=0
     2020-05-31 23:59:04   CurrentTrackMetaData_UpnpClass object.item.audioItem.musicTrack
     2020-05-31 23:59:04   CurrentTrackURI aac://http://stream02.iloveradio.de/iloveradio4-aac.mp3
     2020-05-31 23:59:04   CurrentTransportActions Set, Stop, Play
     2020-05-31 23:59:00   CurrentValidPlayModes SHUFFLE,REPEAT,REPEATONE,CROSSFADE
     2020-05-31 23:59:04   DirectControlIsSuspended false
     2020-05-31 23:59:04   EnqueuedTransportURI x-sonosapi-stream:s306651?sid=254&flags=8224&sn=0
     2020-05-31 23:59:00   EnqueuedTransportURIMetaData_AlbumArtUri https://img.ardmediathek.de/standard/00/42/92/13/72/-295433861/1x1/576?mandant=ard
     2020-05-31 23:59:04   EnqueuedTransportURIMetaData_ItemId -1
     2020-05-31 23:59:04   EnqueuedTransportURIMetaData_ParentId -1
     2020-05-31 23:59:04   EnqueuedTransportURIMetaData_Title DJ Mag Germany Radio by iloveradio.de
     2020-05-31 23:59:04   EnqueuedTransportURIMetaData_UpnpClass object.item.audioItem.audioBroadcast
     2020-05-31 23:59:01   HeadphoneConnected false
     2020-05-31 23:59:01   Loudness        true
     2020-05-31 23:59:01   Mute_LF         false
     2020-05-31 23:59:01   Mute_Master     false
     2020-05-31 23:59:01   Mute_RF         false
     2020-05-31 23:59:04   NumberOfTracks  2
     2020-05-31 23:59:01   OutputFixed     false
     2020-05-31 23:59:04   PlaybackStorageMedium NETWORK
     2020-05-31 23:59:04   PossiblePlaybackStorageMedia NONE, NETWORK
     2020-05-31 23:59:04   PossibleRecordQualityModes NOT_IMPLEMENTED
     2020-05-31 23:59:04   PossibleRecordStorageMedia NOT_IMPLEMENTED
     2020-05-31 23:59:01   PresetNameList  FactoryDefaults
     2020-05-31 23:59:04   RecordMediumWriteStatus NOT_IMPLEMENTED
     2020-05-31 23:59:04   RecordStorageMedium NOT_IMPLEMENTED
     2020-05-31 23:59:04   RestartPending  false
     2020-05-31 23:59:04   SleepTimerGeneration 0
     2020-05-31 23:59:04   SnoozeRunning   false
     2020-05-31 23:59:01   SpeakerSize     5
     2020-05-31 23:59:01   SubCrossover    0
     2020-05-31 23:59:01   SubEnabled      true
     2020-05-31 23:59:01   SubGain         0
     2020-05-31 23:59:01   SubPolarity     0
     2020-05-31 23:59:04   TransportPlaySpeed NOT_IMPLEMENTED
     2020-05-31 23:59:04   TransportState  STOPPED
     2020-05-31 23:59:04   TransportStatus OK
     2020-05-31 23:59:01   Treble          0
     2020-05-31 23:59:01   Volume_LF       100
     2020-05-31 23:59:01   Volume_Master   18
     2020-05-31 23:59:01   Volume_RF       100
     2020-05-31 23:59:04   associatedWith  MQTT2_sonos_bridge
Attributes:
   IODev      sonosmqtt
   readingList sonos/status/wohnzimmer/avtransport:.* { json2nameValue($EVENT) }
sonos/status/badezimmer/avtransport:.* { json2nameValue($EVENT) }
sonos/status/wohnzimmer/renderingcontrol:.* { json2nameValue($EVENT) }
sonos/status/k\xc3\xbcche/renderingcontrol:.* { json2nameValue($EVENT) }
sonos/status/badezimmer/renderingcontrol:.* { json2nameValue($EVENT) }
sonos/status/k\xc3\xbcche/avtransport:.* { json2nameValue($EVENT) }
   room       MQTT2_DEVICE
--- Ende Code ---

Was ich noch noch nicht weiß, wie ich über bridgeRegexp die zusammenhängenden Infos auch zusammen führen kann.
- Beispielsweise trägt das mqttjs Gerät ein Reading (device_name) mit dem Playernamen als Inhalt. Bei mir sind das Raumnamen.
- Gleichzeitig trägt das Player Device ein Reading (name) mit dem Playernamen als Inhalt bei sich (Auch Player oder bei mir Raumname).
- Was mir noch sorgen macht ist das status Gerät. Hier steht kein Name oder so drin. Hier hat man in meinen Augen nur die IP als Indiz, welches Gerät hier gerade Party macht. Diese auch nicht direkt sondern aus dem Reading "CurrentTrackMetaData_AlbumArtUri" ausgefiltert.

Wenn wir das hinbekommen würden, hätten wir eine laufende Bridge und könnten das einfach zu einem Template umwandeln. So wie auch die SIDOH Bridge.
Ich glaube das die o.g. Zusammenhänge zwischen den Geräten sicher auch dafür sorgen können, das diese zu einem DEV werden via Regex. Aber die Regex packe ich nicht :(
Die beiden Geräte mit dem RINCON_.* bekomme ich noch hin aber die Zuordnung zu dem Playernamen?!

So sollte ein Gerät aussehen in meinen Augen:

--- Code: ---Internals:
   CFGFN     
   CID        sonos_RINCON_7828CAF427B201400_
   DEF        sonos_RINCON_7828CAF427B201400_
   DEVICETOPIC MQTT2_sonos_RINCON_7828CAF427B201400_
   FUUID      5ed428a5-f33f-fcb4-47bf-1e8f246956108ee7
   IODev      sonosmqtt
   LASTInputDev sonosmqtt
   MSGCNT     4
   NAME       MQTT2_sonos_RINCON_7828CAF427B201400_
   NR         6249
   STATE      ???
   TYPE       MQTT2_DEVICE
   sonosmqtt_MSGCNT 4
   sonosmqtt_TIME 2020-06-01 00:40:14
   READINGS:
     2020-06-01 00:40:09   Bass            0
     2020-06-01 00:40:09   HeadphoneConnected false
     2020-06-01 00:40:09   Loudness        true
     2020-06-01 00:40:09   Mute_LF         false
     2020-06-01 00:40:09   Mute_Master     false
     2020-06-01 00:40:09   Mute_RF         false
     2020-06-01 00:40:09   OutputFixed     false
     2020-06-01 00:40:09   PresetNameList  FactoryDefaults
     2020-06-01 00:40:09   SpeakerSize     5
     2020-06-01 00:40:09   SubCrossover    0
     2020-06-01 00:40:09   SubEnabled      true
     2020-06-01 00:40:09   SubGain         0
     2020-06-01 00:40:09   SubPolarity     0
     2020-06-01 00:40:09   Treble          0
     2020-06-01 00:40:09   Volume_LF       100
     2020-06-01 00:40:09   Volume_Master   20
     2020-06-01 00:40:09   Volume_RF       100
     2020-05-31 23:59:01   associatedWith  MQTT2_sonos_bridge
     2020-06-01 00:40:09   availability_topic sonos/connected
     2020-06-01 00:40:09   available_commands_1 adv-command
     2020-06-01 00:40:09   available_commands_10 playmode
     2020-06-01 00:40:09   available_commands_11 previous
     2020-06-01 00:40:09   available_commands_12 queue
     2020-06-01 00:40:09   available_commands_13 seek
     2020-06-01 00:40:09   available_commands_14 selecttrack
     2020-06-01 00:40:09   available_commands_15 setavtransporturi
     2020-06-01 00:40:09   available_commands_16 sleep
     2020-06-01 00:40:09   available_commands_17 speak
     2020-06-01 00:40:09   available_commands_18 stop
     2020-06-01 00:40:09   available_commands_19 switchtoline
     2020-06-01 00:40:09   available_commands_2 command
     2020-06-01 00:40:09   available_commands_20 switchtoqueue
     2020-06-01 00:40:09   available_commands_21 switchtotv
     2020-06-01 00:40:09   available_commands_22 toggle
     2020-06-01 00:40:09   available_commands_23 unmute
     2020-06-01 00:40:09   available_commands_24 volume
     2020-06-01 00:40:09   available_commands_25 volumedown
     2020-06-01 00:40:09   available_commands_26 volumeup
     2020-06-01 00:40:09   available_commands_3 joingroup
     2020-06-01 00:40:09   available_commands_4 leavegroup
     2020-06-01 00:40:09   available_commands_5 mute
     2020-06-01 00:40:09   available_commands_6 next
     2020-06-01 00:40:09   available_commands_7 notify
     2020-06-01 00:40:09   available_commands_8 pause
     2020-06-01 00:40:09   available_commands_9 play
     2020-06-01 00:40:09   command_topic   sonos/RINCON_7828CAF427B201400/control
     2020-06-01 00:40:14   coordinatorUuid RINCON_7828CAF427B201400
     2020-06-01 00:40:14   currentTrack_AlbumArtUri http://192.168.20.70:1400/getaa?u=x-rincon-mp3radio:%2f%2fhttps:%2f%2fwdr-1live-live.icecastssl.wdr.de%2fwdr%2f1live%2flive%2fmp3%2f128%2fstream.mp3%3far-distributor%3df0e2&v=1
     2020-06-01 00:40:14   currentTrack_ItemId -1
     2020-06-01 00:40:14   currentTrack_ParentId -1
     2020-06-01 00:40:14   currentTrack_ProtocolInfo x-rincon-mp3radio:*:*:*
     2020-06-01 00:40:14   currentTrack_Title 1LIVE
     2020-06-01 00:40:14   currentTrack_TrackUri x-rincon-mp3radio://https://wdr-1live-live.icecastssl.wdr.de/wdr/1live/live/mp3/128/stream.mp3?ar-distributor=f0e2
     2020-06-01 00:40:14   currentTrack_UpnpClass object.item
     2020-06-01 00:40:09   device_class    speaker
     2020-06-01 00:40:09   device_identifiers_1 RINCON_7828CAF427B201400
     2020-06-01 00:40:09   device_manufacturer Sonos
     2020-06-01 00:40:09   device_name     Wohnzimmer
     2020-06-01 00:40:14   enqueuedMetadata_AlbumArtUri https://img.ardmediathek.de/standard/00/42/92/13/72/-295433861/1x1/576?mandant=ard
     2020-06-01 00:40:14   enqueuedMetadata_ItemId -1
     2020-06-01 00:40:14   enqueuedMetadata_ParentId -1
     2020-06-01 00:40:14   enqueuedMetadata_Title 1LIVE
     2020-06-01 00:40:14   enqueuedMetadata_UpnpClass object.item.audioItem.audioBroadcast
     2020-06-01 00:40:14   groupName       Wohnzimmer
     2020-06-01 00:40:09   icon            mdi:speaker
     2020-06-01 00:40:09   json_attributes true
     2020-06-01 00:40:09   json_attributes_topic sonos/RINCON_7828CAF427B201400
     2020-06-01 00:40:14   mute_LF         false
     2020-06-01 00:40:14   mute_Master     false
     2020-06-01 00:40:14   mute_RF         false
     2020-06-01 00:40:14   name            Wohnzimmer
     2020-06-01 00:40:09   payload_available 2
     2020-06-01 00:40:14   playmode        NORMAL
     2020-06-01 00:40:09   state_topic     sonos/RINCON_7828CAF427B201400
     2020-06-01 00:40:14   transportState  STOPPED
     2020-06-01 00:40:14   ts              1590964814183
     2020-06-01 00:40:09   unique_id       sonos2mqtt_RINCON_7828CAF427B201400_speaker
     2020-06-01 00:40:14   uuid            RINCON_7828CAF427B201400
     2020-06-01 00:40:14   volume_LF       100
     2020-06-01 00:40:14   volume_Master   20
     2020-06-01 00:40:14   volume_RF       100
Attributes:
   IODev      sonosmqtt
   alias      wz
   readingList sonos/RINCON_7828CAF427B201400:.* { json2nameValue($EVENT) }
sonos/status/wohnzimmer/renderingcontrol:.* { json2nameValue($EVENT) }
homeassistant/music_player/RINCON_7828CAF427B201400/sonos/config:.* { json2nameValue($EVENT) }
   room       MQTT2_DEVICE
--- Ende Code ---

Natürlich ist hier KEIN DESIGN oder so drin. Erstmal nur richtig zuordnen und zusammen führen...
setlist habe ich für heute mal weg gelassen. das ergibt sich dann ja eh. Du hattest damit auch schon angefangen, wie ich sah.

PS: Play, Pause, Vol gehen bei mir so nicht. Aber für heute ist auch genug

Soooooo.. gute Nacht zusammen :)

Navigation

[0] Themen-Index

[#] Nächste Seite

[*] Vorherige Sete

Zur normalen Ansicht wechseln