Hallo
habe bei mir ziemlich viele nicht optimierte Regex. -> kein
Notifydev
vorhanden.
Nun kann man diese ja überprüfen mit
notifyRegexpCheck
{ notifyRegexpCheck('MAX_WT.*:(desiredTemperature|temperature|battery|measurementOffset).*|MAX_HT.*:(valveposition|battery|temperature).*') }
Hier kommen dann als Fehler:
MAX_WT.*:(desiredTemperature: devspec MAX_WT_02a19a (OK)
temperature: unknown (ignored)
battery: unknown (ignored)
measurementOffset).*: no match (ignored)
MAX_HT.*:(valveposition: devspec MAX_HT_JEQ0187040_MAX_025f8c,MAX_HT_JEQ0188720_MAX_026f74,MAX_HT_JEQ0188949_MAX_0270b9,MAX_HT_KEQ0684993_09bd6f (OK)
battery: unknown (ignored)
temperature).*: no match (ignored)
Verstehe das allerdings nicht, da die Readings vorhanden sind?
battery
temperature
die Regex scheint ja grundsätzlich gültig zu sein
MAX_WT.*:(desiredTemperature|temperature|battery|measurementOffset).*|MAX_HT.*:(valveposition|battery|temperature).*
Was übersehe ich hier?
Selbst gemerkt:
ZitatDer Parser versteht nur sowas wie dev1 oder dev1:event1 oder dev1:event1|dev2:event2. Folgendes kapiert er nicht: dev:(event1|event2), und sowas wie dev.*event schon gar nicht. Nicht exisitierende dev's oder "Teilprobleme" fuehren auch zu einem "unoptimierten" Regex.
Danke VG T
PS. Habe nun die REGEX so gemacht und dann sie sieht optimiert aus
MAX_WT.*:desiredTemperature.*|MAX_WT.*:temperature.*|MAX_WT.*:battery.*|MAX_WT.*:measurementOffset.*|MAX_HT.*:battery.*|MAX_HT.*:valveposition.*|MAX_HT.*:temperature.*
ZitatOb der Regex "optimiert" ist sieht man daran, dass FileLog/Notify/etc ein Internal NOTIFYDEV hat, mit der Liste der betroffenen Quellen. Pruefen kann man den Regex mit
Code: [Auswählen]
{ notifyRegexpCheck('...meinRegexp...') }
Hallo
von Beta-User und Rudi habe ich
Zitatcount TYPE=notify
count TYPE=notify:FILTER=NOTIFYDEV!~.+
list TYPE=notify:FILTER=NOTIFYDEV!~.+ DEF
diese Abfragen zum Aufspüren der nicht optimierten REGEX.
Sehr hilfreich !!!
Vielen Dank