Autor Thema: Logfile sagt ich habe einen Loop :-(  (Gelesen 348 mal)

Offline Seidenschnabel

  • New Member
  • *
  • Beiträge: 41
Logfile sagt ich habe einen Loop :-(
« am: 04 April 2022, 17:10:51 »
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

Online Damian

  • Developer
  • Hero Member
  • ****
  • Beiträge: 10144
Antw:Logfile sagt ich habe einen Loop :-(
« Antwort #1 am: 04 April 2022, 17:51:02 »
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

Offline Seidenschnabel

  • New Member
  • *
  • Beiträge: 41
Antw:Logfile sagt ich habe einen Loop :-(
« Antwort #2 am: 04 April 2022, 17:57:07 »
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
« Letzte Änderung: 04 April 2022, 17:59:07 von Seidenschnabel »

Online Damian

  • Developer
  • Hero Member
  • ****
  • Beiträge: 10144
Antw:Logfile sagt ich habe einen Loop :-(
« Antwort #3 am: 04 April 2022, 18:12:24 »
Als erstes musst du herausfinden welches Reading den Loop verursacht.
Programmierte FHEM-Module: DOIF-FHEM, DOIF-Perl, DOIF-uiTable, THRESHOLD, FHEM-Befehl: IF

Offline Seidenschnabel

  • New Member
  • *
  • Beiträge: 41
Antw:Logfile sagt ich habe einen Loop :-(
« Antwort #4 am: 04 April 2022, 18:33:33 »
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
« Letzte Änderung: 04 April 2022, 18:35:19 von Seidenschnabel »

Online Damian

  • Developer
  • Hero Member
  • ****
  • Beiträge: 10144
Antw:Logfile sagt ich habe einen Loop :-(
« Antwort #5 am: 04 April 2022, 18:39:58 »
Dann musst du den Trigger dort rausnehmen: [?structure_Licht:state]
Programmierte FHEM-Module: DOIF-FHEM, DOIF-Perl, DOIF-uiTable, THRESHOLD, FHEM-Befehl: IF

Offline Seidenschnabel

  • New Member
  • *
  • Beiträge: 41
Antw:Logfile sagt ich habe einen Loop :-(
« Antwort #6 am: 04 April 2022, 19:38:09 »
Danke

 

decade-submarginal