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
::) Mal ein OR in die Bedingung eingefügt?
Ist zwar nicht schön, aber...
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
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...
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.