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 pivccu3
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, Zigbee2MQTT, Conbee III, FB7690, Signal, Alexa (fhem-lazy), Geotracking, LaCrosse JeeLink, LoRaWan (TTN / Chirpstack), Sonos, ESPresence, HomeAssistant via MQTT, Meshtastic

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 pivccu3
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 pivccu3
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 pivccu3
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,...