FHEM Forum

FHEM => Frontends => readingsGroup / readingsHistory => Thema gestartet von: pulmotil am 11 Januar 2020, 16:18:28

Titel: [gelöst] readingsGroup - fhem stürzt nach Aufruf ab
Beitrag von: pulmotil am 11 Januar 2020, 16:18:28
Hallo,
ich bekomme seit der Neuerstellung einer readingsGroup im Log die Fehlermeldung
Unescaped left brace in regex is illegal here in regex; marked by <-- HERE in m/^batteryLevel@{ <-- HERE rg($DEVICE."§device")}$/ at ./FHEM/33_readingsGroup.pm line 1425.
Die zugehörige readingsGroup Definition ist
Internals:
   DEF        <%sani_heating>,<Mode>,<Soll>,<neu>,<Istwert>,<VP/RH>,<batteryLevel>
...((h|H)eizung(|[1-9])_Clima|Thermostat_Climate):controlMode,desired-temp,<sollsetz>,measured-temp,ValvePosition,humidity,batteryLevel@{rg($DEVICE."§device")}

Die letzte Spalte der rG macht anscheinend Probleme. Das Ganze soll mal so was werden wie in der Wiki zur Readingsgroup (Homematic Thermostate) beschrieben, auch das in der Wiki aufgeführte Programm rg für die der 99_MyUtils habe ich weitgehend übernommen.
Beim Aufruf der readingsGroup stürzt FHEM ab, Auslöser scheint die o.g. Fehlermeldung zu sein.
Die Anzeige im Web frontend zeigt die BatteryLevel jedoch richtig an, der Absturz scheint erst nach der Ausführung des Unterprogramms und Anzeige zu erfolgen.
In Zeile 1425 der 33_readingsGroup.pm habe ich kein "{" zum Markieren gefunden, das war in einem anderen etwas älteren Thread die Lösung.


Gruß p
Titel: Antw:readingsGroup - fhem stürzt nach Aufruf ab
Beitrag von: sfancy am 08 Februar 2020, 16:09:30
Das Problem mit den Fehlermeldungen bei Verwendung geschweifter Klammern wurde bereits 2017 entdeckt. Hier https://forum.fhem.de/index.php/topic,78337.msg798594.html#msg798594 habe ich im April 2018 eine mögliche Lösung vorgeschlagen die noch keine Beachtung fand.

Problem ist die laut Doku der readingsGroup vorgesehene "unescaped" Nutzung der geschweiften Klammer im Regex. Aus der Doku: "Regex kann die Form <regex>@{perl} haben, um Readings von einem anderen Gerät zu verwenden".

Das ist seit Perl v5.22 deprecated und ab Perl v5.26 ein Syntax Error. Syntax Error bedeutet FHEM startet gar nicht bzw. bleibt hängen.
Titel: Antw:readingsGroup - fhem stürzt nach Aufruf ab
Beitrag von: justme1968 am 08 Februar 2020, 16:57:46
bitte probiere es nach dem update morgen noch mal.

@sfancy: dein vorschlag ist leider nicht ausreichend.
Titel: Antw:readingsGroup - fhem stürzt nach Aufruf ab
Beitrag von: pulmotil am 18 Februar 2020, 20:05:34
sorry für die späte Antwort - jetzt funktioniert es.
danke!


Gesendet von iPad mit Tapatalk Pro