Hallo,
ich kämpfe seit einiger Zeit mit dem DOIF.
Ich möchte, wenn die Temperatur im Wintergarten gleich/größer 22 Grad ist, die Unwetterwarnung aus ist und es zwischen 10 und 21 Uhr ist, dass die Markise ausfährt. Meißtens funktioniert es, nur in der Übergangszeit habe ich so meine Probleme.
Die Markise fährt aus wann und wie sie will.
Hier mein Code:
define Markise_Temperatur_T DOIF ([10:00-21:00] and [WG_Heizung:temperature:d0] ge 22 and [Unwetterwarnung_Allgemein] eq "Aus") (set Markise_Wintergarten raus, {DebianMail('wilhelm.rudloff@gmail.com',"Markise raus bei [WG_Heizung:measured-temp:d0] Grad","Markise raus bei [WG_Heizung:measured-temp:d0] Grad, Unwetterwarnung: [Unwetterwarnung_Allgemein]","")}) DOELSE (set Markise_Wintergarten rein, {DebianMail('wilhelm.rudloff@gmail.com',"Markise rein bei [WG_Heizung:measured-temp:d0] Grad","Markise rein bei [WG_Heizung:measured-temp:d0] Grad","")})
Ich bekomme auch die Mail zugeschickt.
ZitatMarkise raus bei 9 Grad, Unwetterwarnung: Aus
Wenn ich nichts unternehme, wird machmal, wenn wie in diesem Beispiel 10 Grad erreicht werden der Else-Zweig durchlaufen und die Markise fährt wieder rein.
Ich weis mir nicht mehr zu helfen, habe schon viel probiert, aber das gewünschte Ergebnis nicht erhalten.
Wer kann mir helen und ein Tipp geben?
Wilhelm
@rud0815
WG_Heizung:temperature:d0 ist nicht gleich WG_Heizung:measured-temp:d0
Bedingung vermutlich anpassen ...
Beide Parameter zeigen den gleichen Wert an. Welchen soll man denn nehmen?
ge eq lt etc. ist für Stringvergleich...
...du hast aber (zumindest bei temperature) eine "Zahl": < > etc.
Evtl. das mal anpassen und schauen.
Ansonsten gibt es noch: "Abfrage" von Werten (Zuständen) vs. reagieren auf Events
Allerdings bin ich bei DOIF da raus...
Gruß, Joachim
Ich weis nicht mehr warum ich ge genommen habe, aber es hatte einen Grund. Ich habe es jetzt mal abgeändert, mal abwarten was passiert.
Gruß
Wilhelm
ge vergleicht Zeichenketten.
3 ge 22 ist wahr ;)