FHEM Forum

FHEM => Sonstiges => Thema gestartet von: Otto123 am 30 Oktober 2020, 18:06:31

Titel: Wie funktioniert NOTIFYDEV ?
Beitrag von: Otto123 am 30 Oktober 2020, 18:06:31
Hallo,
Basierend auf diesen Thread https://forum.fhem.de/index.php/topic,111938.msg1074202.html#msg1074202 , ein paar Experimenten und einem Plausch mit Beta-User ist eine Ungereimtheit aufgetreten:
Testumgebung:
defmod Kontakte1 dummy
defmod Kontakte2 dummy
defmod n_test notify Kontakte.:o[nf]+ {Log 1, "Das Device $NAME hat ausgeloest, der Event sah so aus: $EVENT"}

Funktioniert für set Kontakte1 off und set Kontakte2 on
{notifyRegexpCheck('Kontakte.:o[nf]+')} liefert Kontakte.:o[nf]+: devspec Kontakte1,Kontakte2 (OK)

Was auch funktioniert ist:
modify n_test Kontakte.:[1-9]
Was nicht mehr funktioniert (keine NOTIFYDEV)
modify n_test Kontakte[1-9]:[1-9]
oder
modify n_test Kontakte\d:[1-9]

Was zum Beispiel auch funktioniert sind diese list Varianten:
list Kontakte\d
list Kontakte[1-9]
list Kontakte.


Warum funktioniert für NOTIFYDEV offenbar nur der simple Punkt?

Gruß Otto
Titel: Antw:Wie funktioniert NOTIFYDEV ?
Beitrag von: rudolfkoenig am 30 Oktober 2020, 18:32:41
Weil die automatische Geraete-Anteil-Erkennung aus dem Notify-Regexp konservativ ist. Es wird mit folgendem Regexp versucht zu erkennen:
^\(?([A-Za-z0-9\.\_]+(?:\.[\+\*])?)(?::.*)?\)?$
Es gab mal ein Versuch, es freizuegiger zu gestalten, das hatte aber unerwuenschte Nebeneffekte.
Titel: Antw:Wie funktioniert NOTIFYDEV ?
Beitrag von: Otto123 am 31 Oktober 2020, 11:19:10
Danke für die Erklärung. Ich will auch keine Änderung, ich wollte es nur verstehen. ;)
Und da es ja kein "Zufall" ist wie es funktioniert - vielleicht ein Wort dazu in der Doku?
ZitatDas <Suchmuster> muss exakt (!) entweder dem Gerätenamen entsprechen oder der Zusammenfügung aus Gerätename:Event. Events lassen sich mit "inform" in Telnet oder durch Beobachtung des "Event-Monitors" in FHEMWEB ermitteln.
Hier hast Du extra "exakt (!)" geschrieben. Bedeutet "exakt" die leichte Erweiterung, dass der Metacharakter "." und die beiden Quantifier "+" und "*" zulässig sind?
Titel: Antw:Wie funktioniert NOTIFYDEV ?
Beitrag von: rudolfkoenig am 01 November 2020, 10:13:04
Welche Doku meinst Du?
Immerhin ist es nicht falsch, wenn man es so macht.
Titel: Antw:Wie funktioniert NOTIFYDEV ?
Beitrag von: Otto123 am 01 November 2020, 12:32:25
Doku = commandref - daher ist doch mein Zitat