FHEM Forum

FHEM => Automatisierung => DOIF => Thema gestartet von: smeagel am 06 Februar 2021, 06:06:17

Titel: DOIF & HM_OU_LED16 (Mehrere Readings)
Beitrag von: smeagel am 06 Februar 2021, 06:06:17
Hallo,

trotz intensiver Suche komme ich leider nicht mehr weiter.

Ich Habe ein HM-Device HM_OU_LED16 (Statusanzeige, 16 LEDs) und möchte dieses schlafen schicken wenn keine LED leuchtet.
Nun hat das Teil aber 16 verschiedene Readings, wie schafe ich nun das ich ein DOIF erstelle, welches ein Event auslöst wenn EIN
Kanal den Status 1 oder 3 hat?

Die Readings sind 1.LED_STATUS bis 16.LED_STATUS - und diese können den Wert 0, 1, 2 oder 3 haben.

Meine Idee bisher:
([HM_OU_LED16_REQ1304779:"*._STATUS$"] =~ 0 or 1 or 3) (set HM_OU_LED16_REQ1304779 datapoint 1.LED_SLEEP_MODE 0)
DOELSE (set HM_OU_LED16_REQ1304779 datapoint 1.LED_SLEEP_MODE 1)

funktioniert leider nicht.

Hat jemand nen Ansatz für mich?


VG
Thorsten
Titel: Antw:DOIF & HM_OU_LED16 (Mehrere Readings)
Beitrag von: Damian am 06 Februar 2021, 09:57:52
z. B.
([HM_OU_LED16_REQ1304779:"*._STATUS$",""] =~ /0|1|3/) (set HM_OU_LED16_REQ1304779 datapoint 1.LED_SLEEP_MODE 0)
DOELSE (set HM_OU_LED16_REQ1304779 datapoint 1.LED_SLEEP_MODE 1)
Titel: Antw:DOIF & HM_OU_LED16 (Mehrere Readings)
Beitrag von: smeagel am 06 Februar 2021, 13:49:06
Vielen Dank für die schnelle Antwort.

Allerding bekomme ich nun folgenden Error in den Readings:
condition c01: Quantifier follows nothing in regex; marked by <-- HERE in m/* <-- HERE ._STATUS$/ at ./FHEM/98_DOIF.pm line 1133.

Hier noch das Listing vom Device:
Internals:
   CFGFN     
   DEF        ([HM_OU_LED16_REQ1304779:"*._STATUS$",""] =~ /0|1|3/) (set HM_OU_LED16_REQ1304779 datapoint 1.LED_SLEEP_MODE 0) DOELSE (set HM_OU_LED16_REQ1304779 datapoint 1.LED_SLEEP_MODE 1)
   FUUID      601d8364-f33f-e7fd-b612-1218d805a3ff417a
   MODEL      FHEM
   NAME       doif_HM_OU_LED16_REQ1304779_2
   NOTIFYDEV  HM_OU_LED16_REQ1304779,global
   NR         5931
   NTFY_ORDER 50-doif_HM_OU_LED16_REQ1304779_2
   STATE      cmd_1
   TYPE       DOIF
   VERSION    23235 2020-11-25 22:42:28
   READINGS:
     2021-02-06 13:46:29   Device          HM_OU_LED16_REQ1304779
     2021-02-06 13:45:47   cmd             1
     2021-02-06 13:45:47   cmd_event       doif_HM_OU_LED16_REQ1304779_2
     2021-02-06 13:45:47   cmd_nr          1
     2021-02-06 13:46:29   e_HM_OU_LED16_REQ1304779_events 9.LED_STATUS: 2
     2021-02-06 13:46:29   error           condition c01: Quantifier follows nothing in regex; marked by <-- HERE in m/* <-- HERE ._STATUS$/ at ./FHEM/98_DOIF.pm line 1133.

     2021-02-06 13:45:06   mode            enabled
     2021-02-06 13:45:47   state           cmd_1
   Regex:
     accu:
     cond:
       HM_OU_LED16_REQ1304779:
         0:
           &STATE     ^HM_OU_LED16_REQ1304779$
   attr:
     cmdState:
     wait:
     waitdel:
   condition:
     0          ::EventDoIf('HM_OU_LED16_REQ1304779',$hash,'*._STATUS$',1) =~ /0|1|3/
   devices:
   do:
     0:
       0          set HM_OU_LED16_REQ1304779 datapoint 1.LED_SLEEP_MODE 0
     1:
       0          set HM_OU_LED16_REQ1304779 datapoint 1.LED_SLEEP_MODE 1
   helper:
     DEVFILTER  ^global$|^HM_OU_LED16_REQ1304779$
     NOTIFYDEV  global|HM_OU_LED16_REQ1304779
     event      9.LED_STATUS: 2
     globalinit 1
     last_timer 0
     sleeptimer -1
     timerdev   
     timerevent 9.LED_STATUS: 2
     timerevents
     timereventsState
     triggerDev
   internals:
   readings:
   trigger:
     all         HM_OU_LED16_REQ1304779
   uiState:
   uiTable:
Attributes:
   room       Homematic_NEU


Woran kann das liegen? bzw was mache ich falsch?
Was sollte ich einstellen damit die Befehle nur übertragen werden wenn sich ein Wert wirklich ändert?


VG
Thorsten
Titel: Antw:DOIF & HM_OU_LED16 (Mehrere Readings)
Beitrag von: Damian am 06 Februar 2021, 13:58:06
*. ist falsch auch die korrekte Angaben .* ist beim DOIF überflüssig:

[HM_OU_LED16_REQ1304779:"_STATUS$",""]
Titel: Antw:DOIF & HM_OU_LED16 (Mehrere Readings)
Beitrag von: smeagel am 06 Februar 2021, 14:11:27
Also er schaltet nun das Display schonmal an wenn ein Kanal den State 1 hat - Nur auschalten geht noch nicht.
Das Doif hat auch immer den state "initialized"

Anbei das aktuelle Listing:
Internals:
   CFGFN     
   DEF        [HM_OU_LED16_REQ1304779:"_STATUS$",""] =~ /0|1|3/) (set HM_OU_LED16_REQ1304779 datapoint 1.LED_SLEEP_MODE 0) DOELSE (set HM_OU_LED16_REQ1304779 datapoint 1.LED_SLEEP_MODE 1)
   FUUID      601d8364-f33f-e7fd-b612-1218d805a3ff417a
   MODEL      Perl
   NAME       doif_HM_OU_LED16_REQ1304779_2
   NOTIFYDEV  global
   NR         5931
   NTFY_ORDER 50-doif_HM_OU_LED16_REQ1304779_2
   STATE      initialized
   TYPE       DOIF
   VERSION    23235 2020-11-25 22:42:28
   READINGS:
     2021-02-06 14:10:30   mode            enabled
     2021-02-06 14:10:30   state           initialized
   Regex:
     accu:
   attr:
     cmdState:
     wait:
     waitdel:
   condition:
   devices:
   helper:
     DEVFILTER  ^global$
     NOTIFYDEV  global
     globalinit 1
     last_timer 0
     sleeptimer -1
   perlblock:
   uiState:
   uiTable:
Attributes:
   room       Homematic_NEU
Titel: Antw:DOIF & HM_OU_LED16 (Mehrere Readings)
Beitrag von: Damian am 06 Februar 2021, 14:19:22
ohne Klammer auf am Anfang kann es auch nicht funktionieren
Titel: Antw:DOIF & HM_OU_LED16 (Mehrere Readings)
Beitrag von: smeagel am 06 Februar 2021, 14:24:51
Sorry, mein Fehler.

Vielen Dank schonmal für Deine Hilfe
Titel: Antw:DOIF & HM_OU_LED16 (Mehrere Readings)
Beitrag von: smeagel am 06 Februar 2021, 14:41:01
Aber irgendwie ist noch der Wurm drin...
ich habe jetzt mal folgendes eingetragen:
([HM_OU_LED16_REQ1304779:"_STATUS$",""] =~ /8|9/) (set HMIP_Display_UG on) DOELSE (set HMIP_Display_UG off)
Des Device HM_OU_LED16_REQ1304779 hat 16 Kanäle (z.B. 1.LED_STATUS), jeder kann den Status 0,1,2 oder 3 haben.
Mit dem o.g. Doif müsste das Doif ja eigentlich cmd2 ausführen und den Dummy auf off schalten - es KANN ja kein Kanal/Reading den Status 8 oder 9 haben.
Das tut es auch brav, wenn ich jedoch das Doif in:
([HM_OU_LED16_REQ1304779:"_STATUS$",""] =~ /1|3/) (set HMIP_Display_UG on) DOELSE (set HMIP_Display_UG off)
ändere, müsste es doch eigentlich cmd1 ausführen wenn ein Kanal den Status 1 oder 3 bekommt, richtig?
Das tut es nämlich leider nicht - immer cmd2

Hilfe?  :) Bitte
Titel: Antw:DOIF & HM_OU_LED16 (Mehrere Readings)
Beitrag von: Damian am 06 Februar 2021, 14:49:04
Da dürfte noch einiges im Argen liegen:

Das Event besteht ja aus dem Readingnamen und seinem Inhalt (siehe Eventmonitor)

"_STATUS$"  dürfte schon falsch sein, weil danach noch etwas kommt, nämlich der Wert,

daher

"_STATUS"
Titel: Antw:DOIF & HM_OU_LED16 (Mehrere Readings)
Beitrag von: smeagel am 06 Februar 2021, 15:20:16
Hi,

sieht gut aus.... wenn ich jetzt ein checkall internals mache - merkt er sogar das er cmd2 ausführen muss. Aber nicht von alleine.
Allerdings springt er immer wieder auf cmd1 obwohl kein Kanal den Status 1 oder 3 hat.
Titel: Antw:DOIF & HM_OU_LED16 (Mehrere Readings)
Beitrag von: smeagel am 06 Februar 2021, 18:41:50
So sieht das aus wenn ich via Eventmonitor ein Doif erstellen würde:
define HM_OU_LED16_REQ1304779_DOIF_1 DOIF ([HM_OU_LED16_REQ1304779:"^datapoint.9.LED_STATUS.2$"]) ()

Und das ganze halt nur so das es egal ist welcher Datapoint Status 1 oder 3 hat - set HMIP_Display_UG on bei allen anderen Werten (0 oder 2) set HMIP_Display_UG off.
Und ich weiss langsam nicht mehr was ich noch versuchen soll.
Titel: Antw:DOIF & HM_OU_LED16 (Mehrere Readings)
Beitrag von: Damian am 06 Februar 2021, 18:52:02
Wann soll er denn off schalten?
Titel: Antw:DOIF & HM_OU_LED16 (Mehrere Readings)
Beitrag von: smeagel am 06 Februar 2021, 19:06:14
Quasi das in elegant:

([HM_OU_LED16_REQ1304779:9.LED_STATUS] eq "1" or [HM_OU_LED16_REQ1304779:9.LED_STATUS] eq "3") (set HMIP_Display_UG on)
DOELSEIF ([HM_OU_LED16_REQ1304779:1.LED_STATUS] eq "1" or [HM_OU_LED16_REQ1304779:1.LED_STATUS] eq "3") (set HMIP_Display_UG on)
DOELSEIF ([HM_OU_LED16_REQ1304779:2.LED_STATUS] eq "1" or [HM_OU_LED16_REQ1304779:2.LED_STATUS] eq "3") (set HMIP_Display_UG on)
DOELSEIF ([HM_OU_LED16_REQ1304779:3.LED_STATUS] eq "1" or [HM_OU_LED16_REQ1304779:3.LED_STATUS] eq "3") (set HMIP_Display_UG on)
DOELSEIF ([HM_OU_LED16_REQ1304779:4.LED_STATUS] eq "1" or [HM_OU_LED16_REQ1304779:4.LED_STATUS] eq "3") (set HMIP_Display_UG on)
DOELSEIF ([HM_OU_LED16_REQ1304779:5.LED_STATUS] eq "1" or [HM_OU_LED16_REQ1304779:5.LED_STATUS] eq "3") (set HMIP_Display_UG on)
DOELSEIF ([HM_OU_LED16_REQ1304779:6.LED_STATUS] eq "1" or [HM_OU_LED16_REQ1304779:6.LED_STATUS] eq "3") (set HMIP_Display_UG on)
DOELSEIF ([HM_OU_LED16_REQ1304779:7.LED_STATUS] eq "1" or [HM_OU_LED16_REQ1304779:7.LED_STATUS] eq "3") (set HMIP_Display_UG on)
DOELSEIF ([HM_OU_LED16_REQ1304779:8.LED_STATUS] eq "1" or [HM_OU_LED16_REQ1304779:8.LED_STATUS] eq "3") (set HMIP_Display_UG on)
DOELSEIF ([HM_OU_LED16_REQ1304779:9.LED_STATUS] eq "1" or [HM_OU_LED16_REQ1304779:9.LED_STATUS] eq "3") (set HMIP_Display_UG on)
DOELSEIF ([HM_OU_LED16_REQ1304779:10.LED_STATUS] eq "1" or [HM_OU_LED16_REQ1304779:10.LED_STATUS] eq "3") (set HMIP_Display_UG on)
DOELSEIF ([HM_OU_LED16_REQ1304779:11.LED_STATUS] eq "1" or [HM_OU_LED16_REQ1304779:11.LED_STATUS] eq "3") (set HMIP_Display_UG on)
DOELSEIF ([HM_OU_LED16_REQ1304779:12.LED_STATUS] eq "1" or [HM_OU_LED16_REQ1304779:12.LED_STATUS] eq "3") (set HMIP_Display_UG on)
DOELSEIF ([HM_OU_LED16_REQ1304779:13.LED_STATUS] eq "1" or [HM_OU_LED16_REQ1304779:13.LED_STATUS] eq "3") (set HMIP_Display_UG on)
DOELSEIF ([HM_OU_LED16_REQ1304779:14.LED_STATUS] eq "1" or [HM_OU_LED16_REQ1304779:14.LED_STATUS] eq "3") (set HMIP_Display_UG on)
DOELSEIF ([HM_OU_LED16_REQ1304779:15.LED_STATUS] eq "1" or [HM_OU_LED16_REQ1304779:15.LED_STATUS] eq "3") (set HMIP_Display_UG on)
DOELSEIF ([HM_OU_LED16_REQ1304779:16.LED_STATUS] eq "1" or [HM_OU_LED16_REQ1304779:16.LED_STATUS] eq "3") (set HMIP_Display_UG on)
DOELSE (set HMIP_Display_UG off)


Und nach Möglichkeit den Schaltbefehl nur dann senden wenn sich ein Reading verändert - nicht jedesmal wenn das HMIP Device den Status schreibt.

Sorry, ich weiss, blöde Anforderungen... aber ich packs leider nicht anders als oben beschrieben.
Titel: Antw:DOIF & HM_OU_LED16 (Mehrere Readings)
Beitrag von: Damian am 06 Februar 2021, 20:55:47
("[HM_OU_LED16_REQ1304779:_STATUS$",""] =~ /1|3/) (set HMIP_Display_UG on) DOELSEIF ("[HM_OU_LED16_REQ1304779:_STATUS$",""] =~ /0|2/)   (set HMIP_Display_UG off)

sollte jetzt funktionieren.

Ggf. musst du noch den DOELSEIF anpassen.
Titel: Antw:DOIF & HM_OU_LED16 (Mehrere Readings)
Beitrag von: smeagel am 07 Februar 2021, 06:40:03
Die Zeile sieht gut aus...bringt leider einen Erroer:
condition c01: Can't find string terminator "'" anywhere before EOF, line 1.
Titel: Antw:DOIF & HM_OU_LED16 (Mehrere Readings)
Beitrag von: smeagel am 07 Februar 2021, 08:43:20
Aber ich denke das mit dem DOELSEIF wird Probleme machen....
Das Display soll NUR angehen WENN einer der 16 Kanäle von HM_OU_LED16_REQ1304779
den Status 1 oder 3 hat - wenn NICHT (also irgendein anderer) soll es ausgeschaltet werden oder bleiben.

Es ist so, die 16 Kanäle zeigen verschiedene Stati - im Idealfall sind alle 16 grün (2), wenn nun ein Kanal auf rot (1) oder
orange (3) springt, soll das Display auf on gehen; sollte der entsprechende Kanal wieder auf grün (2) springen -> alle 16 grün -> Display wieder off.

Ich habe mal versucht im Eventmonitor zu schauen was passiert und mit der integrierten DOIF-Funktion was versucht:
([HM_OU_LED16_REQ1304779:"^.*.LED_STATUS:.*$"] eq "1" or [HM_OU_LED16_REQ1304779:"^.*.LED_STATUS:.*$"] eq "3") (set HMIP_Display_UG on) DOELSE (set HMIP_Display_UG off)
Leider ist es wohl so dieses nicht so ganz funktioniert. Irgendwie schaltet das Doif zwar das Display an...aber wenn alles wieder grün ist, nicht off.
Titel: Antw:DOIF & HM_OU_LED16 (Mehrere Readings)
Beitrag von: Damian am 07 Februar 2021, 10:49:07
Nur mal zum Verständnis:

Reine Ereignistrigger der Art ["...."] sind nur wahr zum Triggerzeitpunkt, sonst sind sie nicht wahr - sie kann man nicht sinnvoll nach Inhalten abfragen. Eine Ausnahme ist die Syntax ["....",<Defaultwert>], diese liefert den Wert des Ereignisses. Bei Ereignistriggern wird kein DOELSE-Fall ausgelöst, weil jedes Event von anderen Devices in FHEM zum ELSE-Fall gehört. Hier kann man also nur sinnvoll über DOELSEIF unterscheiden.

https://fhem.de/commandref_DE.html#DOIF_Ereignissteuerung_ueber_Auswertung_von_Events

ZitatEs ist so, die 16 Kanäle zeigen verschiedene Stati - im Idealfall sind alle 16 grün (2), wenn nun ein Kanal auf rot (1) oder
orange (3) springt, soll das Display auf on gehen; sollte der entsprechende Kanal wieder auf grün (2) springen -> alle 16 grün -> Display wieder off.

Das kannst du einfach mit Aggregationsfunktionen lösen:

https://fhem.de/commandref_DE.html#DOIF_aggregation
Titel: Antw:DOIF & HM_OU_LED16 (Mehrere Readings)
Beitrag von: smeagel am 07 Februar 2021, 18:03:18
Aber die Readings sind doch nicht gleichnamig? 1.LED_STATUS 1 2.LED_STATUS 2 3.LED_STATUS 1 usw.
Oder habe ich da einen Denk- oder Verständniss-Fehler?
Titel: Antw:DOIF & HM_OU_LED16 (Mehrere Readings)
Beitrag von: Damian am 07 Februar 2021, 18:57:33
Zitat von: smeagel am 07 Februar 2021, 18:03:18
Aber die Readings sind doch nicht gleichnamig? 1.LED_STATUS 1 2.LED_STATUS 2 3.LED_STATUS 1 usw.
Oder habe ich da einen Denk- oder Verständniss-Fehler?

Worauf bezieht sich diese Frage?

Bei der Aggregation kann man Readings per RegEx filtern.
Titel: Antw:DOIF & HM_OU_LED16 (Mehrere Readings)
Beitrag von: smeagel am 07 Februar 2021, 19:18:17
Das ich nicht weiß wie ich es umsetzen soll... weil mir leider das Verständnis felht  :'(
Titel: Antw:DOIF & HM_OU_LED16 (Mehrere Readings)
Beitrag von: Damian am 07 Februar 2021, 19:31:25
Dann probiere mal:

DOIF  ([#"HM_OU_LED16_REQ1304779:LED_STATUS$":"LED_STATUS$": $_ =~ /1|3/]  > 0) (set HMIP_Display_UG on) DOELSE (set HMIP_Display_UG off)

Bedeutung:

# Anzahl
"HM_OU_LED16_REQ1304779:LED_STATUS$" Trigger
"LED_STATUS$"  RegEx für Reading
$_ =~ /1|3/ Bedingung zum Zählen
Titel: Antw:DOIF & HM_OU_LED16 (Mehrere Readings)
Beitrag von: smeagel am 07 Februar 2021, 19:36:29
Dankeschön - Für was steht # Anzahl?
Titel: Antw:DOIF & HM_OU_LED16 (Mehrere Readings)
Beitrag von: Damian am 07 Februar 2021, 19:38:41
Zitat von: smeagel am 07 Februar 2021, 19:36:29
Dankeschön - Für was steht # Anzahl?

Für die Funktion #.

Hier stehts erklärt:

https://fhem.de/commandref_DE.html#DOIF_aggregation
Titel: Antw:DOIF & HM_OU_LED16 (Mehrere Readings)
Beitrag von: smeagel am 07 Februar 2021, 19:42:26
<function>:

# Anzahl der betroffenen Devices, der folgende Doppelpunkt kann weggelassen werden

Sprich, in meinem Fall wäre das 1 Device - Seh ich das richtig?

([#"HM_OU_LED16_REQ1304779:LED_STATUS$":"LED_STATUS$": $_ =~ /1|3/]  > 0) (set HMIP_Display_UG on) DOELSE (set HMIP_Display_UG off) - Wenn ich das so einfüge, wird die Zeile grau.
Titel: Antw:DOIF & HM_OU_LED16 (Mehrere Readings)
Beitrag von: Damian am 07 Februar 2021, 20:16:33
Zitat von: smeagel am 07 Februar 2021, 19:42:26
<function>:

# Anzahl der betroffenen Devices, der folgende Doppelpunkt kann weggelassen werden

Sprich, in meinem Fall wäre das 1 Device - Seh ich das richtig?

([#"HM_OU_LED16_REQ1304779:LED_STATUS$":"LED_STATUS$": $_ =~ /1|3/]  > 0) (set HMIP_Display_UG on) DOELSE (set HMIP_Display_UG off) - Wenn ich das so einfüge, wird die Zeile grau.

So ist es.
Titel: Antw:DOIF & HM_OU_LED16 (Mehrere Readings)
Beitrag von: smeagel am 07 Februar 2021, 20:53:26
Und das die Zeile grau ist, ist normal?

Vieeeeeeelen Dank schonmal jetzt für Deine Geduld und Hilfe.
Titel: Antw:DOIF & HM_OU_LED16 (Mehrere Readings)
Beitrag von: Damian am 07 Februar 2021, 21:03:09
Zitat von: smeagel am 07 Februar 2021, 20:53:26
Und das die Zeile grau ist, ist normal?

Vieeeeeeelen Dank schonmal jetzt für Deine Geduld und Hilfe.

Ich weiß nicht, welche Zeile du meinst.
Titel: Antw:DOIF & HM_OU_LED16 (Mehrere Readings)
Beitrag von: smeagel am 08 Februar 2021, 05:12:08
Diese:
DEF
([#"HM_OU_LED16_REQ1304779:LED_STATUS$":"LED_STATUS$": $_ =~ /1|3/]  > 0) (set HM_OU_LED16_REQ1304779 datapoint 1.LED_SLEEP_MODE 0) DOELSE (set HM_OU_LED16_REQ1304779 datapoint 1.LED_SLEEP_MODE 1)
Titel: Antw:DOIF & HM_OU_LED16 (Mehrere Readings)
Beitrag von: smeagel am 09 Februar 2021, 16:34:09
([#"HM_OU_LED16_REQ1304779:LED_STATUS$":"LED_STATUS$": $_ =~ /1|3/]  > 0) (set HM_OU_LED16_REQ1304779 datapoint 1.LED_SLEEP_MODE 0) DOELSE (set HM_OU_LED16_REQ1304779 datapoint 1.LED_SLEEP_MODE 1)

Es geht zwar das Display an....aber nicht mehr aus.
Das Doif bleibt auf cmd1 stehen - wenn man ein "checkall internals" ausführt - springt er sofort auf cmd2 und das Display geht aus.
Aber eben nur wenn man checkall manuell ausführt?
Ich habe auch nur Ereignisse im Eventmonitor wenn ich checkall ausführe - ansonsten nicht.

So wie ich es sehe, tut das Doif nichts - das Display geht sowieso an soblad ich eine LED einschalte.
Titel: Antw:DOIF & HM_OU_LED16 (Mehrere Readings)
Beitrag von: smeagel am 12 Februar 2021, 19:49:43
So scheint es zu funktionieren:

([HM_OU_LED16_REQ1304779:1.LED_STATUS] == 1 or [HM_OU_LED16_REQ1304779:1.LED_STATUS] == 3 or
[HM_OU_LED16_REQ1304779:2.LED_STATUS] == 1 or [HM_OU_LED16_REQ1304779:2.LED_STATUS] == 3 or
[HM_OU_LED16_REQ1304779:3.LED_STATUS] == 1 or [HM_OU_LED16_REQ1304779:3.LED_STATUS] == 3 or
[HM_OU_LED16_REQ1304779:4.LED_STATUS] == 1 or [HM_OU_LED16_REQ1304779:4.LED_STATUS] == 3 or
[HM_OU_LED16_REQ1304779:5.LED_STATUS] == 1 or [HM_OU_LED16_REQ1304779:5.LED_STATUS] == 3 or
[HM_OU_LED16_REQ1304779:6.LED_STATUS] == 1 or [HM_OU_LED16_REQ1304779:6.LED_STATUS] == 3 or
[HM_OU_LED16_REQ1304779:7.LED_STATUS] == 1 or [HM_OU_LED16_REQ1304779:7.LED_STATUS] == 3 or
[HM_OU_LED16_REQ1304779:8.LED_STATUS] == 1 or [HM_OU_LED16_REQ1304779:8.LED_STATUS] == 3 or
[HM_OU_LED16_REQ1304779:9.LED_STATUS] == 1 or [HM_OU_LED16_REQ1304779:9.LED_STATUS] == 3 or
[HM_OU_LED16_REQ1304779:10.LED_STATUS] == 1 or [HM_OU_LED16_REQ1304779:10.LED_STATUS] == 3 or
[HM_OU_LED16_REQ1304779:11.LED_STATUS] == 1 or [HM_OU_LED16_REQ1304779:11.LED_STATUS] == 3 or
[HM_OU_LED16_REQ1304779:12.LED_STATUS] == 1 or [HM_OU_LED16_REQ1304779:12.LED_STATUS] == 3 or
[HM_OU_LED16_REQ1304779:13.LED_STATUS] == 1 or [HM_OU_LED16_REQ1304779:13.LED_STATUS] == 3 or
[HM_OU_LED16_REQ1304779:14.LED_STATUS] == 1 or [HM_OU_LED16_REQ1304779:14.LED_STATUS] == 3 or
[HM_OU_LED16_REQ1304779:15.LED_STATUS] == 1 or [HM_OU_LED16_REQ1304779:15.LED_STATUS] == 3 or
[HM_OU_LED16_REQ1304779:16.LED_STATUS] == 1 or [HM_OU_LED16_REQ1304779:16.LED_STATUS] == 3) (set HM_OU_LED16_REQ1304779 datapoint 1.LED_SLEEP_MODE 0)
DOELSE (set HM_OU_LED16_REQ1304779 datapoint 1.LED_SLEEP_MODE 1)


Ich weiß, die Lösung ist bestimmt Meilenweit weit weg von elegant - aber alle anderen Lösungen haben nicht funktioniert.

Vielen Dank für den Support und die Geduld.