Notify triggerte immer und legte Fhem lahm Fehlermeldung sinnvoll?

Begonnen von riker1, 13 Februar 2020, 12:26:38

Vorheriges Thema - Nächstes Thema

riker1

Hallo

ich hatte neulich in einem notify eine änderung eingebaut , in der Art das es nun immer triggerte.

Wollte fragen, ob man diesen Fehler nicht abfangen kann ?
War natürlich meine Blödheit.

define N_Notify notify   regex1|regex2| set command do

also ich hatte  dann ein Pipe | ohne eine detaillierte Regex dahinter.  Dies führte zum laufenden Triggern und zog fhem runter....

Oder sehe ich was falsch?

Danke Thomas

FHEM    5.26.1 Ubuntu 18, FHEM    5.26.1 RPI 3 , Actoren: IT ,Tasmota, ESPEasy,
MAX CUBE, MAX HT, MAX WT, Selbstbau nanoCULs, FS 20,Tasmota, Homematic, FTK, SW. DIM, Smoke,KODI,Squeezebox

Prof. Dr. Peter Henning

Keineswegs handelt es sich hier um eine Pipe. Und natürlich ist der leere String nach diesem "ODER"-Symbol ein regulärer Ausdruck.

Das notify hat genau so getriggert, wie es eingegeben war, es handelt sich also nicht um einen Fehler.

Man kann einfach nicht jeden möglichen Mist abfangen, den ein Benutzer sich ausdenkt.

LG

pah

riker1

Ja die Regex ist gültig aber unsinnig

Deshalb wäre eine Warnung eventuell sinnvoll

Das Problem sitzt immer vor den Rechner

FHEM    5.26.1 Ubuntu 18, FHEM    5.26.1 RPI 3 , Actoren: IT ,Tasmota, ESPEasy,
MAX CUBE, MAX HT, MAX WT, Selbstbau nanoCULs, FS 20,Tasmota, Homematic, FTK, SW. DIM, Smoke,KODI,Squeezebox

Damian

Zitat von: riker1 am 14 Februar 2020, 21:37:47
Ja die Regex ist gültig aber unsinnig

Deshalb wäre eine Warnung eventuell sinnvoll

Das Problem sitzt immer vor den Rechner

Das ist nur eine von beliebig vielen unsinnigen Regex-Definitionen. Jeder, der schon länger mit Regex arbeitet, wird bestätigen, dass es ein unmögliches Unterfangen wäre, unsinnige Regex abzufangen.
Programmierte FHEM-Module: DOIF-FHEM, DOIF-Perl, DOIF-uiTable, THRESHOLD, FHEM-Befehl: IF

maci

Seinen wir alle mal ehrlich, wir haben ziemlich sicher mal unsinnige Regex geschrieben.
Aber Warnungen kann ich mir nicht vorstellen.
Am besten Hirn einschalten, bevor man Änderungen macht.

Ich mache es so, dass ich Änderungen oder auch Neudefinitionen zuerst beobachten, bevor ich weitermache.
Wenn möglich mache ich das zuerst am Testsystem. Es ist leider nicht überall möglich, denn zB. Homematic kann ich nur an an System binden.
Fhem auf Dell Thinclient, Fhem auf Raspebrry Pi4,
UniPi Vers. 1.1 mit Raspberry Pi3, 1wire USB Adapter mit OWX
Netatmo Wetterstation + Regenmesser + Netatmo Thermostat
Homematic mit HMLan