Sonos2mqtt currentTrack_.* wird nicht aktualisiert wenn Gruppenmitglied

Begonnen von Guybrush, 22 März 2026, 13:27:42

Vorheriges Thema - Nächstes Thema

Guybrush

mir ist aufgefallen, dass bei mir die currentTrack_.* Readings bei Sonos Gräten, die nicht als Master Mitglied einer Gruppe sind, aktualisiert werden. Das ist etwas blöd, wenn man auf den Slaves, die anderen Räumen zugewiesen sind, nicht direkt sieht was läuft. Das ist zwar nichts kritisches, aber unschön. Ist das denn richtig so, oder habe ich einen Konfigurationsfehler bzw. anders gefragt - kann man es über das Modul steuern, dass die currentTrack_.* Readings der Slaves immer aktualisiert werden?

Ich hab mir als Workaround ein notify dafür angelegt:
Sonos.FlurEG:currentTrack_TrackUri:.* {
my $hash = $defs{$NAME};
my $readings = $hash->{READINGS};
my $master = ReadingsVal($NAME, 'Master', '');

if ($master eq ReadingsVal($NAME, 'name', '')) {
my @list = devspec2array(".*:FILTER=DEF=RINCON.*:FILTER=name!=$master:FILTER=Master=$master");
foreach my $device (@list) {
foreach my $reading ( keys %{$readings} ) {
if ($reading =~ m/^currentTrack_.+$/) {
fhem("setreading $device $reading ".ReadingsVal($NAME, $reading, ''));
}
}
}
}
}

Mein Sonos.FlurEG ist Master und dort sind 6 Sonosgeräte hinzugefügt. So wird jetzt jedenfalls überall currentTrack_.* aktualisiert.

Otto123

Hi,

ich denke, dass Sonos die Information schlicht und ergreifend nicht liefert. Damit auch das sonos2mqtt Programm nicht. Im Sonosplayer verschwindet ja der Slave Player und es gibt nur noch eine Anzeige des Raumes.

Einen Konfigurationsfehler hast Du nicht und es mit dem Workaround gelöst. ;)

Gruß Otto
Viele Grüße aus Leipzig  ⇉  nächster Stammtisch an der Lindennaundorfer Mühle

aktives Mitglied des FHEM e.V. (Technik)

Treibhaus

Hallo,

bei mir habe ich Stereopaare.
Nicht einen Master.

Ausserdem hänge ich mit dem Notify:
RAW-Eingabe:

defmod SonosKueche_Stereopair_cover.notify notify RINCON_G8xxx4A01xx:currentTrack_TrackUri:.* {
    my $hash = $defs{$NAME};
    my $readings = $hash->{READINGS};
....
...
}


führt zu eine Fehlermeldung:
Missing right curly or square bracket at (eval 787795) line 1, at end of line
syntax error at (eval 787795) line 1, at EOF


Signatur:
Raspberry 5 & NVMe + HM-Module für 3 Etagen (inkl  Garage/Garten) 
+BSC EnOcean TCM310 -Fensterkontakt,-Bewegungsmelder
+ 1-wired Temp-Sensoren + RHASSPY-Spracherkennung

Guybrush

das mit der Fehlermeldung ist ein Bug im Syntaxcheck von FHEM. Mach erstmal nur:

defmod SonosKueche_Stereopair_cover.notify notify RINCON_G8xxx4A01xx:currentTrack_TrackUri:.* {}

bearbeite das im Anschluss und füge den Code hinzu. So gehts bei mir jedenfalls.

Das mit den Stereopaaren sollte ansich gleich sein. Nur dass dort statt inGroup 1 inCouple 1 gesetzt sein müsste. Master müsste meine ich gleich sein.

Otto123

Zitat von: Guybrush am 25 März 2026, 14:16:15das mit der Fehlermeldung ist ein Bug im Syntaxcheck von FHEM.
... oder ein Feature ;)
In der FHEM Kommandozeile und in der Raw Definition muss man die ; schützen - also ;; zwei schreiben.
Im DEF Editor ist es nur ein ;
In der cfg stehen dann wieder zwei ;; 
Viele Grüße aus Leipzig  ⇉  nächster Stammtisch an der Lindennaundorfer Mühle

aktives Mitglied des FHEM e.V. (Technik)