[Gelöst] DOIF mit Brightness

Begonnen von Kuehnhackel, 24 November 2019, 17:00:52

Vorheriges Thema - Nächstes Thema

Kuehnhackel

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

kumue

denke, daß der DOELSEIF-Zweig erst nach 22:30 ausgeführt wird, da der erste Zweig noch wahr ist...

frober

Da gebe ich meinem Vorredner Recht, begrenze die erste Abfrage auf >60  und <100, dann sollte es funktionieren.

von unterwegs...

Raspi 3b mit Raspbian Bullseye und relativ aktuellem Fhem,  FS20, LGW, PCA301, Zigbee, MQTT, MySensors mit RS485(CAN-Receiver) und RFM69, etc.,
einiges umgesetzt, vieles in Planung, smile

********************************************
...man wächst mit der Herausforderung...

Kuehnhackel

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?

amenomade

Um wieviel Uhr und mit welcher Brightness hast Du erwartet, dass er auf cmd2 schaltet?
Pi 3B, Alexa, CUL868+Selbstbau 1/2λ-Dipol-Antenne, USB Optolink / Vitotronic, Debmatic und HM / HmIP Komponenten, Rademacher Duofern Jalousien, Fritz!Dect Thermostaten, Proteus

Kuehnhackel

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)

Damian

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)

Programmierte FHEM-Module: DOIF-FHEM, DOIF-Perl, DOIF-uiTable, THRESHOLD, FHEM-Befehl: IF

frober

Das geht in einem. Dein Problem ist, dass <60 auch <100 ist. Wenn dann die Uhrzeit passt ist Bedingung eins wahr.

von unterwegs...

Raspi 3b mit Raspbian Bullseye und relativ aktuellem Fhem,  FS20, LGW, PCA301, Zigbee, MQTT, MySensors mit RS485(CAN-Receiver) und RFM69, etc.,
einiges umgesetzt, vieles in Planung, smile

********************************************
...man wächst mit der Herausforderung...

Kuehnhackel

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.