FHEM Forum

FHEM => Anfängerfragen => Thema gestartet von: slor am 21 Dezember 2018, 13:15:58

Titel: Hilfe mit Regex
Beitrag von: slor am 21 Dezember 2018, 13:15:58
Hallo zusammen,

ich möchte Presence Devices triggern, wenn diese den Status absent, dead etc. bekommen.

Die fangen alle mit pr_ an. Z.B. pr_eg_raspi

Jetzt habe ich für ein Doif ein regex gebaut, das triggert aber nicht sauber:
(["^pr_.*$:^status_.*(unknown|dead|unreachable|absent)"])

woran hakt es?
Titel: Antw:Hilfe mit Regex
Beitrag von: marvin78 am 21 Dezember 2018, 13:16:34
https://regex101.com/
Titel: Antw:Hilfe mit Regex
Beitrag von: Otto123 am 21 Dezember 2018, 13:52:35
Wozu ist das $ ?

Und diese Aussage "das triggert aber nicht sauber" solltest Du irgendwie erhellen :)
Eventmonitor  (https://wiki.fhem.de/wiki/Event_monitor)probiert?

Gruß Otto
Titel: Antw:Hilfe mit Regex
Beitrag von: slor am 21 Dezember 2018, 14:11:57
Also es triggert überhaupt nicht :-(
Das $ ist da drin weil Text Ende. Dachte zumindest das hilft. (Hat es nicht)
Titel: Antw:Hilfe mit Regex
Beitrag von: roedert am 21 Dezember 2018, 14:57:20
Zitat von: slor am 21 Dezember 2018, 14:11:57
Das $ ist da drin weil Text Ende

$ steht für Ende, soweit korrekt - aber ein .*$ macht logisch ja keinen Sinn.
Titel: Antw:Hilfe mit Regex
Beitrag von: Otto123 am 21 Dezember 2018, 14:59:07
Aber damit ist es jetzt dunkler  :o
Was sagt denn der Eventmonitor?

Das ^pr_.* triggert auf alles was mit pr_ anfängt. Das ^pr_eg_raspi$ triggert exakt auf pr_eg_raspi.

Gruß Otto
Titel: Antw:Hilfe mit Regex
Beitrag von: Ellert am 21 Dezember 2018, 17:24:24
Gibt's denn ein Event, das mit "status" anfängt?
Titel: Antw:Hilfe mit Regex
Beitrag von: slor am 22 Dezember 2018, 01:07:28
so, da hab ich mich wohl verrannt...
status ist natürlich der Zustand, nicht das Event.

folgender Event wird beispielsweise gelogged:

PR_EG_Raspi absent

Wenn ich ein darauf über den Eventmonitor ein doif bauen lasse, dann klappt das auch.
([PR_EG_Raspi:"^absent$"])
wie bekomme ich das nu hin, dass alles was mit PR_ anfängt und den Status absent, dead etc. hat ein doif triggert.
oder muss ich für jedes Device ein eigenes doif bauen?

Titel: Antw:Hilfe mit Regex
Beitrag von: Otto123 am 22 Dezember 2018, 01:16:51
So?["^PR_.*:(unknown|dead|unreachable|absent)"]