FHEM Forum

FHEM => Automatisierung => DOIF => Thema gestartet von: balli1187 am 18 März 2020, 17:15:29

Titel: RegEx im DOIF
Beitrag von: balli1187 am 18 März 2020, 17:15:29
Hallo Community,

ich versuche seit einer Weile zu verstehen wie das mit den RegEx im DOIF genau funktioniert aber ich kriege s nicht gebacken. Da dieverses lesen sowie 'try&error' nichts gebracht haben, bitte ich hier mal um Hilfe.

ich habe mehrer Echos über das Modul EchoDevice in FHEM eingebunden und würde gern auf Anweisungen, die im Voice-Reading landen reagieren. Hintergrund ist, so wenig wie möglich Logik und Aktionen in der Alexa App zu hinterlegen sondern in FHEM darauf zu reagieren.

Meine Echos sind so benannt
<Raum>_Echo_<Typ>
also zum Beispiel: "Bad_Echo_Dot"

Ich möchte jetzte ein DOIF bauen, welches auf alle Echos reagiert und im Voice-Reading nach bestimmten Inhalten sucht und darauf reagiert.

Biespiel für ein Event
2020-03-18 17:04:29.872 echodevice Bad_Echo_Dot voice: alexa dies ist ein test

Über den Eventmonitor wird mir folgende Definition ausgegeben
define Bad_Echo_Dot_DOIF_1 DOIF ([Bad_Echo_Dot:"^voice:.alexa.dies.ist.ein.test$"]) ()

Wie verallgemeinere ich das jetzt richtig, so dass das DOIF
- auf alle Geräte mit "_Echo_" im Namen reagiert
- und immer dann, wenn die Wortgruppe "ein test" irgendwo im voice-Reading steht?

Grüße, Stephan
Titel: Antw:RegEx im DOIF
Beitrag von: Damian am 18 März 2020, 17:19:19
Zitat von: balli1187 am 18 März 2020, 17:15:29
Hallo Community,

ich versuche seit einer Weile zu verstehen wie das mit den RegEx im DOIF genau funktioniert aber ich kriege s nicht gebacken. Da dieverses lesen sowie 'try&error' nichts gebracht haben, bitte ich hier mal um Hilfe.

ich habe mehrer Echos über das Modul EchoDevice in FHEM eingebunden und würde gern auf Anweisungen, die im Voice-Reading landen reagieren. Hintergrund ist, so wenig wie möglich Logik und Aktionen in der Alexa App zu hinterlegen sondern in FHEM darauf zu reagieren.

Meine Echos sind so benannt
<Raum>_Echo_<Typ>
also zum Beispiel: "Bad_Echo_Dot"

Ich möchte jetzte ein DOIF bauen, welches auf alle Echos reagiert und im Voice-Reading nach bestimmten Inhalten sucht und darauf reagiert.

Biespiel für ein Event
2020-03-18 17:04:29.872 echodevice Bad_Echo_Dot voice: alexa dies ist ein test

Über den Eventmonitor wird mir folgende Definition ausgegeben
define Bad_Echo_Dot_DOIF_1 DOIF ([Bad_Echo_Dot:"^voice:.alexa.dies.ist.ein.test$"]) ()

Wie verallgemeinere ich das jetzt richtig, so dass das DOIF
- auf alle Geräte mit "_Echo_" im Namen reagiert
- und immer dann, wenn die Wortgruppe "ein test" irgendwo im voice-Reading steht?

Grüße, Stephan

define Echo_Dot_DOIF DOIF (["_Echo_:ein test"]) ()

Wird vermutlich schon reichen.
Titel: Antw:RegEx im DOIF
Beitrag von: balli1187 am 18 März 2020, 17:26:55
Zitat von: Damian am 18 März 2020, 17:19:19
define Echo_Dot_DOIF DOIF (["_Echo_:ein test"]) ()

Wird vermutlich schon reichen.
Ich geh kaput...
Du hast das ZU einfach gemacht, da kommt ja niemand drauf [emoji23]

Wenn du wüsstest wie lange ich daran schon rum knoble.

Der Vollständigkeit halber: wie würde es aussehen, wenn ich das Reading noch explizit prüfen möchte?


Gesendet von iPhone mit Tapatalk
Titel: Antw:RegEx im DOIF
Beitrag von: Damian am 18 März 2020, 17:35:48
Zitat von: balli1187 am 18 März 2020, 17:26:55
Ich geh kaput...
Du hast das ZU einfach gemacht, da kommt ja niemand drauf [emoji23]

Wenn du wüsstest wie lange ich daran schon rum knoble.

Der Vollständigkeit halber: wie würde es aussehen, wenn ich das Reading noch explizit prüfen möchte?


Gesendet von iPhone mit Tapatalk

define Echo_Dot_DOIF DOIF (["_Echo_:^voice.*ein test"]) ()

vermutlich aber nicht erforderlich, wenn "ein test" sonst nirgendwo vorkommt.
Titel: Antw:RegEx im DOIF
Beitrag von: balli1187 am 19 März 2020, 08:33:50
Zitat von: Damian am 18 März 2020, 17:35:48
define Echo_Dot_DOIF DOIF (["_Echo_:^voice.*ein test"]) ()

vermutlich aber nicht erforderlich, wenn "ein test" sonst nirgendwo vorkommt.
In dem Fall vermutlich nicht aber für das weitere FHEM-Leben hat's mich interessiert ;-)

Der erste Schnelltest hat genaus funktioniert, wie du geschrieben hast. Sollte also erledigt sein.

Besten Dank.


Gesendet von iPhone mit Tapatalk
Titel: Antw:RegEx im DOIF
Beitrag von: Damian am 19 März 2020, 08:54:19
Zitat von: balli1187 am 19 März 2020, 08:33:50
In dem Fall vermutlich nicht aber für das weitere FHEM-Leben hat's mich interessiert ;-)

Der erste Schnelltest hat genaus funktioniert, wie du geschrieben hast. Sollte also erledigt sein.

Besten Dank.


Gesendet von iPhone mit Tapatalk

Für das weitere FHEM-Leben kannst du auch immer in die Commandref hineinschauen: hier https://fhem.de/commandref_DE.html#DOIF_Ereignissteuerung_ueber_Auswertung_von_Events

ist das dritte Beispiel das, was dir viel Zeit erspart hätte :)
Titel: Antw:RegEx im DOIF
Beitrag von: balli1187 am 19 März 2020, 09:04:43
Ich hab reingeschaut und einiges versucht. Nur scheinbar hatte/hab ich's nicht verstanden - sorry


Gesendet von iPhone mit Tapatalk