Logfile sagt ich habe einen Loop :-(

Begonnen von Seidenschnabel, 04 April 2022, 17:10:51

Vorheriges Thema - Nächstes Thema

Seidenschnabel

Hallo FHEM Gemeinde,
habe eben in meinem Logfile gesehen, dass ich bei meiner Steuerung für das Notlicht (Licht für Gäste in der Nacht) ein LOOP habe. Der entsprechende DOIF zur Steuerung sieht folgendermaßen aus:

(([structure_Licht:state]eq "off") and (([KU_Motion:state]eq "on") or ([WZ_Motion_1:state]eq "closed")) and [17:00-06:00])
(set WZ_LEDSTRIP white 0 , set WZ_LEDSTRIP gain 3 , set WZ_LEDSTRIP rgb FF2A00 , set WZ_LEDSTRIP on ,
set KU_LEDSTRIP_DARK on)
DOELSE (set WZ_LEDSTRIP off , set KU_LEDSTRIP_DARK off)


Als Atribute wurde noch WAIT auf 120 gesetzt.

Irgendwie komme ich da nicht richtig weiter. Sollte ich lieber einen NOTIFY verwenden und das Licht nur eine bestimmte Zeit einschalten, also on-for-120, oder geht es auch mit dem DOIF

Sollte doch eigentlich nicht so schwer sein... :-(

Danke

Damian

Ein Loop kannst du dir genauso mit notify bauen. Du veränderst ein Reading auf das du direkt oder indirekt reagierst. Das kann auch ein Element einer Struktur sein, das du veränderst.
Programmierte FHEM-Module: DOIF-FHEM, DOIF-Perl, DOIF-uiTable, THRESHOLD, FHEM-Befehl: IF

Seidenschnabel

#2
Hallo Damian,

stimmt - das geht auch mit einem NOTIFY. Da war doch etwas mit ein ? vor einem State setzen, somit sollte es nur noch eine Bedingung sein, jedoch bekomme ich das nicht mehr richtig zusammen

Damian

Als erstes musst du herausfinden welches Reading den Loop verursacht.
Programmierte FHEM-Module: DOIF-FHEM, DOIF-Perl, DOIF-uiTable, THRESHOLD, FHEM-Befehl: IF

Seidenschnabel

#4
Hallo Damian,

hier einmal ein Auszug aus meinem structure_Licht:

Licht WZ_LED_Durchreiche WZ_Deckenlicht_Low WZ_Stehlampe WZ_LEDSTRIP
Licht SZ_Deckenlicht SZ_Stehlampen
Licht BU_Deckenlampe FL_Licht
Licht KU_Kuechenlicht_MITTEL KU_LEDSTRIP_AMBIENT


Der LOOP wurde sicher durch den WZ_LEDSTRIP ausgelöst, denn wenn structure_Licht sate:off steht und es bewegt sich jemand im Raum, schaltet er ja sofort auf on und der DOIF möchte dann wieder das Notlicht einschalten. Dann ist der WZ_LEDSTRIP wieder an  und so weiter. Es müsste so sein, dass structure_Licht nur noch eine Bedingung ist, jedoch nicht aktiv schaltet. Da war doch die Sache ? vor dem Reading. Ich muss das noch einmal raussuchen.

Vielen Dank

Damian

Dann musst du den Trigger dort rausnehmen: [?structure_Licht:state]
Programmierte FHEM-Module: DOIF-FHEM, DOIF-Perl, DOIF-uiTable, THRESHOLD, FHEM-Befehl: IF