Wie funktioniert NOTIFYDEV ?

Begonnen von Otto123, 30 Oktober 2020, 18:06:31

Vorheriges Thema - Nächstes Thema

Otto123

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
Viele Grüße aus Leipzig  ⇉  nächster Stammtisch an der Lindennaundorfer Mühle
RaspberryPi B B+ B2 B3 B3+ ZeroW,HMLAN,HMUART,Homematic,Fritz!Box 7590,WRT3200ACS-OpenWrt,Sonos,VU+,Arduino nano,ESP8266,MQTT,Zigbee,deconz

rudolfkoenig

#1
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.

Otto123

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?
Viele Grüße aus Leipzig  ⇉  nächster Stammtisch an der Lindennaundorfer Mühle
RaspberryPi B B+ B2 B3 B3+ ZeroW,HMLAN,HMUART,Homematic,Fritz!Box 7590,WRT3200ACS-OpenWrt,Sonos,VU+,Arduino nano,ESP8266,MQTT,Zigbee,deconz

rudolfkoenig

Welche Doku meinst Du?
Immerhin ist es nicht falsch, wenn man es so macht.

Otto123

Doku = commandref - daher ist doch mein Zitat
Viele Grüße aus Leipzig  ⇉  nächster Stammtisch an der Lindennaundorfer Mühle
RaspberryPi B B+ B2 B3 B3+ ZeroW,HMLAN,HMUART,Homematic,Fritz!Box 7590,WRT3200ACS-OpenWrt,Sonos,VU+,Arduino nano,ESP8266,MQTT,Zigbee,deconz