FHEM Forum

FHEM => Automatisierung => DOIF => Thema gestartet von: FunkOdyssey am 12 November 2020, 15:35:20

Titel: Best practice: Auswertung von Events
Beitrag von: FunkOdyssey am 12 November 2020, 15:35:20
Hallo, in meinem FHEM-Code habe ich verschiedene Schreibweisen zur Auswertung von Events in DOIFs in Verwendung.

Welche Form sollte bevorzugt werden?

[sensorname:"^motion:.on$"]

["^sensorname:^motion:.on$"]

In der CommandRef gibt es Beispiele zu beiden Varianten.
Titel: Antw:Best practice: Auswertung von Events
Beitrag von: KyleK am 12 November 2020, 17:30:22
Die erste Variante funktioniert nur für ein Device ,,sensorname", also ein eindeutiger Match.

Die zweite Variante matcht alle Devices die mit ,,sensorname" beginnen.

Zitat CommandRef:
ZitatSollen Events verschiedener Devices ausgewertet werden, so lässt sich folgende Syntax anwenden: ["<device regex>:<event regex>"]
Titel: Antw:Best practice: Auswertung von Events
Beitrag von: FunkOdyssey am 12 November 2020, 17:42:16
Vielen Dank. Ist sogar irgendwie logisch.  :D
Ich habe den Text zwar häufig gelesen, aber die Abgrenzung nicht eindeutig verstanden.
Nun hat es Klick gemacht.
Titel: Antw:Best practice: Auswertung von Events
Beitrag von: Damian am 12 November 2020, 22:40:26
Es gibt noch einen entscheidenden Unterschied:

DOIF ([sensorname:"^motion:.on$"]) ... kann sinnvollerweise einen DOELSE-Fall enthalten, dieser wird ausgeführt wenn sensorname ein Event liefert, welches nicht zutrifft

bei:

DOIF (["^sensorname$:^motion:.on$"])... ist die Angabe eines DOELSE-Falls nicht sinnvoll, denn wenn sensorname ein Event liefert, welches nicht zutrifft, dann wird DOIF erst gar nicht getriggert
Titel: Antw:Best practice: Auswertung von Events
Beitrag von: FunkOdyssey am 12 November 2020, 22:57:05
Das wäre doch auch ein Hinweis für die Doku? Oder?
Bei mir macht das im Moment keinen Unterschied. Aber danke für den Tipp.
Titel: Antw:Best practice: Auswertung von Events
Beitrag von: Damian am 13 November 2020, 07:32:40
Zitat von: FunkOdyssey am 12 November 2020, 22:57:05
Das wäre doch auch ein Hinweis für die Doku? Oder?
Bei mir macht das im Moment keinen Unterschied. Aber danke für den Tipp.

mal schauen, wo es am besten passt