Autor Thema: Sonos2mqtt - vielleicht hat jemand Lust mitzumachen  (Gelesen 65504 mal)

Offline Otto123

  • Tester
  • Hero Member
  • ****
  • Beiträge: 20130
  • schon mal restore trainiert?
    • Otto's Technik Blog
Antw:Sonos2mqtt - vielleicht hat jemand Lust mitzumachen
« Antwort #60 am: 02 Juni 2020, 21:23:23 »
Spontan kann ich sagen: switchtotv geht nicht: not implemented :(
habe ich vorgestern schon in mehreren Variationen probiert
Viele Grüße aus Leipzig
RaspberryPi B B+ B2 B3 B3+ ZeroW,HMLAN,HMUART,Homematic,Fritz!Box 7490+7412,WRT1900ACS-OpenWrt,Sonos,VU+,Arduino nano,ESP8266

Offline 87insane

  • Hero Member
  • *****
  • Beiträge: 1476
Antw:Sonos2mqtt - vielleicht hat jemand Lust mitzumachen
« Antwort #61 am: 02 Juni 2020, 21:51:32 »
also ich kann das nicht testen da ich kein Gerät habe was das kann.... Deswegen vorhin auch meine Frage wer hier was hat.

Offline Otto123

  • Tester
  • Hero Member
  • ****
  • Beiträge: 20130
  • schon mal restore trainiert?
    • Otto's Technik Blog
Antw:Sonos2mqtt - vielleicht hat jemand Lust mitzumachen
« Antwort #62 am: 02 Juni 2020, 22:18:42 »
Die Meldung kommt direkt von dem sonos2mqtt "im Fenster" ich habe das noch interaktiv gestartet.
Das ist aus meiner Sicht empfehlenswert beim testen :)
Viele Grüße aus Leipzig
RaspberryPi B B+ B2 B3 B3+ ZeroW,HMLAN,HMUART,Homematic,Fritz!Box 7490+7412,WRT1900ACS-OpenWrt,Sonos,VU+,Arduino nano,ESP8266

Offline 87insane

  • Hero Member
  • *****
  • Beiträge: 1476
Antw:Sonos2mqtt - vielleicht hat jemand Lust mitzumachen
« Antwort #63 am: 02 Juni 2020, 22:28:13 »
Me2... Würde das im Leben so nicht laufen lassen. Wobei das aktuell schon gehen würde.

Hätt ja auch mal ne Meldung direkt aus der Konsole gepostet. Hatte tatsächlich gerade "fenster" geschrieben [emoji33] (bis mir auffiel das du das sehr "neutral" erklärt hast...)

Was steht nun auf dem Aufgaben zettel?
Aus meinem Post sind noch dinge offen. Da weiß ich ad-hoc nicht weiter.

Gesendet von meinem LM-G810 mit Tapatalk
« Letzte Änderung: 02 Juni 2020, 22:46:32 von 87insane »

Offline Beta-User

  • Developer
  • Hero Member
  • ****
  • Beiträge: 16783
Antw:Sonos2mqtt - vielleicht hat jemand Lust mitzumachen
« Antwort #64 am: 03 Juni 2020, 05:50:47 »
Vielleicht noch ein etwas generischerer Hinweis: Es sollte https://wiki.fhem.de/wiki/DevelopmentGuidelinesAV beachtet werden ;) .

Was das switchtotv angeht, wird das wohl nur bei wenigen Modellen unterstützt (stand irgendwo in der Doku).

Da wir vermutlich mehr Perl in der setList brauchen (wg. DevelopmentGuidelinesAV), würde ich vorschlagen, die eigentlichen Sendestrings erst ganz am Ende zusammenzubauen, dürfte effektiv kürzer werden, und das dann mit "qq" zu interpolieren. Damit ich nicht lange die Fachbegriffe erläutern muß ein Beispiel, das hoffentlich funktioniert:
mute:on,off { my $value = $EVTPART1 eq "on" ? "mute" : "unmute"; qq(
sonos/RINCON_7828CAF427B201400/control { "command": "$value" } ) }

Und statt Perl-devStateIcon würde ich hier zur multiline-stateFormat+regex-devStateIcon-Variante tendieren...
Server: HP-T620@Debian 11, aktuelles FHEM + ConfigDB | CUL_HM (VCCU) | MQTT2: MiLight@ESP-GW, BT@OpenMQTTGw | MySensors: seriell, v.a. 2.3.1@RS485 | ZWave | ZigBee@deCONZ | SIGNALduino | MapleCUN | RHASSPY
svn:MySensors, Weekday-&RandomTimer, Twilight,  AttrTemplate {u.a. mqtt2, mysensors, zwave}

Offline Otto123

  • Tester
  • Hero Member
  • ****
  • Beiträge: 20130
  • schon mal restore trainiert?
    • Otto's Technik Blog
Antw:Sonos2mqtt - vielleicht hat jemand Lust mitzumachen
« Antwort #65 am: 03 Juni 2020, 13:00:35 »
Was das switchtotv angeht, wird das wohl nur bei wenigen Modellen unterstützt (stand irgendwo in der Doku).
Ja, das dürften bei mir die playbase und die beam sein. zumindest heben beide den TV Knopf in der Sonos UI.
Ich wollte gestern damit nur sagen: Es gibt ne Liste und es gibt die Realität :)
Ich weiß auch nicht genau was da aufeinander aufbaut (mehrere node Module (node-sonos-ts)beteiligt?!)
Und es gab die Aussage: es ist nicht alles direkt implementiert, aber man kann sich "RAW" mit Sonos unterhalten -> adv-command - damit hab ich auch schon, leider bisher völlig erfolglos, rumprobiert. Da braucht man wieder einen Übersetzer :) für Doku.
Viele Grüße aus Leipzig
RaspberryPi B B+ B2 B3 B3+ ZeroW,HMLAN,HMUART,Homematic,Fritz!Box 7490+7412,WRT1900ACS-OpenWrt,Sonos,VU+,Arduino nano,ESP8266

Offline TomLee

  • Hero Member
  • *****
  • Beiträge: 3855
  • ... wer sät, der erntet ...
Antw:Sonos2mqtt - vielleicht hat jemand Lust mitzumachen
« Antwort #66 am: 03 Juni 2020, 16:00:17 »
Bei mir kommt immer false zurück im Reading mute_Master, ist das bei euch auch so ?
muten on/off klappt aber ohne Probleme.

defmod MQTT2_SONOS_SPEAKER_WOHNZIMMER MQTT2_DEVICE RINCON_000E58F7F67C01400
attr MQTT2_SONOS_SPEAKER_WOHNZIMMER IODev MQTT2_Server
attr MQTT2_SONOS_SPEAKER_WOHNZIMMER jsonMap volume_Master:volume mute_Master:mute
attr MQTT2_SONOS_SPEAKER_WOHNZIMMER readingList sonos/RINCON_000E58F7F67C01400:.* { json2nameValue($EVENT,'',$JSONMAP) }
attr MQTT2_SONOS_SPEAKER_WOHNZIMMER room MQTT2_DEVICE
attr MQTT2_SONOS_SPEAKER_WOHNZIMMER setList mute:on,off { my $value = $EVTPART1 eq "on" ? "mute" : "unmute";; qq(sonos/RINCON_000E58F7F67C01400/control { "command": "$value" } ) }\
next:noArg sonos/RINCON_000E58F7F67C01400/control { "command": "next" }\
pause:noArg sonos/RINCON_000E58F7F67C01400/control { "command": "pause" }\
play:noArg sonos/RINCON_000E58F7F67C01400/control { "command": "play" }\
previous:noArg sonos/RINCON_000E58F7F67C01400/control { "command": "previous" }\
volume:slider,0,1,100 sonos/RINCON_000E58F7F67C01400/control { "command": "volume", "input": $EVTPART1 }\
stop:noArg sonos/RINCON_000E58F7F67C01400/control { "command": "stop" }

setstate MQTT2_SONOS_SPEAKER_WOHNZIMMER play
setstate MQTT2_SONOS_SPEAKER_WOHNZIMMER 2020-06-03 15:42:39 coordinatorUuid RINCON_000E58F7F67C01400
setstate MQTT2_SONOS_SPEAKER_WOHNZIMMER 2020-06-03 15:42:39 currentTrack_AlbumArtUri https://cdn-radiotime-logos.tunein.com/s2485q.png
setstate MQTT2_SONOS_SPEAKER_WOHNZIMMER 2020-06-03 15:42:39 currentTrack_Artist BENEE FEAT. GUS DAPPERTON
setstate MQTT2_SONOS_SPEAKER_WOHNZIMMER 2020-06-03 15:42:39 currentTrack_ItemId -1
setstate MQTT2_SONOS_SPEAKER_WOHNZIMMER 2020-06-03 15:42:39 currentTrack_ParentId -1
setstate MQTT2_SONOS_SPEAKER_WOHNZIMMER 2020-06-03 15:42:39 currentTrack_ProtocolInfo aac:*:application/octet-stream:*
setstate MQTT2_SONOS_SPEAKER_WOHNZIMMER 2020-06-03 15:42:39 currentTrack_Title SUPALONELY
setstate MQTT2_SONOS_SPEAKER_WOHNZIMMER 2020-06-03 15:42:39 currentTrack_TrackUri aac://http://streams.regenbogen.de/rr-mannheim-128-aac?usid=0-0-H-A-V-02
setstate MQTT2_SONOS_SPEAKER_WOHNZIMMER 2020-06-03 15:42:39 currentTrack_UpnpClass object.item
setstate MQTT2_SONOS_SPEAKER_WOHNZIMMER 2020-06-03 15:42:39 enqueuedMetadata_AlbumArtUri https://cdn-radiotime-logos.tunein.com/s2485q.png
setstate MQTT2_SONOS_SPEAKER_WOHNZIMMER 2020-06-03 15:42:39 enqueuedMetadata_ItemId -1
setstate MQTT2_SONOS_SPEAKER_WOHNZIMMER 2020-06-03 15:42:39 enqueuedMetadata_ParentId -1
setstate MQTT2_SONOS_SPEAKER_WOHNZIMMER 2020-06-03 15:42:39 enqueuedMetadata_Title 102.8 Radio Regenbogen Heidelberg
setstate MQTT2_SONOS_SPEAKER_WOHNZIMMER 2020-06-03 15:42:39 enqueuedMetadata_UpnpClass object.item.audioItem.audioBroadcast
setstate MQTT2_SONOS_SPEAKER_WOHNZIMMER 2020-06-03 15:42:39 groupName Wohnzimmer
setstate MQTT2_SONOS_SPEAKER_WOHNZIMMER 2020-06-03 15:42:39 mute false
setstate MQTT2_SONOS_SPEAKER_WOHNZIMMER 2020-06-03 15:42:39 mute_LF false
setstate MQTT2_SONOS_SPEAKER_WOHNZIMMER 2020-06-03 15:42:39 mute_RF false
setstate MQTT2_SONOS_SPEAKER_WOHNZIMMER 2020-06-03 15:42:39 name Wohnzimmer
setstate MQTT2_SONOS_SPEAKER_WOHNZIMMER 2020-06-03 15:42:39 playmode NORMAL
setstate MQTT2_SONOS_SPEAKER_WOHNZIMMER 2020-06-03 15:40:05 state play
setstate MQTT2_SONOS_SPEAKER_WOHNZIMMER 2020-06-03 15:42:39 transportState PLAYING
setstate MQTT2_SONOS_SPEAKER_WOHNZIMMER 2020-06-03 15:42:39 ts 1591191759246
setstate MQTT2_SONOS_SPEAKER_WOHNZIMMER 2020-06-03 15:42:39 uuid RINCON_000E58F7F67C01400
setstate MQTT2_SONOS_SPEAKER_WOHNZIMMER 2020-06-03 15:31:31 volume 9
setstate MQTT2_SONOS_SPEAKER_WOHNZIMMER 2020-06-03 15:31:31 volume_LF 100
setstate MQTT2_SONOS_SPEAKER_WOHNZIMMER 2020-06-03 15:31:31 volume_RF 100

Offline 87insane

  • Hero Member
  • *****
  • Beiträge: 1476
Antw:Sonos2mqtt - vielleicht hat jemand Lust mitzumachen
« Antwort #67 am: 03 Juni 2020, 16:15:15 »
Wenn ich mich nicht täusche, hast du ohne Gruppen auch keinen Master.

Gesendet von meinem LM-G810 mit Tapatalk


Offline TomLee

  • Hero Member
  • *****
  • Beiträge: 3855
  • ... wer sät, der erntet ...
Antw:Sonos2mqtt - vielleicht hat jemand Lust mitzumachen
« Antwort #68 am: 03 Juni 2020, 16:24:52 »
Ok, versteh ich. Unabhängig davon wie das richtige Reading zu dem mute Kommando heißt, es ändert sich unter keinem anderen Topic irgendein Reading wenn ich mute, ist das bei dir auch so ?

Offline 87insane

  • Hero Member
  • *****
  • Beiträge: 1476
Antw:Sonos2mqtt - vielleicht hat jemand Lust mitzumachen
« Antwort #69 am: 03 Juni 2020, 16:28:09 »
Wie ich schrieb...
Hab das zwar gepflegt und alles abgetippt nach besten Wissen und Gewissen aber getestet nur grob. Schaue ich mir an. Bin aber noch auf der Arbeit.

Gesendet von meinem LM-G810 mit Tapatalk


Offline TomLee

  • Hero Member
  • *****
  • Beiträge: 3855
  • ... wer sät, der erntet ...
Antw:Sonos2mqtt - vielleicht hat jemand Lust mitzumachen
« Antwort #70 am: 03 Juni 2020, 16:36:07 »
Moment, versteh ich noch net ganz.

Zitat
Status message

We emit a single status message for each sonos speaker, on the sonos/uuid_of_speaker topic. This status message is a combination of all the sonos events we are listening for. Just create an issue (or PR) if you think there should be more data send to mqtt.

Topic: sonos/RINCON_000E5000000001400 this message is retained.

{
  "uuid" : "RINCON_000E5000000001400",
  "name" : "Kantoor",
  "groupName" : "Kantoor",
  "coordinatorUuid" : "RINCON_000E5000000001400",
  "currentTrack" : {
    "Album" : "Hard Bass 2012 Mixed by The Pitcher, Luna, Frontliner and Chris One",
    "Artist" : "Pavo",
    "AlbumArtUri" : "http://192.168.1.105:1400/getaa?s=1&u=x-sonos-spotify:spotify:track:3Je8RHcdTJ8NGG3krmCHUd%3fsid%3d9%26flags%3d8224%26sn%3d7",
    "Title" : "Let’s Go! - Radio Edit",
    "UpnpClass" : "object.item.audioItem.musicTrack",
    "Duration" : "0:04:06",
    "ItemId" : "-1",
    "ParentId" : "-1",
    "TrackUri" : "x-sonos-spotify:spotify:track:3Je8RHcdTJ8NGG3krmCHUd?sid=9&flags=8224&sn=7",
    "ProtocolInfo" : "sonos.com-spotify:*:audio/x-spotify:*"
  },
  "enqueuedMetadata" : {
    "Artist" : "stephanvanrooij",
    "AlbumArtUri" : "https://mosaic.scdn.co/640/ab67616d0000b27323f45715a7ccccab470d29b2ab67616d0000b273819f90c805b6a4a816495df9ab67616d0000b273be8e9b832634616dcf14ca97ab67616d0000b273d2cb2c655c141aa8e7fff4f0",
    "Title" : "Hardstyle",
    "UpnpClass" : "object.container.playlistContainer",
    "ItemId" : "10062a6cspotify%3aplaylist%3a5e2KheF9qKRvqCwtFlKEme",
    "ParentId" : "00080024playlists"
  },
  "nextTrack" : {
    "Album" : "Renegades",
    "Artist" : "Frequencerz",
    "AlbumArtUri" : "http://192.168.1.105:1400/getaa?s=1&u=x-sonos-spotify:spotify:track:7iGbCV07PTIWpEBXUoIZG3%3fsid%3d9%26flags%3d8224%26sn%3d7",
    "Title" : "Renegades",
    "UpnpClass" : "object.item.audioItem.musicTrack",
    "Duration" : "0:04:52",
    "ItemId" : "-1",
    "ParentId" : "-1",
    "TrackUri" : "x-sonos-spotify:spotify:track:7iGbCV07PTIWpEBXUoIZG3?sid=9&flags=8224&sn=7",
    "ProtocolInfo" : "sonos.com-spotify:*:audio/x-spotify:*"
  },
  "transportState" : "PLAYING",
  "playmode" : "SHUFFLE",
  "ts" : 1586344373119,
  "volume" : {
    "Master" : 7,
    "LF" : 100,
    "RF" : 100
  },
  "mute" : {
    "Master" : false,
    "LF" : false,
    "RF" : false
  }

}

ändere ja auch mit dem volume Kommando volume_Master

Offline 87insane

  • Hero Member
  • *****
  • Beiträge: 1476
Antw:Sonos2mqtt - vielleicht hat jemand Lust mitzumachen
« Antwort #71 am: 03 Juni 2020, 16:47:49 »
Bin ja schon fast am pc.... Ruhig Blut :-P danke aber für das raus suchen...

Gesendet von meinem LM-G810 mit Tapatalk


Offline 87insane

  • Hero Member
  • *****
  • Beiträge: 1476
Antw:Sonos2mqtt - vielleicht hat jemand Lust mitzumachen
« Antwort #72 am: 03 Juni 2020, 17:56:42 »
Habs gefunden.. schreibe gleich was dazu... Muss nun noch zurück setzen und testen.

Offline Otto123

  • Tester
  • Hero Member
  • ****
  • Beiträge: 20130
  • schon mal restore trainiert?
    • Otto's Technik Blog
Antw:Sonos2mqtt - vielleicht hat jemand Lust mitzumachen
« Antwort #73 am: 03 Juni 2020, 18:10:03 »
Ich habe mal Beta-Users AttrTemplate getestet. Funktioniert - wenn man das herum ludernde " Am Dateiende wieder löscht :)
Ich habe einfach alles was ich bisher an MQTT2_Devices hatte gelöscht.
Habe den sonos2mqtt beendet.
Dann habe ich define SonosBridge MQTT2_DEVICE ein leeres Device angelegt. AttrTemplate  sonos2mqtt_bridge angwendet, dabei musste ich sonos eingeben und fertig.
Nach dem Start von sonos2mqtt hat er die RINCON_ Devices angelegt. dort dann AttrTemplate sonos2mqtt_speaker angewendet. :)

Muss man die Template Datei auch reload machen wenn man sie mit nano geändert hat? Scheinbar ... aber wie geht das?
« Letzte Änderung: 03 Juni 2020, 18:15:15 von Otto123 »
Viele Grüße aus Leipzig
RaspberryPi B B+ B2 B3 B3+ ZeroW,HMLAN,HMUART,Homematic,Fritz!Box 7490+7412,WRT1900ACS-OpenWrt,Sonos,VU+,Arduino nano,ESP8266

Offline TomLee

  • Hero Member
  • *****
  • Beiträge: 3855
  • ... wer sät, der erntet ...
Antw:Sonos2mqtt - vielleicht hat jemand Lust mitzumachen
« Antwort #74 am: 03 Juni 2020, 18:25:50 »
{ AttrTemplate_Initialize() }
immer, weißt du doch.

Klar funzt das Template, bin mir aber nicht sicher ob da alle drei Topics in dem Gerät landen sollen oder jedes Topic in ein Gerät, darum hab ich in der obigen Definition nur den Rincon-Pfad drin, das gefällt mir erstmal besser.

Und ? ändert sich bei dir ein Reading auf true wenn du (die sL natürlich zuvor um den Befehl ergänzt) ein mute on ausführst ?