Hallo,
ich möchte mit DOIF meine Rolladen steuern. Wenn zwischen 8:30 und 14:00 die Sonnenstrahlung über einen bestimmten Wert liegt, sollen die Rolladen runtergefahren werden. Hier schonmal mein Code:
define di_TestRolladenC DOIF ([08:30-14:00] and [wetter:solarRadiation] > 300) ( set Rolladen down ) \
DOELSEIF ([wetter:solarRadiation] < 30) ( )
Nun möchte ich aber, dass die erste Bedingung nur einmal ausgeführt wird (und nicht, wenn die Sonnenstrahlung mal kurz unter die Schwelle geht und dann wieder drüber). Außerdem möchte ich nicht immer die DOELSEIF Bedingung angeben, weil ich die Rolläden durch einen manuellen Befehl selbst hochfahren möchte. Ich brauche den DOELSEIF Zweig eigentlich nur, damit ich die erste Bedingung am nächsten Tag neu triggern kann.
Wäre es möglich mein DOIF an einer anderen Stelle einmal pro Tag den Trigger zu resetten (etwa so: di_TestRolladenC resetTrigger)?
So:
define di_TestRolladenC DOIF ([?08:30-14:00] and [wetter:solarRadiation] > 300 and [?Rolladen] ne "down") ( set Rolladen down )
Der Befehl wird erst wieder ausgeführt, wenn der Zustand [wetter:solarRadiation] gewechselt hat.
Siehe auch Commandref.
Und was ist, wenn der Wert [wetter:solarRadiation] um 8:30 schon über 300 ist?
Es sollte dann eher so heißen:
define di_TestRolladenC DOIF ([08:30-14:00] and [wetter:solarRadiation] > 300 and [?Rolladen] ne "down") ( set Rolladen down )
Aber gibt es noch eine andere Möglichkeit? DOIF ist ziemlich mächtig. Vielleicht kann man da eine Kombination von Attributen machen oder so.
Eigentlich möchte ich halt DOIF besser kennenlernen.
Zitat von: JMW am 16 Juni 2015, 10:50:45
Und was ist, wenn der Wert [wetter:solarRadiation] um 8:30 schon über 300 ist?
Dann wird der Befehl beim nächsten Triggern von [wetter:solarRadiation] ausgeführt.
Zitat von: JMW am 16 Juni 2015, 10:50:45
Es sollte dann eher so heißen:
define di_TestRolladenC DOIF ([08:30-14:00] and [wetter:solarRadiation] > 300 and [?Rolladen] ne "down") ( set Rolladen down )
Das geht auch, es wird zusätzlich um 8:30 und 14:00 getriggert.
Zitat von: JMW am 16 Juni 2015, 10:50:45
Aber gibt es noch eine andere Möglichkeit? DOIF ist ziemlich mächtig. Vielleicht kann man da eine Kombination von Attributen machen oder so.
Eigentlich möchte ich halt DOIF besser kennenlernen.
Dann siehe Forum Automatisierung und Commandref.