Hallo zusammen,
ich hatte mir schonmal eine Schaltung nach dem Beispiel unter "Darstellungselement mit Eingabemöglichkeit im Frontend und Schaltfunktion" aus der commandref gebaut.
Nun möchte ich gerne analog eine Schaltung für eine Zirkulationspumpe mit mehreren Schaltzeiten realisieren.
Diese soll morgens einmal starten und wieder ausgehen und dann noch einmal abends starten und wieder ausgehen.
Wahlweise soll aber auch die Möglichkeit bestehen, dass sie entweder nur morgens oder nur abends schaltet.
Bin ich mit folgendem Codeschnipsel auf dem richtigen Weg?
define zirku_zeitprogramm DOIF (["$SELF:button: auto"] and ([[$SELF:begin1,"00:00"]] or [[$SELF:begin2,"00:00"]])) (set zirkulation_switch on) DOELSEIF (["$SELF:button: auto"] and ([[$SELF:end1,"00:01"]] or [[$SELF:end2,"00:01"]])) (set zirkulation_switch off)
begin1 = Startzeit morgens
begin2 = Startzeit abends
end1 = Stoppzeit morgens
end2 = Stoppzeit abends
Bei der Klammersetzung im "or" Teil bin ich mir auch noch nicht sicher, ob das so stimmt... :-[
Vielen Dank schonmal für jegliche Hinweise und Tipps!
VG
Andreas
So, dann will ich mir mal selbst antworten... ;)
Folgender code funktioniert:
([$SELF:button] eq "auto" and ([[$SELF:begin1,"00:00"]] or [[$SELF:begin2,"00:00"]])) (set zirkulation_switch on) \
DOELSEIF ([$SELF:button] eq "auto" and ([[$SELF:end1,"00:01"]] or [[$SELF:end2,"00:01"]])) (set zirkulation_switch off) \
DOELSEIF (["$SELF:button: manuell"]) (set zirkulation_switch on)
Dazu noch die nötigen Attribute:
cmdState auto an|auto aus|manuell an
readingList button begin1 end1 begin2 end2
setList button:auto,manuell begin1:time end1:time begin2:time end2:time
webCmd button:begin1:end1:begin2:end2
Etwas zu knabbern hatte ich an der Abfrage des buttons. Wie dargestellt funktioniert
[$SELF:button] eq "auto"
in diesem Fall.
["$SELF:button: auto"]
tut es nicht. Habe aber keine Ahnung, warum. Vielleicht liegt es an der and Verknüpfung mit einer Zeitangabe?
VG
Andreas
Zitat von: Vize am 21 April 2021, 20:04:49
Etwas zu knabbern hatte ich an der Abfrage des buttons. Wie dargestellt funktioniert
[$SELF:button] eq "auto"
in diesem Fall.
["$SELF:button: auto"]
tut es nicht. Habe aber keine Ahnung, warum. Vielleicht liegt es an der and Verknüpfung mit einer Zeitangabe?
Hallo Andreas,
kann ich Dir ev. sagen: die untere Variante triggert (wird wahr) exakt nur auf den Event: Also nur für den Moment wo Du den button von "irgendwas" auf auto schaltest. Die obere Variante fragt den Wert ab, immer dann wenn irgendetwas das DOIF triggert, also auch zu den Timern.
Gruß Otto
Hallo Otto,
aah, jetzt ist der Groschen gefallen...
Alles klar, habe ich verstanden.
Hätte mal die commandref zu DOIF besser lesen sollen... :-[ ;)
Vielen Dank!
VG
Andreas