HomeMatic Type Thermostat: Unterschied zwischen den Versionen

Aus FHEMWiki
(→‎manuell: Angleichen für alle HomematicThermostate)
(→‎manuell: prep und exec Erklärung)
Zeile 23: Zeile 23:
Der Tage beginnt immer um 00:00, der letzte Abschnitt MUSS 24:00 sein.  
Der Tage beginnt immer um 00:00, der letzte Abschnitt MUSS 24:00 sein.  


Temperaturlisten kann man per Kommando setzen. Man kann es in einer Subroutine zusammenfassen:
Ä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


  ######################################################
  ######################################################

Version vom 29. Januar 2015, 15:50 Uhr

Dieser Artikel befindet sich zur Zeit im Umbau, nicht alle Informationen sind unbedingt Korrekt.

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

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.

File erstellen und verwalten

Ein File mit den Temperaturlisten (Wochenplänen) muss erzeugt werden.

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

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.

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.

Templates nutzen

FHEM bietet die Möglichkeit zu prüfen, ob der Wochenplan im Thermostat dem File entspricht. Außerdem kann man den Wochenplan in das Device schreiben. In beiden Aktionen wird davon ausgegangen, dass die gelesenen Daten aus dem Device in FHEM vorliegen.

set hk1_Clima tempListTmpl verify
set hk1_Clima tempListTmpl restore
set hk2_Clima tempListTmpl restore
set hk2_Clima tempListTmpl verify
set hk3_Clima tempListTmpl restore
  • verify prüft, ob die Listen übereinstimmen
  • restore schreibt die Liste in das Device, wenn Unterschiede erkannt werden. Wenn die Daten übereinstimmen wird nichts geschrieben.

Ein verify sofort nach einem restore zumachen ist nicht sinnvoll. Man muss warten, bis das Schreiben beendet ist und die Register wieder aus dem Device gelesen sind. Für weitere Parameter zum Kommando ist das Kommandref zu empfehlen.

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 eienm System mit einem Kommando. Siehe hierzu HMInfo temperaturlisten.