FHEM Forum

FHEM => Automatisierung => Thema gestartet von: Kuehnhackel am 24 November 2019, 17:00:52

Titel: [Gelöst] DOIF mit Brightness
Beitrag von: Kuehnhackel am 24 November 2019, 17:00:52
Hallo zusammen,

habe mal wieder ein Problem mit DOIF.

der erste "Befehl" funktioniert, der zweite DOELSEIF leider nicht

defmod DS_1_Rollo_Ankleide DOIF ([16:00-22:30] and [BewM_HM:brightness] < 100) (set Rollo_Ankleide down_for_timer 16)(set Rollo_Li_Ma down_for_timer 12) DOELSEIF ([BewM_HM:brightness] < 60) (set Rollo_Ankleide close)(set Rollo_Li_Ma close)
attr DS_1_Rollo_Ankleide room Rolladen_Oben
attr DS_1_Rollo_Ankleide wait 2,5:2,5


Danke schon mal für die Hilfe
Titel: Antw:DOIF mit Brightness
Beitrag von: kumue am 24 November 2019, 17:04:00
denke, daß der DOELSEIF-Zweig erst nach 22:30 ausgeführt wird, da der erste Zweig noch wahr ist...
Titel: Antw:DOIF mit Brightness
Beitrag von: frober am 24 November 2019, 17:09:06
Da gebe ich meinem Vorredner Recht, begrenze die erste Abfrage auf >60  und <100, dann sollte es funktionieren.

von unterwegs...

Titel: Antw:DOIF mit Brightness
Beitrag von: Kuehnhackel am 24 November 2019, 18:17:14
Aber ist es nicht so, dass zuerst beide Argumente
DOIF ([16:00-22:30] and [BewM_HM:brightness] < 100) (set Rollo_Ankleide down_for_timer 16)(set Rollo_Li_Ma down_for_timer 12)
anstehen müssen um den Befehl auszuführen und
DOELSEIF ([BewM_HM:brightness] < 60)
beim zweiten nur ein Argument?

Stehe ich auf der Leitung?
Titel: Antw:DOIF mit Brightness
Beitrag von: amenomade am 24 November 2019, 20:16:12
Um wieviel Uhr und mit welcher Brightness hast Du erwartet, dass er auf cmd2 schaltet?
Titel: Antw:DOIF mit Brightness
Beitrag von: Kuehnhackel am 24 November 2019, 20:40:34
Meine Idee, ist in der Zeit von 16-22.30 und Brightness unter 100 - 12 Sek Rolladenlauf, wenn Brightness unter 60 komplett schließen.

Oder wäre es sinnvoller, dass ganze auf zwei DOIF´s aufzuteilen?

defmod DS_1_Rollo_Ankleide DOIF ([16:00-22:30] and [BewM_HM:brightness] < 100) (set Rollo_Ankleide down_for_timer 16)(set Rollo_Li_Ma down_for_timer 12)

und

defmod DS_2_Rollo_Ankleide DOIF ([16:00-22:30] and [BewM_HM:brightness] < 60) (set Rollo_Ankleide close)(set Rollo_Li_Ma close)
Titel: Antw:DOIF mit Brightness
Beitrag von: Damian am 24 November 2019, 20:54:58
Du musst einfach mit dem kleineren Wert anfangen:

defmod DS_2_Rollo_Ankleide DOIF ([16:00-22:30] and [BewM_HM:brightness] < 60) (set Rollo_Ankleide close)(set Rollo_Li_Ma close)
                       DOELSEIF ([16:00-22:30] and [BewM_HM:brightness] < 100) (set Rollo_Ankleide down_for_timer 16)(set Rollo_Li_Ma down_for_timer 12)

Titel: Antw:DOIF mit Brightness
Beitrag von: frober am 24 November 2019, 21:03:28
Das geht in einem. Dein Problem ist, dass <60 auch <100 ist. Wenn dann die Uhrzeit passt ist Bedingung eins wahr.

von unterwegs...

Titel: Antw:DOIF mit Brightness
Beitrag von: Kuehnhackel am 24 November 2019, 21:27:49
Zitat von: Damian am 24 November 2019, 20:54:58
Du musst einfach mit dem kleineren Wert anfangen:

defmod DS_2_Rollo_Ankleide DOIF ([16:00-22:30] and [BewM_HM:brightness] < 60) (set Rollo_Ankleide close)(set Rollo_Li_Ma close)
                       DOELSEIF ([16:00-22:30] and [BewM_HM:brightness] < 100) (set Rollo_Ankleide down_for_timer 16)(set Rollo_Li_Ma down_for_timer 12)


Super Danke werde ich so einbauen.