FHEM Forum

FHEM => Anfängerfragen => Thema gestartet von: The Grue am 06 Juni 2023, 10:47:05

Titel: Ein DOIF für mehrere Geräte
Beitrag von: The Grue am 06 Juni 2023, 10:47:05
Servus!

Mal wieder eine dumme Frage, weil ich nicht in der Lage bin, die Antwort aus der Hilfe zu DOIF rauszulesen... sorry.

Ich habe zwei DOIFs, die genau das gleiche machen, nur halt für zwei Geräte:

define Basement.Corridor.PIR.Activation DOIF ([Basement.Corridor.PIR:"^alarm:.HomeSecurity:.Motion.Detection.-.Unknown.Location$"]) \
(set Basement.Corridor.Light on-for-timer 120) \
DOELSE ()

bzw

define Basement.PIR.Activation DOIF ([Basement.Stairs.PIR:"^alarm:.HomeSecurity:.Motion.Detection.-.Unknown.Location$"]) \
(set Basement.Corridor.Light on-for-timer 120) \
DOELSE ()

Ich hätte gedacht, daß das mit einer Regexp funktioniert (define Basement.*.PIR.Activation ...), aber da zuckt nix.

Bestimmt ist die Lösung trivial, aber ich komm' nicht drauf :( und bitte um Hilfe.

Danke!
--
The Grue
Titel: Aw: Ein DOIF für mehrere Geräte
Beitrag von: rabehd am 06 Juni 2023, 12:16:41
 ::) Mal ein OR in die Bedingung eingefügt?
Ist zwar nicht schön, aber...
Titel: Aw: Ein DOIF für mehrere Geräte
Beitrag von: Sany am 06 Juni 2023, 12:31:07
DOIF sagt dazu:
ZitatSollen Events verschiedener Devices ausgewertet werden, so lässt sich folgende Syntax anwenden: ["<device regex>:<event regex>"]

und
Zitat["FS:temp"] triggert auf alle Devices, die "FS" im Namen und "temp" im Event beinhalten


du musst also die Regex auf den Namen ausweiten, d.h. die Anführungszeichen müssen da drum rum

Deine Def könnte also so aussehen:



define Basement.Corridor.PIR.Activation DOIF (["^Basement.*PIR$:^alarm:.HomeSecurity:.Motion.Detection.-.Unknown.Location$"]) \
 (set Basement.Corridor.Light on-for-timer 120) \
DOELSE ()


oder

define Basement.Corridor.PIR.Activation DOIF (["^Basement.(Corridor|Stairs).PIR$:^alarm:.HomeSecurity:.Motion.Detection.-.Unknown.Location$"]) \
 (set Basement.Corridor.Light on-for-timer 120) \
DOELSE ()
die erste Variante ist allgemeiner, die 2te nur für Corridor und Stairs.

Viel Erfolg!!


Sany
Titel: Aw: Ein DOIF für mehrere Geräte
Beitrag von: The Grue am 06 Juni 2023, 15:18:44
Zitat von: Sany am 06 Juni 2023, 12:31:07Viel Erfolg!!

Vielen Dank! Eine schöne Lösung die auch funktioniert :) Hab' ich mal wieder die richtige Zeile in der Doku übersehen, ich Blindfuchs...
Titel: Aw: Ein DOIF für mehrere Geräte
Beitrag von: The Grue am 06 Juni 2023, 15:21:35
Servus rabehd

Zitat von: rabehd am 06 Juni 2023, 12:16:41::) Mal ein OR in die Bedingung eingefügt?
Ist zwar nicht schön, aber...

Danke :) Ja, hab' ich. ist aber eine Lösung, die irgendwie nicht zu fhem passt.

Da Erlaube ich mir ein Zitat ;)

Zitat von: rabehdAuch funktionierende Lösungen kann man hinterfragen.