HomeMatic Type Thermostat
Es gibt verschiedene HomeMatic Geräte-Typen. Hier gibt es eine allgemeine Beschreibung für den Typ "Thermostat" und deren speziellen Eigenschaften und Einstellungen
HomeMatic Geräte vom Typ Blind
Die in der aktuellen Version unterstützten Modelle kann man in HMInfo sehen mit
set hm models -f thermostat
- HM-CC-RT-DN Funk-Heizkörperthermostat
- HM-CC-TC Funk-Wandthermostat
- HM-TC-IT-WM-W-EU Funk-Wandthermostat AP
Hinweise zur Konfiguration
Die Thermostate unterscheiden sich in vielen Details und Funktionen. Daher sind Einzelheiten im Device nachzulesen. Gemeinsam ist den Controllern, das sie eine oder mehr Temperaturlisten als Wochenprogramm unterstützen.
Temperaturlisten
manuell
Hinweis: Bei den Wandthermostaten heißt der Kanal _climate, beim HM-CC-RT-DN ist der Kanal _Clima zuständig für die Wochenprogramme.
Mit dem Kommando
set Thermostat_Climate tempListMon 05:30 16.0 07:00 18.0 16:00 18.5 20:30 19.0 24:00 16.0
kann man das Temperaturprofil für den Wochentag Montag einstellen. Die nach dem Schaltzeitpunkt stehende Temperatur gilt immer bis zu diesen Zeitpunkt, nicht ab diesem Zeitpunkt. Der letzte Wert muss immer Mitternacht (24:00) sein. damit ist also 00:00 - 05:30 = 16Grad, 05:30 - 07:30 = 18 Grad. Die Zeit kann in Schritten von 30min eingestellt werden, die Temperatur in 0.1 Grad. Der Tage beginnt immer um 00:00, der letzte Abschnitt MUSS 24:00 sein.
Ändert man mehrere Tage auf einmal sollte man unbedingt mit "prep" und "exec" arbeiten, da es sonst zu Wiederholungen und langen Bearbeitungen kommen kann. Prep bereitet die Änderung in FHEM nur vor, mit exec werden die Daten dann an das Device übertragen. Das könnte in einem Fhem-Script lauten
###################################################### # Temperatur-Liste für Zimmer # setzen per Aufruf von "{SetTempList_Heizung}" ###################################################### sub SetTempList_Heizung() { { fhem ("set Thermostat_Climate tempListMon prep 05:30 19.0 07:00 20.5 16:00 19.0 20:30 20.0 24:00 17.0")}; { fhem ("set Thermostat_Climate tempListTue prep 05:30 19.0 07:00 20.5 16:00 19.0 20:30 20.0 24:00 17.0")}; { fhem ("set Thermostat_Climate tempListWed prep 05:30 19.0 07:00 20.5 16:00 19.0 20:30 20.0 24:00 17.0")}; { fhem ("set Thermostat_Climate tempListThu prep 05:30 19.0 07:00 20.5 16:00 19.0 20:30 20.0 24:00 17.0")}; { fhem ("set Thermostat_Climate tempListFri prep 05:30 19.0 07:00 20.5 15:00 19.0 20:30 20.0 24:00 17.0")}; { fhem ("set Thermostat_Climate tempListSat prep 07:00 19.0 09:00 21.0 15:00 19.0 21:00 21.0 24:00 17.0")}; { fhem ("set Thermostat_Climate tempListSun exec 07:00 19.0 09:00 21.0 15:00 19.0 21:00 21.0 24:00 17.0")}; } # End SetTempList_Heizung
Templates
Etwas komfortabler kann man Wochenprogramme in einem File verwalten. Man kann beliebig viele tempaltes erzeugen und diese in einem File ablegen. Diese unterschiedlichen Wochenprogramme kann man den Termostaten zuweisen. So kann man ein Wochenprogramm beliebig vielen Thermostaten zuweisen. Bei Änderungen kann man alle betroffenen Thermostate, die das gleiche Template nutzen sollen, erreichen.
Zusammenfassend:
- Temperaturlisten der Devices in ein file schreiben
- Templates definieren, die man mehreren Devices zuordnen kann
- Template-Änderungen gleichzeitig in mehrere Devices einspielen
- Temperaturlisten gegen ein Template prüfen
File erstellen und verwalten
Ein File mit den Temperaturlisten (Wochenplänen) muss erzeugt werden. Zur Verwaltung der Temperaturprofile sollte die Datei tempList.cfg im Verzeichnis FHEM liegen, dann kann sie mit dem Web-Interface editiert werden. HMInfo unterstützt das speichern allen temperaturlisten in ein File mit temperaturListen speichern. Dies kann man gut als Startpunkt nutzen. Sie Wochenprogramme sollten in FHEM vorliegen. ggf. mit getConfig auslesen.
entities:tempTmpl1 tempListSat>08:00 14.0 15:00 18.0 21:30 19.0 24:00 14.0 tempListSun>08:00 14.0 15:00 18.0 21:30 19.0 24:00 17.0 tempListMon>07:00 14.0 16:00 18.0 21:00 19.0 24:00 14.0 tempListTue>07:00 14.0 13:00 16.0 16:00 18.0 21:00 19.0 24:00 15.0 tempListWed>07:00 14.0 16:00 18.0 21:00 19.0 24:00 14.0 tempListThu>07:00 14.0 16:00 18.0 21:00 19.0 24:00 14.0 tempListFri>07:00 14.0 13:00 16.0 16:00 18.0 21:00 19.0 24:00 14.0 entities:tempTWohnzimmer tempListSat>08:00 14.0 15:00 18.0 21:30 19.0 24:00 17.0 tempListSun>08:00 14.0 15:00 18.0 21:30 19.0 24:00 14.0 tempListMon>07:00 14.0 16:00 18.0 21:00 19.0 24:00 14.0 tempListTue>07:00 14.0 13:00 16.0 16:00 18.0 21:00 19.0 24:00 15.0 tempListWed>07:00 14.0 16:00 18.0 21:00 19.0 24:00 14.0 tempListThu>07:00 14.0 16:00 18.0 21:00 19.0 24:00 14.0 tempListFri>07:00 14.0 13:00 16.0 16:00 18.0 21:00 19.0 24:00 14.0
Templates zuweisen
Das Attribut tempListTmpl sollte man allen Termostaten zuweisen. Dies ist dem jeweiligen Steuerungschannel zuzuweisen
attr hk1_Clima tempListTmpl setup/tempList.cfg:tempTmpl1 attr hk2_Clima tempListTmpl setup/tempList.cfg:tempTmpl1 attr hk3_Clima tempListTmpl setup/tempList.cfg:tempTWohnzimmer
In entsprechenden Kommandos muss man nun nicht mehr den Namen des Templates für den HK angeben, es wird der aus dem Attribut genommen. Man gibt das File an und dann den Namen des Templates im File.
Überprüfen/Einlesen
Mit dem verify-Kommando wird überprüft, ob das gegenwärtig vorhandene Temperaturprofil mit dem in der Datei befindlichen übereinstimmt.
set thermostat_Climate tempListTmpl verify FHEM/tempList.cfg:room1
Mit dem restore-Kommando wird das Temperaturprofil des Heizkörperthermostaten mit dem in der Datei befindlichen überschrieben.
set thermostat_Climate tempListTmpl restore FHEM/tempList.cfg:room1
- FHEM/tempList.cfg ist die Datei, in dem das Temperaturprofil zu suchen ist. room1 ist der Name des Temperaturprofils, welches in der Datei gesucht wird. Wird keine Datei angegeben wird "template.cfg" im "fhem"-Verzeichnis angenommen.
Man kann einem Thermostat das Attribut tempListTmpl geben. Damit wird der Default-Name des Temperaturprofils für dieses Device gesetzt.
attr thermostat_Climate tempListTmpl FHEM/tempList.cfg:room1 set thermostat_Climate tempListTmpl
prüft das gegenwärtige Temperaturprofil gegen FHEM/tempList.cfg:room1 (da verify der Default ist). Die Prüfung des Profils ist auch Teil des configCheck von HMInfo. Will man explizit kein Temperaturprofil zuweisen sollte man tempListTmpl auf none setzen.
set thermostat_Climate tempListTmpl restore
überschreibt das gegenwärtige Temperaturprofil des Heizkörperthermostaten mit dem in der Datei befindlichen überschrieben.
Templates systemweit nutzen
Sinnvoll erscheint es, das ganze systemweit zu machen. Man legt ein File mit allen Wochenplänen an, die man nutzen will. Dann weißt man die TemplateNamen den Thermostaten zu. Und schließlich prüft oder updates man alle Thermostate in einem System mit einem Kommando. Siehe hierzu HMInfo temperaturlisten.