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

Aus FHEMWiki
K (Gliederung etwas modifiziert und kleinere Typos)
Zeile 145: Zeile 145:
- Es werden nur Uhrzeiten zu jeder vollen oder halben Stunde angenommen (Minuten also 00 oder 30).<br />
- Es werden nur Uhrzeiten zu jeder vollen oder halben Stunde angenommen (Minuten also 00 oder 30).<br />


Mit der Funktion "Urlaub" kann man eine ganze Wohnung (also mehrere RT´s) mit nur einem Befehl in den Party-mode versetzen.<br />
Der Name "Urlaub" kann natürlich frei gewählt werden.
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;
sub
Urlaub($$$$$)
  {
    #lokale Variablendeklaration
  my ($temp,$startDate,$startTime,$endDate,$endTime) = @_;
    #Sendebefehl für ein HM-CC-RT-DN
  {fhem ("set Kammer controlParty $temp $startDate $startTime $endDate $endTime")}
    # alternative Schreibweise der Parameter:
  {fhem ("set Treppenhaus controlParty @_[0] @_[1] @_[2] @_[3] @_[4]")};
  }
</pre>


=== Burst-Modus ===
=== Burst-Modus ===

Version vom 17. Dezember 2013, 20:43 Uhr

Beim HM-CC-RT-DN handelt es sich um einen Funk-Heizkörperthermostaten, der als Nachfolger den HM-CC-VD ablöst und seit Mitte September 2013 verfügbar ist.

Vorbemerkungen

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. Laut Aussagen auf der ELV-Produktseite soll ein passender Wandthermostat (HM-TC-IT-WM-W-EU) "im Laufe des Jahres 2014" erscheinen (eQ3 konkretisiert diese Angabe auf März 2014).

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. Zu dem "Wie" kann bisher noch nichts näheres gesagt werden.

Achtung: Die Solltemperaturen eines HM-CC-RT-DN lassen sich nicht durch einen 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):

  • 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.

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.2 (in CCU2 2.7.8)

Betrieb mit FHEM

Der Funk-Heizkörperthermostat muss zuerst mit Fhem gepairt werden. Da es den RT noch nicht lange gibt, sollten Sie sicher stellen, dass Fhem aktuell ist (update durchführen).

Channels (Kanäle)

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:

set <thermoSensor> peerChan 0 <rt_Weather> single

Channel (Kanal) 02 _Climate

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. Ferner wird empfohlen, bei Einsatz von externen Sensoren, die interne „Fenster auf Erkennung“ zu deaktivieren (Weitere Details sind im Channel (Kanal) 04 _ClimRT_tr näher beschrieben).

Befehl zum peeren:

set <fenster-sensor> peerChan 0 <rt_WindowRec> single

Zum Löschen von einen peer:

set <fenster-sensor> peerChan 0 <rt_WindowRec> single unset

Der Peer-(Lösch)Vorgang muss auf dem SC/RHS Sensor durch "drücken" der Anlerntaste bestätigt werden.


Temperatur für Windowopen definieren:

set <rt_WindowRec> regSet winOpnTemp 10 <fenster-sensor>

Channel (Kanal) 04 _ClimRT_tr

Dieser Kanal ist "der" operationelle. Hier kann z.B. die Temperatur eingestellt werden.

Temperaturlisten setzen: um gebündelt die Wunschtemperaturen für eine ganze Woche zu setzen, können, wie beim HM-CC-TC beschrieben, Temperaturlisten in der z.B. 99_MyUtils.pm angelegt werden. Anders als beim HM-CC-TC sind diese Listen aber nicht auf den Channel _Climate, sondern auf den Channel _ClimRT_tr 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_ClimRT_tr 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_ClimRT_tr 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_ClimRT_tr 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_ClimRT_tr 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_ClimRT_tr 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_ClimRT_tr 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_ClimRT_tr 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

Sobald die neue/geänderte 99_MyUtils.pm gespeichert ist, können per Fhem-Befehl {SetTempList_UG_Treppe_Heizung} (also inclusive der geschweiften Klammern) die neuen Temperaturen an den HM-CC-RT-DN gesendet werden.

Die interne Fernster auf Erkennung kann man wie folgt abschalten:

set <rt_ClimRT_tr> regSet winOpnMode off

Channel (Kanal) 05 _ClimaTeam

Dieser Kanal dient zum peeren von mehreren RTs untereinander, also wenn z.B. zwei RTs in einem Raum sind und sich synchronisieren sollen. Das funktioniert jedoch nur, wenn die Einstellungsänderungen direkt am Thermostat durchgeführt werden. Änderungen, die in FHEM (bzw. über den Channel 4) durchgeführt werden, werden (nach bisherigen Erkenntnissen firmwarebedingt) nicht unterstützt.

Die Temperaturen werden nicht ausgetauscht, wenn die Quelle (z.B. Fensterkontakt) 'in der Lage ist' es an alle RTs zu verteilen (so die HM Philosophie).

Folgende Änderungen werden "nicht" weitergegeben:

  • Status der Fensterkontakte
  • Temperaturvorgaben der Zentrale
  • Temperaturlisten/Wochenplan

Folgende Änderungen werden weitergegeben:

  • Änderung der Temperatur am Handrad
  • Boost am Handrad

Befehl zum peeren:

set <rt1-ClimaTeam> peerChan 0 <rt2-ClimaTeam> single

Channel (Kanal) 06 _remote

Kann an eine Fernbedienung gekoppelt werden. Damit lässt sich z.B. mit der +/- Taste die Temperatur einstellen.

Befehl zum peeren:

set <button> peerChan 0 <rt-remote> single

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.

Modus Auto

< bitte ergänzen>

Modus Manu

< bitte ergänzen>

Modus Party (Urlaub)

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.

Ein Beispiel:

  set HM-CC-RT-DN_ClimRT_tr controlParty 16 06.12.13 16:30 09.12.13 05:00

Dadurch wird

  • vom 06.12.2013, 16:30 Uhr,
  • bis zum 09.12.2013, 05:00 Uhr
  • die gewünschte Raumtemperatur auf 16 °C

eingestellt.

Hinweise: - Der Befehl muss auf den Channel 4 ("_ClimRT_tr") erfolgen.
- Es werden nur Uhrzeiten zu jeder vollen oder halben Stunde angenommen (Minuten also 00 oder 30).


Mit der Funktion "Urlaub" kann man eine ganze Wohnung (also mehrere RT´s) mit nur einem Befehl in den Party-mode versetzen.
Der Name "Urlaub" kann natürlich frei gewählt werden. Im Beispiel werden 2 Heizkörper (Treppenhaus und Kammer) angesteuert.

Zu beachten sind folgende Dinge:

1) Aktuelle Dateien (z.B. 10_CUL_HM) verwenden!
2) Bei dem partycontrol-Befehl in der Funktion 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($$$$$)
  {
    #lokale Variablendeklaration
   my ($temp,$startDate,$startTime,$endDate,$endTime) = @_;
    #Sendebefehl für ein HM-CC-RT-DN
   {fhem ("set Kammer controlParty $temp $startDate $startTime $endDate $endTime")}

    # alternative Schreibweise der Parameter:
   {fhem ("set Treppenhaus controlParty @_[0] @_[1] @_[2] @_[3] @_[4]")};
   }

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 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 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


Fhem-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 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 %

Bekannte Probleme

Links