FHEMWEB stürzt beim setzen eines devStateIcons ab

Begonnen von Skjall, 13 Mai 2017, 09:46:38

Vorheriges Thema - Nächstes Thema

Skjall

Moin,

ich will auf einen per FHEM2FHEM angebundenen CUL ein devStateIcon setzen.

Wenn darüber noch nichts kam (state: ? ? ?) soll es rc_YELLOW zeigen:

attr Connector_CUL.1 devStateIcon ? ? ?:rc_YELLOW

Die 3 Fragezeichen sind ohne Leerzeichen hintereinander. Das Forum schreibt sonst nur das ??? Smiley.

Sobald ich das mache stürzt das FHEMWEB ab:

Nested quantifiers in regex; marked by <-- HERE in m/^??? <-- HERE .*$/ at ./FHEM/01_FHEMWEB.pm line 2674.

LG Jan

Manul

Das Fragezeichen hat in regulären Ausdrücken eine spezielle Bedeutung. Versuch mal, jeweils einen Backslash davorzusetzen:

attr Connector_CUL.1 devStateIcon \?\?\?:rc_YELLOW

Skjall

Ja, ok, logisch. :) So läuft's.
Nichts desto trotz sollte müsste das abgefangen werden bevor sich das system abschießt.  ;D

CoolTux

Rudi liest hier mit und Dein Threadtitel ist sprechend, er wird das schnell lesen denke ich.
Alternativ darfst Du gerne auch einen Patch anbieten.


Grüße
Du musst nicht wissen wie es geht! Du musst nur wissen wo es steht, wie es geht.
Support me to buy new test hardware for development: https://www.paypal.com/paypalme/MOldenburg
My FHEM Git: https://git.cooltux.net/FHEM/
Das TuxNet Wiki:
https://www.cooltux.net

Skjall

Ist mir schon klar. War auch eher so ne Floskel von mir :D.
-
Neee.. Da wüsste ich nicht mal wo ich suchen sollte. Außerdem will ich Rudi ja nicht den Spaß nehmen ;)
Ich denke auch, dass jeder hat da seinen eignen Programmierstil hat, sodass der Ersteller eines Programmes immer die beste Wahl für eine Änderung ist.

LG Jan

CoolTux

Absolut falsches Gedankengut für ein Community Projekt.
Ist meine Meinung und somit nicht Allgemeingültig


Grüße
Leon
Du musst nicht wissen wie es geht! Du musst nur wissen wo es steht, wie es geht.
Support me to buy new test hardware for development: https://www.paypal.com/paypalme/MOldenburg
My FHEM Git: https://git.cooltux.net/FHEM/
Das TuxNet Wiki:
https://www.cooltux.net

rudolfkoenig

Ab morgen sollte sowas beim Ausfuehren des attr Befehls auffallen.

scooty

Hallo zusammen,

kann obige gestrige Änderung mit folgendem zusammenhängen?

1) Ein über die Befehlszeile eingegebenes
attr DSI_TEST devStateIcon {if (Value($name) eq "red") {return '.*:rc_dot@red';;} else {return '.*:rc_dot@green';;};;}
führt bei mir zur Fehlermeldung:
ZitatArgument (Value($name) for attr DSI_TEST devStateIcon is not a valid regexp: Unmatched ( in regex; marked by <-- HERE in m/^( <-- HERE Value($name)$/ at fhem.pl line 2736.

Ein simpleres
attr DSI_TEST devStateIcon {return '.*:rc_dot@red';;}
wird ohne Fehlermeldung akzeptiert und funktioniert hingegen.

2) Das gleiche Verhalten bei Eingabe über die "attr"-Select-Box .

Oder fehlt es mir am Verständnis zur korrekten devStateIcon-Definition?

Habe einige DevState-Icons mit {if-Abfragen} im Einsatz, diese wurden nach heutigem Update und Shutdown/Restart mit entsprechender Fehlermeldung aus meiner cfg entfernt.

Ich hoffe, die Angaben sind ausreichend, liefere gerne weitere Infos, wenn gewünscht.

Vielen Dank,
Andreas

PS:
Hier die Raw-Definition des Test-Dummys:
defmod DSI_TEST dummy
attr DSI_TEST devStateIcon {return '.*:rc_dot@red';;;;}

setstate DSI_TEST rot
setstate DSI_TEST 2017-05-15 17:45:35 state rot
Fhem auf Gigabyte Brix
CUL V3 HM / CUL V3 MAX / MaxCube aFW Homematic&MAX / ZWave.me ZME_UZB1 / SDuino 433 / Velux KLF200
Homematic / MAX / Logitech Hub / ZWave / Wifi LED / div. 433 Temperatursensoren / pywws WH10880 / IO Homecontrol

rudolfkoenig

Sorry, die Version mit {} habe ich verpennt. Kann es leider erst morgen Abend oder Mittwoch fixen.

scooty

Hallo Rudolf,

alles klar, kein Stress, mit der Vorversion der fhem.pl funktioniert es ja.

Danke für's Kümmern,
Andreas
Fhem auf Gigabyte Brix
CUL V3 HM / CUL V3 MAX / MaxCube aFW Homematic&MAX / ZWave.me ZME_UZB1 / SDuino 433 / Velux KLF200
Homematic / MAX / Logitech Hub / ZWave / Wifi LED / div. 433 Temperatursensoren / pywws WH10880 / IO Homecontrol

rudolfkoenig

Ab sofort wird die {} Form von devStateIcon mit perlSyntaxCheck geprueft, und alle Pruefungen habe ich auf "nach Initialisieren" (d.h. Erstanlegen/Modifizieren) beschraenkt.

DigiNecro

#11
Achja, ich war zu vorschnell! Hatte noch die buggy  Zwischenversion und vergessen auf morgen mit dem Update zu warten.

Scheint nun wieder zu funktionieren.

Vielen Dank für die schnelle Korrektur! :)

scooty

Hallo Rudolf,

kann auch bestätigen, das es nun wieder funktioniert.

Vielen Dank,
Andreas
Fhem auf Gigabyte Brix
CUL V3 HM / CUL V3 MAX / MaxCube aFW Homematic&MAX / ZWave.me ZME_UZB1 / SDuino 433 / Velux KLF200
Homematic / MAX / Logitech Hub / ZWave / Wifi LED / div. 433 Temperatursensoren / pywws WH10880 / IO Homecontrol