Servus zusammen,
ich habe hier ein seltsames Verhalten.
Ich habe in einer ReadingsGroup valueFormat wiefolgt definiert, um das Format in einem Script bearbeiten zu können.
{ groupPlayersValueFormat($DEVICE,$READING,$VALUE);; }
Dann möchte ich bestimmte Werte mit regex bearbeiten:
if("$READING" eq "SlavePlayer") {
# aus dem VALUE alle [ ] ' und Sonos_ raus schneiden:
$newValue=$VALUE=~ s/[\[+\]+\x27+]|(Sonos_)/\0/rg;
$newValue=$newValue=~ s/,/, /rg;
return $newValue;
} elsif ("$READING" eq "infoSummarize1") {
# aus dem VALUE alle ' und <br> raus schneiden:
$newValue=$VALUE=~ s/[\x27+]|(\x60br\x62)/\0/rg;
return $newValue;
}
Nun kriege ich leider folgende Ergebnisse:
Die eckigen Klammern sind immer weg. -> Haken dran, passt.
Klickt man den Floorplan an, oder die readingsGroup selber, werden die Hochkommata und auch die <br> angezeigt.
Lässt man den Floorplan oder die readingsGroup stehen und es erfolgt im Hintergrund ein automatisches Update eines der Readings, werden die Hochkommata ordnungsgemäß entfernt. Die <br> werden nicht entfernt, aber auch nicht angezeigt, sondern als Line Break interpretiert.
Hat jemand eine Idee, wie man das ordentlich zum Fliegen kriegt?
Nach einigem Rumprobieren:
Es scheint tatsächlich so zu sein, dass beim ersten Aufruf der ReadingsGroup (direkt oder im Floorplan) die Funktion in valueFormat nicht durchlaufen wird.
Nur bei Updates der Readings.... :-\
Hat niemand eine Lösung?