HomeMatic Type Thermostat

Aus FHEMWiki
Version vom 28. Dezember 2015, 15:40 Uhr von Kossmann (Diskussion | Beiträge) (Beispiel passte nicht zum Code)
Info green.pngHomeMatic Geräte sind mit den folgenden Typen klassifiziert:
HMInfo listet mit der Anweisung set <myHMInfo> models [-f <th>] die verfügbaren / unterstützten Modelle in der Spalte subType auf (mit "-f Detect" z.B. alle mit "Detect" im subtype Namen).

HomeMatic Geräte vom Typ Thermostat

(Auswahl) derzeit unterstützter Geräte des Typs Thermostat:

Hinweise zur Konfiguration

Die Thermostate unterscheiden sich in vielen Details und Funktionen. Daher sind Einzelheiten im Device nachzulesen. Gemeinsam ist den Controllern, dass sie eine oder mehrere Temperaturlisten als Wochenprogramm unterstützen.

Temperaturlisten

Manuell

Hinweis: Bei den Wandthermostaten heißt der relevante Kanal ..._climate, beim HM-CC-RT-DN ist der Kanal ..._Clima zuständig für die Wochenprogramme.

Allgemein

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:00 = 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
Wochenprogramme des HM-TC-IT-WM-W-EU setzen

Der HM-TC-IT-WM-W-EU verfügt über weitere Wochenprogramme P2 und P3.

Um z.B. das 2. Wochenprogramm eines HM-TC-IT-WM-W-EU zu setzen, kann man (hier beispielhaft für den Samstag) folgenden Befehl benutzen:

set <HM-TC-IT-WM-W-EU>_Climate tempListSat p2 07:30 16.0 17:00 20.0 19:00 21.0 24:00 16.0


Templates

Etwas komfortabler kann man Wochenprogramme in einem File verwalten. Man kann beliebig viele templates erzeugen und diese in einem File ablegen. Diese unterschiedlichen Wochenprogramme kann man den Thermostaten 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. Bsp:

Angenommen HMInfo ist definiert per

define hm HMinfo

legt dieser Aufruf ein initiales Template an.

set hm tempList save FHEM/tempList.cfg


Die 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 Thermostaten 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.