Hallo Leute,
habe da wieder mal eine Baustelle.
(Das Grundgerüst der rule kommt hier aus dem Forum :-) )
Ich versuche, die Raumtemperatur mit einem Homematic-Heizungsventil zu regeln.
Die Temperatur kann ich auch einstellen, die Temp wird geregelt nach Fensterzustand und alles.
Nur die Regelung nach Zeit funktioniert mal und mal nicht.
Kann sich das jemand erklären?
Ich finde den Fehler nicht.
Hat jemand eine Idee?
habe da wieder mal eine Baustelle.
(Das Grundgerüst der rule kommt hier aus dem Forum :-) )
Ich versuche, die Raumtemperatur mit einem Homematic-Heizungsventil zu regeln.
Die Temperatur kann ich auch einstellen, die Temp wird geregelt nach Fensterzustand und alles.
Nur die Regelung nach Zeit funktioniert mal und mal nicht.
Kann sich das jemand erklären?
Ich finde den Fehler nicht.
Hat jemand eine Idee?
Code:
//########################################################################### //# Rule zur Steuerung der Temperatur im WC # //# - Zeitregelung # //# - nach Zustand des Fensters # //########################################################################### var fTemp_WC_low = 12.0 var fTemp_WC_high = 16.0 var fTemp_WC_save = 6.0 rule "Autoset Morgen" when Time cron "0 10 8 ? * * *" //täglich 8:10 Uhr then if (Temp_Auto.state==ON) { Temp_WC_temp.postUpdate(fTemp_WC_high) //gespeicherte Temperatur überschreiben if (Fensterkontakt_WC.state == CLOSED) //Fenster geschlossen -> { Temp_WC_set.sendCommand(Temp_WC_temp.state as Number) //Solltemperatur setzen logInfo("Temp_WC.rules", "Temperatur Autoset Morgen WC gesetzt") } } end rule "Autoset Abend" when Time cron "0 10 21 ? * * *" //täglich 21:10 Uhr //täglich 21 Uhr then if (Temp_Auto.state==ON) { Temp_WC_temp.postUpdate(fTemp_WC_low) //gespeicherte Temperatur überschreiben if (Fensterkontakt_WC.state == CLOSED) //Fenster geschlossen -> { Temp_WC_set.sendCommand(Temp_WC_temp.state as Number)//Solltemperatur setzen logInfo("Temp_WC.rules", "Temperatur Autoset Abend WC gesetzt") } } end rule "Fensterkontakt WC" when Item Fensterkontakt_WC changed //Fenster geöffnet oder geschlossen then if (Fensterkontakt_WC.state == OPEN && (Temp_WC_set.state as Number) != fTemp_WC_save) //Fenster wurde geöffnet, Temperatur noch nicht geändert { logInfo("Temp_WC.rules", "Temperatur WC wegen Fenster offen geändert") Temp_WC_temp.postUpdate(Temp_WC_set.state as Number) Temp_WC_set.sendCommand(fTemp_WC_save) } else if (Fensterkontakt_WC.state == CLOSED) //Fenster wurde geschlossen { logInfo("Temp_WC.rules", "Temperatur WC wegen Fenster geschlossen geändert") Temp_WC_set.sendCommand(Temp_WC_temp.state as Number) } end
Kommentar