Ich habe für die Heizungsregelung im Badezimmer eine Möglichkeit gesucht, am Vorabend möglichst einfach für den nächsten Tag voreinstellen zu können, wann die Heizung auf Komforttemperatur schalten soll. Die Zeittabelle ist keine Alternative, weil jeden Tag zu einem anderen Zeitpunkt die Heizung einschalten soll, und ich keinen Bildschirm zur zentralen Überwachung der Hausautomation betreibe. Die Bedienung der Zeittabelle am Raumregler ist indiskutabel - jedenfalls für häufige Änderungen.
Herausgekommen ist nun ein Script, mit welchem man über die Temperatureinstellung des betroffenen Raumreglers im Badezimmer einstellen kann, wann am nä. Morgen sich die Heizung einschalten soll.
Die Bedienung funktioniert so:
im Normalfall ist die Heizung im Bad auf "Absenktemperatur (18 Grad) und Automatikbetrieb ist eingeschaltet. Nur aus dieser Betriebseinstellung heraus kann man das "Scheduling" aktivieren.
Wenn die Heizung, sagen wir, um 06:30 auf Komforttemperatur schalten soll, muß am Raumregler im Badezimmer auf "manuell" geschaltert werden und sofort die Temperatureinstellung 6,5 Grad eingestellt werden. Das Script für den Regler "Badezimmer" erkennt diese Änderung (von Automatikbetrieb nach Manuell und gleichzeitig Temperaturänderung von 18 Grad auf "irgendwas") als Triggerbedingung für ein Scheduling. Das Script liest die Temperatureinstellung (hier 6,5 Grad) und baut daraus eine brauchbare Uhrzeit welche im Script "Badezimmerscheduler" herangezogen wird, um mithilfe einer Warteanweisung solange zu warten, bis es 06:30 ist um dann die Heizung auf Komforttemperatur zu schalten.
Das Script für den Raumregler:
Code: Alles auswählen
**! ============================================================
**! OBJEKT Badezimmer
**! ============================================================
**! OBJEKT-TYP : FHT80b-Raumregler
**! BEZEICHNUNG : Badezimmer
**! STARTWERT : -99
**! ------------------------------------------------------------
**! AUSFÜHRUNGSINTERVALL : nein
**! AUSFÜHRUNG BEI EINGABE : nein
**! AUSFÜHRUNG BEI ÄNDERUNG : ja
**!
**! ============================================================
**! VARIABLENDEFINITIONEN
**! ============================================================
**! NAME TYP STARTWERT
**! ------------------------------------------------------------
**! modus_alt Zahl -1
**! schedsynchron Zahl 0
**! solltemp_alt2 Zahl -1,0
warte("00:00:10")
** Makro ueberwacht Änderung Solltemperatur und Modus
** Wenn gleichzeitig Solltemp geändert wird von Absenktemperatur und Modus von autom. auf manuell geht
** wird von Scheduling ausgegangen und die neue Solltemperatur als Wartezeit angenommen
** wenn auf Komforttemperatur geschaltet wird, Uhrzeiten zwischen 00:30 und 05:30 werden durch
** Temperaturen zwischen 24,5 Grad und 29,5 Grad dargestellt.
** Bsp.: Vorher: Solltemp = Absenktemperatur, Modus == automatisch
** Jetzt: Solltemp = 24,5Grad, Modus == manuell
** Ergebnis: Um (29,5 - 24) == 05:30Uhr wird auf Komforttemperatur geschaltet
** Vorher: Solltemp = Absenktemperatur, Modus == automatisch
** Jetzt: Solltemp = 6,0Grad, Modus == manuell
** Ergebnis: Um 6,0 == 06:00Uhr wird auf Komforttemperatur geschaltet
** Wenn Scheduling erkannt und eingestellt wurde, wird wieder auf die Absenktemperatur geschaltet
** Scheduling kann gelöscht werden, indem Scheduling auf 30Grad gestellt wird
wenn schedsynchron = 1 dann
schedsynchron := 0
Badezimmer := solltemp_alt2
endewenn
wenn solltemp_alt2 gleich Absenktemperatur und Modus gleich 1 und modus_alt gleich 0 dann
** Scheduling erkannt
schedsynchron := 1
Badezimmerscheduler.wartezeit := Badezimmer
makro starten Badezimmerscheduler
Modus := modus_alt
** eigentlich sollte das Script nur bis hierhin kommen, weil ein Änderung autom. das Script wieder startet
Badezimmer := solltemp_alt2
verlassen
endewenn
badezimmer.solltemp_alt2 := badezimmer
badezimmer.modus_alt := badezimmer.modus
Code: Alles auswählen
**! ============================================================
**! OBJEKT Badezimmerscheduler
**! ============================================================
**! OBJEKT-TYP : Makro
**! BEZEICHNUNG : Badezimmerscheduler
**! STARTWERT :
**! ------------------------------------------------------------
**! AUSFÜHRUNGSINTERVALL : nein
**! AUSFÜHRUNG BEI EINGABE : nein
**! AUSFÜHRUNG BEI ÄNDERUNG : nein
**!
**! ============================================================
**! VARIABLENDEFINITIONEN
**! ============================================================
**! NAME TYP STARTWERT
**! ------------------------------------------------------------
**! wartezeit Zahl -1,0
**! startzeit Uhr 00:00:00
**! wartezeit_h Uhr 00:00:00
wenn wartezeit gleich 30,0 dann
BadSchedZeit := "Aus"
verlassen
endewenn
wenn wartezeit groesser 24,0 dann
wartezeit := wartezeit - 24,0
endewenn
wartezeit_h := "00:30:00"
wartezeit := 2* wartezeit * wartezeit_h
wartezeit_h := wartezeit
BadSchedZeit := wartezeit_h
startzeit := wartezeit_h - uhrzeit
warte(startzeit)
Badezimmer := Badezimmer.Komforttemperatur
BadSchedZeit := "Aus"
Das Objekt BadSchedZeit dient nur zur Visualisierung für Debugzwecke
Code: Alles auswählen
**! ============================================================
**! OBJEKT BadSchedZeit
**! ============================================================
**! OBJEKT-TYP : Zeichen
**! BEZEICHNUNG : Heizung Bad einschalten
**! STARTWERT : "Aus"
**! ------------------------------------------------------------
**! AUSFÜHRUNGSINTERVALL : nein
**! AUSFÜHRUNG BEI EINGABE : nein
**! AUSFÜHRUNG BEI ÄNDERUNG : nein
**!
**! ============================================================
**! VARIABLENDEFINITIONEN
**! ============================================================
**! NAME TYP STARTWERT
**! ------------------------------------------------------------
**
Hier ist ein Auszug aus dem Protokoll für die Temperatureinstellung des Raumreglers:
- 04.04.2012/11:13:28 -> 11,5
04.04.2012/11:13:40 -> 11,5 << man Einstellung Heizung um 11:30 einschalten (dass gleichzeitig von "Automatik" auf "Manuell" geschaltet wurde sieht man hier nicht)
04.04.2012/11:13:40 -> 18,0 << autom. Rückstellung auf vorher eingestellte Temperatur (Absenktemperatur)
04.04.2012/11:30:34 -> 30,0 << Hier hat sich per Scheduler die Heizung eingeschaltet
04.04.2012/11:50:44 -> 18,0 << Hier wurd die Heizung wieder (manuell) auf Absenktemperatur geschaltet
......
04.04.2012/20:29:47 -> 18,0
04.04.2012/20:41:20 -> 21,0 << Temperatur auf 21 Grad bedeutet um 21:00 Heizung auf Komforttemperatur (wie oben passiert das nur wenn gleichzeit von "Automatik" auf "Manuell" gewechselt wurde)
04.04.2012/20:41:31 -> 21,0
04.04.2012/20:41:31 -> 18,0 << Rückstellen auf Absenktemp. bis Zeitpunkt erreicht ist
04.04.2012/21:01:01 -> 30,0 << Heizung wurde per Scheduler eingeschaltet
F.Sommer