notify und erweiterte regex im Suchmuster

Begonnen von VolkerGBenner, 13 Januar 2024, 19:16:09

Vorheriges Thema - Nächstes Thema

VolkerGBenner

Kann ich im Suchmuster eines notify auch erweiterte Möglichkeiten der regex nutzen?

Ich brauche ein notify, das auf
LC_Sw1_Pl_JEQ0036040 on
aber nicht auf
LC_Sw1_Pl_JEQ0036040 control: onreagiert.

Ich habe es mit
LC_Sw1_Pl_JEQ0036040:[^a-z]{6}onversucht, aber das reagiert so erstmal auf garnichts. Wie formatiere ich das richtig, wenn es überhaupt vorgesehen ist.

Ich habe das, wie empfohlen, bei https://regex101.com/ ausprobiert und das Pattern als solches funktioniert und ignoriert die Zeile mit "control".
1x  RasPiB3+  mit RPI-RF-MOD und piccu3
1x HM-TC-IT-WM-W-EU, 1x HM-CC-RT-DN, 1xHM-SEC-SCo,
HM-LC-Sw4-DR, HM-WDS30-OT2-SM, HM-Dis-WM55, 7x HmIP-eTRV-B,

Jamo

Hallo Volker,
defmod n_TEST notify LC_Sw1_Pl_JEQ0036040:on set irgendwasAnderes offwird nur auf 'on' triggern.
Bullseye auf iNUC, Homematic + HMIP(UART/HMUSB), Debmatic, HUEBridge, Zigbee/ConbeeII, FB, Alexa (fhem-lazy), Livetracking, LaCrosse JeeLink, LoRaWan / TTN / Chirpstack

betateilchen

Wenn man solche notify einfach von FHEM selbst aus dem Event Monitor heraus anlegen läßt, sind die schon soweit optimiert, dass Du sie direkt verwenden kannst.
-----------------------
Formuliere die Aufgabe möglichst einfach und
setze die Lösung richtig um - dann wird es auch funktionieren.
-----------------------
Lesen gefährdet die Unwissenheit!

betateilchen

Zitat von: VolkerGBenner am 13 Januar 2024, 19:16:09Ich habe es mit
LC_Sw1_Pl_JEQ0036040:[^a-z]{6}onversucht

Was soll denn das überhaupt bewirken?
Kannst Du die regex mal in "text" beschreiben?
-----------------------
Formuliere die Aufgabe möglichst einfach und
setze die Lösung richtig um - dann wird es auch funktionieren.
-----------------------
Lesen gefährdet die Unwissenheit!

VolkerGBenner

Zitat von: betateilchen am 13 Januar 2024, 19:53:16Kannst Du die regex mal in "text" beschreiben?


LC_Sw1_Pl_JEQ0036040:[^a-z]{6}on
Finde "on", aber nur wenn vorher nicht 6 Zeichen aus der Gruppe der Kleinbuchstaben auftauchen!Im RegEx-Tester funktioniert das so. Er findet "on" und ignoriert "control: on" in einem entsprechenden Auszug vom Event-Monitor.
1x  RasPiB3+  mit RPI-RF-MOD und piccu3
1x HM-TC-IT-WM-W-EU, 1x HM-CC-RT-DN, 1xHM-SEC-SCo,
HM-LC-Sw4-DR, HM-WDS30-OT2-SM, HM-Dis-WM55, 7x HmIP-eTRV-B,

VolkerGBenner

Zitat von: Jamo am 13 Januar 2024, 19:38:29Hallo Volker,
defmod n_TEST notify LC_Sw1_Pl_JEQ0036040:on set irgendwasAnderes offwird nur auf 'on' triggern.

:-* Jo, so einfach kann es sein. Mal wieder den Wald vor lauter Bäumen nicht gesehen.
Hatte irgendwie im Hinterkopf, dass hinter dem ":" noch ein .* folgen muss. War offensichtlich Unfug.

Vielen Dank, jetzt funktioniert es.
1x  RasPiB3+  mit RPI-RF-MOD und piccu3
1x HM-TC-IT-WM-W-EU, 1x HM-CC-RT-DN, 1xHM-SEC-SCo,
HM-LC-Sw4-DR, HM-WDS30-OT2-SM, HM-Dis-WM55, 7x HmIP-eTRV-B,

betateilchen

Zitat von: VolkerGBenner am 13 Januar 2024, 20:39:45Finde "on", aber nur wenn vorher nicht 6 Zeichen aus der Gruppe der Kleinbuchstaben auftauchen

Ich verstehe halt den Sinn des Teils mit "vorher nicht 6 Zeichen aus der Gruppe der Kleinbuchstaben" nicht.

Wie schon gesagt - nutze die Möglichkeit, ein notify direkt von FHEM im EventMonitor erstellen zu lassen.
FHEM hat dabei offenbar weniger Probleme als Du...
-----------------------
Formuliere die Aufgabe möglichst einfach und
setze die Lösung richtig um - dann wird es auch funktionieren.
-----------------------
Lesen gefährdet die Unwissenheit!

VolkerGBenner

Zitat von: betateilchen am 13 Januar 2024, 21:16:42Ich verstehe halt den Sinn des Teils mit "vorher nicht 6 Zeichen aus der Gruppe der Kleinbuchstaben" nicht.

Ist wohl auch ziemlich sinnlos. Die Lösung war eben sehr viel simpler s.o.


1x  RasPiB3+  mit RPI-RF-MOD und piccu3
1x HM-TC-IT-WM-W-EU, 1x HM-CC-RT-DN, 1xHM-SEC-SCo,
HM-LC-Sw4-DR, HM-WDS30-OT2-SM, HM-Dis-WM55, 7x HmIP-eTRV-B,