Autor Thema: [gelöst]Watchdog: regex im regexp1 funktioniert nicht  (Gelesen 354 mal)

Online frober

  • Hero Member
  • *****
  • Beiträge: 1107
  • Was man nicht kann, kann man lernen...
[gelöst]Watchdog: regex im regexp1 funktioniert nicht
« am: 28 November 2021, 20:56:21 »
Hallo zusammen,

wieso funktioniert folgende Def. nicht, ist die Schreibweise für regexp1 nicht zulässig?
MYSENSOR_3:temperature1.(^[0-7][\.][0-9]) 02:00 MYSENSOR_3:temperature1.([0-9\.]{4,4}) {}
In regexp2 funktioniert es :o
MYSENSOR_3:temperature1.* 02:00 MYSENSOR_3:temperature1.([0-9\.]{4,4}) {}
Beide regex habe ich mittels Regextester erstellt.

Danke und Grüße
Bernd
« Letzte Änderung: 29 November 2021, 09:30:22 von frober »
Raspi 3b mit Raspbian Stretch und relativ aktuellem Fhem,  FS20, LGW, PCA301, MySensors mit RS485(CAN-Receiver), etc.,
einiges umgesetzt, vieles in Planung :-)

********************************************
...man wächst mit der Herausforderung...

Offline Benni

  • Developer
  • Hero Member
  • ****
  • Beiträge: 2437
  • FHEMinist
Antw:Watchdog: regex im regexp1 funktioniert nicht
« Antwort #1 am: 29 November 2021, 08:00:19 »
MYSENSOR_3:temperature1.(^[0-7][\.][0-9])

Der Grund warum es nicht funktioniert dürfte das "^" sein. Das ist in regex der Zeilenanfang. Das befindet sich aber mitten in der Zeile.

Außerdem ist m.E. die Gruppenbildung "(...)" unnötig.


gb#

Online frober

  • Hero Member
  • *****
  • Beiträge: 1107
  • Was man nicht kann, kann man lernen...
Antw:Watchdog: regex im regexp1 funktioniert nicht
« Antwort #2 am: 29 November 2021, 09:05:21 »
Der Grund warum es nicht funktioniert dürfte das "^" sein. Das ist in regex der Zeilenanfang. Das befindet sich aber mitten in der Zeile.

Außerdem ist m.E. die Gruppenbildung "(...)" unnötig.


gb#

Das "^" könnte mit ein Grund sein, ich bin davon ausgegangen, dass es auf EVTPART1 angewendet wird.

Ich habe aber noch weitere Bsp. die nicht funktionieren:
MYSENSOR_3:temperature1.([8-9][\.][0-9])Zisternenpumpe:power.([0-9\.]{5,5})
Raspi 3b mit Raspbian Stretch und relativ aktuellem Fhem,  FS20, LGW, PCA301, MySensors mit RS485(CAN-Receiver), etc.,
einiges umgesetzt, vieles in Planung :-)

********************************************
...man wächst mit der Herausforderung...

Online frober

  • Hero Member
  • *****
  • Beiträge: 1107
  • Was man nicht kann, kann man lernen...
Antw:Watchdog: regex im regexp1 funktioniert nicht
« Antwort #3 am: 29 November 2021, 09:29:56 »
Ok, ich muss das komplette Event auswerten.
@Benni danke für den Stups.  :)

So funktioniert es:
MYSENSOR_3:temperature1[\s][0-7][\.][0-9]
Nachtrag:
MYSENSOR_3:temperature1.[0-7][\.][0-9]funktioniert auch.

Wichtig ist, die Gruppenbildung "(...)" darf man nicht verwenden, damit das komplette EVENT gematcht wird.
« Letzte Änderung: 29 November 2021, 16:46:23 von frober »
Raspi 3b mit Raspbian Stretch und relativ aktuellem Fhem,  FS20, LGW, PCA301, MySensors mit RS485(CAN-Receiver), etc.,
einiges umgesetzt, vieles in Planung :-)

********************************************
...man wächst mit der Herausforderung...