Der Winter naht, und die Heizungssteuerung von Homematic muss mal langsam wieder eingerichtet werden.
Ich denke mal auf das Anlernen der Komponenten muss ich wohl nicht weiter eingehen. Deshalb geht es direkt weiter mit der Programmierung.
Konfigurieren der Thermostate und Sensoren
Im einfachsten Falle läuft nur das Thermostat, und wird einfach über "Einstellungen\Geräte" und dem Button "Einstellen" konfiguriert.
Hier lassen sich alle Basiseinstellungen setzen, und die Heizprogramme definieren. Wenn auch detailierter, ist das ähnlich wie die "kleinere" Lösung mit der HomematicIP Basisstation.
Mit einem Fenstersensor kommen dann die Verknüpfungen ins Spiel: Unter "Einstellungen\Direkte Verknüpfungen" muss dann eine Verknüpfung vom Fenstersensor (Kanal 1) zum Thermostat (Kanal 4) hergestellt werden, um die Sensordaten an das Thermostat zu übermitteln. Möchte man nun noch ein Wandthermostat hinzufügen, dann wird die Sache um einiges komplizierter. Ganze 5 Verknüpfungen werden nun benötigt:
Neben den beiden Verknüpfungen vom Fenster zum Thermostat bzw Wandthermostat, müssen sich beide Thermostate ebenfalls unterhalten (Steuerung). Dazu kommt noch ein zusätzlicher Datenkanal für die Temperaturdaten des Wandthermostats.
Das dies ganz schön aufwändig werden kann, hat auch die Firma eQ3 (Entwickler von Homematic) erkannt, und ein zusätzliches Menü in die CCU2 und CCU3 eingebaut. Dies befindet sich allerdings nicht unter "Programme und Verknüpfungen", wie man es erwarten würde, sondern unter "Einstellungen\Gruppen". Hier kann man eine "Heizungssteuerung"-Gruppe anlegen, dort alle relevanten Geräte des Raumes hinzufügen, und die CCU kümmert sich um die korrekte Verknüpfung der Geräte. Also eigentlich einfach, wenn man denn weiß wo man die Einstellungen treffen muss.
Sommer/Winter Umstellung
Ich möchte das die Heizung automatisch sich zum Sommer hin abstellt. Deshalb habe ich mir folgendes Überlegt:
Erstmal ein Programm, welches die Heizperiode ermittelt. Es sieht folgendermaßen aus:
Jeden Tag wird einmal das Skript ausgeführt.
Hier die Einstellungen des Zeitmodules: Einfach jeden Tag einmal ausführen.
Das Skript welches dann läuft sieht so aus:
var START_OCTOBER= 275;
var START_APRIL= 90;
var currYday = system.Date().ToTime().Yearday();
if((currYday > START_OCTOBER) || (currYday < START_APRIL)){
dom.GetObject("HeizPeriode").State(true);
}else{
dom.GetObject("HeizPeriode").State(false);
}
Es wird ganz simpel den aktuellen Tag des Jahres ermittelt, und abgeprüft ob er sich im entsprechend Bereich befindet.
-vor April = Heizperiode
-zwischen April und Oktober = keine Heizung
-nach Oktober = Heizperiode
Wichtig dabei, ist natürlich noch die Systemvariable "Heizperiode" als Logikwert unter "Einstellungen\Systemvariable" anzulegen.
Initial kann man das Skript auch einmalig unter "Skript testen" laufen lassen, um die Variable schonmal zu setzen.
Nun kann man ein Programm erstellen, welches unter Beachtung der Heizperiode die Heizung umschaltet:
Alle 4H wird geprüft, Wenn Heizperiode, dann wird der Modus auf "Auto" gesetzt (hier Wert "0").
wenn keine Heizperiode, dann wird der Modus auf "Manuell" (1) gesetzt, und die Temperatur auf 12 Grad eingestellt.
Das Skript welches noch eingebunden ist, kann man weglassen, hier wird nur eine Systemvariable mit einer Info gefüllt.
Hier nochmal die Einstellung des Zeitmoduls:
Soweit dazu, ich hoffe das dies dann auch funktioniert, wenn die Heizperiode beendet ist. Ich bin noch am testen, und werde euch berichten.
Weniger Heizen bei Abwesenheit
Wenn ich und meine Familie aus dem Haus ist, dann möchte ich natürlich "weniger" heizen. Dazu habe ich ein weiteres Programm erstellt. Für die Anwesenheitserkennung verwende ich hm_detect.
Dieses Addon parst regelmäßig das WLAN und checkt, ob bestimmte Geräte sich im oder Außer-Haus befinden. Es wird dann eine Systemvariable "Abwesend" entsprechend aktualisiert. Mein Programm wiederum verwendet diese Variable, und natürlich die oben bereits verwendete Systemvariable "Heizperiode" wird ebenso verwendet.
Also wenn Abwesend und Heizperiode, dann auf 18 Grad gehen.
Wenn Anwesend innerhalb der Heizperiode, dann wieder zurück auf "Automatisch" gehen.
Ich hoffe diese Ideen helfen euch weiter, über Verbesserungsvorschläge, Einwände und sonstige Kommentare freue ich natürlich :-)