Sonos: Neue Version vom 20.6.2017

Begonnen von Reinerlein, 20 Juni 2017, 14:02:19

Vorheriges Thema - Nächstes Thema

Reinerlein

Hi Zap,

das geht hier nicht, da das Modul auch dafür gedacht ist, real auf unterschiedlichen Maschinen zu laufen.
Sonos hat das Problem, das UPnP nicht groutet wird. Das bedeutet, dass Fhem immer im selben Netz wie die Sonos-Player laufen müsste.
Damit das nicht so ist, ist der SubProzess über TCP/IP angebunden...

@Nobby: das mit den Singleupdates hatte ich schon geprüft, da passieren (bei mir) aber auch keine dazwischen...

Grüße
Reiner

Nobby1805

Zitat von: Reinerlein am 30 Juni 2017, 19:07:12
Hi Nobby,

das wäre dann möglich, wenn der Read-Prozess im Sonos.pm zwischen zwei (oder mehreren) TCP-Paketen unterbrochen werden würde. Eigentlich sende ich vom SubProzess aus alles in einem Rutsch (es wird erst gesammelt, und dann auf einen Schlag zum Senden freigegeben), sodass eigentlich genau keine Unterbrechung erfolgen sollte (Fhem läuft ja nur Singlethreaded)...
Hi Reiner,

diese Sequenz aus dem Log zeigt doch eigentlich, dass das nicht (immer) so ist ... da ist das singleUpdate zwischen das beiginUpdate und endUpdate aus dem Subprozess "gerutscht"

Gruß Nobby
2017.07.02 00:23:10.760 0: SONOS0: Aufruf 1272 ReadingsBeginUpdate undef HASH(0x24b792c) 2017-07-02 00:23:10
2017.07.02 00:23:10.762 1: readingsBeginUpdate(Sonos) doppelter Aufruf 2017-07-02 00:23:10
2017.07.02 00:23:10.762 1: stacktrace:
2017.07.02 00:23:10.763 1:     main::readingsBeginUpdate           called by fhem.pl (4491)
2017.07.02 00:23:10.763 1:     main::readingsSingleUpdate          called by ./FHEM/00_SONOS.pm (1742)
2017.07.02 00:23:10.763 1:     main::SONOS_Read                    called by fhem.pl (3412)
2017.07.02 00:23:10.763 1:     main::CallFn                        called by fhem.pl (686)
2017.07.02 00:23:10.768 0: SONOS0: Aufruf 1745 readingsSingleUpdate HASH(0x24b792c) LastProcessAnswer 2017-07-02 00:23:10
2017.07.02 00:23:10.883 0: SONOS0: Aufruf 1289 ReadingsEndUpdate   undef HASH(0x24b792c)
FHEM-Featurelevel: 6.2   (fhem.pl:28227/2023-11-29) auf Windows 10 Pro mit Strawberry Perl 5.32.1.1-32bit
TabletUI: 2.7.15
IO: 2xHMLAN(0.965)|HMUSB2(0.967)

zap

#62
Genau. Und wenn man sich die Implementierung von readingSingleUpdate in fhem.pl anschaut, sieht man, das hier BeginUpdate und EndUpdate auch nochmal aufgerufen werden:


sub
readingsSingleUpdate($$$$)
{
  my ($hash,$reading,$value,$dotrigger)= @_;
  readingsBeginUpdate($hash);
  my $rv = readingsBulkUpdate($hash,$reading,$value);
  readingsEndUpdate($hash,$dotrigger);
  return $rv;
}


Das bringt das Bulk-Update aus dem Takt. Ich würde ein Flag setzen, wenn ein BeginUpdate aktiv ist und abhängig von diesem Flag bei der Aktualisierung entweder BulkUpdate oder SingleUpdate verwenden. Oder eben immer SingleUpdate, was allerdings sehr ineffizient ist.

Ich halte das aber für das geringere Problem als die Disconnects und Dissapears.
2xCCU3, Fenster, Rollläden, Themostate, Stromzähler, Steckdosen ...)
Entwicklung: FHEM auf AMD NUC (Ubuntu)
Produktiv inzwischen auf Home Assistant gewechselt.
Maintainer: FULLY, Meteohub, HMCCU, AndroidDB

Reinerlein

Hallo Nobby,

OK, tritt das nur bei LastProcessAnswer auf?
Auf jeden Fall habe ich dafür jetzt eine Prüfung eingebaut... Ich checke das nachher mal ein...

Aber auch hier: Das bedeutet, dass nicht alles auf einmal übertragen wurde, und die Netzwerkschnittstelle (bzw. die Kommunikation allg.) nicht alles auf einen Schlag liefert, überträgt und verarbeitet.

Wenn es sich tatsächlich auf dieses Reading beschränkt, kriegen wir das auf jeden Fall kurzristig in den Griff...

Grüße
Reiner

Nobby1805

#64
Hallo Reiner,

genau, das singleUpdate für LastProcessAnswer nach dem Loop der die Messages bearbeitet, da kann es ja jede Menge Gründe geben warum nicht alles auf einen Schlag übertragen bzw. bearbeitet wird, bei mir tippe ich drauf, dass das System nicht das schnellste ist ;)

und es ist jetzt gerade wirklich aufgetreten, nicht nur der Hinweis auf den doppelten Aufruf sondern auch das ursprüngliche Problem
Wenn du mir sagst, was du genau geändert hast dann ziehe ich das in meiner Version mit den erweiterten Logs nach
2017.07.02 10:44:21.607 0: SONOS0: Aufruf 1272 ReadingsBeginUpdate undef HASH(0x24b833c) 2017-07-02 10:44:21
2017.07.02 10:44:21.614 1: readingsBeginUpdate(Sonos) doppelter Aufruf 2017-07-02 10:44:21
2017.07.02 10:44:21.614 1: stacktrace:
2017.07.02 10:44:21.615 1:     main::readingsBeginUpdate           called by fhem.pl (4506)
2017.07.02 10:44:21.615 1:     main::readingsSingleUpdate          called by ./FHEM/00_SONOS.pm (1742)
2017.07.02 10:44:21.615 1:     main::SONOS_Read                    called by fhem.pl (3412)
2017.07.02 10:44:21.615 1:     main::CallFn                        called by fhem.pl (686)
2017.07.02 10:44:21.830 1: readingsUpdate(Sonos,MasterPlayerPlaying,[]) missed to call readingsBeginUpdate first.
2017.07.02 10:44:21.830 1: stacktrace:
2017.07.02 10:44:21.830 1:     main::readingsBulkUpdate            called by ./FHEM/00_SONOS.pm (9580)
2017.07.02 10:44:21.830 1:     main::SONOS_readingsBulkUpdateIfChanged called by ./FHEM/00_SONOS.pm (1248)
2017.07.02 10:44:21.831 1:     main::SONOS_Read                    called by fhem.pl (3412)
2017.07.02 10:44:21.831 1:     main::CallFn                        called by fhem.pl (686)
2017.07.02 10:44:21.848 1: PERL WARNING: Use of uninitialized value $st in concatenation (.) or string at ./FHEM/00_SONOS.pm line 9582.
2017.07.02 10:44:21.849 0: SONOS0: Aufruf 9581 BulkUpdateIfChanged HASH(0x24b833c) MasterPlayerPlaying []
2017.07.02 10:44:21.851 1: readingsUpdate(Sonos,MasterPlayerPlayingCount,0) missed to call readingsBeginUpdate first.
2017.07.02 10:44:21.851 1: stacktrace:
2017.07.02 10:44:21.851 1:     main::readingsBulkUpdate            called by ./FHEM/00_SONOS.pm (9580)
2017.07.02 10:44:21.851 1:     main::SONOS_readingsBulkUpdateIfChanged called by ./FHEM/00_SONOS.pm (1248)
2017.07.02 10:44:21.851 1:     main::SONOS_Read                    called by fhem.pl (3412)
2017.07.02 10:44:21.852 1:     main::CallFn                        called by fhem.pl (686)
2017.07.02 10:44:21.853 0: SONOS0: Aufruf 9581 BulkUpdateIfChanged HASH(0x24b833c) MasterPlayerPlayingCount 0
2017.07.02 10:44:21.855 1: readingsUpdate(Sonos,MasterPlayerNotPlaying,['Sonos_Schlafzimmer','Sonos_Wohnzimmer']) missed to call readingsBeginUpdate first.
2017.07.02 10:44:21.855 1: stacktrace:
2017.07.02 10:44:21.855 1:     main::readingsBulkUpdate            called by ./FHEM/00_SONOS.pm (9580)
2017.07.02 10:44:21.855 1:     main::SONOS_readingsBulkUpdateIfChanged called by ./FHEM/00_SONOS.pm (1248)
2017.07.02 10:44:21.855 1:     main::SONOS_Read                    called by fhem.pl (3412)
2017.07.02 10:44:21.855 1:     main::CallFn                        called by fhem.pl (686)
2017.07.02 10:44:21.856 0: SONOS0: Aufruf 9581 BulkUpdateIfChanged HASH(0x24b833c) MasterPlayerNotPlaying ['Sonos_Schlafzimmer','Sonos_Wohnzimmer']
2017.07.02 10:44:21.858 1: readingsUpdate(Sonos,MasterPlayerNotPlayingCount,2) missed to call readingsBeginUpdate first.
2017.07.02 10:44:21.859 1: stacktrace:
2017.07.02 10:44:21.859 1:     main::readingsBulkUpdate            called by ./FHEM/00_SONOS.pm (9580)
2017.07.02 10:44:21.859 1:     main::SONOS_readingsBulkUpdateIfChanged called by ./FHEM/00_SONOS.pm (1248)
2017.07.02 10:44:21.859 1:     main::SONOS_Read                    called by fhem.pl (3412)
2017.07.02 10:44:21.859 1:     main::CallFn                        called by fhem.pl (686)
2017.07.02 10:44:21.860 0: SONOS0: Aufruf 9581 BulkUpdateIfChanged HASH(0x24b833c) MasterPlayerNotPlayingCount 2
2017.07.02 10:44:21.865 1: PERL WARNING: Use of uninitialized value $tstmp in concatenation (.) or string at ./FHEM/00_SONOS.pm line 1290.
2017.07.02 10:44:21.866 0: SONOS0: Aufruf 1289 ReadingsEndUpdate   undef HASH(0x24b833c)

Gruß Nobby

Ergänzung:
gerade ist es auch an einer 2. Stelle aufgetreten, der Aufruf von singleUpdate direkt vor dem Ende des Loops
if ($chash) {
SONOS_Log undef, 4, "DoWorkAnswer arrived for ".$chash->{NAME}."->$2: '$3'";
readingsSingleUpdate($chash, $2, $3, 1);
} else {
SONOS_Log undef, 0, "Fehlerhafter Aufruf von DoWorkAnswer: $1:$2:$3";
}
FHEM-Featurelevel: 6.2   (fhem.pl:28227/2023-11-29) auf Windows 10 Pro mit Strawberry Perl 5.32.1.1-32bit
TabletUI: 2.7.15
IO: 2xHMLAN(0.965)|HMUSB2(0.967)

Reinerlein

Hi Nobby,

ich prüfe vorher einfach auf updateTimeStamp.

Also im Falle LastProcessAnswer:

# LastAnswer aktualisieren...
my $sonosHash = SONOS_getSonosPlayerByName();
if (defined($sonosHash->{".updateTimestamp"})) {
readingsBulkUpdate($sonosHash, 'LastProcessAnswer', SONOS_TimeNow());
} else {
readingsSingleUpdate($sonosHash, 'LastProcessAnswer', SONOS_TimeNow(), 1);
}


Im Falle DoWorkAnswer:

SONOS_Log undef, 4, "DoWorkAnswer arrived for ".$chash->{NAME}."->$2: '$3'";
if (defined($chash->{".updateTimestamp"})) {
readingsBulkUpdate($chash, $2, $3);
} else {
readingsSingleUpdate($chash, $2, $3, 1);
}


Vielleicht sollte ich das zentraler lösen...
Naja, mal schauen, was deine Analyse in die Richtung ergibt...

Grüße
Reiner

Nobby1805

OK, ich habe das mal so übernommen ... und jetzt schau'n wir mal
FHEM-Featurelevel: 6.2   (fhem.pl:28227/2023-11-29) auf Windows 10 Pro mit Strawberry Perl 5.32.1.1-32bit
TabletUI: 2.7.15
IO: 2xHMLAN(0.965)|HMUSB2(0.967)

Reinerlein

Hi Nobby,

gibt es hier schon Erkenntnisse, ob das mit der Änderung besser läuft?
Danke schonmal...

Grüße
Reiner

Nobby1805

Hallo Reiner,

ja läuft deutlich besser ... bis heute Morgen war gar nichts mehr

Irgendwann gegen 0:49 kam dann eine Meldung über einen doppelten BeginUpdate, leider habe ich das nur auf dem SmartPhone gesehen und als ich dann  an meinen Arbeits-PC ging waren diese Meldungen auf einmal weg und durch sendemail-Meldungen von unserem Garagentor-Sensor ersetzt  >:( ich hatte schon öfter den Eindruck, dass manchmal Meldungen im Log später überschrieben werden  >:(

Erinnern kann ich mich noch, dass das BeginUpdate vom SimulateTrackPosition kam aber leider nicht mehr welches SingleUpdate  ::)

aber das wird sicher noch einmal kommen

Viele Grüße Nobby
FHEM-Featurelevel: 6.2   (fhem.pl:28227/2023-11-29) auf Windows 10 Pro mit Strawberry Perl 5.32.1.1-32bit
TabletUI: 2.7.15
IO: 2xHMLAN(0.965)|HMUSB2(0.967)

Reinerlein

Hi Nobby,

ja, das war dann noch zu erwarten... ich baue mal alle Single-Updates auf eine sichere Variante um, dann sind wir dort raus aus der Nummer.

Das mit dem Überschreiben der Logs ist zumindest unter Windows völlig normal. Deshalb habe ich ja nun die Möglichkeit eingebaut, dass der SubProzess seine Logausgaben in eine eigene, angegebene Datei schreiben kann. Dann landet nur noch STDERR mit im Fhemlog (und überschreibt natürlich immer noch bestehende Logeinträge :) ).

Danke für die Rückmeldung...

Grüße
Reiner

Nobby1805

Hallo Reiner,

was meinst du denn  mit "völlig normal" ... für mich ist das ein BUG  >:(

Gruß Nobby
FHEM-Featurelevel: 6.2   (fhem.pl:28227/2023-11-29) auf Windows 10 Pro mit Strawberry Perl 5.32.1.1-32bit
TabletUI: 2.7.15
IO: 2xHMLAN(0.965)|HMUSB2(0.967)

Reinerlein

Hi Nobby,

ja wahrscheinlich (obwohl ich die genauen Windows-Paradigmen für STDOUT-Umlenkungen da jetzt auch nicht kenne :-\ ), aber hier geht es ja eher um Erkenntnis und Umgehung :)

Grüße
Reiner

sTaN

Das hört sich doch vielversprechend an. Ab wann werden die Änderungen denn eingecheckt oder kann man diese auch manuell laden?

LG und vielen Dank für eure Mühe!
sTaN
Raspberry Pi 3
2 x CUL CC1101-USB-Lite 868MHz
FS20 Komponenten, Philips HUE, Alexa-Fhem, MAX! Geräte, homebridge, harmony, Unifi, FirtzBox, MQTT, Aurora, Denon, Sonos, TabletUI, CALENDAR, EGPM2LAN, Pushover

Reinerlein

Hi sTaN,

ich werde das spätestens im Laufe des morgigen Tages einchecken.
Bei mir laufen die angekündigten Änderungen bislang stabil und soweit fehlerfrei.

Ich muss jetzt noch kurz die Doku hinterherziehen, und dann kann es rein :)
Dann geht es im nächsten Thread weiter...

Grüße
Reiner

m0urs

Ich bekomme (bei mir morgens,  wenn der Wecker angeht) viele Meldungen bzgl.  "Use of uninitialized value":

Use of uninitialized value $currentTrackURI in substitution (s///) at ./FHEM/00_SONOS.pm line 7055.
Use of uninitialized value $currentTrackURI in concatenation (.) or string at ./FHEM/00_SONOS.pm line 7056.
Use of uninitialized value $currentTrackURI in pattern match (m//) at ./FHEM/00_SONOS.pm line 7063.
Use of uninitialized value $currentTrackURI in pattern match (m//) at ./FHEM/00_SONOS.pm line 7068.
Use of uninitialized value $enqueuedTransportMetaData in concatenation (.) or string at ./FHEM/00_SONOS.pm line 7076.
Use of uninitialized value $enqueuedTransportMetaData in pattern match (m//) at ./FHEM/00_SONOS.pm line 7077.
Use of uninitialized value $currentTrackMetaData in concatenation (.) or string at ./FHEM/00_SONOS.pm line 7103.
Use of uninitialized value $currentTrackURI in concatenation (.) or string at ./FHEM/00_SONOS.pm line 7104.
Use of uninitialized value $currentTrackMetaData in concatenation (.) or string at ./FHEM/00_SONOS.pm line 7104.
Use of uninitialized value in subroutine entry at ./FHEM/00_SONOS.pm line 7107.
Use of uninitialized value $currentTrackMetaData in pattern match (m//) at ./FHEM/00_SONOS.pm line 7120.
Use of uninitialized value $currentTrackURI in pattern match (m//) at ./FHEM/00_SONOS.pm line 7161.
Use of uninitialized value $currentTrackURI in pattern match (m//) at ./FHEM/00_SONOS.pm line 7168.
Use of uninitialized value $currentTrackURI in pattern match (m//) at ./FHEM/00_SONOS.pm line 7184.
Use of uninitialized value $currentTrackURI in pattern match (m//) at ./FHEM/00_SONOS.pm line 7196.
Use of uninitialized value $currentTrackMetaData in pattern match (m//) at ./FHEM/00_SONOS.pm line 7207.
Use of uninitialized value $currentTrackMetaData in pattern match (m//) at ./FHEM/00_SONOS.pm line 7213.
Use of uninitialized value $currentTrackMetaData in pattern match (m//) at ./FHEM/00_SONOS.pm line 7219.
Use of uninitialized value $currentTrackMetaData in pattern match (m//) at ./FHEM/00_SONOS.pm line 7231.
Use of uninitialized value $currentTrackMetaData in pattern match (m//) at ./FHEM/00_SONOS.pm line 7234.
Use of uninitialized value $nextTrackMetaData in concatenation (.) or string at ./FHEM/00_SONOS.pm line 7241.
Use of uninitialized value $nextTrackMetaData in pattern match (m//) at ./FHEM/00_SONOS.pm line 7243.
Use of uninitialized value $nextTrackMetaData in pattern match (m//) at ./FHEM/00_SONOS.pm line 7244.
Use of uninitialized value in subroutine entry at ./FHEM/00_SONOS.pm line 7259.
Use of uninitialized value $nextTrackMetaData in pattern match (m//) at ./FHEM/00_SONOS.pm line 7266.
Use of uninitialized value $nextTrackMetaData in pattern match (m//) at ./FHEM/00_SONOS.pm line 7268.
Use of uninitialized value $nextTrackMetaData in pattern match (m//) at ./FHEM/00_SONOS.pm line 7270.
Use of uninitialized value $nextTrackMetaData in pattern match (m//) at ./FHEM/00_SONOS.pm line 7272.
Use of uninitialized value $nextTrackMetaData in pattern match (m//) at ./FHEM/00_SONOS.pm line 7274.
Use of uninitialized value $currentTrackURI in substitution (s///) at ./FHEM/00_SONOS.pm line 7055.
Use of uninitialized value $currentTrackURI in concatenation (.) or string at ./FHEM/00_SONOS.pm line 7056.
Use of uninitialized value $currentTrackURI in pattern match (m//) at ./FHEM/00_SONOS.pm line 7063.
Use of uninitialized value $currentTrackURI in pattern match (m//) at ./FHEM/00_SONOS.pm line 7068.
Use of uninitialized value $enqueuedTransportMetaData in concatenation (.) or string at ./FHEM/00_SONOS.pm line 7076.
Use of uninitialized value $enqueuedTransportMetaData in pattern match (m//) at ./FHEM/00_SONOS.pm line 7077.
Use of uninitialized value $currentTrackMetaData in concatenation (.) or string at ./FHEM/00_SONOS.pm line 7103.
Use of uninitialized value $currentTrackURI in concatenation (.) or string at ./FHEM/00_SONOS.pm line 7104.
Use of uninitialized value $currentTrackMetaData in concatenation (.) or string at ./FHEM/00_SONOS.pm line 7104.
Use of uninitialized value in subroutine entry at ./FHEM/00_SONOS.pm line 7107.
Use of uninitialized value $currentTrackMetaData in pattern match (m//) at ./FHEM/00_SONOS.pm line 7120.
Use of uninitialized value $currentTrackURI in pattern match (m//) at ./FHEM/00_SONOS.pm line 7161.
Use of uninitialized value $currentTrackURI in pattern match (m//) at ./FHEM/00_SONOS.pm line 7168.
Use of uninitialized value $currentTrackURI in pattern match (m//) at ./FHEM/00_SONOS.pm line 7184.
Use of uninitialized value $currentTrackURI in pattern match (m//) at ./FHEM/00_SONOS.pm line 7196.
Use of uninitialized value $currentTrackMetaData in pattern match (m//) at ./FHEM/00_SONOS.pm line 7207.
Use of uninitialized value $currentTrackMetaData in pattern match (m//) at ./FHEM/00_SONOS.pm line 7213.
Use of uninitialized value $currentTrackMetaData in pattern match (m//) at ./FHEM/00_SONOS.pm line 7219.
Use of uninitialized value $currentTrackMetaData in pattern match (m//) at ./FHEM/00_SONOS.pm line 7231.
Use of uninitialized value $currentTrackMetaData in pattern match (m//) at ./FHEM/00_SONOS.pm line 7234.
Use of uninitialized value $nextTrackMetaData in concatenation (.) or string at ./FHEM/00_SONOS.pm line 7241.
Use of uninitialized value $nextTrackMetaData in pattern match (m//) at ./FHEM/00_SONOS.pm line 7243.
Use of uninitialized value $nextTrackMetaData in pattern match (m//) at ./FHEM/00_SONOS.pm line 7244.
Use of uninitialized value in subroutine entry at ./FHEM/00_SONOS.pm line 7259.
Use of uninitialized value $nextTrackMetaData in pattern match (m//) at ./FHEM/00_SONOS.pm line 7266.
Use of uninitialized value $nextTrackMetaData in pattern match (m//) at ./FHEM/00_SONOS.pm line 7268.
Use of uninitialized value $nextTrackMetaData in pattern match (m//) at ./FHEM/00_SONOS.pm line 7270.
Use of uninitialized value $nextTrackMetaData in pattern match (m//) at ./FHEM/00_SONOS.pm line 7272.
Use of uninitialized value $nextTrackMetaData in pattern match (m//) at ./FHEM/00_SONOS.pm line 7274.
Use of uninitialized value $currentTrackURI in substitution (s///) at ./FHEM/00_SONOS.pm line 7055.
Use of uninitialized value $currentTrackURI in concatenation (.) or string at ./FHEM/00_SONOS.pm line 7056.
Use of uninitialized value $currentTrackURI in pattern match (m//) at ./FHEM/00_SONOS.pm line 7063.
Use of uninitialized value $currentTrackURI in pattern match (m//) at ./FHEM/00_SONOS.pm line 7068.
Use of uninitialized value $enqueuedTransportMetaData in concatenation (.) or string at ./FHEM/00_SONOS.pm line 7076.
Use of uninitialized value $enqueuedTransportMetaData in pattern match (m//) at ./FHEM/00_SONOS.pm line 7077.
Use of uninitialized value $currentTrackMetaData in concatenation (.) or string at ./FHEM/00_SONOS.pm line 7103.
Use of uninitialized value $currentTrackURI in concatenation (.) or string at ./FHEM/00_SONOS.pm line 7104.
Use of uninitialized value $currentTrackMetaData in concatenation (.) or string at ./FHEM/00_SONOS.pm line 7104.
Use of uninitialized value in subroutine entry at ./FHEM/00_SONOS.pm line 7107.
Use of uninitialized value $currentTrackMetaData in pattern match (m//) at ./FHEM/00_SONOS.pm line 7120.
Use of uninitialized value $currentTrackURI in pattern match (m//) at ./FHEM/00_SONOS.pm line 7161.
Use of uninitialized value $currentTrackURI in pattern match (m//) at ./FHEM/00_SONOS.pm line 7168.
Use of uninitialized value $currentTrackURI in pattern match (m//) at ./FHEM/00_SONOS.pm line 7184.
Use of uninitialized value $currentTrackURI in pattern match (m//) at ./FHEM/00_SONOS.pm line 7196.
Use of uninitialized value $currentTrackMetaData in pattern match (m//) at ./FHEM/00_SONOS.pm line 7207.
Use of uninitialized value $currentTrackMetaData in pattern match (m//) at ./FHEM/00_SONOS.pm line 7213.
Use of uninitialized value $currentTrackMetaData in pattern match (m//) at ./FHEM/00_SONOS.pm line 7219.
Use of uninitialized value $currentTrackMetaData in pattern match (m//) at ./FHEM/00_SONOS.pm line 7231.
Use of uninitialized value $currentTrackMetaData in pattern match (m//) at ./FHEM/00_SONOS.pm line 7234.
Use of uninitialized value $nextTrackMetaData in concatenation (.) or string at ./FHEM/00_SONOS.pm line 7241.
Use of uninitialized value $nextTrackMetaData in pattern match (m//) at ./FHEM/00_SONOS.pm line 7243.
Use of uninitialized value $nextTrackMetaData in pattern match (m//) at ./FHEM/00_SONOS.pm line 7244.
Use of uninitialized value in subroutine entry at ./FHEM/00_SONOS.pm line 7259.
Use of uninitialized value $nextTrackMetaData in pattern match (m//) at ./FHEM/00_SONOS.pm line 7266.
Use of uninitialized value $nextTrackMetaData in pattern match (m//) at ./FHEM/00_SONOS.pm line 7268.
Use of uninitialized value $nextTrackMetaData in pattern match (m//) at ./FHEM/00_SONOS.pm line 7270.
Use of uninitialized value $nextTrackMetaData in pattern match (m//) at ./FHEM/00_SONOS.pm line 7272.
Use of uninitialized value $nextTrackMetaData in pattern match (m//) at ./FHEM/00_SONOS.pm line 7274.


Sieht nicht aus, als wäre das ein Problem, ist nur "unschön" im Log.

Kann man da was dagegen machen?