Mit folgendem Regexp schreibe ich (derzeit) das Enddatum eines Kalendereintrags in ein Userreadung.
Das funktioniert auch ganz gut!
nextSDate:modeUpcoming { my ($uid)=ReadingsVal($name,'modeUpcoming',0)=~ /([^;]+)/;my $erinnerungsname= fhem("get Kalender_Wackers full $uid");my ($sdate,$stime,$edate,$etime) = $erinnerungsname =~ /.*?(\d\d.\d\d.\d\d\d\d)\s(\d\d:\d\d:\d\d)-(\d\d.\d\d.\d\d\d\d)\s(\d\d:\d\d:\d\d).*/; return $edate}
Wenn ich jedoch in der Weboberfläche auf das Userreading klicke, um es zu editieren, wird in der
Textbox der String ohne \ eingetragen, aus dem Regexp wird dann
/.*?(dd.dd.dddd)s(dd:dd:dd)-(dd.dd.dddd)s(dd:dd:dd).*/
Da mein Regexp relativ weit hinten kommt und standardmäßig in der Textbox nicht sichtbar ist,
habe ich mir schon ein paar mal (versehentlich) das Userreading damit zerschossen.
Daher meine Empfehlung: Der String sollte beim Bearbeiten unverändert angezeigt werden.
Dies kommt vermutlich aus der Funktion der Multiline-Textbox bei "Define", vo ein \ einenZeilenwechsel markiert.
Derzeit ist das UserReadings ja einzeilig, weshalb man hier wohl auf dieses encoden verzichten kann. Schön wäre es natürlich auch,
wenn UserReadings ebenfalls mehrzeilig wären!
Habs gefixed, ab morgen per update.
Ursache: der Wert wurde per eval ausgewertet, und dieser verschluckt \
Danke, funktioniert ;-)