Hallo,
ich habe bzgl. meines Anliegens bereits die Suche benutzt, bin aber leider nicht so recht fündig geworden...
Ich habe folgendes Problem: ich lasse meine Rolladen Event-getriggert ab einer bestimmten Temperatur während eines bestimmten Sonnenstand-Intervall automatisiert herunterfahren. Sollte die Temperatur auf einen gewissen Wert dann wieder abfallen (z.B durch ein Gewitter) und der Schalter für den Sonnenuntergang noch nicht auf ON stehen, sollen die Rolläden wieder hochfahren. Die Rule schaut wie folgt aus:
rule "Rollo Schlafzimmer runter, wenn wärmer als 28°"
when
Item Azimuth changed
then
var int azimuth = (Azimuth.state as DecimalType).intValue
if (azimuth > 230 && azimuth < 300 && Temperatur_aussen.state >= 28 && Autoshading_Schlafzimmer.state==OFF)
{
sendCommand(Autoshading_Schlafzimmer, ON)
sendCommand(Rollo_Schlafzimmer, STOP)
}
if (azimuth > 230 && azimuth < 300 && Temperatur_aussen.state <= 24 && Autoshading_Schlafzimmer.state==ON && Sonnenuntergang_control.state==OFF)
{
sendCommand(Rollo_Schlafzimmer, OPEN)
sendCommand(Autoshading_Schlafzimmer, OFF)
}
Nun kann es allerdings auch mal vorkommen, dass unser Junior mal wieder im elterlichen Schlafzimmer nächtigen möchte
Er geht jeden Tag gegen 20 Uhr ins Bett. Nun möchte ich vermeiden, dass die zweite if-Anweisung nach 20 Uhr ausgeführt wird. Diese sollte also irgendwie so ausschauen:
if (azimuth > 230 && azimuth < 300 && Temperatur_aussen.state <= 24 && Autoshading_Schlafzimmer.state==ON && Sonnenuntergang_control.state==OFF && UHRZEIT IST KLEINER 20 UHR)
Sicher könnte ich hier eine weitere Regel bauen und um 20 Uhr einen Schalter setzen, den ich dann mit abfrage... Aber das muss doch auch irgendwie 'eleganter' funktionieren!? Hat jemand eine Idee???
Danke
Daniel
ich habe bzgl. meines Anliegens bereits die Suche benutzt, bin aber leider nicht so recht fündig geworden...
Ich habe folgendes Problem: ich lasse meine Rolladen Event-getriggert ab einer bestimmten Temperatur während eines bestimmten Sonnenstand-Intervall automatisiert herunterfahren. Sollte die Temperatur auf einen gewissen Wert dann wieder abfallen (z.B durch ein Gewitter) und der Schalter für den Sonnenuntergang noch nicht auf ON stehen, sollen die Rolläden wieder hochfahren. Die Rule schaut wie folgt aus:
rule "Rollo Schlafzimmer runter, wenn wärmer als 28°"
when
Item Azimuth changed
then
var int azimuth = (Azimuth.state as DecimalType).intValue
if (azimuth > 230 && azimuth < 300 && Temperatur_aussen.state >= 28 && Autoshading_Schlafzimmer.state==OFF)
{
sendCommand(Autoshading_Schlafzimmer, ON)
sendCommand(Rollo_Schlafzimmer, STOP)
}
if (azimuth > 230 && azimuth < 300 && Temperatur_aussen.state <= 24 && Autoshading_Schlafzimmer.state==ON && Sonnenuntergang_control.state==OFF)
{
sendCommand(Rollo_Schlafzimmer, OPEN)
sendCommand(Autoshading_Schlafzimmer, OFF)
}
Nun kann es allerdings auch mal vorkommen, dass unser Junior mal wieder im elterlichen Schlafzimmer nächtigen möchte

if (azimuth > 230 && azimuth < 300 && Temperatur_aussen.state <= 24 && Autoshading_Schlafzimmer.state==ON && Sonnenuntergang_control.state==OFF && UHRZEIT IST KLEINER 20 UHR)
Sicher könnte ich hier eine weitere Regel bauen und um 20 Uhr einen Schalter setzen, den ich dann mit abfrage... Aber das muss doch auch irgendwie 'eleganter' funktionieren!? Hat jemand eine Idee???
Danke
Daniel
Kommentar