HM-CC-RT-DN Funk-Heizkörperthermostat: Unterschied zwischen den Versionen

Aus FHEMWiki
Keine Bearbeitungszusammenfassung
K (Weitere Tipps zu Pairingproblemen mit Firmware V1.5)
 
(125 dazwischenliegende Versionen von 38 Benutzern werden nicht angezeigt)
Zeile 1: Zeile 1:
Beim '''HM-CC-RT-DN''' handelt es sich um einen '''Funk-Heizkörperthermostaten mit integrierten Stellantrieb''', der als Nachfolger den [[HM-CC-VD]] ablöst und seit Mitte September 2013 verfügbar ist.
{{Infobox Hardware
|Bild=HM-CC-RT-DN.jpg
|Bildbeschreibung=HM-CC-RT-DN an Heizkörper montiert
|HWProtocol=[[HomeMatic]]
|HWType=[[HomeMatic Type Thermostat|thermostat]]
|HWCategory=[[:Kategorie:Heizungsventile|Heizungsventile]]
|HWComm=868 MHz
|HWChannels=6
|HWVoltage=3 V
|HWPowerConsumption=180 mA
|HWPoweredBy=2x LR6/Mignon/AA
|HWSize=54x65x93 mm (BxHxT)
|HWDeviceFHEM=[[CUL_HM]]
<!-- |ModOwner=  -->
|HWManufacturer=ELV / eQ-3
}}
'''HM-CC-RT-DN''' (häufig einfach '''RT''' genannt) ist ein Funk-''Heizkörperthermostate'' mit integriertem ''Stellantrieb''. Das Thermostat ist seit September 2013 verfügbar und ist der Nachfolger des [[HM-CC-VD Funk-Stellantrieb]]s.


== Vorbemerkungen ==
== Vorbemerkungen ==
: ''→ Einstellungen und Informationen, die alle [[HomeMatic]] Thermostate betreffen, sind unter [[HomeMatic Type Thermostat#Temperaturlisten|HomeMatic Type Thermostat]] zu finden.''


Im Gegensatz zum Vorgänger misst der HM-CC-RT-DN selbst die Temperatur und verfügt über eine Boost-Funktion. Er braucht zur Steuerung kein separates Raumregelungsgerät mehr und hat eine eigene Fenster-Offen-Erkennung. Ein passender Wandthermostat ([[HM-TC-IT-WM-W-EU_Funk-Wandthermostat_AP|HM-TC-IT-WM-W-EU]]) ist seit Februar 2014 verfügbar.
Der HM-CC-RT-DN kann die Temperatur selbst messen (im Gegensatz zum [[HM-CC-VD Funk-Stellantrieb|Vorgänger]]) und verfügt über eine Fenster-Offen-Erkennung sowie eine Boost-Funktion. Der HM-CC-RT-DN ''kann'' von einem [[HM-TC-IT-WM-W-EU Funk-Wandthermostat AP]] gesteuert werden, das ist aber ''optional''.


Das Gerät wird seit Anfang Oktober 2013 von Fhem unterstützt (siehe Diskussion im [http://forum.fhem.de/index.php/topic,14738.0.html Forum]).
Das Gerät wird seit Anfang Oktober 2013 von FHEM unterstützt (siehe Diskussion im {{Link2Forum|Topic=14738|LinkText=Forum}}).


Der '''HM-CC-RT-DN''' scheint das erste HomeMatic-Device zu sein, bei dem ein Update der Firmware auch vom Anwender durchgeführt werden kann. Ein Firmware-Update erfordert einen [[HM-CFG-USB_USB_Konfigurations-Adapter|USB Konfigurations-Adapter]] und eine auf der eQ-3 Webseite herunterladbare Firmware Update Software. Weitere Details sind unter [[HM-CC-RT-DN_Funk-Heizkörperthermostat#Firmware_Update|Firmware Update ]] beschrieben.
Der HM-CC-RT-DN scheint das erste HomeMatic-Device zu sein, bei dem ein Update der Firmware auch vom Anwender durchgeführt werden kann. Ein Firmware-Update erfordert einen [[HM-CFG-USB_USB_Konfigurations-Adapter|USB Konfigurations-Adapter]] und eine auf der eQ-3 Webseite herunterladbare Firmwareupdate-Software. Weitere Details sind unter [[#Firmware Update|Firmware Update]] beschrieben.
 
{{Hinweis|Die Solltemperaturen eines HM-CC-RT-DN lassen sich ''nicht'' durch einen [[HM-CC-TC Funk-Wandthermostat]] ''steuern''. Dieser kann nur die Ist-Temperatur an den HM-CC-RT-DN weitergeben, damit nicht die am HM-CC-RT-DN direkt gemessene Raumtemperatur zur Regelung verwendet wird.}}
'''Achtung:''' Die Solltemperaturen eines HM-CC-RT-DN lassen sich <ins>nicht</ins> durch einen [[HM-CC-TC Funk-Wandthermostat|HM-CC-TC]] steuern. Dieser kann höchstens die Ist-Temperatur an den RT weiter geben, damit die Raumtemperatur nicht am RT selbst zur Ventilsteuerung genommen wird.
Mit einem HM-CC-RT-DN können maximal (neben der Zentrale/FHEM):
 
Mit einem HM-CC-RT-DN können maximal (neben der Zentrale/Fhem):
* 7 HomeMatic Heizkörperthermostate
* 7 HomeMatic Heizkörperthermostate
* 8 HomeMatic Tür-Fensterkontakte / Fenster-Drehgriffkontakte
* 8 HomeMatic Tür-Fensterkontakte / Fenster-Drehgriffkontakte
* 8 Tastenpaare von HomeMatic Fernbedienungen bzw. Display-Wandtaster
* 8 Tastenpaare von HomeMatic Fernbedienungen bzw. Display-Wandtaster
* 1 HomeMatic Innen-Temperatur-Sensor
* 1 HomeMatic Innen-Temperatur-Sensor
gep'''ee'''rt werden.
[[Peering (HomeMatic)|gepeert]] werden.
 
{{Hinweis|Wird für Wartungs-/Umbaumaßnahmen das Wasser der Heizung abgelassen bzw. diese neubefüllt, sind alle Stellantriebe manuell dauerhaft auf '''on''' zu setzen: set <HM_Stellantrieb>_Clima controlManu on. Beim Einsatz eines Wandthermostaten ist der Wandthermostat entsprechend einzustellen.}}


== Technische Daten ==
== Technische Daten ==
* Betriebsspannung: 2 Stck. 1,5V LR6/Mignon/AA
* Betriebsspannung: 2 Stck. 1,5V LR6/Mignon/AA
* Stromaufnahme: 180 mA max.
* Stromaufnahme: 180 mA max.
Zeile 26: Zeile 42:
* Ventilanschluss: M30 x 1,5 mm
* Ventilanschluss: M30 x 1,5 mm


Aktuelle Firmware: 1.2 (in CCU2 2.7.8)
Aktuelle Firmware: 1.5 (2020)


== Betrieb mit FHEM ==
== Betrieb mit FHEM ==
Der Funk-Heizkörperthermostat muss zuerst mit Fhem [[HomeMatic_Devices_pairen|gepairt]] werden. Da es den RT noch nicht lange gibt, sollten Sie sicher stellen, dass Fhem aktuell ist (update durchführen).
Der Funk-Heizkörperthermostat muss zuerst mit FHEM [[Pairing (HomeMatic)|gepairt]] werden. Stellen Sie sicher, dass FHEM aktuell ist ([[update]] durchführen)
 
Das Pairing sollte wie in [[HomeMatic Devices pairen]] beschrieben durchgeführt werden (mittlere Taste mindestens drei Sekunden drücken, um den Vorgang auszulösen). Vereinzelt muss mehrfach gepairt werden, es wurde auch berichtet, dass dabei die Batterie zwichendurch entfernt und neu eingelegt werden muss.


=== Channels (Kanäle) ===
=== Channels (Kanäle) ===
==== Channel (Kanal) 01 _Weather ====
==== Channel (Kanal) 01 _Weather ====
Dieser Kanal dient zur Einspeisung der "IST-Temperatur", als Sensor kann z.B. ein HomeMatic HM-WDS10-TH-O Funk-Temperatur-/Luftfeuchtesensor OTH dienen.


Befehl zum peeren:
Dieser Kanal dient zur Einspeisung der (gemessenen) ''Ist-Temperatur''. Als Sensor können zum Beispiel das [[HM-TC-IT-WM-W-EU Funk-Wandthermostat AP|HM-TC-IT-WM-W-EU Funk-Wandthermostat]] oder ein [[HM-WDS40-TH-I Funk-Temperatur-/Feuchtesensor innen (IT)|HM-WDS40-TH-I Funk-Temperatur-/Feuchtesensor]] dienen.
set <thermoSensor> peerChan 0 <rt_Weather> single
 
Ein Temperatur-Sensor ''tempSensor'' kann mit dem ''_Weather''-Kanal wie folgt [[Peering (HomeMatic)|gepeert]] werden:  
 
  set <HM-TC-IT-WM-W-EU>_Weather peerChan 0 <HM-CC-RT-DN>_Weather single set
 
Beispiel:
  set EG_Buero_WANDTHERMOSTAT_Weather peerChan 0 EG_Buero_THERMOSTAT_Weather single set
 
ACHTUNG: Das Wandthermostat sowie das Thermostat Ventil (Beispiel "EG_Buero_WANDTHERMOSTAT" und EG_Buero_THERMOSTAT) werden vorher in FHEM den Status "CMDs_done" anzeigen.
Beim peerChan wird dann bei beiden "CMDs_pending" stehen. Wobei das Wandthermostat sehr schnell wieder auf CMDs_done zurück springt.
Allerdings ist dringend darauf zu achten, dass das Thermostat Ventil auch wieder auf  "CMDs_done" wechselt, bevor man den nächsten Befehl absendet.
Das Heizkörper Ventil kann unter Umständen 3 bis 5 min benötigen bis wieder "CMDs_done" steht. Evtl. kann man dies durch die BOOST Taste beschleunigen. Da das Ventil etwa alle 3 min aufwacht, prüft und Daten sendet / empfängt. Sollte man mit dem Befehlen weiter gemacht haben, so kann es zu dem Problem führen, dass einer nicht mehr mit dem Pending aufhört. In dem Fall empfiehlt es sich beide Devices von FHEM abzumelden und auf Werkseinstellung zu resetten.
 
Zum Test haucht man das Wandthermostat an oder hält es einige Zeit in der Hand bis die Temperatur steigt, nach etwa 3 Minuten sollte man auch am Thermostat Ventil einen Temperaturanstieg sehen.


==== Channel (Kanal) 02 _Climate ====
==== Channel (Kanal) 02 _Climate ====
Dieser Kanal erlaubt es dem [[HM-TC-IT-WM-W-EU Funk-Wandthermostat AP|HM-TC-IT-WM-W-EU Funk-Wandthermostat]] den HM-CC-RT-DN zu steuern. Dazu müssen die beiden Geräte gepeert werden:
  set <HM-TC-IT-WM-W-EU>_Climate peerChan 0 <HM-CC-RT-DN>_Climate single set


==== Channel (Kanal) 03 _WindowRec ====
==== Channel (Kanal) 03 _WindowRec ====
Hier lassen sich Fensterkontakte (HM-SEC-SC oder HM-SEC-RHS) peeren, die ihren Fensterstatus (geöffnet/gekippt) an ein oder mehrere Thermostate senden. Die Thermostate stellen anschließend die entsprechende (konfigurierbare) Temperatur ein. Der Temperaturwert kann je Fenster-Sensor unterschiedlich definiert werden. Sind mehrere Fenster gleichzeitig geöffnet, so wird der Thermostat auf die Temperatur des Sensors mit dem geringsten Temperaturwert eingestellt.  
Mit diesem Kanal können Fensterkontakte ([[HM-SEC-SC Tür-Fensterkontakt|HM-SEC-SC]] und [[HM-Sec-RHS Funk-Fenster-Drehgriffkontakt|HM-SEC-RHS]]) ihren Fensterstatus (geöffnet / gekippt) an ein oder mehrere Thermostate senden. Die Thermostate stellen anschließend die entsprechende (konfigurierbare) Temperatur ein. Der Temperaturwert kann je Fenster-Sensor unterschiedlich definiert werden. Sind mehrere Fenster gleichzeitig geöffnet, so wird der Thermostat auf die Temperatur des Sensors mit dem geringsten Temperaturwert eingestellt.  
Ferner wird empfohlen, bei Einsatz von externen Sensoren, die interne „Fenster auf Erkennung“ zu deaktivieren (Weitere Details sind im [[HM-CC-RT-DN_Funk-Heizkörperthermostat#Channel_.28Kanal.29_04_Clima|Channel (Kanal) 04 _Clima]] näher beschrieben).
Ferner wird empfohlen, bei Einsatz von externen Sensoren, die interne „Fenster auf Erkennung“ zu deaktivieren (weitere Details sind im [[HM-CC-RT-DN Funk-Heizkörperthermostat#Channel .28Kanal.29 04 _Clima|Channel (Kanal) 04 _Clima]] beschrieben).
 
Befehl zum peeren:
set <fenster-sensor> peerChan 0 <rt_WindowRec> single


Zum Löschen von einen peer:
Der Befehl zum Peeren lautet, wobei <fensterSensor> die FHEM-Kanalbezeichnung für den Fensterkontakt ist und <rt_WindowRec> die Kanalbezeichnung für den entsprechenden Kanal des Heizkörperthermostates (siehe {{Link2Forum|Topic=41541|LinkText=diesen Thread}}):
  set <fenster-sensor> peerChan 0 <rt_WindowRec> single unset
  set <fensterSensor> peerChan 0 <rt_WindowRec>_WindowRec single  


Der Peer-(Lösch)Vorgang muss auf dem SC/RHS Sensor durch "drücken" der Anlerntaste bestätigt werden.
Zum Löschen (=unpeeren) dieser Kopplung:
set <fensterSensor> peerChan 0 <rt_WindowRec>_WindowRec single unset


'''Achtung''': Der Peer-(Lösch-)Vorgang muss erst am Fensterkontakt durch Drücken der Anlerntaste ausgelöst werden, und zwar auch dann, wenn der Fensterkontakt schon vorher mit FHEM gepairt wurde. Dann kann der oben genannte Befehl in FHEM abgesetzt werden. Wichtig scheint auch, dass der Fensterkontakt geschlossen ist wenn man die Anlerntaste drückt.


Temperatur für Windowopen definieren:
Der Befehl zur Temperatureinstellung des Heizkörperthermostaten für den Zustand "Fenster offen" lautet, wobei <fensterSensor> die FHEM-Kanalbezeichnung für den Fensterkontakt ist und <rt_WindowRec> die Kanalbezeichnung für den entsprechenden Kanal des Heizkörperthermostates, sowie <Temp> die einzustellende Temperatur (ganzzahliger Wert):
set <rt_WindowRec>_WindowRec regSet winOpnTemp <Temp> <fensterSensor>


set <rt_WindowRec> regSet winOpnTemp 10 <fenster-sensor>
Weitere Hinweise im Forum, siehe {{Link2Forum|Topic=41541|Message=348044|LinkText=FHEM Forum-Beitrag}}


==== Channel (Kanal) 04 _Clima ====
==== Channel (Kanal) 04 _Clima ====
Dieser Kanal ist "der" operationelle. Hier kann z.B. die Temperatur eingestellt werden. (In älteren Versionen wurde dieser Kanal durch autocreate als "_ClimRT_tr" angelegt.)
Dieser Kanal dient zum Einstellen der Betriebsparameter, auch [[#Temperaturlisten|Temperaturlisten]] sind hierauf zu übertragen.
 
Mit dem Modul [[Weekprofile|Wochenplan / Weekprofile]] können die Wochenpläne komfortabel in FHEM erstellt und an die Thermostate übertragen werden.
'''Temperaturlisten setzen''': um gebündelt die Wunschtemperaturen für eine ganze Woche zu setzen, können, wie beim HM-CC-TC [[HM-CC-TC Funk-Wandthermostat#Temperaturlisten|beschrieben]], Temperaturlisten in der z.B. [[99_myUtils anlegen|99_MyUtils.pm]] angelegt werden. Anders als beim HM-CC-TC sind diese Listen aber nicht auf den Channel ''_Climate'', sondern auf den Channel ''_Clima'' zu übertragen.
 
######################################################
# Temperatur-Liste für Kellertreppe
# setzen per Aufruf von "{SetTempList_UG_Treppe_Heizung}"
# Vorsicht, da kein HM-CC-TC, sondern HM-CC-RT-DN, ist hier ein anderer Channel
# zu nehmen. Zudem wird mit prep|exec gearbeitet, um nicht alle Zeilen als
# einzelnen Befehl zu senden, sondern per "prep" erst alles
# zusammenzufassen und dann per "exec" an das Thermostat zu senden.
# Also als ein einziger Befehl statt sieben. Vermeidet "NACKs"
######################################################
sub
SetTempList_UG_Treppe_Heizung()
  {
    { fhem ("set UG.Treppe.Heizung_Clima tempListMon prep 05:30 16.0 07:00 18.0 16:00 18.5 20:30 19.0 24:00 16.0")};
    { fhem ("set UG.Treppe.Heizung_Clima tempListTue prep 05:30 16.0 07:00 18.0 16:00 18.5 20:30 19.0 24:00 16.0")};
    { fhem ("set UG.Treppe.Heizung_Clima tempListWed prep 05:30 16.0 07:00 18.0 16:00 18.5 20:30 19.0 24:00 16.0")};
    { fhem ("set UG.Treppe.Heizung_Clima tempListThu prep 05:30 16.0 07:00 18.0 16:00 18.5 20:30 19.0 24:00 16.0")};
    { fhem ("set UG.Treppe.Heizung_Clima tempListFri prep 05:30 16.0 07:00 18.0 15:00 18.5 20:30 19.0 24:00 16.0")};
    { fhem ("set UG.Treppe.Heizung_Clima tempListSat prep 07:00 16.0 09:00 18.0 15:00 18.5 21:00 19.0 24:00 16.0")};
    { fhem ("set UG.Treppe.Heizung_Clima tempListSun exec 07:00 16.0 09:00 18.0 15:00 18.5 21:00 19.0 24:00 16.0")};
}
# End SetTempList_UG_Treppe_Heizung
Bitte beachten: Die Zeiten sind jeweils '''bis'''-Zeiten! In o.a. Beispiel regelt der Thermostat also am Wochenende zwischen 7 und 9 Uhr auf 18 Grad!


Sobald die neue/geänderte ''99_MyUtils.pm'' gespeichert ist, können per Fhem-Befehl ''<code>{SetTempList_UG_Treppe_Heizung}</code>'' (also inclusive der geschweiften Klammern) die neuen Temperaturen an den HM-CC-RT-DN gesendet werden.
{{Hinweis|In älteren Versionen von FHEM wurde dieser Kanal durch ''autocreate'' als <code>_ClimRT_tr</code> angelegt. Der Hersteller hat hier offenbar die internen Bezeichnungen geändert, denn beim Vorläufermodell HM-CC-TC mussten Temperaturlisten auf den Kanal ''Climate'' übertragen werden.}}


'''Die interne Fernster auf Erkennung kann man wie folgt abschalten:'''
Die maximale Öffnung des Ventils kann mittels folgendem Befehl eingestellt werden (hier auf 80 %):
  set <HM-CC-RT-DN>_Clima regSet valveMaxPos 80


set <rt_Clima> regSet winOpnMode off
Die interne "Fenster-auf"-Erkennung kann man wie folgt abschalten:
  set <HM-CC-RT-DN>_Clima regSet winOpnMode off


==== Channel (Kanal) 05 _ClimaTeam ====
==== Channel (Kanal) 05 _ClimaTeam ====
Dieser Kanal dient zum peeren von mehreren RTs untereinander. Ein RT meldet Änderungen, die am device durchgeführt werden an seinen Teamkollegen. Änderungen von der Zentrale werden nicht gesyncht - das muss die Zentrale machen. Das gilt für alle anderen Änderungen ebenso (Fensterkontakt, Remote,...). Hier müssen diese Kontakte einfach mit allen RTs gepeert werden und identisch programmiert werden.
Dieser Kanal erlaubt es mehrere HM-CC-RT-DN zu einem "Team" zu gruppieren. Ein Mitglied des Teams meldet
'''Folgende Änderungen werden "nicht" weitergegeben:'''
* Änderungen der Temperatur am Handrad
* Einschalten des Boost-Modus am Taster
an seine "Teamkollegen" weiter. Folgende Änderungen werden '''nicht''' weitergegeben:
* Status der Fensterkontakte
* Status der Fensterkontakte
* Temperaturvorgaben der Zentrale
* Temperaturlisten/Wochenplan und daraus folgende Änderungen
* Temperaturlisten/Wochenplan und daraus folgende Änderungen
* Änderungen durch remotes
* Änderungen durch Fernbedienungen
* Änderungen durch eine TC-IT Zentrale
* Änderungen durch eine HomeMatic-Zentrale


'''Folgende Änderungen werden weitergegeben:'''
Befehl zum Peeren, wobei ''<HM-CC-RT-DN#1>_ClimaTeam'', ''<HM-CC-RT-DN#2>_ClimaTeam'', ..., ''<HM-CC-RT-DN#8>_ClimaTeam'' die Kanalbezeichnungen der jeweiligen ClimaTeam-Kanäle sind:
* Änderung der Temperatur am Handrad
set <HM-CC-RT-DN#1>_ClimaTeam peerChan 0 <HM-CC-RT-DN#2>_ClimaTeam single
* Boost am Taster
set <HM-CC-RT-DN#1>_ClimaTeam peerChan 0 <HM-CC-RT-DN#3>_ClimaTeam single
 
set <HM-CC-RT-DN#2>_ClimaTeam peerChan 0 <HM-CC-RT-DN#3>_ClimaTeam single
Befehl zum peeren:
...
<pre>set <rt1-ClimaTeam> peerChan 0 <rt2-ClimaTeam> single</pre>


==== Channel (Kanal) 06 _remote ====
==== Channel (Kanal) 06 _remote ====
Kann an eine Fernbedienung gekoppelt werden. Per Tastendruck kann man einen bestimmten Mode und/oder eine bestimmte Temperatur wählen. Man kann lang gesondert die Reaktion auf einen langen oder kurzen Tastendruck einstellen.
Dieser Kanal kann an eine Fernbedienung gekoppelt werden. Per Tastendruck kann man einen bestimmten Mode und/oder eine bestimmte Temperatur wählen. Dabei kann die Reaktion auf einen langen oder kurzen Tastendruck gesondert eingestellt werden.


Befehl zum peeren:
Der Befehl zum Peeren lautet, wobei <button> die Kanalbezeichnung der Fernbedienung und <rt-remote> die Kanalbezeichnung des Heizkörperthermostates ist:
<pre>set <button> peerChan 0 <rt-remote> single</pre>
set <nowiki><button> peerChan 0 <HM-CC-RT-DN>_remote single</nowiki>


=== Betriebsmodus Auto, Manu, Party (Urlaub) ===
=== Betriebsmodus Auto, Manu, Party (Urlaub) ===


Im Automode kann man die Temperatur am Einstellrad des RT ändern. Zum nächsten Schaltpunkt wird dies dann überschrieben. Will man dies nicht (z.B. lange Party, ...), kann man auf manuell schalten. Dann bleibt die mit dem Drehregler (oder der Zentrale) eingestellte Temperatur stehen bis ''ultimo''. Es gibt dann noch den Party- oder Urlaubsmodus. In diesen kann man den Automodus für eine gegebene Zeit überschreiben.
Der HM-CC-RT-DN verfügt über drei Betriebsmodus: Auto, Manu (Manuell) und Party (Urlaub).  


==== Modus Auto ====
==== Modus Auto ====
Das Device arbeitet gemäß des gespeicherten Wochenprogramms. Manuelle Änderungen sind möglich, werden beim nächsten Schaltpunkt überschrieben.
Das Gerät arbeitet gemäß des gespeicherten Wochenprogramms. Manuelle Änderungen sind möglich, werden aber beim nächsten Schaltpunkt überschrieben.


==== Modus Manu ====
==== Modus Manu ====
Das Wochenprogramm wird nicht abgearbeitet, die Temperatur wird manuell eingestellt.
Die Temperatur wird manuell eingestellt, das Wochenprogramm wird nicht abgearbeitet. "Manuell Einstellen" bedeutet entweder am Handrad oder durch Übermittlung eines "set desired temp"-Befehls von FHEM (oder equivalent von einer CCU).


==== Modus Party (Urlaub) ====
==== Modus Party (Urlaub) ====
Die eingestellte Temperatur gilt bis zu einem gegebenen Endzeitpunkt, anschließend wechselt das Thermostat in den ''Auto''-Modus.


Will man für eine festgesetzte Zeit (Stunden oder Tage) die Temperatur auf einen festen Wert einstellen (z.B. weil man in Urlaub fährt), kann man dies zwar auch durch Änderungen der Temperaturlisten erreichen, einfacher ist aber die Zuweisung über den Urlaubsmodus, da nach dessen Ablaufdatum und -zeitpunkt automatisch wieder zum vorher eingestellten Programm gewechselt wird.  
==== Welchen Modus nutzen? ====
Im Umfeld von FHEM sind alle drei Modi einsetzbar. Betrieb in "Auto" hat den Vorteil, dass bei Ausfall der FHEM-Instanz der Thermostat trotzdem noch die eingespeicherten Wochenprogramme abarbeitet. Nachteilig ist aber, dass die Steuerung komplexer wird, weil sowohl die Einstellungen am Thermostat als auch Schaltbefehle von FHEM das Verhalten beeinflussen. Vielfach wird daher im Umfeld von FHEM der Modus "Manu" benutzt, hier wird die Temperatur nur per einzelnem FHEM Schaltbefehl gesteuert, ausgelöst z.b. durch "at" Kommandos, Anwesenheitserkennung oder Bewegungsmelder. Sollte FHEM (oder die Funkverbindung) ausfallen, bleibt der Thermostat allerdings auf der letzten eingestellten Temperatur stehen.


'''Ein Beispiel:'''
Denkbar ist auch, den Modus "Auto" zu verwenden und dann die Steuerung per FHEM dadurch durchzuführen, dass durch FHEM die Wochenprogramme verändert werden. Dies verbindet zwar die Vorteil der vorgenannten Methoden, ist aber am Aufwendigsten in der Programmierung und erzeugt die höchste Funklast.


<pre>
Auch der Urlaubsmodus ist einsetzbar, so kann beispielsweise bei Abwesenheit ein niedrigeres Temperaturprofil eingestellt werden, ohne dass eventuell vorhandene Temperaturlisten verändert werden müssen.
   set HM-CC-RT-DN_Clima controlParty 16 06.12.13 16:30 09.12.13 05:00
 
</pre>
   set <HM-CC-RT-DN>_Clima controlParty 16 06.12.13 16:30 09.12.13 05:00


Dadurch wird  
Dadurch wird  
* von 06.12.2013, 16:30 Uhr
* bis 09.12.2013, 05:00 Uhr
* die gewünschte Raumtemperatur auf 16 °C eingestellt.


* vom 06.12.2013, 16:30 Uhr,
{{Hinweis|
* bis zum 09.12.2013, 05:00 Uhr
* Der Befehl muss auf dem Kanal 4 ''(_Clima)'' erfolgen.
* die gewünschte Raumtemperatur auf 16 °C
* Es werden nur Uhrzeiten zu jeder vollen oder halben Stunde angenommen (Minuten also 00 oder 30).}}


eingestellt.
Mit der folgenden Funktion <code>Urlaub()</code> kann man eine ganze Wohnung (also mehrere RTs) mit nur einem Befehl in den Party-Modus versetzen. Im Beispiel werden zwei Heizkörper ("Treppenhaus" und "Kammer") angesteuert.


'''Hinweise:'''
Zu beachten sind folgende Dinge:
- Der Befehl muss auf den Channel 4 ("_Clima") erfolgen.<br />
# Aktuelle Dateien (z.B. <code>10_CUL_HM</code>) verwenden!
- Es werden nur Uhrzeiten zu jeder vollen oder halben Stunde angenommen (Minuten also 00 oder 30).<br />
# Bei dem ''controlParty''-Befehl ''kein'' Komma zwischen den Parametern.
# Bei der Funktion die Parameterübergabe definieren <code>($$$$$)</code>


'''Aufruf:'''
:<code>{Urlaub ("16", "06.12.13", "16:30", "09.12.13" ,"05:00")}</code>


Mit der Funktion "Urlaub" kann man eine ganze Wohnung (also mehrere RT´s) mit nur einem Befehl in den Party-mode versetzen.<br />
'''Funktion:'''
Der Name "Urlaub" kann natürlich frei gewählt werden.
<syntaxhighlight lang="perl">
Im Beispiel werden 2 Heizkörper (Treppenhaus und Kammer) angesteuert. <br />
 
Zu beachten sind folgende Dinge:<br />
<br />
 
1) Aktuelle Dateien (z.B. 10_CUL_HM) verwenden!<br />
2) Bei dem partycontrol-Befehl in der Funktion KEIN Komma zwischen den Parametern.<br />
3) Bei der Funktion die Parameterübergabe definieren ($$$$$) <br />
<br />
'''Aufruf:'''
<pre> {Urlaub ("16", "06.12.13", "16:30", "09.12.13" ,"05:00")}
</pre>
<br />
'''Funktion:'''<br />
<pre>
my $Urlaub;
my $Urlaub;
sub
sub
Urlaub($$$$$)
Urlaub($$$$$)
   {
   {
    #lokale Variablendeklaration
     my ($temp, $startDate, $startTime, $endDate, $endTime) = @_;
     my ($temp,$startDate,$startTime,$endDate,$endTime) = @_;
   
   
     # HM-CC-RT-DN akzeptiert nur Zeiten, die auf Minute 00 oder 30 enden.
     # HM-CC-RT-DN akzeptiert nur Zeiten, die auf Minute 00 oder 30 enden.
Zeile 175: Zeile 178:
     $startTime =~ s/\:[3-5].$/:30/;
     $startTime =~ s/\:[3-5].$/:30/;
     $endTime =~ s/\:[0-2].$/:00/;
     $endTime =~ s/\:[0-2].$/:00/;
     $endTime =~ s/\:[3-5].$/:30/;
     $endTime =~ s/\:[3-5].$/:30/;
 
    # controlParty bei jedem HM-CC-RT-DN setzen.
    for my $rt (qw(Kammer Treppenhaus)) {
      fhem ("set $rt controlParty $temp $startDate $startTime $endDate $endTime");
    }
  }
</syntaxhighlight>
 
=== Tastensperre ===
 
Um zu verhindern, dass der Modus oder die Temperatur per Tasten bzw. Drehrad am HM-CC-RT-DN verändert wird, kann eine Tastensperre gesetzt werden. Dies erfolgt mittels des Befehls:
 
set <HM-CC-RT-DN> regSet btnLock on
 
Rückgängig machen geht per:
 
set <HM-CC-RT-DN> regSet btnLock off
 
Diese Tastensperre kann man aber am HM-CC-RT-DN durch eine Tastenkombination wieder zurücksetzen. Um sie nur per FHEM rücksetzen zu können, muss
 
set <HM-CC-RT-DN> regSet globalBtnLock on
 
eingegeben werden. Rückgängig geht wieder per:
 
set <HM-CC-RT-DN> regSet globalBtnLock off
 
Es gibt auch eine Tastensperre die nur das Umschalten des Modus (Auto, Manuell, Urlaub) am Gerät verhindert. Diese wird mit


    #Sendebefehl für ein HM-CC-RT-DN
set <HM-CC-RT-DN> regSet modusBtnLock on
    {fhem ("set Kammer controlParty $temp $startDate $startTime $endDate $endTime")}


    # alternative Schreibweise der Parameter:
eingeschaltet. Abschalten geht mit:
    {fhem ("set Treppenhaus controlParty @_[0] @_[1] @_[2] @_[3] @_[4]")};
 
  }
set <HM-CC-RT-DN> regSet modusBtnLock off
</pre>


=== Burst-Modus ===
=== Burst-Modus ===
Das ist ein '''Übertragungs'''modus für Nachrichten zwischen HM-Geräten und der Zentrale. Der RT erwacht alle 2,5 Minuten und dann überträgt die Zentrale die Kommandos. Wenn man einen Fensterkontakt oder eine Fernsteuerung nutzt, muss der RT sofort reagieren - dann muss man den Burst ''enablen''. Der RT kann in diesem Fall sofort aufgeweckt werden und bearbeitet die Anforderung (Request). Das kann man auch von der Zentrale aus nutzen (so man möchte). Das ist der '''Vorteil''' des eingeschalteten Burst-Modus.


Das ist ein '''Übertragungs'''modus für Nachrichten zwischen HM-Geräten und der Zentrale. Der RT erwacht alle 2,5 Minuten und dann überträgt die Zentrale die Kommanods. Wenn man einen Fensterkontakt oder eine Fernsteuerung nutzt, muss der RT sofort reagieren - dann muss man den Burst ''enablen''. Der RT kann in diesem Fall sofort aufgeweckt werden und bearbeitet die Anforderung (Request). Das kann man auch von der Zentrale aus nutzen (so man möchte). Das ist der '''Vorteil''' des eingeschalteten Burst-Modus.
'''Nachteil:''' Der Burst-Modus benötigt mehr Leistung, das heißt die Batterien müssen häufiger gewechselt werden: Der RT muss den Receiver ständig empfangsbereit halten. Außerdem wachen bei jedem Burst ''alle'' Burst-Empfänger auf – egal an wen die Kommunikation gerichtet war.
 
'''Nachteil:''' Der RT muss den Receiver wach halten. Der RT und alle anderen Burst-Devices erwachen bei '''jedem''' Burst (egal für wen) und legen sich dann wieder schlafen.
* jeder Burst-trigger kostet Batterie für '''alle''' Burst-Geräte im System
* wenn Burst enabled ist kostet es dem RT Batteriekapazität


'''Burst – wie es funktioniert''' <br />
'''Burst – wie es funktioniert'''


Schickt ein Sender eine burst Sequenz, wachen alle burst-Empfänger auf und prüfen die Message.  
Schickt ein Sender eine burst Sequenz, wachen alle burst-Empfänger auf und prüfen die Message.  
Wenn sie betroffen sind bleiben sie eine Zeit lang wach, ansonsten schlafen sie wieder ein.  
Wenn sie betroffen sind bleiben sie eine Zeit lang wach, ansonsten schlafen sie wieder ein.  
Man beachte also, dass Senden eines Burst  Energie in ALLEN burst-Empfängern verbraucht, egal ob sie angesprochen sind. <br />
Man beachte also, dass Senden eines Burst  Energie in ALLEN burst-Empfängern verbraucht, egal ob sie angesprochen sind.
 
'''HMLAN und burst'''


'''HMLAN und burst''' <br />
[[HMLAN]] hat ein Sendebudget das über eine Stunde berechnet wird. Burst belastet dieses Konto deutlich - so können nicht mehr als 100 bursts /h gesendet werden - dann geht HMLAN in overload. Wenn zusätzliche Nachrichten gesendet werden sind es entsprechend weniger.  
HMLAN hat ein Sendebudget das über eine Stunde berechnet wird. Burst belastet diese Konto deutlich - so können nicht mehr als 100 bursts /h gesendet werden - dann geht HMLAN in overload Wenn zusätzliche messages gesendet werden sind es entsprechend weniger.  
Es ist nicht vorteilhaft, unnötig bursts zu senden.
Es ist als nicht vorteilhaft, unnötig bursts zu senden.
 
'''Burst devices'''


'''Burst devices''' <br />
Es gibt Devices, die immer auf burst reagieren und solche bei denen es abgeschaltet werden kann. So reagiert ein Rauchmelder immer auf Burst damit er seine Team-Kollegen hören kann.  
Es gibt Devices, die immer auf burst reagieren und solche bei denen es abgeschaltet werden kann. So reagiert ein Rauchmelder immer auf Burst damit er seine Team-Kollegen hören kann.  
Ein TC oder RT hingegen hat diese Funktion abschaltbar. 'Per default ist dies ausgeschaltet um Batterie zu sparen'. Wenn ein VD gesteuert wird ist der TC ja selbst wach.  Wird er aber mit einem Fensterkontakt gekoppelt muss es eingeschaltet werden – sonst verpasst er die message. <br />
Ein TC oder RT hingegen hat diese Funktion abschaltbar. 'Per default ist dies ausgeschaltet um Batterie zu sparen'. Wenn ein VD gesteuert wird ist der TC ja selbst wach.  Wird er aber mit einem Fensterkontakt gekoppelt muss es eingeschaltet werden – sonst verpasst er die Nachricht.  
<br />
'''ConditionalBurst devices''' <br />
Devices mit abschaltbarem burst wie z.B. der 'HM-CC-RT-DN', gibt es ein Register burstRx mit dem das burst-erwachen eingestellt werden kann.
Sender, die einen burst-Aktor erwecken sollen muss man sagen, welcher peer burst benötigt. Hier kann ggf. das Register peerNeedsBurst nach dem peeren gesetzt werden. FHEM versucht dies automatisch beim Peeren zu erledigen.
Siehe Hminfo kommando  'models' um festzustellen, welche devices welchen mode unterstützen. <br />


'''Attribut burstAccess''' <br />
'''ConditionalBurst devices'''
Devices, die abschaltbaren burst haben kann man ein attribut bustAccess 1_auto setzen. Es wird beim abschicken eines Kommandos versucht, das Device mit burst zu wecken. Sollte es nicht funktionieren wird gewartet, bis das Device aufwacht (meist reagieren solche Devices auch auf wakeup). Das setzen des Attributs ist angenehm – es werden aber ggf. viele bursts gesendet. <br />
 
Devices mit abschaltbarem Burst wie z.B. der ''HM-CC-RT-DN'' haben ein Register, ''burstRx'', mit dem das burst-Erwachen eingestellt werden kann.
Sendern, die einen burst-Aktor erwecken sollen, muss man sagen, welcher Peer Burst benötigt. Hier kann ggf. das Register ''peerNeedsBurst'' nach dem Peeren gesetzt werden. FHEM versucht dies automatisch beim Peeren zu erledigen. Siehe [[HMInfo]] Befehl ''models'' um herauszufinden, welche Devices welchen Modus unterstützen.
 
'''Attribut burstAccess'''  
 
Devices, die abschaltbaren burst haben kann man ein attribut burstAccess 1_auto setzen. Es wird beim Abschicken eines Kommandos versucht, das Device mit burst zu wecken. Sollte es nicht funktionieren wird gewartet, bis das Device aufwacht (meist reagieren solche Devices auch auf wakeup). Das Setzen des Attributs ist angenehm – es werden aber ggf. viele bursts gesendet.
 
'''Kommando burstXmit'''
 
Mit diesem Kommando, das bei Devices mit conditional-Burst zu Verfügung steht, wird der burst gezielt vom User angestoßen.
 
Der User schickt erst seine Kommandos an das device. Die Kommandos werden im Command-stack gesammelt.
 
Dann sendet der User ein set burstXmit.
 
Es passiert das gleiche wie bei burstAccess.


'''Kommando burstXmit''' <br />
Mit diesem Kommando, das bei Devices mit contitional-Burst zu Verfügung steht, wird der burst gezielt von User angestossen. <br />
Der User schickt erst seine Kommandos an das device. Die Kommandos werden im Command-stack gesammelt. <br />
Dann sendet der User ein set burstXmit. <br />
Es passiert das gleiche wie bei burstAccess. <br />
FHEM versucht mittels burst zu wecken und sendet bei Erfolg die Messages aus dem Kommandostack.  
FHEM versucht mittels burst zu wecken und sendet bei Erfolg die Messages aus dem Kommandostack.  
<br /><br />
Im Gegensatz zu burstAccess ist burstXmit gezielt einsetzbar und kann sparsamer verwendet werden. <br />


''' FHEM und burst devices''' <br />
Im Gegensatz zu burstAccess ist burstXmit gezielt einsetzbar und kann sparsamer verwendet werden.
 
''' FHEM und burst devices'''
 
FHEM sendet eine burst automatisch mit Kommandos zu Devices, die nur burst unterstützen.
FHEM sendet eine burst automatisch mit Kommandos zu Devices, die nur burst unterstützen.


'''So aktiviert man den burst-Betrieb am HM-CC-RT-DN''' <br />
'''So aktiviert man den burst-Betrieb am HM-CC-RT-DN'''


''Burst Mode einschalten'' (der Kanal 4 des Device WZ1 heisst hier WZ1_4) <br />
''Burst Mode einschalten'' (der Kanal 4 des Device WZ1 heisst hier WZ1_4)
<pre>set WZ1_4 regSet burstRx on </pre>
:<code>set WZ1_4 regSet burstRx on </code>
prüfen mit: <br />
prüfen mit:
<pre>get WZ1_4 reg burstRx </pre>
:<code>get WZ1_4 reg burstRx </code>
''Nun in FHEM den Burst mode einschalten (sofern nicht burstXmit verwendet wird)'' <br />
''Nun in FHEM den Burst mode einschalten (sofern nicht burstXmit verwendet wird)''
<pre>attr WZ1 burstAccess 1_auto</pre>
:<code>attr WZ1 burstAccess 1_auto</code>


Hinweis: Das Attribut im Device und nicht im Kanal setzen, ansonsten gibt es eine Fehlermeldung.
Hinweis: Das Attribut im Device und nicht im Kanal setzen, ansonsten gibt es eine Fehlermeldung.


=== Temperaturlisten ===
=== Temperaturlisten ===
Im Kanal "Clima" kann man einen Wochenplan hinterlegen. Im Automode stellt das Thermostat eine desired-temp gemäß diesen Daten ein. Die Daten werden in Registern im RT abgelegt. Wegen der schlichten Menge an Daten gibt es gesonderte Kommandos zur Verwaltung der Listen. Die Darstellung der Daten unterliegt aber dennoch den Regeln der Register: FHEM muss die Daten aus dem Device lesen (getConfig) um sie Darzustellen.
Die Temperaturlisten des HM-CC-RT-DN werden identisch mit denen anderer HomeMatic Thermostate verwaltet (siehe [[HomeMatic Type Thermostat#Temperaturlisten|HomeMatic Type Thermostat]]). Beim HM-CC-RT-DN ist der Kanal 4 (_Clima) für die Temperaturlisten zuständig.
==== manuelle Änderung ====
Mit dem Kommando set <rt>_Clima tempListMon 05:30 16.0 ... 24:00 16.0 kann man das temperaturprofil für einen Tag einstellen. Der letzte Wert muss immer Mitternacht (24:00) sein. Die Temperatur gilt immer bis zu diesen Zeitpunkt '''nicht''' ab diesem Zeitpunkt.
Ändert man mehrere Tage auf einmal sollte man unbedingt mit "prep" und "exec" arbeiten, da es sonst zu Wiederholungen und langen Bearbeitungen kommen kann. Das könnte in eine script so aussehen
sub
SetTempList_UG_Treppe_Heizung()
  {
    { fhem ("set UG.Treppe.Heizung_Clima tempListMon prep 05:30 16.0 07:00 18.0 16:00 18.5 20:30 19.0 24:00 16.0")};
    { fhem ("set UG.Treppe.Heizung_Clima tempListTue prep 05:30 16.0 07:00 18.0 16:00 18.5 20:30 19.0 24:00 16.0")};
    { fhem ("set UG.Treppe.Heizung_Clima tempListWed prep 05:30 16.0 07:00 18.0 16:00 18.5 20:30 19.0 24:00 16.0")};
    { fhem ("set UG.Treppe.Heizung_Clima tempListThu prep 05:30 16.0 07:00 18.0 16:00 18.5 20:30 19.0 24:00 16.0")};
    { fhem ("set UG.Treppe.Heizung_Clima tempListFri prep 05:30 16.0 07:00 18.0 15:00 18.5 20:30 19.0 24:00 16.0")};
    { fhem ("set UG.Treppe.Heizung_Clima tempListSat prep 07:00 16.0 09:00 18.0 15:00 18.5 21:00 19.0 24:00 16.0")};
    { fhem ("set UG.Treppe.Heizung_Clima tempListSun exec 07:00 16.0 09:00 18.0 15:00 18.5 21:00 19.0 24:00 16.0")};
}
==== Temperaturprofile====
Manuelle Änderungen sind jederzeit möglich, aber sicher nicht elegant. Besser ist die Verwaltung von Profilen in einem Konfigurationsfile. Es bietet somit auch eine Möglichkeit, Profile in einem Thermostat umzuschalten.
===== hinterlegen =====
Die Profile oder Templates werden in einen File abgelegt in der Form
entities:room1
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 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
entities:room2,room3
tempListSat>08:00 18.0 15:00 18.0 21:30 19.0 24:00 14.0
tempListSun>08:00 18.0 15:00 18.0 21:30 19.0 24:00 14.0
...


* '''entities''' ist eine komma-separierte Liste an Namen des Templates. Das gleiche Profil kann unter mehreren Namen angesprochen werden. Das erste Template hat den Name "room1", das 2. hat zwei Namen, "room2" und "room3"
==FHEM-Log==
* '''tempList...''' ist die jeweiligen Liste der Temperaturen des Tages
In den folgenden Logs heißt Kanal 4 noch "_ClimRT_tr". Inzwischen würde man dort "_Clima" sehen.
===== nutzen =====
Die Kommandos sind
set <rt>_Clima tempListTmpl verify FHEM/tempList.cfg:room1
set <rt>_Clima tempListTmpl restore FHEM/tempList.cfg:room1
* '''FHEM/tempList.cfg:room1''' ist das Template. FHEM/tempList.cfg ist das File, in dem das Template zu suchen ist. room1 ist das Template,welches im File gesucht wird. Wird kein File angegeben wird "template.cfg" im "fhem" directory angenommen.
* '''verify''' vergleicht die gelesene templiste mit dem Template aus dem File. Verify ist default für das Kommando.
* '''restore''' schreibt die Templiste gemäß Template in das Device.  


Man kann einem Thermostat das '''Attribut tempListTmpl''' geben. Damit wird der default für dieses Deivce gesetzt.
attr <rt>_Clima tempListTmpl FHEM/tempList.cfg:room1
set <rt>_Clima tempListTmpl
prüft <rt>_Clima gegen FHEM/tempList.cfg:room1
set <rt>_Clima tempListTmpl restore
schreibt das Template FHEM/tempList.cfg:room1 nach <rt>_Clima.
===== Vorschlag =====
Um Templates zu verwalten sollte man das File tempList.cfg im Directory FHEM ablegen. Das Verzeichnis ist im Prinzip egal, wenn es aber im Verzeichnis FHEM liegt kann man es aus dem web-interface editieren.
  attr attr <rt>_Clima tempListTmpl FHEM/tempList.cfg:<name>
'''name''' wäre der Name des rt, so z.B. rt_wohnzimmer_Clima.
==Fhem-Log==
In den folgenden Logs heißt Kanal 4 noch "_ClimRT_tr". Inzwischen würde man dort "_Clima" sehen.
=== Device-Log ===
=== Device-Log ===
  2013.10.10 20:03:24 3: CUL_HM Unknown device CUL_HM_HM_CC_RT_DN_2212BC, please define it
  2013.10.10 20:03:24 3: CUL_HM Unknown device CUL_HM_HM_CC_RT_DN_2212BC, please define it
Zeile 344: Zeile 327:


== Firmware Update ==
== Firmware Update ==
Seit 24.10.2014 gibt es für den HM-CC-RT-DN die neue Firmware Version 1.4. Diese kann von der eQ-3 Webseite heruntergeladen werden. Genauere Informationen gibt es unter [[HomeMatic Firmware Update]].
=== HM-CC-RT-DN spezifische Update Informationen ===
Durch gleichzeitiges Drücken der "Auto-/Manu"-Taste und der "Comfort-/Eco"-Taste am HM-CC-RT-DN während man die Batterien wieder einlegt wird der updatemodus gestartet. Während des Updates steht "FUP" im Display. Nach erfolgreichem Update erscheint "Ins" im Display und es muss eine erneute Adaptierfahrt durch Drücken der Boost-Taste ausgelöst werden. Anschließend sollte der HM-CC-RT-DN wieder normal funktionieren. Die eingestellten Parameter und das Pairing mit FHEM gehen beim Update nicht verloren. Sollte das Update fehlschlagen, erscheint "Err" bzw. "CrC" im Display.
Normalerweise sollte dann durch erneutes Starten der Prozedur am PC und HM-CC-RT-DN das ganze erneut durchführbar sein.
Es gibt einige Readings, die nicht durch ein einfaches ''getConfig'' aktualisiert werden, z.B. "battery"(nicht batteryLevel). Um diese Readings zu bekommen, ist ein
:<code>set Device_Channel04 controlMode auto </code>
notwendig. Daraufhin werden die Readings übertragen/aktualisiert.
Anscheinend (siehe {{Link2Forum|Topic=93074|Msg=1252268|LinkText=dieses Forenthema}}) wird bei Firmware 1.5 ein weiteres Attribut benötigt
:<code>attr <devicename> commStInChn off</code>


Seit 31.01.2014 gibt es für den HM-CC-RT-DN eine neue Firmware Version (1.2). Diese kann von der eQ-3 Webseite heruntergeladen werden. Für das Firmware Update wird außerdem noch das ebenfalls dort herunterladbare "HomeMatic Firmware Update Tool V1.0" und ein
== Simulation von Fensterkontakten und externen Temperatursensoren ==
[[HM-CFG-USB_USB_Konfigurations-Adapter|HM-CFG-USB USB Konfigurations-Adapter]] benötigt. Momentan scheint nur die Version 2 des HM-CFG-USB unterstützt zu sein.
{{Randnotiz|RNTyp=r|RNText=Für jeden separat zu steuernden HM-CC-RT-DN kann nur je ein Kanal eines virtuellen Devices als Temperatur- bzw. Fensterkontakt genutzt werden. Insbesondere die virtuellen Kanäle der VCCU eignen sich nicht dazu, mehrere HM-CC-RT-DN unabhängig voneinander anzusteuern! Hat man mehrere unabhängig arbeitende RT's, muß für jeden auch ein '''eigenes virtuelles Gerät''' angelegt werden! 


Das Firmware Update Tool läuft nur unter Windows. Nach dem Start muss die Seriennummer des HM-CC-RT-DN  eingegeben und die neue Firmware Datei ausgewählt werden. Dann wird das Update Tool durch einen Klick auf den entsprechenden Button in "Bereitschaft" gesetzt und dann das Update durch gleichzeitiges Drücken der "Auto-/Manu"-Taste und der "Comfort-/Eco"-Taste am HM-CC-RT-DN gestartet. Während des Updates steht "FUP" im Display. Nach erfolgreichem Update erscheint "Ins" im Display und es muss eine erneute Adaptierfahrt durch drücken der Boost-Taste ausgelöst werden. Anschließend sollte der HM-CC-RT-DN wieder normal funktionieren. Die eingestellten Parameter und das Pairing mit FHEM gehen beim Update nicht verloren. Sollte das Update fehlschlagen, erscheint "Err" im Display. Normalerweise sollte dann durch erneutes starten der Prozedur am PC und HM-CC-RT-DN das ganze erneut durchführbar sein.
Die folgenden Beispiele sind nicht für Anfänger und Unwissende geeignet! Es gibt zahlreiche Stolpersteine:
# Die HMId für virtuelle Geräte muss einmalig im System sein. Sie muss selbst gewählt werden und es darf '''keine''' vorhandene ID verwendet werden!
# Es kann vorkommen, das beim Anlegen eines virtual Gerätes kein attr IODev gesetzt wird. Das Attribute ist aber notwendig, sonst arbeitet das Gerät nicht! Bitte kontrollieren und gegebenenfalls per Hand setzen.
}}
Grober Ablauf:
* erstelle ein virtuelles Device
* erstelle dazu einen virtuellen Kanal (bzw. mehrere, wenn sowohl ein virtueller Fensterkontakt wie ein virtueller Temperaturkanal benötigt werden).
* peere den Kanal mit dem RT (als Fenster-Kontakt oder als remote, wenn du willst)
* sende ein postEvent / stelle die neue Temperatur im Kanal ein
 
=== Fensterkontakte ===
''Angelehnt an diese {{Link2Forum|Topic=31078|Message=236245|LinkText=Forenbeitrag}}''
define virtKitchenSensors CUL_HM 221133
Um das Device als virtuelles zu kennzeichnen benötigt man den folgenden Befehl (legt weitere Attribute an):
attr virtKitchenSensors model VIRTUAL
 
Kanal bzw. Kanäle erstellen (benötigt uU. einen Neustart von FHEM, bevor der Befehl zur Verfügung steht):
set virtKitchenSensors virtual 1
oder (für das Anlegen je eines Kanals für einen Fenster- und Temperatur-Kanal):
set virtKitchenSensors virtual 2
Als Zwischenergebnis sehen wir in der Detailansicht des ''virtKitchenSensors'' ein bzw. zwei weitere Devices mit Namen ''virtKitchenSensors_Btn1'' bzw. ''virtKitchenSensors_Btn2''.
 
Umbenennen des 1. Kanals:
rename virtKitchenSensors_Btn1 virtualKitchenDoor
 
Danach sollte man das webCmd-Attribut wie folgt vergeben:
attr virtualKitchenDoor webCmd postEvent open:postEvent closed
 
Anschließend peeren und (wer weniger wie den default-Wert von 12°C einstellen möchte) Temperatur festlegen mit:
set virtualKitchenDoor peerChan 0 <Thermostat_Window_Rec> single set
set <Thermostat_Window_Rec> regSet winOpnTemp 5 virtualKitchenDoor
 
Ggf noch interne "Fenster-auf" Erkennung abschalten
set <HM-CC-RT-DN>_Clima regSet winOpnMode off
 
Die virtuelle Tür wird dann entsprechend über ein Notify getriggert.
Einfache Form (nur ein Fensterkontakt im Raum):
define notify_virtualKitchenDoor notify Fensterkontakt_1:(open|closed) set virtualKitchenDoor postEvent $EVENT
Komplexere Form (zwei Fensterkontakte):
  <nowiki>define notify_virtualKitchenDoor notify (Fensterkontakt_1|Fensterkontakt_2) {if($EVENT eq "open" and Value("virtualKitchenDoor") eq "set_postEvent closed"){fhem("set virtualKitchenDoor postEvent open")} elsif (Value("virtualKitchenDoor") eq "closed" && Value("Fensterkontakt_2") eq "closed") {fhem("set virtualKitchenDoor postEvent closed")}}</nowiki>
{{Hinweis|Die ''postEvent''-Anweisung wird unmittelbar an die Funkschnittstelle weitergegeben und löst einen ''burst'' aus.}}
 
=== Temperatursensoren ===
''Angelehnt an diesen {{Link2Forum|Topic=19686|Message=233788|LinkText=Forenbeitrag}}''
 
1. Virtuelles HomeMatic Device mit eigener HM Id definieren, (s.o.), es kann auch ein weiterer Kanal des oben erstellten Devices genutzt werden
 
2. Dem Device einen virtuellen Kanal (Default ist ein virtueller Button) hinzufügen, wieder mit <code>set virtKitchenSensors virtual 1</code> bzw. <code>set virtKitchenSensors virtual 2</code> (2 geht auch, wenn bereits ein erster Kanal vorhanden war).
 
3. Es ist kein virtueller Button sondern ein virtueller Temperatursensor - darum rename:
rename virtKitchenSensors_Btn1 Kitchen_vT_Sensor1
bzw. <code>rename virtKitchenSensors_Btn2 Kitchen_vT_Sensor1</code>
 
4. Virtuellen Peer Sensor mit dem Weather Channel des RT-DN peeren:
set Kitchen_vT_Sensor1 peerChan 0 <RT_DN>_Weather single
 
5. Peering kontrollieren (Voraussetzung: Device ''hm'' vom Typ [[HMInfo]] existiert):
:<code>set hm peerXref</code>
Beispiel-Ausgabe:
peerXref done:
x-ref list
    wz_Thermostat_Weather => Kitchen_vT_Sensor1
    Kitchen_vT_Sensor1 => wz_Thermostat_Weather
 
6. Gemessene Temperatur vom z.B. 1-Wire DS1820 dem virtuellen HM Sensor übergeben. Z.B. bei jeder Aktualisierung des Messwerts per notify:
define at_Kitchen_vT notify myRealKitchenTempSensor:temperature:.* set Kitchen_vT_Sensor1 virtTemp $EVTPART1
 
{{Hinweis|Die ''virtTemp''-Anweisung ändert zunächst nur den Wert im virtuellen Kanal. Diese wird zu bestimmten Zeiten als ''broadcast'' gesendet. Diese Zeiten kennt der RT und hält sich kurzfristig empfangsbereit.}}
Sollte es Probleme geben, dass der RT des Öfteren wieder auf seine eigenen Messwerte wechselt, weil die von FHEM errechnete Sendezeit und die vom RT errechnete Empfangszeit zu weit auseinanderliegen, sollte das Attr cyclicMsgOffset im Virtuellen Kanal beachtet werden. Näheres dazu ist ca. ab {{Link2Forum|Topic=45735|Message=572806|LinkText=hier}} im Forum zu finden.
 
7. Sicherstellen, dass nicht längerfristig veraltete Temperaturdaten berücksichtigt werden:
Aufgrund des oben beschriebenen Verfahrens wird der im virtuellen Kanal vorhandene Wert solange immer wieder gesendet, wie dieser dort steht. Fällt z.B. der echte Sensor oder das Interface nicht nur vorübergehend aus, muß der Wert gelöscht werden. Hier ein Vorschlag für ein ''at'', das alle 15 Minuten alle virtuellen Temperaturwerte löscht, die älter als eine Stunde sind, und damit den Rückfall des jeweiligen RT auf seinen internen Sensor bewirkt:
defmod a_delete_outdated_virtTemps at +*00:15 {\
my @vTemps = devspec2array("TYPE=CUL_HM:FILTER=model=VIRTUAL:FILTER=temperature~.+");;\
  for my $vTemp (@vTemps) {\
    CommandDeleteReading(undef,"$vTemp temperature" ) if ReadingsAge($vTemp,"temperature",0) > HOURSECONDS ;;\
  }\
}
Erhält der RT eine gewisse Zeitlang (ca. 15 Minuten) keinen Wert von seinem (virtuellen) Peer, schaltet er auf den internen Temperatursensor zurück und signalisiert dies durch ein blinkendes Funksymbol im Display.
 
=== Exkurs: HMCCUDEV  ===
{{Hinweis|Das Nachfolgende entspricht dem Stand Janaur 2020. Die HMCCU-Module sind jedoch derzeit in der Weiterentwicklung, so dass es sich ggf. empfiehlt, im Forum nachzufragen.}}
Das Nutzen externer Sensoren scheint mit HMCCU nicht möglich zu sein, siehe {{Link2Forum|Topic=107134|LinkText=Forenbeitrag: RaspberryMatic (HMCCU) und LaCrosse Temperature als "Wandthermostat"}}, die Weitergabe eines externen Türkontakts ist eventuell  möglich, siehe {{Link2Forum|Topic=106807|LinkText=Forenbeitrag: HMCCU mit Thermostat HM-CC-RT-DN und ZWave Türsensor}}, an anderer Stelle hat der Modulentwickler ausgeführt, es könnten nur {{Link2Forum|Topic=107501|Message=1015944|LinkText=HomeMatic Geräte}} als Sensoren verwendet werden.
 
== Auflistung und Beschreibung der Readings ==
Einige der Readings können via "regSet" parametriert werden.
Wobei der Registername etwas anders geschrieben wird als der Reading Name (ohne R-).
:<code>set <name> regSet <register> <value> </code>
Beispiel für Reading R-winOpnPeriod erhöhen auf 60 Minuten:
:<code>set EG_Buero_THERMOSTAT_Clima regSet winOpnPeriod 60 </code>
 
Eine vollständige Liste erhält man auch, wenn man einen falschen Registernamen angibt.
  supported register are backOnTime boostPeriod boostPos btnLock btnNoBckLight burstRx cyclicInfoMsg cyclicInfoMsgDis dayTemp daylightSaveTime decalcTime decalcWeekday globalBtnLock localResDis lowBatLimitRT modePrioManu modePrioParty modusBtnLock nightTemp noMinMax4Manu pairCentral regAdaptive reguExtI reguExtP reguExtPstart reguIntI reguIntP reguIntPstart showInfo showWeekday sign tempMax tempMin tempOffset valveErrPos valveMaxPos valveOffsetRt winOpnBoost winOpnDetFall winOpnMode winOpnPeriod winOpnTempI
 
<table cellspacing="0" border="0">
<tr>
<td style="border-top: 2px solid #ffffff; border-left: 2px solid #ffffff" height="21" align="left" valign="middle" bgcolor="#A6A6A6"><font face="Arial" size="2" color="#0D0D0D">Reading</font></td>
<td style="border-top: 2px solid #ffffff" align="left" valign="middle" bgcolor="#A6A6A6"><font face="Arial" size="2" color="#0D0D0D">Beispielwert</font></td>
<td style="border-top: 2px solid #ffffff" align="left" valign="middle" bgcolor="#A6A6A6"><font face="Arial" size="2" color="#0D0D0D">M&ouml;gliche Werte</font></td>
<td style="border-top: 2px solid #ffffff; border-right: 2px solid #ffffff" align="left" valign="middle" bgcolor="#A6A6A6"><font face="Arial" size="2" color="#0D0D0D">Beschreibung</font></td>
</tr>
<tr>
<td style="border-left: 2px solid #ffffff" height="21" align="left" valign="middle" bgcolor="#111111"><font face="Arial" size="2" color="#CCCCCC">CommandAccepted</font></td>
<td align="left" valign="middle" bgcolor="#111111"><font face="Arial" size="2" color="#CCCCCC">yes</font></td>
<td align="left" valign="middle" bgcolor="#111111"><font face="Arial" size="2" color="#CCCCCC">yes; no</font></td>
<td style="border-right: 2px solid #ffffff" align="left" valign="middle" bgcolor="#111111"><font face="Arial" size="2" color="#CCCCCC">Letztes Kommando akzeptiert (yes/ No)</font></td>
</tr>
<tr>
<td style="border-left: 2px solid #ffffff" height="21" align="left" valign="middle" bgcolor="#333333"><font face="Arial" size="2" color="#CCCCCC">R-boostPeriod</font></td>
<td align="left" valign="middle" bgcolor="#333333"><font face="Arial" size="2" color="#CCCCCC">5 min</font></td>
<td align="left" valign="middle" bgcolor="#333333"><font face="Arial" size="2" color="#CCCCCC">1 min bis x min</font></td>
<td style="border-right: 2px solid #ffffff" align="left" valign="middle" bgcolor="#333333"><font face="Arial" size="2" color="#CCCCCC">Zeit wie lange das Ventil im Boost Modus sein soll.</font></td>
</tr>
<tr>
<td style="border-left: 2px solid #ffffff" height="21" align="left" valign="middle" bgcolor="#111111"><font face="Arial" size="2" color="#CCCCCC">R-boostPos</font></td>
<td align="left" valign="middle" bgcolor="#111111" sdval="0.8" sdnum="1033;0;0%"><font face="Arial" size="2" color="#CCCCCC">80%</font></td>
<td align="left" valign="middle" bgcolor="#111111" sdnum="1033;0;0%"><font face="Arial" size="2" color="#CCCCCC">0 bis 100</font></td>
<td style="border-right: 2px solid #ffffff" align="left" valign="middle" bgcolor="#111111"><font face="Arial" size="2" color="#CCCCCC">Ventilposition die im Boost Modus gesetzt wird.</font></td>
</tr>
<tr>
<td style="border-left: 2px solid #ffffff" height="21" align="left" valign="middle" bgcolor="#333333"><font face="Arial" size="2" color="#CCCCCC">R-btnNoBckLight</font></td>
<td align="left" valign="middle" bgcolor="#333333"><font face="Arial" size="2" color="#CCCCCC">off</font></td>
<td align="left" valign="middle" bgcolor="#333333"><font face="Arial" size="2" color="#CCCCCC">on; off</font></td>
<td style="border-right: 2px solid #ffffff" align="left" valign="middle" bgcolor="#333333"><font face="Arial" size="2" color="#CCCCCC">???</font></td>
</tr>
<tr>
<td style="border-left: 2px solid #ffffff" height="35" align="left" valign="middle" bgcolor="#111111"><font face="Arial" size="2" color="#CCCCCC">R-dayTemp</font></td>
<td align="left" valign="middle" bgcolor="#111111"><font face="Arial" size="2" color="#CCCCCC">21 C</font></td>
<td align="left" valign="middle" bgcolor="#111111"><font face="Arial" size="2" color="#CCCCCC">Siehe R-tempMin bis R-tempMax</font></td>
<td style="border-right: 2px solid #ffffff" align="left" valign="middle" bgcolor="#111111"><font face="Arial" size="2" color="#CCCCCC">Solltemperatur die gesetzt werden soll, wenn das Sonnensymbol am Thermostat gedr&uuml;ckt wird.  Ebenso wird bei dieser Solltemperatur das Sonnensymbol im Display angezeigt.</font></td>
</tr>
<tr>
<td style="border-left: 2px solid #ffffff" height="21" align="left" valign="middle" bgcolor="#333333"><font face="Arial" size="2" color="#CCCCCC">R-daylightSaveTime</font></td>
<td align="left" valign="middle" bgcolor="#333333"><font face="Arial" size="2" color="#CCCCCC">on</font></td>
<td align="left" valign="middle" bgcolor="#333333"><font face="Arial" size="2" color="#CCCCCC">on; off</font></td>
<td style="border-right: 2px solid #ffffff" align="left" valign="middle" bgcolor="#333333"><font face="Arial" size="2" color="#CCCCCC">???</font></td>
</tr>
<tr>
<td style="border-left: 2px solid #ffffff" height="21" align="left" valign="middle" bgcolor="#111111"><font face="Arial" size="2" color="#CCCCCC">R-decalcTime</font></td>
<td align="left" valign="middle" bgcolor="#111111" sdval="0.458333333333333" sdnum="1033;1033;H:MM"><font face="Arial" size="2" color="#CCCCCC">11:00</font></td>
<td align="left" valign="middle" bgcolor="#111111" sdnum="1033;1033;H:MM"><font face="Arial" size="2" color="#CCCCCC">00:00 bis 23:59</font></td>
<td style="border-right: 2px solid #ffffff" align="left" valign="middle" bgcolor="#111111"><font face="Arial" size="2" color="#CCCCCC">Uhrzeit wann die Entkalkungsfahrt durchgef&uuml;hrt werden soll. </font></td>
</tr>
<tr>
<td style="border-left: 2px solid #ffffff" height="21" align="left" valign="middle" bgcolor="#333333"><font face="Arial" size="2" color="#CCCCCC">R-decalcWeekday</font></td>
<td align="left" valign="middle" bgcolor="#333333"><font face="Arial" size="2" color="#CCCCCC">Sat</font></td>
<td align="left" valign="middle" bgcolor="#333333"><font face="Arial" size="2" color="#CCCCCC">Mon; Tue; Wed; Thu; Fri; Sat; Sun</font></td>
<td style="border-right: 2px solid #ffffff" align="left" valign="middle" bgcolor="#333333"><font face="Arial" size="2" color="#CCCCCC">Tag an dem die Entkalkungsfahrt durchgef&uuml;hrt werden soll.</font></td>
</tr>
<tr>
<td style="border-left: 2px solid #ffffff" height="21" align="left" valign="middle" bgcolor="#111111"><font face="Arial" size="2" color="#CCCCCC">R-modePrioManu</font></td>
<td align="left" valign="middle" bgcolor="#111111"><font face="Arial" size="2" color="#CCCCCC">all</font></td>
<td align="left" valign="middle" bgcolor="#111111"><font face="Arial" size="2" color="#CCCCCC">all; ???</font></td>
<td style="border-right: 2px solid #ffffff" align="left" valign="middle" bgcolor="#111111"><font face="Arial" size="2" color="#CCCCCC">???</font></td>
</tr>
<tr>
<td style="border-left: 2px solid #ffffff" height="21" align="left" valign="middle" bgcolor="#333333"><font face="Arial" size="2" color="#CCCCCC">R-modePrioParty</font></td>
<td align="left" valign="middle" bgcolor="#333333"><font face="Arial" size="2" color="#CCCCCC">all</font></td>
<td align="left" valign="middle" bgcolor="#333333"><font face="Arial" size="2" color="#CCCCCC">all; ???</font></td>
<td style="border-right: 2px solid #ffffff" align="left" valign="middle" bgcolor="#333333"><font face="Arial" size="2" color="#CCCCCC">???</font></td>
</tr>
<tr>
<td style="border-left: 2px solid #ffffff" height="35" align="left" valign="middle" bgcolor="#111111"><font face="Arial" size="2" color="#CCCCCC">R-nightTemp</font></td>
<td align="left" valign="middle" bgcolor="#111111"><font face="Arial" size="2" color="#CCCCCC">17 C</font></td>
<td align="left" valign="middle" bgcolor="#111111"><font face="Arial" size="2" color="#CCCCCC">Siehe R-tempMin bis R-tempMax</font></td>
<td style="border-right: 2px solid #ffffff" align="left" valign="middle" bgcolor="#111111"><font face="Arial" size="2" color="#CCCCCC">Solltemperatur die gesetzt werden soll, wenn das Mondsymbol am Thermostat gedr&uuml;ckt wird.  Ebenso wird bei dieser Solltemperatur das Mondsymbol im Display angezeigt.</font></td>
</tr>
<tr>
<td style="border-left: 2px solid #ffffff" height="21" align="left" valign="middle" bgcolor="#333333"><font face="Arial" size="2" color="#CCCCCC">R-noMinMax4Manu</font></td>
<td align="left" valign="middle" bgcolor="#333333"><font face="Arial" size="2" color="#CCCCCC">off</font></td>
<td align="left" valign="middle" bgcolor="#333333"><font face="Arial" size="2" color="#CCCCCC">on; off</font></td>
<td style="border-right: 2px solid #ffffff" align="left" valign="middle" bgcolor="#333333"><font face="Arial" size="2" color="#CCCCCC">???</font></td>
</tr>
<tr>
<td style="border-left: 2px solid #ffffff" height="21" align="left" valign="middle" bgcolor="#111111"><font face="Arial" size="2" color="#CCCCCC">R-regAdaptive</font></td>
<td align="left" valign="middle" bgcolor="#111111"><font face="Arial" size="2" color="#CCCCCC">on</font></td>
<td align="left" valign="middle" bgcolor="#111111"><font face="Arial" size="2" color="#CCCCCC">on; off</font></td>
<td style="border-right: 2px solid #ffffff" align="left" valign="middle" bgcolor="#111111"><font face="Arial" size="2" color="#CCCCCC">???</font></td>
</tr>
<tr>
<td style="border-left: 2px solid #ffffff" height="21" align="left" valign="middle" bgcolor="#333333"><font face="Arial" size="2" color="#CCCCCC">R-reguExtI</font></td>
<td align="left" valign="middle" bgcolor="#333333" sdval="15" sdnum="1033;"><font face="Arial" size="2" color="#CCCCCC">15</font></td>
<td align="left" valign="middle" bgcolor="#333333"><font face="Arial" size="2" color="#CCCCCC">???</font></td>
<td style="border-right: 2px solid #ffffff" align="left" valign="middle" bgcolor="#333333"><font face="Arial" size="2" color="#CCCCCC">???</font></td>
</tr>
<tr>
<td style="border-left: 2px solid #ffffff" height="21" align="left" valign="middle" bgcolor="#111111"><font face="Arial" size="2" color="#CCCCCC">R-reguExtP</font></td>
<td align="left" valign="middle" bgcolor="#111111" sdval="30" sdnum="1033;"><font face="Arial" size="2" color="#CCCCCC">30</font></td>
<td align="left" valign="middle" bgcolor="#111111"><font face="Arial" size="2" color="#CCCCCC">???</font></td>
<td style="border-right: 2px solid #ffffff" align="left" valign="middle" bgcolor="#111111"><font face="Arial" size="2" color="#CCCCCC">???</font></td>
</tr>
<tr>
<td style="border-left: 2px solid #ffffff" height="21" align="left" valign="middle" bgcolor="#333333"><font face="Arial" size="2" color="#CCCCCC">R-reguExtPstart</font></td>
<td align="left" valign="middle" bgcolor="#333333" sdval="30" sdnum="1033;"><font face="Arial" size="2" color="#CCCCCC">30</font></td>
<td align="left" valign="middle" bgcolor="#333333"><font face="Arial" size="2" color="#CCCCCC">???</font></td>
<td style="border-right: 2px solid #ffffff" align="left" valign="middle" bgcolor="#333333"><font face="Arial" size="2" color="#CCCCCC">???</font></td>
</tr>
<tr>
<td style="border-left: 2px solid #ffffff" height="21" align="left" valign="middle" bgcolor="#111111"><font face="Arial" size="2" color="#CCCCCC">R-reguIntI</font></td>
<td align="left" valign="middle" bgcolor="#111111" sdval="18" sdnum="1033;"><font face="Arial" size="2" color="#CCCCCC">18</font></td>
<td align="left" valign="middle" bgcolor="#111111"><font face="Arial" size="2" color="#CCCCCC">???</font></td>
<td style="border-right: 2px solid #ffffff" align="left" valign="middle" bgcolor="#111111"><font face="Arial" size="2" color="#CCCCCC">???</font></td>
</tr>
<tr>
<td style="border-left: 2px solid #ffffff" height="21" align="left" valign="middle" bgcolor="#333333"><font face="Arial" size="2" color="#CCCCCC">R-reguIntP</font></td>
<td align="left" valign="middle" bgcolor="#333333" sdval="33" sdnum="1033;"><font face="Arial" size="2" color="#CCCCCC">33</font></td>
<td align="left" valign="middle" bgcolor="#333333"><font face="Arial" size="2" color="#CCCCCC">???</font></td>
<td style="border-right: 2px solid #ffffff" align="left" valign="middle" bgcolor="#333333"><font face="Arial" size="2" color="#CCCCCC">???</font></td>
</tr>
<tr>
<td style="border-left: 2px solid #ffffff" height="21" align="left" valign="middle" bgcolor="#111111"><font face="Arial" size="2" color="#CCCCCC">R-reguIntPstart</font></td>
<td align="left" valign="middle" bgcolor="#111111" sdval="44" sdnum="1033;"><font face="Arial" size="2" color="#CCCCCC">44</font></td>
<td align="left" valign="middle" bgcolor="#111111"><font face="Arial" size="2" color="#CCCCCC">???</font></td>
<td style="border-right: 2px solid #ffffff" align="left" valign="middle" bgcolor="#111111"><font face="Arial" size="2" color="#CCCCCC">???</font></td>
</tr>
<tr>
<td style="border-left: 2px solid #ffffff" height="21" align="left" valign="middle" bgcolor="#333333"><font face="Arial" size="2" color="#CCCCCC">R-showInfo</font></td>
<td align="left" valign="middle" bgcolor="#333333"><font face="Arial" size="2" color="#CCCCCC">time</font></td>
<td align="left" valign="middle" bgcolor="#333333"><font face="Arial" size="2" color="#CCCCCC">date; time</font></td>
<td style="border-right: 2px solid #ffffff" align="left" valign="middle" bgcolor="#333333"><font face="Arial" size="2" color="#CCCCCC">Zeige Datum oder Uhrzeit im Display an</font></td>
</tr>
<tr>
<td style="border-left: 2px solid #ffffff" height="21" align="left" valign="middle" bgcolor="#111111"><font face="Arial" size="2" color="#CCCCCC">R-showWeekday</font></td>
<td align="left" valign="middle" bgcolor="#111111"><font face="Arial" size="2" color="#CCCCCC">off</font></td>
<td align="left" valign="middle" bgcolor="#111111"><font face="Arial" size="2" color="#CCCCCC">on; off</font></td>
<td style="border-right: 2px solid #ffffff" align="left" valign="middle" bgcolor="#111111"><font face="Arial" size="2" color="#CCCCCC">Zeige den Wochentag im Display an</font></td>
</tr>
<tr>
<td style="border-left: 2px solid #ffffff" height="21" align="left" valign="middle" bgcolor="#333333"><font face="Arial" size="2" color="#CCCCCC">R-sign</font></td>
<td align="left" valign="middle" bgcolor="#333333"><font face="Arial" size="2" color="#CCCCCC">off</font></td>
<td align="left" valign="middle" bgcolor="#333333"><font face="Arial" size="2" color="#CCCCCC">on; off</font></td>
<td style="border-right: 2px solid #ffffff" align="left" valign="middle" bgcolor="#333333"><font face="Arial" size="2" color="#CCCCCC">???</font></td>
</tr>
<tr>
<td style="border-left: 2px solid #ffffff" height="21" align="left" valign="middle" bgcolor="#111111"><font face="Arial" size="2" color="#CCCCCC">R-tempMax</font></td>
<td align="left" valign="middle" bgcolor="#111111"><font face="Arial" size="2" color="#CCCCCC">30.5 C</font></td>
<td align="left" valign="middle" bgcolor="#111111"><font face="Arial" size="2" color="#CCCCCC">???</font></td>
<td style="border-right: 2px solid #ffffff" align="left" valign="middle" bgcolor="#111111"><font face="Arial" size="2" color="#CCCCCC">Gr&ouml;&szlig;te einstellbare Temperatur</font></td>
</tr>
<tr>
<td style="border-left: 2px solid #ffffff" height="21" align="left" valign="middle" bgcolor="#333333"><font face="Arial" size="2" color="#CCCCCC">R-tempMin</font></td>
<td align="left" valign="middle" bgcolor="#333333"><font face="Arial" size="2" color="#CCCCCC">4.5 C</font></td>
<td align="left" valign="middle" bgcolor="#333333"><font face="Arial" size="2" color="#CCCCCC">???</font></td>
<td style="border-right: 2px solid #ffffff" align="left" valign="middle" bgcolor="#333333"><font face="Arial" size="2" color="#CCCCCC">Kleinste einstellbare Temperatur</font></td>
</tr>
<tr>
<td style="border-left: 2px solid #ffffff" height="21" align="left" valign="middle" bgcolor="#111111"><font face="Arial" size="2" color="#CCCCCC">R-tempOffset</font></td>
<td align="left" valign="middle" bgcolor="#111111"><font face="Arial" size="2" color="#CCCCCC">0.0K</font></td>
<td align="left" valign="middle" bgcolor="#111111"><font face="Arial" size="2" color="#CCCCCC">0.0 bis ???</font></td>
<td style="border-right: 2px solid #ffffff" align="left" valign="middle" bgcolor="#111111"><font face="Arial" size="2" color="#CCCCCC">Temperaturabweichung gemessene Temperatur vs. realer Temperatur in Grad Kelvin. Angabe in 0.5-Schritten ohne Einheitenzeichen, z.B. 0.5 oder -1.0</font></td>
</tr>
<tr>
<td style="border-left: 2px solid #ffffff" height="21" align="left" valign="middle" bgcolor="#333333"><font face="Arial" size="2" color="#CCCCCC">R-valveErrPos</font></td>
<td align="left" valign="middle" bgcolor="#333333" sdval="0.15" sdnum="1033;0;0%"><font face="Arial" size="2" color="#CCCCCC">15%</font></td>
<td align="left" valign="middle" bgcolor="#333333" sdnum="1033;0;0%"><font face="Arial" size="2" color="#CCCCCC">???</font></td>
<td style="border-right: 2px solid #ffffff" align="left" valign="middle" bgcolor="#333333"><font face="Arial" size="2" color="#CCCCCC">???</font></td>
</tr>
<tr>
<td style="border-left: 2px solid #ffffff" height="21" align="left" valign="middle" bgcolor="#111111"><font face="Arial" size="2" color="#CCCCCC">R-valveMaxPos</font></td>
<td align="left" valign="middle" bgcolor="#111111" sdval="1" sdnum="1033;0;0%"><font face="Arial" size="2" color="#CCCCCC">100%</font></td>
<td align="left" valign="middle" bgcolor="#111111" sdnum="1033;0;0%"><font face="Arial" size="2" color="#CCCCCC">0 bis 100</font></td>
<td style="border-right: 2px solid #ffffff" align="left" valign="middle" bgcolor="#111111"><font face="Arial" size="2" color="#CCCCCC">Maximale Ventilstellung die das Thermostat fahren darf.</font></td>
</tr>
<tr>
<td style="border-left: 2px solid #ffffff" height="21" align="left" valign="middle" bgcolor="#333333"><font face="Arial" size="2" color="#CCCCCC">R-valveOffsetRt</font></td>
<td align="left" valign="middle" bgcolor="#333333" sdval="0" sdnum="1033;0;0%"><font face="Arial" size="2" color="#CCCCCC">0%</font></td>
<td align="left" valign="middle" bgcolor="#333333" sdnum="1033;0;0%"><font face="Arial" size="2" color="#CCCCCC">0 Bis 100</font></td>
<td style="border-right: 2px solid #ffffff" align="left" valign="middle" bgcolor="#333333"><font face="Arial" size="2" color="#CCCCCC">???</font></td>
</tr>
<tr>
<td style="border-left: 2px solid #ffffff" height="52" align="left" valign="middle" bgcolor="#111111"><font face="Arial" size="2" color="#CCCCCC">R-winOpnBoost</font></td>
<td align="left" valign="middle" bgcolor="#111111"><font face="Arial" size="2" color="#CCCCCC">off</font></td>
<td align="left" valign="middle" bgcolor="#111111"><font face="Arial" size="2" color="#CCCCCC">on; off</font></td>
<td style="border-right: 2px solid #ffffff" align="left" valign="middle" bgcolor="#111111"><font face="Arial" size="2" color="#CCCCCC">Startet nach dem Fensterschlie&szlig;en die Boostfunktion um unabh&auml;ngig von der Raumtemperatur den Heizk&ouml;rper eine Zeit x aufzuheizen. (Siehe R-boostPeriod &amp; R-boostPos)</font></td>
</tr>
<tr>
<td style="border-left: 2px solid #ffffff" height="21" align="left" valign="middle" bgcolor="#333333"><font face="Arial" size="2" color="#CCCCCC">R-winOpnDetFall</font></td>
<td align="left" valign="middle" bgcolor="#333333"><font face="Arial" size="2" color="#CCCCCC">1.4 K</font></td>
<td align="left" valign="middle" bgcolor="#333333"><font face="Arial" size="2" color="#CCCCCC">0.5 bis 2.5</font></td>
<td style="border-right: 2px solid #ffffff" align="left" valign="middle" bgcolor="#333333"><font face="Arial" size="2" color="#CCCCCC">Temperatur Sturz zwischen zwei Messungen, die als Fenster offen erkannt werden.</font></td>
</tr>
<tr>
<td style="border-left: 2px solid #ffffff" height="35" align="left" valign="middle" bgcolor="#111111"><font face="Arial" size="2" color="#CCCCCC">R-winOpnMode</font></td>
<td align="left" valign="middle" bgcolor="#111111"><font face="Arial" size="2" color="#CCCCCC">off</font></td>
<td align="left" valign="middle" bgcolor="#111111"><font face="Arial" size="2" color="#CCCCCC">on; off</font></td>
<td style="border-right: 2px solid #ffffff" align="left" valign="middle" bgcolor="#111111"><font face="Arial" size="2" color="#CCCCCC">Thermostat soll anhand eines schnellen Temperaturabfalls erkennen, dass das Fenster ge&ouml;ffnet ist.</font></td>
</tr>
<tr>
<td style="border-left: 2px solid #ffffff" height="21" align="left" valign="middle" bgcolor="#333333"><font face="Arial" size="2" color="#CCCCCC">R-winOpnPeriod</font></td>
<td align="left" valign="middle" bgcolor="#333333"><font face="Arial" size="2" color="#CCCCCC">15 min</font></td>
<td align="left" valign="middle" bgcolor="#333333"><font face="Arial" size="2" color="#CCCCCC">1 bis 60 Minuten</font></td>
<td style="border-right: 2px solid #ffffff" align="left" valign="middle" bgcolor="#333333"><font face="Arial" size="2" color="#CCCCCC">Dauer bis das Signal Fenster offen wieder entfernt wird.</font></td>
</tr>
<tr>
<td style="border-left: 2px solid #ffffff" height="21" align="left" valign="middle" bgcolor="#111111"><font face="Arial" size="2" color="#CCCCCC">R-winOpnTemp</font></td>
<td align="left" valign="middle" bgcolor="#111111"><font face="Arial" size="2" color="#CCCCCC">12 C</font></td>
<td align="left" valign="middle" bgcolor="#111111"><font face="Arial" size="2" color="#CCCCCC">Siehe R-tempMin bis R-tempMax</font></td>
<td style="border-right: 2px solid #ffffff" align="left" valign="middle" bgcolor="#111111"><font face="Arial" size="2" color="#CCCCCC">Temperatur die eingestellt werden soll, wenn das Fenster als offen erkannt wird.</font></td>
</tr>
<tr>
<td style="border-left: 2px solid #ffffff" height="104" align="left" valign="middle" bgcolor="#333333"><font face="Arial" size="2" color="#CCCCCC">R_0_tempListSat</font></td>
<td align="left" valign="middle" bgcolor="#333333"><font face="Arial" size="2" color="#CCCCCC">07:00 20.0 22:30 22.0 24:00 20.0</font></td>
<td align="left" valign="middle" bgcolor="#333333"><font face="Arial" size="2" color="#CCCCCC">incomplete = Daten werden mit Thermostat abgeglichen<br><br>Zeit/Temperaturangaben siehe Beispiel</font></td>
<td style="border-right: 2px solid #ffffff" align="left" valign="middle" bgcolor="#333333"><font face="Arial" size="2" color="#CCCCCC">Tages Solltemperaturen abh&auml;ngig von der Uhrzeit. <br>- Der Beginn um 00:00 ist nicht einzutragen. <br>- Es sind immer Paare einzutragen (Uhrzeit Temperatur). <br>- Der letzte Eintrag muss an jedem Tag 24:00 sein.<br>- Uhrzeiten sind auf halbe Stunden beschr&auml;nkt. Eintr&auml;ge 08:00 und 08:30 sind g&uuml;ltig. 08:20 ist ung&uuml;ltig.</font></td>
</tr>
<tr>
<td style="border-left: 2px solid #ffffff" height="21" align="left" valign="middle" bgcolor="#111111"><font face="Arial" size="2" color="#CCCCCC">R_1_tempListSun</font></td>
<td align="left" valign="middle" bgcolor="#111111"><font face="Arial" size="2" color="#CCCCCC">07:00 20.0 22:00 22.0 24:00 20.0</font></td>
<td align="left" valign="middle" bgcolor="#111111"><font face="Arial" size="2" color="#CCCCCC">Siehe R_0_tempListSat</font></td>
<td align="left" valign="middle" bgcolor="#111111"><font face="Arial" size="2" color="#CCCCCC">Siehe R_0_tempListSat</font></td>
</tr>
<tr>
<td style="border-left: 2px solid #ffffff" height="21" align="left" valign="middle" bgcolor="#333333"><font face="Arial" size="2" color="#CCCCCC">R_2_tempListMon</font></td>
<td align="left" valign="middle" bgcolor="#333333"><font face="Arial" size="2" color="#CCCCCC">04:30 20.0 07:00 22.0 12:45 20.0 22:00 22.0 24:00 20.0</font></td>
<td style="border-right: 2px solid #ffffff" align="left" valign="middle" bgcolor="#333333"><font face="Arial" size="2" color="#CCCCCC">Siehe R_0_tempListSat</font></td>
<td style="border-right: 2px solid #ffffff" align="left" valign="middle" bgcolor="#333333"><font face="Arial" size="2" color="#CCCCCC">Siehe R_0_tempListSat</font></td>
</tr>
<tr>
<td style="border-left: 2px solid #ffffff" height="21" align="left" valign="middle" bgcolor="#111111"><font face="Arial" size="2" color="#CCCCCC">R_3_tempListTue</font></td>
<td align="left" valign="middle" bgcolor="#111111"><font face="Arial" size="2" color="#CCCCCC">04:30 20.0 07:00 22.0 12:45 20.0 22:00 22.0 24:00 20.0</font></td>
<td align="left" valign="middle" bgcolor="#111111"><font face="Arial" size="2" color="#CCCCCC">Siehe R_0_tempListSat</font></td>
<td align="left" valign="middle" bgcolor="#111111"><font face="Arial" size="2" color="#CCCCCC">Siehe R_0_tempListSat</font></td>
</tr>
<tr>
<td style="border-left: 2px solid #ffffff" height="21" align="left" valign="middle" bgcolor="#333333"><font face="Arial" size="2" color="#CCCCCC">R_4_tempListWed</font></td>
<td align="left" valign="middle" bgcolor="#333333"><font face="Arial" size="2" color="#CCCCCC">04:30 20.0 07:00 22.0 12:45 20.0 22:00 22.0 24:00 20.0</font></td>
<td style="border-right: 2px solid #ffffff" align="left" valign="middle" bgcolor="#333333"><font face="Arial" size="2" color="#CCCCCC">Siehe R_0_tempListSat</font></td>
<td style="border-right: 2px solid #ffffff" align="left" valign="middle" bgcolor="#333333"><font face="Arial" size="2" color="#CCCCCC">Siehe R_0_tempListSat</font></td>
</tr>
<tr>
<td style="border-left: 2px solid #ffffff" height="21" align="left" valign="middle" bgcolor="#111111"><font face="Arial" size="2" color="#CCCCCC">R_5_tempListThu</font></td>
<td align="left" valign="middle" bgcolor="#111111"><font face="Arial" size="2" color="#CCCCCC">04:30 20.0 07:00 22.0 12:45 20.0 22:00 22.0 24:00 20.0</font></td>
<td align="left" valign="middle" bgcolor="#111111"><font face="Arial" size="2" color="#CCCCCC">Siehe R_0_tempListSat</font></td>
<td align="left" valign="middle" bgcolor="#111111"><font face="Arial" size="2" color="#CCCCCC">Siehe R_0_tempListSat</font></td>
</tr>
<tr>
<td style="border-left: 2px solid #ffffff" height="21" align="left" valign="middle" bgcolor="#333333"><font face="Arial" size="2" color="#CCCCCC">R_6_tempListFri</font></td>
<td align="left" valign="middle" bgcolor="#333333"><font face="Arial" size="2" color="#CCCCCC">04:30 20.0 07:00 22.0 12:45 20.0 22:00 22.0 24:00 20.0</font></td>
<td style="border-right: 2px solid #ffffff" align="left" valign="middle" bgcolor="#333333"><font face="Arial" size="2" color="#CCCCCC">Siehe R_0_tempListSat</font></td>
<td style="border-right: 2px solid #ffffff" align="left" valign="middle" bgcolor="#333333"><font face="Arial" size="2" color="#CCCCCC">Siehe R_0_tempListSat</font></td>
</tr>
<tr>
<td style="border-left: 2px solid #ffffff" height="35" align="left" valign="middle" bgcolor="#111111"><font face="Arial" size="2" color="#CCCCCC">R_tempList_State</font></td>
<td align="left" valign="middle" bgcolor="#111111"><font face="Arial" size="2" color="#CCCCCC">verified</font></td>
<td align="left" valign="middle" bgcolor="#111111"><font face="Arial" size="2" color="#CCCCCC">incomplete = Daten werden mit Thermostat abgeglichen<br>verified = Daten sind mit Thermostat abgeglichen</font></td>
<td style="border-right: 2px solid #ffffff" align="left" valign="middle" bgcolor="#111111"><font face="Arial" size="2" color="#CCCCCC">Aktualisierungsstatus der Wochen Temperatur Einstellungen</font></td>
</tr>
<tr>
<td style="border-left: 2px solid #ffffff" height="21" align="left" valign="middle" bgcolor="#333333"><font face="Arial" size="2" color="#CCCCCC">ValvePosition</font></td>
<td align="left" valign="middle" bgcolor="#333333" sdval="36" sdnum="1033;"><font face="Arial" size="2" color="#CCCCCC">36</font></td>
<td align="left" valign="middle" bgcolor="#333333"><font face="Arial" size="2" color="#CCCCCC">0 bis 100</font></td>
<td style="border-right: 2px solid #ffffff" align="left" valign="middle" bgcolor="#333333"><font face="Arial" size="2" color="#CCCCCC">aktuelle Ventilstellung</font></td>
</tr>
<tr>
<td style="border-left: 2px solid #ffffff" height="35" align="left" valign="middle" bgcolor="#111111"><font face="Arial" size="2" color="#CCCCCC">boostTime</font></td>
<td align="left" valign="middle" bgcolor="#111111"><font face="Arial" size="2" color="#CCCCCC">-</font></td>
<td align="left" valign="middle" bgcolor="#111111"><font face="Arial" size="2" color="#CCCCCC">-<br>1 min bis n min</font></td>
<td style="border-right: 2px solid #ffffff" align="left" valign="middle" bgcolor="#111111"><font face="Arial" size="2" color="#CCCCCC">Zeit wie lange der Boostmodus noch aktiv ist.</font></td>
</tr>
<tr>
<td style="border-left: 2px solid #ffffff" height="121" align="left" valign="middle" bgcolor="#333333"><font face="Arial" size="2" color="#CCCCCC">controlMode</font></td>
<td align="left" valign="middle" bgcolor="#333333"><font face="Arial" size="2" color="#CCCCCC">auto</font></td>
<td align="left" valign="middle" bgcolor="#333333"><font face="Arial" size="2" color="#CCCCCC">auto = Thermostat wird nach der TempListe gesteuert<br>manual = Die eingestellte Temperatur am Thermostat wird nicht ver&auml;ndert, au&szlig;er bei Verwendung von WinOpn; <br>boost = Thermostat wird in den Boost Modus gesetzt. Siehe R-boostPeriod/Pos<br>day = Thermostat wird auf die eingestellte Tag Temperatur gesetzt (R-dayTemp).<br>night = Thermostat wird auf die eingestellte Nacht Temperatur gesetzt (R-nightTemp).</font></td>
<td style="border-right: 2px solid #ffffff" align="left" valign="middle" bgcolor="#333333"><font face="Arial" size="2" color="#CCCCCC">Setzt das Thermostat in einen bestimmten Modus</font></td>
</tr>
<tr>
<td style="border-left: 2px solid #ffffff" height="21" align="left" valign="middle" bgcolor="#111111"><font face="Arial" size="2" color="#CCCCCC">desired-temp</font></td>
<td align="left" valign="middle" bgcolor="#111111" sdval="22" sdnum="1033;"><font face="Arial" size="2" color="#CCCCCC">22</font></td>
<td align="left" valign="middle" bgcolor="#111111"><font face="Arial" size="2" color="#CCCCCC">N/A</font></td>
<td style="border-right: 2px solid #ffffff" align="left" valign="middle" bgcolor="#111111"><font face="Arial" size="2" color="#CCCCCC">Solltemperatur</font></td>
</tr>
<tr>
<td style="border-left: 2px solid #ffffff" height="21" align="left" valign="middle" bgcolor="#333333"><font face="Arial" size="2" color="#CCCCCC">measured-temp</font></td>
<td align="left" valign="middle" bgcolor="#333333" sdval="23.2" sdnum="1033;"><font face="Arial" size="2" color="#CCCCCC">23.2</font></td>
<td align="left" valign="middle" bgcolor="#333333"><font face="Arial" size="2" color="#CCCCCC">N/A</font></td>
<td style="border-right: 2px solid #ffffff" align="left" valign="middle" bgcolor="#333333"><font face="Arial" size="2" color="#CCCCCC">Isttemperatur</font></td>
</tr>
<tr>
<td style="border-left: 2px solid #ffffff" height="21" align="left" valign="middle" bgcolor="#111111"><font face="Arial" size="2" color="#CCCCCC">partyEnd</font></td>
<td align="left" valign="middle" bgcolor="#111111"><font face="Arial" size="2" color="#CCCCCC">-</font></td>
<td align="left" valign="middle" bgcolor="#111111"><font face="Arial" size="2" color="#CCCCCC">???</font></td>
<td style="border-right: 2px solid #ffffff" align="left" valign="middle" bgcolor="#111111"><font face="Arial" size="2" color="#CCCCCC">Ende Datum/Zeit in dem die Party Temperatur (partyTemp) gesetzt sein soll.</font></td>
</tr>
<tr>
<td style="border-left: 2px solid #ffffff" height="21" align="left" valign="middle" bgcolor="#333333"><font face="Arial" size="2" color="#CCCCCC">partyStart</font></td>
<td align="left" valign="middle" bgcolor="#333333"><font face="Arial" size="2" color="#CCCCCC">-</font></td>
<td align="left" valign="middle" bgcolor="#333333"><font face="Arial" size="2" color="#CCCCCC">???</font></td>
<td style="border-right: 2px solid #ffffff" align="left" valign="middle" bgcolor="#333333"><font face="Arial" size="2" color="#CCCCCC">Start Datum/Zeit in dem die Party Temperatur (partyTemp) gesetzt sein soll.</font></td>
</tr>
<tr>
<td style="border-left: 2px solid #ffffff" height="21" align="left" valign="middle" bgcolor="#111111"><font face="Arial" size="2" color="#CCCCCC">partyTemp</font></td>
<td align="left" valign="middle" bgcolor="#111111"><font face="Arial" size="2" color="#CCCCCC">-</font></td>
<td align="left" valign="middle" bgcolor="#111111"><font face="Arial" size="2" color="#CCCCCC">-; 20.0</font></td>
<td style="border-right: 2px solid #ffffff" align="left" valign="middle" bgcolor="#111111"><font face="Arial" size="2" color="#CCCCCC">Party Temperatur</font></td>
</tr>
<tr>
<td style="border-left: 2px solid #ffffff" height="21" align="left" valign="middle" bgcolor="#333333"><font face="Arial" size="2" color="#CCCCCC">recentStateType</font></td>
<td align="left" valign="middle" bgcolor="#333333"><font face="Arial" size="2" color="#CCCCCC">ack</font></td>
<td align="left" valign="middle" bgcolor="#333333"><font face="Arial" size="2" color="#CCCCCC">???</font></td>
<td style="border-right: 2px solid #ffffff" align="left" valign="middle" bgcolor="#333333" sdnum="1033;1033;M/D/YYYY H:MM"><font face="Arial" size="2" color="#CCCCCC">???</font></td>
</tr>
<tr>
<td style="border-bottom: 2px solid #ffffff; border-left: 2px solid #ffffff" height="23" align="left" valign="middle" bgcolor="#111111"><font face="Arial" size="2" color="#CCCCCC">state</font></td>
<td style="border-bottom: 2px solid #ffffff" align="left" valign="middle" bgcolor="#111111"><font face="Arial" size="2" color="#CCCCCC">T: 23.2 desired: 22.0 valve: 36</font></td>
<td style="border-bottom: 2px solid #ffffff" align="left" valign="middle" bgcolor="#111111"><font face="Arial" size="2" color="#CCCCCC"><br></font></td>
<td style="border-bottom: 2px solid #ffffff" align="left" valign="middle" bgcolor="#111111"><font face="Arial" size="2" color="#CCCCCC">Aktuelle Statusinformation</font></td>
</tr>
</table>


Falls das Update Tool beim Auswählen der Firmware-Datei abstürzt ("Home Matic Firmware Update Tool funktioniert nicht mehr"), dann stimmt wahrscheinlich etwas mit der Firmware-Datei nicht. Die Datei darf  nicht ausgepackt werden, sondern muss als ".tar.gz"-Datei, so wie heruntergeladen, benutzt werden. Außerdem gibt es Probleme, wenn die Datei mit dem Internet Explorer heruntergeladen wurde. Die Datei sollte mit einem anderen Browser heruntergeladen werden. 
== Bekannte Probleme ==
== Bekannte Probleme ==
=== TempList: Bad format ... ===
=== TempList: Bad format ... ===
Wenn Sie beim Setzen einer Temperaturliste nach dem o.a. Schema ("SetTempList...") die Meldung
Wenn Sie beim Setzen einer Temperaturliste nach dem o.a. Schema ("SetTempList...") die Meldung


  Bad format, use HH:MM TEMP ......
  Bad format, use HH:MM TEMP ......


erhalten, sollten Sie zunächst ein Update von Fhem durchführen. Nähere Informationen zu dieser Funktion siehe [[FHEM_Command_Beispiele#update_...|hier]].
erhalten, sollten Sie zunächst ein [[update]] von FHEM durchführen.
 
=== Der Thermostat heizt über die Solltemperatur hinaus ===
In der Regel ist das ein ganz normales Verhalten, wenn der Thermostat nicht mit einem externen Temperaturfühler oder einem Wandthermostat gepeert ist. In dem Fall muss sich der Thermostat auf den eingebauten Temperatursensor verlassen, der sehr nahe an der Heizung selbst sitzt. Dadurch ist die gemessene Temperatur höher, als sie z.B. in der Raummitte wäre. Der Hersteller hat hier einen mehr oder weniger intelligenten Algorithmus eingebaut, um diesen Effekt zu kompensieren. Das sieht dann so aus, als ob der Thermostat nicht richtig regelt.
Dieses Verhalten kann man im Prinzip nur verhindern, indem man einen externen Temperatursensor oder einen Wandthermostat peert. Wie das geht ist hier beschrieben: [[#Channel (Kanal) 01 _Weather]]. Normalerweise regelt der Thermostat dann genau auf die Solltemperatur.
Ansonsten sollte man sich auch fragen, ob das gezeigte Verhalten vielleicht doch gut genug ist. Dazu platziert man irgendein Thermometer möglichst in der Mitte des Raums und beobachtet den Temperaturverlauf eine Weile. Wenn man dann noch eine Abweichung feststellt, kann es sinnvoll sein, diese mittels des Registers R-tempOffset zu beheben.
 
=== Pairen bei Firmware 1.5 ===
{{Randnotiz|RNTyp=y|RNText=Ein weiterer, etwas weniger komplexer Vorschlag zur Vermeidung von Pairing Problemen mit V1.5 findet sich im gleichen ELV Diskussionsthema und besteht aus den folgenden Schritten:
# Pairing, wie angegeben
# Zeit in FHEM abwarten, die für das Anlernen gesetzt wurde
# Batterie entfernen, 30 Sekunden warten, Batterie wieder einsetzen
# Erneut die Anlerntaste (mittlere Taste) lang drücken - AC sollte erscheinen
# getConfig und burstXmit auf dem Device ausführen
# Eventuell noch mal getConfig und Anlerntaste
}}
Das nachfolgende Vorgehen bietet sich ab Firmware 1.5 ab, da sonst das pairen nicht erfolgreich sein wird:
# Pairing wie angegeben
# '''''GetConfig''''' erst, nachdem die Zeit von '''''hmPairForSec''''' abgelaufen ist
# burstXmit
# set <gerät> reset
# set <gerät> unpair <br>jetzt '''nichts löschen!'''
# harten HW Reset nach Handbuch am Gerät
# erneut pairen
Der Tipp stammt aus [https://de.elv.com/forum/neue-firmware-1.5-an-fhem-uart-modul-hm-mod-rpi-pcb-mit-firmware-1.4.1-7481 diesem Beitrag] im ELV Forum. Dies Vorgang konnte teilweise auch für Geräte mit Firmware 1.4 bestätigt werden.
 
Falls es Probleme während der Prozedur gibt, bitte den Abschnitt [[HM-CC-RT-DN Funk-Heizkörperthermostat#HM-CC-RT-DN spezifische Update Informationen|HM-CC-RT-DN_spezifische_Update_Informationen]] beachten.
 
=== Akkubetrieb ===
Auch frisch geladenen NiMh-Akkus weisen nur eine Zellenspannung von nur ca. 1,2 Volt auf. Deshalb wird schnell die battery:low Warngrenze erreicht, die bei U < 2,4V  liegt und mitunter unmittelbar nach dem Einsetzen mit der Kalibierungsfahrt unterschritten wird. Mit ''NiMh-Akkus mit geringer Selbstentladung'' (z.b. Panasonic Eneloop) ist ein Betrieb jedoch sinnvoll möglich, da der Spannungsabfall bei den sehr geringen Entladeströmen im Stellantrieb relativ lange oberhalb 1,3 Volt verläuft.


== Links ==
== Links ==
* [http://www.elv.de/homematic-heizkoerperthermostat-1.html Produktinfo]
* [http://www.eq-3.de/produkt-detail-aktoren/items/homematic-funk-heizkoerperthermostat.html Produktinfo bei EQ-3]
* [http://www.elv-downloads.de/Assets/Produkte/10/1051/105155/Downloads/105155_thermostat_um.pdf Bedienungsanleitung (PDF)]
* [http://www.eq-3.de/Downloads/eq3/downloads_produktkatalog/homematic/bda/HM-CC-RT-DN_UM_GE_eQ-3_web.pdf Bedienungsanleitung bei EQ-3 (PDF)]
* [http://www.elv-downloads.de/Assets/Produkte/10/1051/105155/Downloads/105155_thermostat_data.pdf Datenblatt (PDF)]
* [http://www.eq-3.de/Downloads/eq3/downloads_produktkatalog/homematic/pdb/Funk-Heizkoerperthermostat_105155_Produktdatenblatt_V2.3.pdf Datenblatt bei EQ-3 (PDF)]
* [http://www.elv-downloads.de/service/manuals/ventilkompatibilitaet.pdf Ventil-Kompatibilitätsliste (PDF)]
* [http://www.eq-3.de/Downloads/eq3/downloads/Ventilkompatibilitaeten.pdf Ventil-Kompatibilitätsliste bei EQ-3 (zur Zeit nicht verfügbar)]
* {{Link2Forum|Topic=14738|LinkText=Forenthema zum Thermostat}}
* {{Link2Forum|Topic=64446|LinkText=Reparatur einer durch mechanischen Stoß von außen abgerissenen Lichtschranke}}


[[Kategorie:HomeMatic Components]]
[[Kategorie:HomeMatic Components]]
[[Kategorie:Heizungsventile]]
[[Kategorie:Heizungsventile]]
[[Kategorie:868MHz]]

Aktuelle Version vom 10. November 2023, 11:11 Uhr

HM-CC-RT-DN Funk-Heizkörperthermostat
HM-CC-RT-DN an Heizkörper montiert
Allgemein
Protokoll HomeMatic
Typ thermostat
Kategorie Heizungsventile
Technische Details
Kommunikation 868 MHz
Kanäle 6
Betriebsspannung 3 V
Leistungsaufnahme 180 mA
Versorgung 2x LR6/Mignon/AA
Abmessungen 54x65x93 mm (BxHxT)
Sonstiges
Modulname CUL_HM
Hersteller ELV / eQ-3

HM-CC-RT-DN (häufig einfach RT genannt) ist ein Funk-Heizkörperthermostate mit integriertem Stellantrieb. Das Thermostat ist seit September 2013 verfügbar und ist der Nachfolger des HM-CC-VD Funk-Stellantriebs.

Vorbemerkungen

→ Einstellungen und Informationen, die alle HomeMatic Thermostate betreffen, sind unter HomeMatic Type Thermostat zu finden.

Der HM-CC-RT-DN kann die Temperatur selbst messen (im Gegensatz zum Vorgänger) und verfügt über eine Fenster-Offen-Erkennung sowie eine Boost-Funktion. Der HM-CC-RT-DN kann von einem HM-TC-IT-WM-W-EU Funk-Wandthermostat AP gesteuert werden, das ist aber optional.

Das Gerät wird seit Anfang Oktober 2013 von FHEM unterstützt (siehe Diskussion im Forum).

Der HM-CC-RT-DN scheint das erste HomeMatic-Device zu sein, bei dem ein Update der Firmware auch vom Anwender durchgeführt werden kann. Ein Firmware-Update erfordert einen USB Konfigurations-Adapter und eine auf der eQ-3 Webseite herunterladbare Firmwareupdate-Software. Weitere Details sind unter Firmware Update beschrieben.

Info blue.png
Die Solltemperaturen eines HM-CC-RT-DN lassen sich nicht durch einen HM-CC-TC Funk-Wandthermostat steuern. Dieser kann nur die Ist-Temperatur an den HM-CC-RT-DN weitergeben, damit nicht die am HM-CC-RT-DN direkt gemessene Raumtemperatur zur Regelung verwendet wird.


Mit einem HM-CC-RT-DN können maximal (neben der Zentrale/FHEM):

  • 7 HomeMatic Heizkörperthermostate
  • 8 HomeMatic Tür-Fensterkontakte / Fenster-Drehgriffkontakte
  • 8 Tastenpaare von HomeMatic Fernbedienungen bzw. Display-Wandtaster
  • 1 HomeMatic Innen-Temperatur-Sensor

gepeert werden.


Info blue.png
Wird für Wartungs-/Umbaumaßnahmen das Wasser der Heizung abgelassen bzw. diese neubefüllt, sind alle Stellantriebe manuell dauerhaft auf on zu setzen: set <HM_Stellantrieb>_Clima controlManu on. Beim Einsatz eines Wandthermostaten ist der Wandthermostat entsprechend einzustellen.


Technische Daten

  • Betriebsspannung: 2 Stck. 1,5V LR6/Mignon/AA
  • Stromaufnahme: 180 mA max.
  • Abmessungen (B x H x T): 54 x 65 x 93 mm
  • Gewicht: 180 g (ohne Batterien)
  • Ventilanschluss: M30 x 1,5 mm

Aktuelle Firmware: 1.5 (2020)

Betrieb mit FHEM

Der Funk-Heizkörperthermostat muss zuerst mit FHEM gepairt werden. Stellen Sie sicher, dass FHEM aktuell ist (update durchführen)

Das Pairing sollte wie in HomeMatic Devices pairen beschrieben durchgeführt werden (mittlere Taste mindestens drei Sekunden drücken, um den Vorgang auszulösen). Vereinzelt muss mehrfach gepairt werden, es wurde auch berichtet, dass dabei die Batterie zwichendurch entfernt und neu eingelegt werden muss.

Channels (Kanäle)

Channel (Kanal) 01 _Weather

Dieser Kanal dient zur Einspeisung der (gemessenen) Ist-Temperatur. Als Sensor können zum Beispiel das HM-TC-IT-WM-W-EU Funk-Wandthermostat oder ein HM-WDS40-TH-I Funk-Temperatur-/Feuchtesensor dienen.

Ein Temperatur-Sensor tempSensor kann mit dem _Weather-Kanal wie folgt gepeert werden:

 set <HM-TC-IT-WM-W-EU>_Weather peerChan 0 <HM-CC-RT-DN>_Weather single set

Beispiel:

 set EG_Buero_WANDTHERMOSTAT_Weather peerChan 0 EG_Buero_THERMOSTAT_Weather single set

ACHTUNG: Das Wandthermostat sowie das Thermostat Ventil (Beispiel "EG_Buero_WANDTHERMOSTAT" und EG_Buero_THERMOSTAT) werden vorher in FHEM den Status "CMDs_done" anzeigen. Beim peerChan wird dann bei beiden "CMDs_pending" stehen. Wobei das Wandthermostat sehr schnell wieder auf CMDs_done zurück springt. Allerdings ist dringend darauf zu achten, dass das Thermostat Ventil auch wieder auf "CMDs_done" wechselt, bevor man den nächsten Befehl absendet. Das Heizkörper Ventil kann unter Umständen 3 bis 5 min benötigen bis wieder "CMDs_done" steht. Evtl. kann man dies durch die BOOST Taste beschleunigen. Da das Ventil etwa alle 3 min aufwacht, prüft und Daten sendet / empfängt. Sollte man mit dem Befehlen weiter gemacht haben, so kann es zu dem Problem führen, dass einer nicht mehr mit dem Pending aufhört. In dem Fall empfiehlt es sich beide Devices von FHEM abzumelden und auf Werkseinstellung zu resetten.

Zum Test haucht man das Wandthermostat an oder hält es einige Zeit in der Hand bis die Temperatur steigt, nach etwa 3 Minuten sollte man auch am Thermostat Ventil einen Temperaturanstieg sehen.

Channel (Kanal) 02 _Climate

Dieser Kanal erlaubt es dem HM-TC-IT-WM-W-EU Funk-Wandthermostat den HM-CC-RT-DN zu steuern. Dazu müssen die beiden Geräte gepeert werden:

 set <HM-TC-IT-WM-W-EU>_Climate peerChan 0 <HM-CC-RT-DN>_Climate single set

Channel (Kanal) 03 _WindowRec

Mit diesem Kanal können Fensterkontakte (HM-SEC-SC und HM-SEC-RHS) ihren Fensterstatus (geöffnet / gekippt) an ein oder mehrere Thermostate senden. Die Thermostate stellen anschließend die entsprechende (konfigurierbare) Temperatur ein. Der Temperaturwert kann je Fenster-Sensor unterschiedlich definiert werden. Sind mehrere Fenster gleichzeitig geöffnet, so wird der Thermostat auf die Temperatur des Sensors mit dem geringsten Temperaturwert eingestellt. Ferner wird empfohlen, bei Einsatz von externen Sensoren, die interne „Fenster auf Erkennung“ zu deaktivieren (weitere Details sind im Channel (Kanal) 04 _Clima beschrieben).

Der Befehl zum Peeren lautet, wobei <fensterSensor> die FHEM-Kanalbezeichnung für den Fensterkontakt ist und <rt_WindowRec> die Kanalbezeichnung für den entsprechenden Kanal des Heizkörperthermostates (siehe diesen Thread):

set <fensterSensor> peerChan 0 <rt_WindowRec>_WindowRec single 

Zum Löschen (=unpeeren) dieser Kopplung:

set <fensterSensor> peerChan 0 <rt_WindowRec>_WindowRec single unset

Achtung: Der Peer-(Lösch-)Vorgang muss erst am Fensterkontakt durch Drücken der Anlerntaste ausgelöst werden, und zwar auch dann, wenn der Fensterkontakt schon vorher mit FHEM gepairt wurde. Dann kann der oben genannte Befehl in FHEM abgesetzt werden. Wichtig scheint auch, dass der Fensterkontakt geschlossen ist wenn man die Anlerntaste drückt.

Der Befehl zur Temperatureinstellung des Heizkörperthermostaten für den Zustand "Fenster offen" lautet, wobei <fensterSensor> die FHEM-Kanalbezeichnung für den Fensterkontakt ist und <rt_WindowRec> die Kanalbezeichnung für den entsprechenden Kanal des Heizkörperthermostates, sowie <Temp> die einzustellende Temperatur (ganzzahliger Wert):

set <rt_WindowRec>_WindowRec regSet winOpnTemp <Temp> <fensterSensor>

Weitere Hinweise im Forum, siehe FHEM Forum-Beitrag

Channel (Kanal) 04 _Clima

Dieser Kanal dient zum Einstellen der Betriebsparameter, auch Temperaturlisten sind hierauf zu übertragen. Mit dem Modul Wochenplan / Weekprofile können die Wochenpläne komfortabel in FHEM erstellt und an die Thermostate übertragen werden.


Info blue.png
In älteren Versionen von FHEM wurde dieser Kanal durch autocreate als _ClimRT_tr angelegt. Der Hersteller hat hier offenbar die internen Bezeichnungen geändert, denn beim Vorläufermodell HM-CC-TC mussten Temperaturlisten auf den Kanal Climate übertragen werden.


Die maximale Öffnung des Ventils kann mittels folgendem Befehl eingestellt werden (hier auf 80 %):

 set <HM-CC-RT-DN>_Clima regSet valveMaxPos 80

Die interne "Fenster-auf"-Erkennung kann man wie folgt abschalten:

 set <HM-CC-RT-DN>_Clima regSet winOpnMode off

Channel (Kanal) 05 _ClimaTeam

Dieser Kanal erlaubt es mehrere HM-CC-RT-DN zu einem "Team" zu gruppieren. Ein Mitglied des Teams meldet

  • Änderungen der Temperatur am Handrad
  • Einschalten des Boost-Modus am Taster

an seine "Teamkollegen" weiter. Folgende Änderungen werden nicht weitergegeben:

  • Status der Fensterkontakte
  • Temperaturlisten/Wochenplan und daraus folgende Änderungen
  • Änderungen durch Fernbedienungen
  • Änderungen durch eine HomeMatic-Zentrale

Befehl zum Peeren, wobei <HM-CC-RT-DN#1>_ClimaTeam, <HM-CC-RT-DN#2>_ClimaTeam, ..., <HM-CC-RT-DN#8>_ClimaTeam die Kanalbezeichnungen der jeweiligen ClimaTeam-Kanäle sind:

set <HM-CC-RT-DN#1>_ClimaTeam peerChan 0 <HM-CC-RT-DN#2>_ClimaTeam single
set <HM-CC-RT-DN#1>_ClimaTeam peerChan 0 <HM-CC-RT-DN#3>_ClimaTeam single
set <HM-CC-RT-DN#2>_ClimaTeam peerChan 0 <HM-CC-RT-DN#3>_ClimaTeam single
...

Channel (Kanal) 06 _remote

Dieser Kanal kann an eine Fernbedienung gekoppelt werden. Per Tastendruck kann man einen bestimmten Mode und/oder eine bestimmte Temperatur wählen. Dabei kann die Reaktion auf einen langen oder kurzen Tastendruck gesondert eingestellt werden.

Der Befehl zum Peeren lautet, wobei <button> die Kanalbezeichnung der Fernbedienung und <rt-remote> die Kanalbezeichnung des Heizkörperthermostates ist: set <button> peerChan 0 <HM-CC-RT-DN>_remote single

Betriebsmodus Auto, Manu, Party (Urlaub)

Der HM-CC-RT-DN verfügt über drei Betriebsmodus: Auto, Manu (Manuell) und Party (Urlaub).

Modus Auto

Das Gerät arbeitet gemäß des gespeicherten Wochenprogramms. Manuelle Änderungen sind möglich, werden aber beim nächsten Schaltpunkt überschrieben.

Modus Manu

Die Temperatur wird manuell eingestellt, das Wochenprogramm wird nicht abgearbeitet. "Manuell Einstellen" bedeutet entweder am Handrad oder durch Übermittlung eines "set desired temp"-Befehls von FHEM (oder equivalent von einer CCU).

Modus Party (Urlaub)

Die eingestellte Temperatur gilt bis zu einem gegebenen Endzeitpunkt, anschließend wechselt das Thermostat in den Auto-Modus.

Welchen Modus nutzen?

Im Umfeld von FHEM sind alle drei Modi einsetzbar. Betrieb in "Auto" hat den Vorteil, dass bei Ausfall der FHEM-Instanz der Thermostat trotzdem noch die eingespeicherten Wochenprogramme abarbeitet. Nachteilig ist aber, dass die Steuerung komplexer wird, weil sowohl die Einstellungen am Thermostat als auch Schaltbefehle von FHEM das Verhalten beeinflussen. Vielfach wird daher im Umfeld von FHEM der Modus "Manu" benutzt, hier wird die Temperatur nur per einzelnem FHEM Schaltbefehl gesteuert, ausgelöst z.b. durch "at" Kommandos, Anwesenheitserkennung oder Bewegungsmelder. Sollte FHEM (oder die Funkverbindung) ausfallen, bleibt der Thermostat allerdings auf der letzten eingestellten Temperatur stehen.

Denkbar ist auch, den Modus "Auto" zu verwenden und dann die Steuerung per FHEM dadurch durchzuführen, dass durch FHEM die Wochenprogramme verändert werden. Dies verbindet zwar die Vorteil der vorgenannten Methoden, ist aber am Aufwendigsten in der Programmierung und erzeugt die höchste Funklast.

Auch der Urlaubsmodus ist einsetzbar, so kann beispielsweise bei Abwesenheit ein niedrigeres Temperaturprofil eingestellt werden, ohne dass eventuell vorhandene Temperaturlisten verändert werden müssen.

 set <HM-CC-RT-DN>_Clima controlParty 16 06.12.13 16:30 09.12.13 05:00

Dadurch wird

  • von 06.12.2013, 16:30 Uhr
  • bis 09.12.2013, 05:00 Uhr
  • die gewünschte Raumtemperatur auf 16 °C eingestellt.


Info blue.png
  • Der Befehl muss auf dem Kanal 4 (_Clima) erfolgen.
  • Es werden nur Uhrzeiten zu jeder vollen oder halben Stunde angenommen (Minuten also 00 oder 30).


Mit der folgenden Funktion Urlaub() kann man eine ganze Wohnung (also mehrere RTs) mit nur einem Befehl in den Party-Modus versetzen. Im Beispiel werden zwei Heizkörper ("Treppenhaus" und "Kammer") angesteuert.

Zu beachten sind folgende Dinge:

  1. Aktuelle Dateien (z.B. 10_CUL_HM) verwenden!
  2. Bei dem controlParty-Befehl kein Komma zwischen den Parametern.
  3. Bei der Funktion die Parameterübergabe definieren ($$$$$)

Aufruf:

{Urlaub ("16", "06.12.13", "16:30", "09.12.13" ,"05:00")}

Funktion:

my $Urlaub;
sub
Urlaub($$$$$)
  {
    my ($temp, $startDate, $startTime, $endDate, $endTime) = @_;
 
    # HM-CC-RT-DN akzeptiert nur Zeiten, die auf Minute 00 oder 30 enden.
    # Daher $startTime und $endTime abrunden
    $startTime =~ s/\:[0-2].$/:00/;
    $startTime =~ s/\:[3-5].$/:30/;
    $endTime =~ s/\:[0-2].$/:00/;
    $endTime =~ s/\:[3-5].$/:30/;

    # controlParty bei jedem HM-CC-RT-DN setzen.
    for my $rt (qw(Kammer Treppenhaus)) {
      fhem ("set $rt controlParty $temp $startDate $startTime $endDate $endTime");
    }
  }

Tastensperre

Um zu verhindern, dass der Modus oder die Temperatur per Tasten bzw. Drehrad am HM-CC-RT-DN verändert wird, kann eine Tastensperre gesetzt werden. Dies erfolgt mittels des Befehls:

set <HM-CC-RT-DN> regSet btnLock on

Rückgängig machen geht per:

set <HM-CC-RT-DN> regSet btnLock off

Diese Tastensperre kann man aber am HM-CC-RT-DN durch eine Tastenkombination wieder zurücksetzen. Um sie nur per FHEM rücksetzen zu können, muss

set <HM-CC-RT-DN> regSet globalBtnLock on

eingegeben werden. Rückgängig geht wieder per:

set <HM-CC-RT-DN> regSet globalBtnLock off

Es gibt auch eine Tastensperre die nur das Umschalten des Modus (Auto, Manuell, Urlaub) am Gerät verhindert. Diese wird mit

set <HM-CC-RT-DN> regSet modusBtnLock on

eingeschaltet. Abschalten geht mit:

set <HM-CC-RT-DN> regSet modusBtnLock off

Burst-Modus

Das ist ein Übertragungsmodus für Nachrichten zwischen HM-Geräten und der Zentrale. Der RT erwacht alle 2,5 Minuten und dann überträgt die Zentrale die Kommandos. Wenn man einen Fensterkontakt oder eine Fernsteuerung nutzt, muss der RT sofort reagieren - dann muss man den Burst enablen. Der RT kann in diesem Fall sofort aufgeweckt werden und bearbeitet die Anforderung (Request). Das kann man auch von der Zentrale aus nutzen (so man möchte). Das ist der Vorteil des eingeschalteten Burst-Modus.

Nachteil: Der Burst-Modus benötigt mehr Leistung, das heißt die Batterien müssen häufiger gewechselt werden: Der RT muss den Receiver ständig empfangsbereit halten. Außerdem wachen bei jedem Burst alle Burst-Empfänger auf – egal an wen die Kommunikation gerichtet war.

Burst – wie es funktioniert

Schickt ein Sender eine burst Sequenz, wachen alle burst-Empfänger auf und prüfen die Message. Wenn sie betroffen sind bleiben sie eine Zeit lang wach, ansonsten schlafen sie wieder ein. Man beachte also, dass Senden eines Burst Energie in ALLEN burst-Empfängern verbraucht, egal ob sie angesprochen sind.

HMLAN und burst

HMLAN hat ein Sendebudget das über eine Stunde berechnet wird. Burst belastet dieses Konto deutlich - so können nicht mehr als 100 bursts /h gesendet werden - dann geht HMLAN in overload. Wenn zusätzliche Nachrichten gesendet werden sind es entsprechend weniger. Es ist nicht vorteilhaft, unnötig bursts zu senden.

Burst devices

Es gibt Devices, die immer auf burst reagieren und solche bei denen es abgeschaltet werden kann. So reagiert ein Rauchmelder immer auf Burst damit er seine Team-Kollegen hören kann. Ein TC oder RT hingegen hat diese Funktion abschaltbar. 'Per default ist dies ausgeschaltet um Batterie zu sparen'. Wenn ein VD gesteuert wird ist der TC ja selbst wach. Wird er aber mit einem Fensterkontakt gekoppelt muss es eingeschaltet werden – sonst verpasst er die Nachricht.

ConditionalBurst devices

Devices mit abschaltbarem Burst wie z.B. der HM-CC-RT-DN haben ein Register, burstRx, mit dem das burst-Erwachen eingestellt werden kann. Sendern, die einen burst-Aktor erwecken sollen, muss man sagen, welcher Peer Burst benötigt. Hier kann ggf. das Register peerNeedsBurst nach dem Peeren gesetzt werden. FHEM versucht dies automatisch beim Peeren zu erledigen. Siehe HMInfo Befehl models um herauszufinden, welche Devices welchen Modus unterstützen.

Attribut burstAccess

Devices, die abschaltbaren burst haben kann man ein attribut burstAccess 1_auto setzen. Es wird beim Abschicken eines Kommandos versucht, das Device mit burst zu wecken. Sollte es nicht funktionieren wird gewartet, bis das Device aufwacht (meist reagieren solche Devices auch auf wakeup). Das Setzen des Attributs ist angenehm – es werden aber ggf. viele bursts gesendet.

Kommando burstXmit

Mit diesem Kommando, das bei Devices mit conditional-Burst zu Verfügung steht, wird der burst gezielt vom User angestoßen.

Der User schickt erst seine Kommandos an das device. Die Kommandos werden im Command-stack gesammelt.

Dann sendet der User ein set burstXmit.

Es passiert das gleiche wie bei burstAccess.

FHEM versucht mittels burst zu wecken und sendet bei Erfolg die Messages aus dem Kommandostack.

Im Gegensatz zu burstAccess ist burstXmit gezielt einsetzbar und kann sparsamer verwendet werden.

FHEM und burst devices

FHEM sendet eine burst automatisch mit Kommandos zu Devices, die nur burst unterstützen.

So aktiviert man den burst-Betrieb am HM-CC-RT-DN

Burst Mode einschalten (der Kanal 4 des Device WZ1 heisst hier WZ1_4)

set WZ1_4 regSet burstRx on

prüfen mit:

get WZ1_4 reg burstRx

Nun in FHEM den Burst mode einschalten (sofern nicht burstXmit verwendet wird)

attr WZ1 burstAccess 1_auto

Hinweis: Das Attribut im Device und nicht im Kanal setzen, ansonsten gibt es eine Fehlermeldung.

Temperaturlisten

Die Temperaturlisten des HM-CC-RT-DN werden identisch mit denen anderer HomeMatic Thermostate verwaltet (siehe HomeMatic Type Thermostat). Beim HM-CC-RT-DN ist der Kanal 4 (_Clima) für die Temperaturlisten zuständig.

FHEM-Log

In den folgenden Logs heißt Kanal 4 noch "_ClimRT_tr". Inzwischen würde man dort "_Clima" sehen.

Device-Log

2013.10.10 20:03:24 3: CUL_HM Unknown device CUL_HM_HM_CC_RT_DN_2212BC, please define it
2013.10.10 20:03:24 2: autocreate: define CUL_HM_HM_CC_RT_DN_2212BC CUL_HM 2212BC A1A0184002212BC0000001000954B4551303531303031375900FFFF
2013.10.10 20:03:24 3: Device CUL_HM_HM_CC_RT_DN_2212BC added to ActionDetector with 000:10 time
2013.10.10 20:03:24 3: CUL_HM pair: CUL_HM_HM_CC_RT_DN_2212BC thermostat, model HM-CC-RT-DN serialNr KEQ0510017
2013.10.10 20:03:24 3: LANCUL pairing (hmPairForSec) not enabled
2013.10.10 20:03:24 2: autocreate: define FileLog_CUL_HM_HM_CC_RT_DN_2212BC FileLog /usr/local/FHEM/var/log/CUL_HM_HM_CC_RT_DN_2212BC-%Y.log CUL_HM_HM_CC_RT_DN_2212BC
2013.10.10 20:03:24 3: Device Heizung_Wohnzimmer added to ActionDetector with 000:10 time
2013.10.10 20:03:24 3: CUL_HM pair: Heizung_Wohnzimmer thermostat, model HM-CC-TC serialNr JEQ0044286
2013.10.10 20:03:24 3: Device CUL_HM_HM_CC_RT_DN_2212BC added to ActionDetector with 000:10 time
2013.10.10 20:03:24 3: CUL_HM pair: CUL_HM_HM_CC_RT_DN_2212BC thermostat, model HM-CC-RT-DN serialNr KEQ0510017
2013.10.10 20:03:25 2: autocreate: define CUL_HM_HM_CC_RT_DN_2212BC_Weather CUL_HM 2212BC01
2013.10.10 20:03:25 2: autocreate: define FileLog_CUL_HM_HM_CC_RT_DN_2212BC_Weather FileLog /usr/local/FHEM/var/log/CUL_HM_HM_CC_RT_DN_2212BC_Weather-%Y.log CUL_HM_HM_CC_RT_DN_2212BC_Weather
2013.10.10 20:03:25 2: autocreate: define FileLog_CUL_HM_HM_CC_RT_DN_2212BC_Weather FileLog /usr/local/FHEM/var/log/CUL_HM_HM_CC_RT_DN_2212BC_Weather-%Y.log CUL_HM_HM_CC_RT_DN_2212BC_Weather
2013.10.10 20:03:26 2: autocreate: define CUL_HM_HM_CC_RT_DN_2212BC_Climate CUL_HM 2212BC02
2013.10.10 20:03:26 2: autocreate: define FileLog_CUL_HM_HM_CC_RT_DN_2212BC_Climate FileLog /usr/local/FHEM/var/log/CUL_HM_HM_CC_RT_DN_2212BC_Climate-%Y.log CUL_HM_HM_CC_RT_DN_2212BC_Climate
2013.10.10 20:03:26 2: autocreate: define FileLog_CUL_HM_HM_CC_RT_DN_2212BC_Climate FileLog /usr/local/FHEM/var/log/CUL_HM_HM_CC_RT_DN_2212BC_Climate-%Y.log CUL_HM_HM_CC_RT_DN_2212BC_Climate
2013.10.10 20:03:27 2: autocreate: define CUL_HM_HM_CC_RT_DN_2212BC_WindowRec CUL_HM 2212BC03
2013.10.10 20:03:27 2: autocreate: define FileLog_CUL_HM_HM_CC_RT_DN_2212BC_WindowRec FileLog /usr/local/FHEM/var/log/CUL_HM_HM_CC_RT_DN_2212BC_WindowRec-%Y.log CUL_HM_HM_CC_RT_DN_2212BC_WindowRec
2013.10.10 20:03:27 2: autocreate: define FileLog_CUL_HM_HM_CC_RT_DN_2212BC_WindowRec FileLog /usr/local/FHEM/var/log/CUL_HM_HM_CC_RT_DN_2212BC_WindowRec-%Y.log CUL_HM_HM_CC_RT_DN_2212BC_WindowRec
2013.10.10 20:03:28 2: autocreate: define CUL_HM_HM_CC_RT_DN_2212BC_ClimRT_tr CUL_HM 2212BC04
2013.10.10 20:03:28 2: autocreate: define FileLog_CUL_HM_HM_CC_RT_DN_2212BC_ClimRT_tr FileLog /usr/local/FHEM/var/log/CUL_HM_HM_CC_RT_DN_2212BC_ClimRT_tr-%Y.log CUL_HM_HM_CC_RT_DN_2212BC_ClimRT_tr
2013.10.10 20:03:28 2: autocreate: define FileLog_CUL_HM_HM_CC_RT_DN_2212BC_ClimRT_tr FileLog /usr/local/FHEM/var/log/CUL_HM_HM_CC_RT_DN_2212BC_ClimRT_tr-%Y.log CUL_HM_HM_CC_RT_DN_2212BC_ClimRT_tr
2013.10.10 20:03:29 2: autocreate: define CUL_HM_HM_CC_RT_DN_2212BC_ClimaTeam CUL_HM 2212BC05
2013.10.10 20:03:29 2: autocreate: define FileLog_CUL_HM_HM_CC_RT_DN_2212BC_ClimaTeam FileLog /usr/local/FHEM/var/log/CUL_HM_HM_CC_RT_DN_2212BC_ClimaTeam-%Y.log CUL_HM_HM_CC_RT_DN_2212BC_ClimaTeam
2013.10.10 20:03:29 2: autocreate: define FileLog_CUL_HM_HM_CC_RT_DN_2212BC_ClimaTeam FileLog /usr/local/FHEM/var/log/CUL_HM_HM_CC_RT_DN_2212BC_ClimaTeam-%Y.log CUL_HM_HM_CC_RT_DN_2212BC_ClimaTeam
2013.10.10 20:03:30 2: autocreate: define CUL_HM_HM_CC_RT_DN_2212BC_remote CUL_HM 2212BC06
2013.10.10 20:03:30 2: autocreate: define FileLog_CUL_HM_HM_CC_RT_DN_2212BC_remote FileLog /usr/local/FHEM/var/log/CUL_HM_HM_CC_RT_DN_2212BC_remote-%Y.log CUL_HM_HM_CC_RT_DN_2212BC_remote
2013.10.10 20:03:30 2: autocreate: define FileLog_CUL_HM_HM_CC_RT_DN_2212BC_remote FileLog /usr/local/FHEM/var/log/CUL_HM_HM_CC_RT_DN_2212BC_remote-%Y.log CUL_HM_HM_CC_RT_DN_2212BC_remote
2013.10.10 20:03:35 3: Device CUL_HM_HM_CC_RT_DN_2212BC added to ActionDetector with 000:10 time
2013.10.10 20:03:40 2: CUL_HM set CUL_HM_HM_CC_RT_DN_2212BC getSerial
2013.10.10 20:03:40 2: CUL_HM set CUL_HM_HM_CC_RT_DN_2212BC getConfig
2013.10.10 20:03:54 3: Device CUL_HM_HM_CC_RT_DN_2212BC added to ActionDetector with 000:10 time

Event monitor

2013-10-12 12:05:35.610 CUL_HM CUL_HM_HM_CC_RT_DN_2212BC_ClimRT_tr motorErr: ok
2013-10-12 12:05:35.610 CUL_HM CUL_HM_HM_CC_RT_DN_2212BC_ClimRT_tr measured-temp: 18.4
2013-10-12 12:05:35.610 CUL_HM CUL_HM_HM_CC_RT_DN_2212BC_ClimRT_tr desired-temp: 18
2013-10-12 12:05:35.610 CUL_HM CUL_HM_HM_CC_RT_DN_2212BC_ClimRT_tr ValvePosition: 3 %
2013-10-12 12:05:35.610 CUL_HM CUL_HM_HM_CC_RT_DN_2212BC_ClimRT_tr mode: manu
2013-10-12 12:05:35.610 CUL_HM CUL_HM_HM_CC_RT_DN_2212BC_ClimRT_tr unknown0: 24
2013-10-12 12:05:35.610 CUL_HM CUL_HM_HM_CC_RT_DN_2212BC_ClimRT_tr T: 18.4 desired: 18 valve: 3 %
2013-10-12 12:05:35.646 CUL_HM CUL_HM_HM_CC_RT_DN_2212BC battery: ok
2013-10-12 12:05:35.646 CUL_HM CUL_HM_HM_CC_RT_DN_2212BC batteryLevel: 3.1 V
2013-10-12 12:05:35.646 CUL_HM CUL_HM_HM_CC_RT_DN_2212BC measured-temp: 18.4
2013-10-12 12:05:35.646 CUL_HM CUL_HM_HM_CC_RT_DN_2212BC desired-temp: 18
2013-10-12 12:05:35.646 CUL_HM CUL_HM_HM_CC_RT_DN_2212BC actuator: 3 %

Firmware Update

Seit 24.10.2014 gibt es für den HM-CC-RT-DN die neue Firmware Version 1.4. Diese kann von der eQ-3 Webseite heruntergeladen werden. Genauere Informationen gibt es unter HomeMatic Firmware Update.

HM-CC-RT-DN spezifische Update Informationen

Durch gleichzeitiges Drücken der "Auto-/Manu"-Taste und der "Comfort-/Eco"-Taste am HM-CC-RT-DN während man die Batterien wieder einlegt wird der updatemodus gestartet. Während des Updates steht "FUP" im Display. Nach erfolgreichem Update erscheint "Ins" im Display und es muss eine erneute Adaptierfahrt durch Drücken der Boost-Taste ausgelöst werden. Anschließend sollte der HM-CC-RT-DN wieder normal funktionieren. Die eingestellten Parameter und das Pairing mit FHEM gehen beim Update nicht verloren. Sollte das Update fehlschlagen, erscheint "Err" bzw. "CrC" im Display.

Normalerweise sollte dann durch erneutes Starten der Prozedur am PC und HM-CC-RT-DN das ganze erneut durchführbar sein.

Es gibt einige Readings, die nicht durch ein einfaches getConfig aktualisiert werden, z.B. "battery"(nicht batteryLevel). Um diese Readings zu bekommen, ist ein

set Device_Channel04 controlMode auto

notwendig. Daraufhin werden die Readings übertragen/aktualisiert.

Anscheinend (siehe dieses Forenthema) wird bei Firmware 1.5 ein weiteres Attribut benötigt

attr <devicename> commStInChn off

Simulation von Fensterkontakten und externen Temperatursensoren

X mark.svgFür jeden separat zu steuernden HM-CC-RT-DN kann nur je ein Kanal eines virtuellen Devices als Temperatur- bzw. Fensterkontakt genutzt werden. Insbesondere die virtuellen Kanäle der VCCU eignen sich nicht dazu, mehrere HM-CC-RT-DN unabhängig voneinander anzusteuern! Hat man mehrere unabhängig arbeitende RT's, muß für jeden auch ein eigenes virtuelles Gerät angelegt werden!

Die folgenden Beispiele sind nicht für Anfänger und Unwissende geeignet! Es gibt zahlreiche Stolpersteine:

  1. Die HMId für virtuelle Geräte muss einmalig im System sein. Sie muss selbst gewählt werden und es darf keine vorhandene ID verwendet werden!
  2. Es kann vorkommen, das beim Anlegen eines virtual Gerätes kein attr IODev gesetzt wird. Das Attribute ist aber notwendig, sonst arbeitet das Gerät nicht! Bitte kontrollieren und gegebenenfalls per Hand setzen.

Grober Ablauf:

  • erstelle ein virtuelles Device
  • erstelle dazu einen virtuellen Kanal (bzw. mehrere, wenn sowohl ein virtueller Fensterkontakt wie ein virtueller Temperaturkanal benötigt werden).
  • peere den Kanal mit dem RT (als Fenster-Kontakt oder als remote, wenn du willst)
  • sende ein postEvent / stelle die neue Temperatur im Kanal ein

Fensterkontakte

Angelehnt an diese Forenbeitrag

define virtKitchenSensors CUL_HM 221133

Um das Device als virtuelles zu kennzeichnen benötigt man den folgenden Befehl (legt weitere Attribute an):

attr virtKitchenSensors model VIRTUAL

Kanal bzw. Kanäle erstellen (benötigt uU. einen Neustart von FHEM, bevor der Befehl zur Verfügung steht):

set virtKitchenSensors virtual 1 

oder (für das Anlegen je eines Kanals für einen Fenster- und Temperatur-Kanal):

set virtKitchenSensors virtual 2 

Als Zwischenergebnis sehen wir in der Detailansicht des virtKitchenSensors ein bzw. zwei weitere Devices mit Namen virtKitchenSensors_Btn1 bzw. virtKitchenSensors_Btn2.

Umbenennen des 1. Kanals:

rename virtKitchenSensors_Btn1 virtualKitchenDoor

Danach sollte man das webCmd-Attribut wie folgt vergeben:

attr virtualKitchenDoor webCmd postEvent open:postEvent closed 

Anschließend peeren und (wer weniger wie den default-Wert von 12°C einstellen möchte) Temperatur festlegen mit:

set virtualKitchenDoor peerChan 0 <Thermostat_Window_Rec> single set
set <Thermostat_Window_Rec> regSet winOpnTemp 5 virtualKitchenDoor

Ggf noch interne "Fenster-auf" Erkennung abschalten

set <HM-CC-RT-DN>_Clima regSet winOpnMode off

Die virtuelle Tür wird dann entsprechend über ein Notify getriggert. Einfache Form (nur ein Fensterkontakt im Raum):

define notify_virtualKitchenDoor notify Fensterkontakt_1:(open|closed) set virtualKitchenDoor postEvent $EVENT

Komplexere Form (zwei Fensterkontakte):

define notify_virtualKitchenDoor notify (Fensterkontakt_1|Fensterkontakt_2) {if($EVENT eq "open" and Value("virtualKitchenDoor") eq "set_postEvent closed"){fhem("set virtualKitchenDoor postEvent open")} elsif (Value("virtualKitchenDoor") eq "closed" && Value("Fensterkontakt_2") eq "closed") {fhem("set virtualKitchenDoor postEvent closed")}}
Info blue.png
Die postEvent-Anweisung wird unmittelbar an die Funkschnittstelle weitergegeben und löst einen burst aus.


Temperatursensoren

Angelehnt an diesen Forenbeitrag

1. Virtuelles HomeMatic Device mit eigener HM Id definieren, (s.o.), es kann auch ein weiterer Kanal des oben erstellten Devices genutzt werden

2. Dem Device einen virtuellen Kanal (Default ist ein virtueller Button) hinzufügen, wieder mit set virtKitchenSensors virtual 1 bzw. set virtKitchenSensors virtual 2 (2 geht auch, wenn bereits ein erster Kanal vorhanden war).

3. Es ist kein virtueller Button sondern ein virtueller Temperatursensor - darum rename:

rename virtKitchenSensors_Btn1 Kitchen_vT_Sensor1

bzw. rename virtKitchenSensors_Btn2 Kitchen_vT_Sensor1

4. Virtuellen Peer Sensor mit dem Weather Channel des RT-DN peeren:

set Kitchen_vT_Sensor1 peerChan 0 <RT_DN>_Weather single

5. Peering kontrollieren (Voraussetzung: Device hm vom Typ HMInfo existiert):

set hm peerXref

Beispiel-Ausgabe:

peerXref done: 
x-ref list 
   wz_Thermostat_Weather => Kitchen_vT_Sensor1 
   Kitchen_vT_Sensor1 => wz_Thermostat_Weather

6. Gemessene Temperatur vom z.B. 1-Wire DS1820 dem virtuellen HM Sensor übergeben. Z.B. bei jeder Aktualisierung des Messwerts per notify:

define at_Kitchen_vT notify myRealKitchenTempSensor:temperature:.* set Kitchen_vT_Sensor1 virtTemp $EVTPART1


Info blue.png
Die virtTemp-Anweisung ändert zunächst nur den Wert im virtuellen Kanal. Diese wird zu bestimmten Zeiten als broadcast gesendet. Diese Zeiten kennt der RT und hält sich kurzfristig empfangsbereit.


Sollte es Probleme geben, dass der RT des Öfteren wieder auf seine eigenen Messwerte wechselt, weil die von FHEM errechnete Sendezeit und die vom RT errechnete Empfangszeit zu weit auseinanderliegen, sollte das Attr cyclicMsgOffset im Virtuellen Kanal beachtet werden. Näheres dazu ist ca. ab hier im Forum zu finden.

7. Sicherstellen, dass nicht längerfristig veraltete Temperaturdaten berücksichtigt werden: Aufgrund des oben beschriebenen Verfahrens wird der im virtuellen Kanal vorhandene Wert solange immer wieder gesendet, wie dieser dort steht. Fällt z.B. der echte Sensor oder das Interface nicht nur vorübergehend aus, muß der Wert gelöscht werden. Hier ein Vorschlag für ein at, das alle 15 Minuten alle virtuellen Temperaturwerte löscht, die älter als eine Stunde sind, und damit den Rückfall des jeweiligen RT auf seinen internen Sensor bewirkt:

defmod a_delete_outdated_virtTemps at +*00:15 {\
my @vTemps = devspec2array("TYPE=CUL_HM:FILTER=model=VIRTUAL:FILTER=temperature~.+");;\
 for my $vTemp (@vTemps) {\
   CommandDeleteReading(undef,"$vTemp temperature" ) if ReadingsAge($vTemp,"temperature",0) > HOURSECONDS ;;\
 }\
}

Erhält der RT eine gewisse Zeitlang (ca. 15 Minuten) keinen Wert von seinem (virtuellen) Peer, schaltet er auf den internen Temperatursensor zurück und signalisiert dies durch ein blinkendes Funksymbol im Display.

Exkurs: HMCCUDEV

Info blue.png
Das Nachfolgende entspricht dem Stand Janaur 2020. Die HMCCU-Module sind jedoch derzeit in der Weiterentwicklung, so dass es sich ggf. empfiehlt, im Forum nachzufragen.


Das Nutzen externer Sensoren scheint mit HMCCU nicht möglich zu sein, siehe Forenbeitrag: RaspberryMatic (HMCCU) und LaCrosse Temperature als "Wandthermostat", die Weitergabe eines externen Türkontakts ist eventuell möglich, siehe Forenbeitrag: HMCCU mit Thermostat HM-CC-RT-DN und ZWave Türsensor, an anderer Stelle hat der Modulentwickler ausgeführt, es könnten nur HomeMatic Geräte als Sensoren verwendet werden.

Auflistung und Beschreibung der Readings

Einige der Readings können via "regSet" parametriert werden. Wobei der Registername etwas anders geschrieben wird als der Reading Name (ohne R-).

set <name> regSet <register> <value>

Beispiel für Reading R-winOpnPeriod erhöhen auf 60 Minuten:

set EG_Buero_THERMOSTAT_Clima regSet winOpnPeriod 60

Eine vollständige Liste erhält man auch, wenn man einen falschen Registernamen angibt.

 supported register are backOnTime boostPeriod boostPos btnLock btnNoBckLight burstRx cyclicInfoMsg cyclicInfoMsgDis dayTemp daylightSaveTime decalcTime decalcWeekday globalBtnLock localResDis lowBatLimitRT modePrioManu modePrioParty modusBtnLock nightTemp noMinMax4Manu pairCentral regAdaptive reguExtI reguExtP reguExtPstart reguIntI reguIntP reguIntPstart showInfo showWeekday sign tempMax tempMin tempOffset valveErrPos valveMaxPos valveOffsetRt winOpnBoost winOpnDetFall winOpnMode winOpnPeriod winOpnTempI
Reading Beispielwert Mögliche Werte Beschreibung
CommandAccepted yes yes; no Letztes Kommando akzeptiert (yes/ No)
R-boostPeriod 5 min 1 min bis x min Zeit wie lange das Ventil im Boost Modus sein soll.
R-boostPos 80% 0 bis 100 Ventilposition die im Boost Modus gesetzt wird.
R-btnNoBckLight off on; off ???
R-dayTemp 21 C Siehe R-tempMin bis R-tempMax Solltemperatur die gesetzt werden soll, wenn das Sonnensymbol am Thermostat gedrückt wird. Ebenso wird bei dieser Solltemperatur das Sonnensymbol im Display angezeigt.
R-daylightSaveTime on on; off ???
R-decalcTime 11:00 00:00 bis 23:59 Uhrzeit wann die Entkalkungsfahrt durchgeführt werden soll.
R-decalcWeekday Sat Mon; Tue; Wed; Thu; Fri; Sat; Sun Tag an dem die Entkalkungsfahrt durchgeführt werden soll.
R-modePrioManu all all; ??? ???
R-modePrioParty all all; ??? ???
R-nightTemp 17 C Siehe R-tempMin bis R-tempMax Solltemperatur die gesetzt werden soll, wenn das Mondsymbol am Thermostat gedrückt wird. Ebenso wird bei dieser Solltemperatur das Mondsymbol im Display angezeigt.
R-noMinMax4Manu off on; off ???
R-regAdaptive on on; off ???
R-reguExtI 15 ??? ???
R-reguExtP 30 ??? ???
R-reguExtPstart 30 ??? ???
R-reguIntI 18 ??? ???
R-reguIntP 33 ??? ???
R-reguIntPstart 44 ??? ???
R-showInfo time date; time Zeige Datum oder Uhrzeit im Display an
R-showWeekday off on; off Zeige den Wochentag im Display an
R-sign off on; off ???
R-tempMax 30.5 C ??? Größte einstellbare Temperatur
R-tempMin 4.5 C ??? Kleinste einstellbare Temperatur
R-tempOffset 0.0K 0.0 bis ??? Temperaturabweichung gemessene Temperatur vs. realer Temperatur in Grad Kelvin. Angabe in 0.5-Schritten ohne Einheitenzeichen, z.B. 0.5 oder -1.0
R-valveErrPos 15% ??? ???
R-valveMaxPos 100% 0 bis 100 Maximale Ventilstellung die das Thermostat fahren darf.
R-valveOffsetRt 0% 0 Bis 100 ???
R-winOpnBoost off on; off Startet nach dem Fensterschließen die Boostfunktion um unabhängig von der Raumtemperatur den Heizkörper eine Zeit x aufzuheizen. (Siehe R-boostPeriod & R-boostPos)
R-winOpnDetFall 1.4 K 0.5 bis 2.5 Temperatur Sturz zwischen zwei Messungen, die als Fenster offen erkannt werden.
R-winOpnMode off on; off Thermostat soll anhand eines schnellen Temperaturabfalls erkennen, dass das Fenster geöffnet ist.
R-winOpnPeriod 15 min 1 bis 60 Minuten Dauer bis das Signal Fenster offen wieder entfernt wird.
R-winOpnTemp 12 C Siehe R-tempMin bis R-tempMax Temperatur die eingestellt werden soll, wenn das Fenster als offen erkannt wird.
R_0_tempListSat 07:00 20.0 22:30 22.0 24:00 20.0 incomplete = Daten werden mit Thermostat abgeglichen

Zeit/Temperaturangaben siehe Beispiel
Tages Solltemperaturen abhängig von der Uhrzeit.
- Der Beginn um 00:00 ist nicht einzutragen.
- Es sind immer Paare einzutragen (Uhrzeit Temperatur).
- Der letzte Eintrag muss an jedem Tag 24:00 sein.
- Uhrzeiten sind auf halbe Stunden beschränkt. Einträge 08:00 und 08:30 sind gültig. 08:20 ist ungültig.
R_1_tempListSun 07:00 20.0 22:00 22.0 24:00 20.0 Siehe R_0_tempListSat Siehe R_0_tempListSat
R_2_tempListMon 04:30 20.0 07:00 22.0 12:45 20.0 22:00 22.0 24:00 20.0 Siehe R_0_tempListSat Siehe R_0_tempListSat
R_3_tempListTue 04:30 20.0 07:00 22.0 12:45 20.0 22:00 22.0 24:00 20.0 Siehe R_0_tempListSat Siehe R_0_tempListSat
R_4_tempListWed 04:30 20.0 07:00 22.0 12:45 20.0 22:00 22.0 24:00 20.0 Siehe R_0_tempListSat Siehe R_0_tempListSat
R_5_tempListThu 04:30 20.0 07:00 22.0 12:45 20.0 22:00 22.0 24:00 20.0 Siehe R_0_tempListSat Siehe R_0_tempListSat
R_6_tempListFri 04:30 20.0 07:00 22.0 12:45 20.0 22:00 22.0 24:00 20.0 Siehe R_0_tempListSat Siehe R_0_tempListSat
R_tempList_State verified incomplete = Daten werden mit Thermostat abgeglichen
verified = Daten sind mit Thermostat abgeglichen
Aktualisierungsstatus der Wochen Temperatur Einstellungen
ValvePosition 36 0 bis 100 aktuelle Ventilstellung
boostTime - -
1 min bis n min
Zeit wie lange der Boostmodus noch aktiv ist.
controlMode auto auto = Thermostat wird nach der TempListe gesteuert
manual = Die eingestellte Temperatur am Thermostat wird nicht verändert, außer bei Verwendung von WinOpn;
boost = Thermostat wird in den Boost Modus gesetzt. Siehe R-boostPeriod/Pos
day = Thermostat wird auf die eingestellte Tag Temperatur gesetzt (R-dayTemp).
night = Thermostat wird auf die eingestellte Nacht Temperatur gesetzt (R-nightTemp).
Setzt das Thermostat in einen bestimmten Modus
desired-temp 22 N/A Solltemperatur
measured-temp 23.2 N/A Isttemperatur
partyEnd - ??? Ende Datum/Zeit in dem die Party Temperatur (partyTemp) gesetzt sein soll.
partyStart - ??? Start Datum/Zeit in dem die Party Temperatur (partyTemp) gesetzt sein soll.
partyTemp - -; 20.0 Party Temperatur
recentStateType ack ??? ???
state T: 23.2 desired: 22.0 valve: 36
Aktuelle Statusinformation

Bekannte Probleme

TempList: Bad format ...

Wenn Sie beim Setzen einer Temperaturliste nach dem o.a. Schema ("SetTempList...") die Meldung

Bad format, use HH:MM TEMP ......

erhalten, sollten Sie zunächst ein update von FHEM durchführen.

Der Thermostat heizt über die Solltemperatur hinaus

In der Regel ist das ein ganz normales Verhalten, wenn der Thermostat nicht mit einem externen Temperaturfühler oder einem Wandthermostat gepeert ist. In dem Fall muss sich der Thermostat auf den eingebauten Temperatursensor verlassen, der sehr nahe an der Heizung selbst sitzt. Dadurch ist die gemessene Temperatur höher, als sie z.B. in der Raummitte wäre. Der Hersteller hat hier einen mehr oder weniger intelligenten Algorithmus eingebaut, um diesen Effekt zu kompensieren. Das sieht dann so aus, als ob der Thermostat nicht richtig regelt. Dieses Verhalten kann man im Prinzip nur verhindern, indem man einen externen Temperatursensor oder einen Wandthermostat peert. Wie das geht ist hier beschrieben: #Channel (Kanal) 01 _Weather. Normalerweise regelt der Thermostat dann genau auf die Solltemperatur. Ansonsten sollte man sich auch fragen, ob das gezeigte Verhalten vielleicht doch gut genug ist. Dazu platziert man irgendein Thermometer möglichst in der Mitte des Raums und beobachtet den Temperaturverlauf eine Weile. Wenn man dann noch eine Abweichung feststellt, kann es sinnvoll sein, diese mittels des Registers R-tempOffset zu beheben.

Pairen bei Firmware 1.5

Emblem-question-yellow.svgEin weiterer, etwas weniger komplexer Vorschlag zur Vermeidung von Pairing Problemen mit V1.5 findet sich im gleichen ELV Diskussionsthema und besteht aus den folgenden Schritten:
  1. Pairing, wie angegeben
  2. Zeit in FHEM abwarten, die für das Anlernen gesetzt wurde
  3. Batterie entfernen, 30 Sekunden warten, Batterie wieder einsetzen
  4. Erneut die Anlerntaste (mittlere Taste) lang drücken - AC sollte erscheinen
  5. getConfig und burstXmit auf dem Device ausführen
  6. Eventuell noch mal getConfig und Anlerntaste

Das nachfolgende Vorgehen bietet sich ab Firmware 1.5 ab, da sonst das pairen nicht erfolgreich sein wird:

  1. Pairing wie angegeben
  2. GetConfig erst, nachdem die Zeit von hmPairForSec abgelaufen ist
  3. burstXmit
  4. set <gerät> reset
  5. set <gerät> unpair
    jetzt nichts löschen!
  6. harten HW Reset nach Handbuch am Gerät
  7. erneut pairen

Der Tipp stammt aus diesem Beitrag im ELV Forum. Dies Vorgang konnte teilweise auch für Geräte mit Firmware 1.4 bestätigt werden.

Falls es Probleme während der Prozedur gibt, bitte den Abschnitt HM-CC-RT-DN_spezifische_Update_Informationen beachten.

Akkubetrieb

Auch frisch geladenen NiMh-Akkus weisen nur eine Zellenspannung von nur ca. 1,2 Volt auf. Deshalb wird schnell die battery:low Warngrenze erreicht, die bei U < 2,4V liegt und mitunter unmittelbar nach dem Einsetzen mit der Kalibierungsfahrt unterschritten wird. Mit NiMh-Akkus mit geringer Selbstentladung (z.b. Panasonic Eneloop) ist ein Betrieb jedoch sinnvoll möglich, da der Spannungsabfall bei den sehr geringen Entladeströmen im Stellantrieb relativ lange oberhalb 1,3 Volt verläuft.

Links