FHEM Forum

FHEM => Automatisierung => Thema gestartet von: JoeALLb am 06 März 2014, 11:14:06

Titel: (gelöst) userreading in Webobeflläche entfernt \ aus regexp
Beitrag von: JoeALLb am 06 März 2014, 11:14:06
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!
Titel: Antw:userreading in Webobeflläche entfernt \ aus regexp
Beitrag von: rudolfkoenig am 06 März 2014, 20:37:49
Habs gefixed, ab morgen per update.
Ursache: der Wert wurde per eval ausgewertet, und dieser verschluckt \
Titel: Antw:userreading in Webobeflläche entfernt \ aus regexp
Beitrag von: JoeALLb am 07 März 2014, 09:21:23
Danke, funktioniert ;-)