HM-CC-TC Funk-Wandthermostat: Unterschied zwischen den Versionen

Aus FHEMWiki
Zeile 94: Zeile 94:
in der FHEM-Befehlszeile mit anschließendem <Enter> setzt man diesen Level.
in der FHEM-Befehlszeile mit anschließendem <Enter> setzt man diesen Level.


Falls man mit '''Temperaturlisten''' arbeitet (siehe unten), dann kann man die komplette Liste im "Channel" (Kanal) ''<HM-CC-TC-Name>__Climate''einsehen. Auch für diesen Kanal ist evtl. ein setzen des Attributes ''expert 2_full'' angeraten.
Falls man mit '''Temperaturlisten''' arbeitet (siehe unten), dann kann man die komplette Liste im "Channel" (Kanal) ''<HM-CC-TC-Name>__Climate'' einsehen. Auch für diesen Kanal ist evtl. ein setzen des Attributes ''expert 2_full'' angeraten.


<ins>Anmerkung:</ins> Es gibt auch noch sogenannte "hidden datas" (versteckte interne Werte, Register oder Eigenschaften deren Namen mit einem "." beginnen). Diese sieht man nur dann, wenn auch das Attribut ''showInternalValues 1'' gesetzt ist (default: 0 bzw. nicht gesetzt).
<ins>Anmerkung:</ins> Es gibt auch noch sogenannte "hidden datas" (versteckte interne Werte, Register oder Eigenschaften deren Namen mit einem "." beginnen). Diese sieht man nur dann, wenn auch das Attribut ''showInternalValues 1'' gesetzt ist (default: 0 bzw. nicht gesetzt).

Version vom 5. Juli 2014, 17:30 Uhr

HM-CC-TC Funk-Wandthermostat

Programmierbarer Raumthermostat, der bis zu 4 HM-CC-VD Funk-Stellantrieb steuern kann.

Achtung: Dieses Gerät ist abgekündigt (wird nicht mehr hergestellt).

Nachfolgeprodukt ist der HM-CC-RT-DN bzw. (ab März 2014) HM-TC-IT-WM-W-EU.

Features

  • Am Raumthermostat programmierbare Tages- und Nachttemperatur.
  • Pro Wochentag können bis zu 24 Schaltpunkte definiert werden.
  • Anbindung von jeweils maximal 4 Tür- bzw. Fensterkontakten (HM-Sec-RHS) zur Absenkung der Temperatur auf einen eigens eingestellten Temperaturwert (ab Werk: 12°C) bei offenem Fenster bzw. offener Tür.
  • Anzeige der Temperatur und Luftfeuchtigkeit im Raum und Hintergrundbeleuchtung des Displays.

Alle 120 bis 184 Sekunden überträgt der Wandthermostat vorhandene Befehle zu den Stellantrieben. Jeder empfangene Befehl wird vom Stellantrieb bestätigt und dann ausgeführt. Täglich gegen Mitternacht synchronisiert ein HM-CC-TC seine Uhrzeit mit der HomeMatic-Zentrale (CCU, HMLAN).

Hinweise zum Betrieb mit FHEM

Vor dem Einsatz mit einer Zentrale sind erst alle Stellantriebe und Tür-/Fensterkontakte mit dem HM-CC-TC zu verbinden (Peer). Damit das ganze dann in FHEM auftaucht, muss der TC noch mit dem HMLAN Konfigurator gepairt werden.

Mit

set CUL hmPairForSec 300

setzt man das CUL / den HMLAN-Konfigurator für 5 Minuten in den Anlernmodus. Danach am Thermostaten 5 Sekunden lang die OK-Taste drücken und es wird eine Zeit von 20 auf 0 Sekunden gezählt:

  • Klappt das Anlernen in diesen 20 Sekunden, wird der Countdown sofort beendet, anschließend für ca. 2-3 Sekunden "OK" angezeigt und der Thermostat ist in FHEM eingebunden.
  • Gelingt das Anlernen nicht in den 20 Sekunden, erscheint nach Erreichen der "0" noch für 2 bis 3 Sekunden ein "NOK" (Not OK) im Display des TCs.

Alternativ(und so vom Entwickler des Fhem-HomeMatic-Moduls empfohlen) kann wie folgt vorgegangen werden:

  • Alle Stellantriebe und Tür-/Fensterkontakte sowie den HM-CC-TC mit Fhem pairen (also set CUL hmPairForSec 300 und an allen Devices den Anlernknopf drücken innerhalb des Zeitfensters von 300 Sekunden).
  • Die Stellantriebe und Tür-/Fensterkontakte mit den Channels (siehe unten) peeren (siehe [http://fhem.de/commandref.html#CUL_HMpeerChan commandref :peerChan]). Hierzu werden die entsprechenden Fhem-Befehle über das Webinterface von Fhem erteilt.


Hinweis:

  • Alle in der FHEM-Eingabezeile eingegebenen attr-, define-Befehle usw. müssen zum Schluss noch per Klick auf den "Save"-Button dauerhaft in der fhem.cfg gespeichert werden, sonst sind sie nach z.B. einem Systemabsturz verloren.
  • Falls in der FHEM-Weboberfläche für ihren HM-CC-TC etwas wie X CMDs pending steht, sollten Sie ihren HM-CC-TC zur Hand nehmen und für 20 Sekunden auf die OK-Taste drücken. Dadurch werden alle noch ausstehenden Befehle eingelesen.

Auszug aus der fhem.cfg

Die nachfolgenden Einstellungen zum HM-CC-TC werden von FHEM weitestgehend automatisch gesetzt. Die Pfadangaben für die Log-Dateien sind system-, die Raumbenennungen benutzerabhängig. Zu autoReadRegund expertsiehe unten. Neben dem eigentlichen Basis-Gerät (HM-CC-TC) werden in FHEM automatisch noch 3 weitere "Unter"-Geräte (Channels/Kanäle), nämlich

  • _Weather
  • _Climate
  • _WindowRec

definiert (durch das Anlernen des TC an FHEM; siehe unten), deren Benennung sich (jeweils mit einem vorangestellten Unterstrich "_") am Namen des Basis-Gerätes orientiert.

Anmerkung:Die in den unten gezeigten fhem.cfg-Auszügen markierten Peer-Einträge tauchen erst auf, sobald man die Daten aus dem TC mit set HM-CC-TC-Basisname getConfigbzw. autoReadRegausgelesen hat.

Hauptgerät

define <HM-CC-TC>.Heizung CUL_HM 1DA491
attr <HM-CC-TC>.Heizung actCycle 000:10
attr <HM-CC-TC>.Heizung actStatus alive
attr <HM-CC-TC>.Heizung autoReadReg 1
attr <HM-CC-TC>.Heizung devInfo 00FFFF
attr <HM-CC-TC>.Heizung expert 2_full
attr <HM-CC-TC>.Heizung firmware 2.1
attr <HM-CC-TC>.Heizung hmClass receiver
attr <HM-CC-TC>.Heizung model HM-CC-TC
attr <HM-CC-TC>.Heizung room <IhrRaum>
attr <HM-CC-TC>.Heizung serialNr JE********
attr <HM-CC-TC>.Heizung subType thermostat

Channel (Kanal) 01 _Weather

define <HM-CC-TC>.Heizung_Weather CUL_HM 1DA49101               <<<=== 01 = Kanal 1
attr <HM-CC-TC>.Heizung_Weather model HM-CC-TC
attr <HM-CC-TC>.Heizung_Weather peerIDs 
attr <HM-CC-TC>.Heizung_Weather room <IhrRaum>
define FileLog_<HM-CC-TC>.Heizung_Weather FileLog /opt/fhem/log/<HM-CC-TC>.Heizung_Weather-%Y-%m.log <HM-CC-TC>.Heizung_Weather
attr FileLog_<HM-CC-TC>.Heizung_Weather logtype text
attr FileLog_<HM-CC-TC>.Heizung_Weather room CUL_HM,<IhrRaum>

Channel (Kanal) 02 _Climate

define <HM-CC-TC>.Heizung_Climate CUL_HM 1DA49102               <<<=== 02 = Kanal 2
attr <HM-CC-TC>.Heizung_Climate model HM-CC-TC
attr <HM-CC-TC>.Heizung_Climate peerIDs 1AD52B01,1B7A4C01,1C4CD101,1C48EC01,  <<<=== gepeerte HM-CC-VDs
attr <HM-CC-TC>.Heizung_Climate room <IhrRaum>
define FileLog_<HM-CC-TC>.Heizung_Climate FileLog /opt/fhem/log/<HM-CC-TC>.Heizung_Climate-%Y-%m.log <HM-CC-TC>.Heizung_Climate
attr FileLog_<HM-CC-TC>.Heizung_Climate logtype text
attr FileLog_<HM-CC-TC>.Heizung_Climate room CUL_HM,<IhrRaum>

Channel (Kanal) 03 _WindowRec

define <HM-CC-TC>.Heizung_WindowRec CUL_HM 1DA49103              <<<=== 03 = Kanal 3
attr <HM-CC-TC>.Heizung_WindowRec model HM-CC-TC
attr <HM-CC-TC>.Heizung_WindowRec peerIDs 1CFBB001,              <<<=== gepeerte HM-Sec-SCs
attr <HM-CC-TC>.Heizung_WindowRec room <IhrRaum>
define FileLog_<HM-CC-TC>.Heizung_WindowRec FileLog /opt/fhem/log/<HM-CC-TC>.Heizung_WindowRec-%Y-%m.log <HM-CC-TC>.Heizung_WindowRec
attr FileLog_<HM-CC-TC>.Heizung_WindowRec logtype text
attr FileLog_<HM-CC-TC>.Heizung_WindowRec room CUL_HM,<IhrRaum>

Einstellungen eines HM-CC-TC lesen, anzeigen und sichern

expert

Anfang Februar 2013 wurde eine Änderung bei der Anzeige der so genannten Readings (Register usw.), also der Einstellungen bzw. Eigenschaften eines HM-Devices, eingeführt. Alle Werte sieht man nur noch, wenn man am HM-CC-TC das Attribut expert auf 2_all setzt. Per default (nicht in fhem.cfg gesetzt) steht dieser Wert auf 0_off (nur die notwendigsten Readings/Eigenschaften werden angezeigt). Mittelweg ist der Wert 1_on.

Mittels

attr <HM-CC-TC-Name> expert 2_full

in der FHEM-Befehlszeile mit anschließendem <Enter> setzt man diesen Level.

Falls man mit Temperaturlisten arbeitet (siehe unten), dann kann man die komplette Liste im "Channel" (Kanal) <HM-CC-TC-Name>__Climate einsehen. Auch für diesen Kanal ist evtl. ein setzen des Attributes expert 2_full angeraten.

Anmerkung: Es gibt auch noch sogenannte "hidden datas" (versteckte interne Werte, Register oder Eigenschaften deren Namen mit einem "." beginnen). Diese sieht man nur dann, wenn auch das Attribut showInternalValues 1 gesetzt ist (default: 0 bzw. nicht gesetzt).

autoReadReg

Mitte Januar 2013 wurde das neue Attribut autoReadReg eingeführt, welches auf 0 voreingestellt ist (kein Eintrag in der fhem.cfg). Das setzen dieses Attributes auf 1 bewirkt, dass beim Neustart von FHEM die Einstellungen des entsprechenden HM-Gerätes ausgelesen werden. Dies wird bei mehreren autoReadRegs automatisch zeitversetzt vorgenommen, um die Funk-Kommunikation nicht unnötig zu belasten.

Mittels

attr <HM-CC-TC-Name> autoReadReg 1 

in der FHEM-Befehlszeile mit anschließendem <Enter> setzt man diesen Wert.

list

Um sich alle Eigenschaften/Readings eines Gerätes anzusehen, gibt es den Befehl list.

Mittels

list <HM-CC-TC-Name>

und Bestätigung mit <Enter> erhalten Sie die gewünschte Anzeige Ihres TCs incl. seiner 3 Channels. Über

list <HM-CC-TC-Name>_<Channel-Name>

werden nur die Daten des angegebenen Channels angezeigt.

Einstellungen sichern

Die Durchführung von autoReadReg kann durchaus mehrere Minuten dauern. Anschließend besteht die Möglichkeit, diese per

get HM-CC-TC-Basisname saveConfig [/Verzeichnis/mit/Schreibrechten/]<Dateiname> 

für jedes HM-CC-TC getrennt zu sichern (für eine später notwendige Wiederherstellung). Die Sicherungsdatei wird regulär im modpath (siehe fhem.cfg) abgelegt. Falls dies nicht zum Erfolg führt (es wird - ohne Fehlermeldungen bei regulärem verbose und loglevel - im modpath keine Datei angelegt), müssen Sie vor dem Dateinamen einen vollständigen Pfad mit Schreibrechten für den Benutzer, unter dem FHEM läuft, angeben.

In der Log-Datei von FHEM erscheinen danach Meldungen folgender Art

<Datum>_<Zeit> 2: CUL_HM set <HM-CC-TC-Name> statusRequest rxt:12
<Datum>_<Zeit> 2: CUL_HM set <HM-CC-TC-Name> getConfig rxt:12

Hierbei kann es (im Event monitor von FHEM) zu folgenden Fehlermeldungen kommen

<Datum>_<Zeit> CUL_HM <HM-CC-TC-Name> RESPONSE TIMEOUT:RegisterRead
<Datum>_<Zeit> CUL_HM <HM-CC-TC-Name> RESPONSE TIMEOUT:PeerList
<Datum>_<Zeit> CUL_HM <HM-CC-TC-Name> RESPONSE TIMEOUT:StatusReq

Diese Meldungen können auch mehrfach pro Gerät auftreten. Dann hat das Auslesen der Einstellungen nicht geklappt und sollte nochmals durchgeführt werden. Dafür muss man FHEM aber nicht neu starten, sondern das HM-Device per

set <HM-CC-TC-Name> getConfig

in der Befehlszeile von FHEM und anschließendem <Enter> (nicht "save") darauf einstellen.

Die Channels (z.B. <HM-CC-TC-Name>_Climate, _Weather, _WindowRec) eines HM-Gerätes brauchen nicht (können aber bei Bedarf) separat ausgelesen bzw. gesichert zu werden, da sie Bestandteil der Basisabfrage sind.

Funkprobleme auffangen

Der wohl am häufigsten an den HM-CC-TC gesendete Befehl ist "set desired-temp", mit dem die Wunschtemperatur neu gesetzt wird. Funktioniert dieser Befehl jedoch nicht zuverlässig, wird die Wohnung ggf. zu lange oder nicht rechtzeitig beheizt. Der folgende Mechanismus soll die Sicherheit erhöhen, indem die Antworten des HM-CC-TC geprüft werden und ggf. das Funktelegramm erneut gesendet wird.

Um den Sollwert zum erneuten Senden des Funktelegramms verfügbar zu haben, wird ein dummy definiert:

define HM_TC_Solltemperatur dummy

Wann immer die Solltemperatur geändert wird, setzt man die neue desired-temp nicht nur auf dem HM-TC-CC (hier HM_TC genannt), sondern auch auf dem dummy. Der Befehl (z.B. in der Routine zum HomeStatus) sieht dann so aus:

set HM_TC desired-temp 21;set HM_TC_Solltemperatur 21

Falls das ausgehende Funktelegramm verlorengeht, fehlt die Antwort "command accepted". Dies kann mit einem watchdog aufgefangen werden, der dann den Befehl an den HM-CC-TC erneut sendet:

define w_HM_TC watchdog HM_TC:set_desired-temp.* 00:02:30 HM_TC_Climate:CommandAccepted:.yes { \
   Log 1, ">>>>>>>>> w_HM_TC desired temp - missing response.";\
   fhem("set HM_TC desired-temp ".Value("HM_TC_Solltemperatur"));\
}

Falls ein Fehler bei der Funkkommunikation auftritt, erhält man die Antwort "missing ACK" oder "NACK". Auch in diesem Fall soll das Telegramm zum Ändern der Wunschtemperatur erneut an den HM-CC-TC gesendet werden:

define n_HM_TC_err notify HM_TC:(MISSING.ACK.*|.*NACK.*) {\
   Log 1, ">>>>>>>>> n_HM_TC desired temp - missing ack/nack.\n";\
   fhem("set HM_TC desired-temp ".Value("HM_TC_Solltemperatur"));\
}

Mit diesen beiden Helfern ist die Funkkommunikation zum HM-CC-TC sehr zuverlässig.

Plots / Grafiken

Problem

Durch autocreate wird zwar ein Log angelegt, aber kein Plot (Grafische Auswertung). Dem kann man aber abhelfen (siehe unten).

Plots erzeugen

PGM2 ist die Standardansicht des Fhem-Web-Interfaces. Um hier Plots/Grafiken zu erzeugen einfach unter dem Filelog des Thermostaten das attr logtype auf temp4hum6:Plot,text setzen und es wird ein Plot-Link neben dem Text-Link angezeigt. Nun können Sie auf diesen Plot-Link klicken und ...

alternative Plots

Mit dem fht.gplot funktioniert die Anzeige der Ventilstellung (actuator) nicht.

Mit folgendem angepassten .gplot File wird die gemessene Temperatur und Ventilstellung angezeigt.

############################ 
 # Display the measured temp and the actuator. 
 # Corresponding FileLog definition: 
 # define <filelogname> FileLog /var/log/fhem/actuator_name-%Y.log <actuator_name>:(measured-temp|actuator).* 
 
 set terminal png transparent size <SIZE> crop 
 set output '<OUT>.png' 
 set xdata time 
 set timefmt "%Y-%m-%d_%H:%M:%S" 
 set xlabel " " 
 set ytics nomirror 
 set y2tics 
 #set ytics 
 set title '<L1>' 
 set grid xtics y2tics 
 
 set y2label "Temperatur in C" 
 set ylabel "Ventil (%)" 
 
 #FileLog 4:measured:10: 
 #FileLog 4:actuator:50: 
 
 plot \ 
  "< egrep 'temperature' <IN>"\ 
     using 1:4 axes x1y2 title 'Temperatur in C' with lines,\ 
  "< egrep 'actuator' <IN>"\ 
     using 1:4 axes x1y1 title 'Ventil (%)' with lines\

Alles-drin-Plot

dazu nimmt man folgendes .gplot. Man/Fra beachte, dass hierfür alle Parameter nach der define-Anweisung in das Logfile geschrieben werden.

############################
# Display the measured temp and the actuator.
# Corresponding FileLog definition: 
# define <filelogname> FileLog /var/log/fhem/HM_CC_TC-%Y.log <HM_CC_TC-name>
set terminal png transparent size <SIZE> crop
set output '<OUT>.png'
set xdata time
set timefmt "%Y-%m-%d_%H:%M:%S"
set xlabel " "
set ytics nomirror
set y2tics
#set ytics
set title '<L1>'
set grid xtics y2tics
set y2label "Temperature in C"
set ylabel "Actuator (%)"
#FileLog 4:temperature:0:
#FileLog 4:desired:0:
#FileLog 4:humidity:0:
#FileLog 4:actuator:0:int
plot \
 "< awk '/temperature/{print $1, $4}' <IN>"\
   using 1:2 axes x1y2 title 'Measured temperature' with lines lw 2,\
 "< awk '/desired/{print $1, $4}' <IN>"\
   using 1:2 axes x1y2 title 'Desired temperature' with steps,\
 "< awk '/humidity/ {print $1, $4+0}' <IN>"\
   using 1:2 axes x1y1 title 'Humidity (%)' with lines,\
 "< awk '/actuator/ {print $1, $4+0}' <IN>"\
   using 1:2 axes x1y1 title 'Actuator (%)' with lines\

Steuerungsmodi

Das Wandthermostat hat 4 verschiedene Steuerungsmöglichkeiten:

  • Auto (automatisch)
  • Cent (Zentrale)
  • Manu (manuell)
  • Prog / Koffer-Symbol (Urlaubs/Party-Modus, wird hier nicht näher erörtert)

Der Steuerungsmodus wird über wiederholtes Drücken der linken Taste des HM-CC-TC ausgewählt bzw. gewechselt.

Hinweis: Durch das Pairen des HM-CC-TC und der Stellantrieb sowie Tür-/Fensterkontakte an Fhem verlieren Sie nicht die Steuerungsmöglichkeiten. Im Gegenteil: Nur wenn auch die VDs usw. mit Fhem gepairt sind, haben Sie die Möglichkeit, auch diese zu überwachen. Die Steuerung können Sie dennoch allein dem HM-CC-TC überlassen.

Auto-Modus

Im Modus Auto wird die Temperaturregelung über die im TC hinterlegten Temperaturlisten vorgenommen. Das Thermostat arbeitet also selbständig, somit unabhängig von einer Zentrale / FHEM. Nur in diesem Modus werden die evtl. per FHEM an das TC übermittelten "templist" abgearbeitet. Über das Senden von angepassten Temperatur-Listen kann eine indirekte Steuerung per FHEM erfolgen. Jederzeit kann zudem die Raumtemperatur über das Drehrad des Wandthermostaten oder die FHEM-Web-Oberfläche verändert werden. Diese Übersteuerung der Temperaturliste gilt bis zur nächsten Temperaturänderung nach der vorgenannten Liste.

Cent-Modus

Im Modus Cent steuert eine HomeMatic-Zentrale (CCU) oder eben ein FHEM-Server mit z.B. HMLAN Konfigurator zu den in der FHEM-Config hinterlegten Zeiten und mit den dort festgelegten Temperaturen. Fällt also die HM-Zentrale aus, erfolgt keine Steuerung der Thermostaten bzw. Heizungsventile mehr.

Anmerkung: Der Modus cent erscheint nur dann im Display des HM-CC-TC, wenn er an eine Zentrale bzw. das CUL angelernt (gepairt) wurde.

Manu-Modus

Der Modus Manu übersteuert die im TC hinterlegten Temperaturlisten und die evtl. von der HM-Zentrale / dem FHEM vor Umstellung auf Manu gesendeten Einstellungen. Es wird also bis zur nächsten Modusumstellung bzw. manuellen Temperaturverstellung der per Einstellrad gesetzte Temperaturwert gefahren.

Aber auch in diesem Modus kann man die desired-temperature per FHEM verstellen. Der dadurch eingestellte Wert gilt ab sofort als der neue im Manu-Modus zu haltende Wert.

Auslesen des eingestellten Steuerungsmodus

Der eingestellte Steuerungsmodus erscheint normalerweise in den Readings des HM-CC-TC unter controlMode. Zusätzlich haben Sie die Möglichkeit, diesen Modus auch in der FHEM-Weboberfläche everything => Abschnitt thermostat zu sehen, wenn Sie für den HM-CC-TC das folgende Attribut setzen:

attr <HM-CC-TC-Name> stateFormat T:measured-temp, H:humidity, VD:actuator, controlMode

Erscheint dort selbst nach einem

set <HM-CC-TC-Name> getConfig

kein "Reading" controlMode oder keine Angabe des aktuell eingestellten Modus bzw. nur das Wort "controlMode", dann setzen Sie ihren HM-CC-TC von Hand in einen anderen Kontrollmodus und machen einen Browser-Refresh. Klappt dies nicht, geben Sie bitte erneut den Befehl

set <HM-CC-TC-Name> getConfig

ein. Halten Sie anschließend die Taste <OK> am HM-CC-TC für 5 Sekunden gedrückt (oder warten ca. 5 Minuten) und machen in der FHEM-Weboberfläche einen Browser-Refresh (FF => <F5>). Jetzt sollte der manuell eingestellte Kontrollmodus erscheinen (ggfls. muss dieser Vorgang einmal wiederholt werden). Jetzt können Sie wieder den gewünschten Modus einstellen, erneut ein

set <HM-CC-TC-Name> getConfig

absetzen und nach erneutem Drücken der <OK>-Taste für 5 Sekunden mit nachfolgendem Browser-Refresh sollte alles richtig angezeigt werden.

Dies setzt natürlich voraus, dass der HM-CC-TC richtig gepairt ist.

Temperaturlisten

Achtung: Die Listen mussten bis vor kurzem noch auf das Device HM-CC-TC, nunmehr aber auf dessen Channel HM-CC-TC_Climate gesetzt werden. Dadurch ändert sich die Benennung des Gerätes (wird in den u.a. Beispielen berücksichtigt).

Eine Temperaturliste für die Steuerung der Raumtemperatur im o.a. Auto-Modus kann man wie folgt erzeugen:

  • Man legt sich eine eigene 99_MyUtils.pm an (siehe 99_myUtils anlegen). Dies ist wichtig, da es bei FHEM-Updates durchaus sein kann, dass die vorhandene 99_Utils.pm erneuert und damit überschrieben wird und dann sind all ihre eigenen Subroutinen weg.
  • Dort trägt man für jedes HM-CC-TC, dessen Werte man individuell einstellen will, eine eigene Subroutine ein, die z.B. wie folgt aussehen kann:
######################################################
# Temperatur-Liste für das Wohnzimmer
# setzen per Aufruf von "{SetTempList_EG_WZ_Heizung}"
######################################################
sub
SetTempList_EG_WZ_Heizung()
 {
   { fhem ("set EG.WZ.Heizung_Climate tempListMon 05:30 19.0 07:00 21.0 16:00 19.0 20:30 20.5 24:00 17.5")};
   { fhem ("set EG.WZ.Heizung_Climate tempListTue 05:30 19.0 07:00 21.0 16:00 19.0 20:30 20.5 24:00 17.5")};
   { fhem ("set EG.WZ.Heizung_Climate tempListWed 05:30 19.0 07:00 21.0 16:00 19.0 20:30 20.5 24:00 17.5")};
   { fhem ("set EG.WZ.Heizung_Climate tempListThu 05:30 19.0 07:00 21.0 16:00 19.0 20:30 20.5 24:00 17.5")};
   { fhem ("set EG.WZ.Heizung_Climate tempListFri 05:30 19.0 07:00 21.0 15:00 19.0 20:30 20.5 24:00 17.5")};
   { fhem ("set EG.WZ.Heizung_Climate tempListSat 07:00 19.0 09:00 21.0 15:00 19.0 21:00 21.0 24:00 17.5")};
   { fhem ("set EG.WZ.Heizung_Climate tempListSun 07:00 19.0 09:00 21.0 15:00 19.0 21:00 21.0 24:00 17.5")};
}
# End SetTempList_EG_WZ_Heizung
  • die Änderungen in der 99_MyUtils.pm müssen jetzt abgespeichert werden
  • in der FHEM-Befehlszeile ist ein reload 99_MyUtils.pm mit <Enter> / <Return> abzusetzen (erst dadurch werden die Eintragungen / Änderungen aktiviert)
  • nun kann man in der Kommandozeile von FHEM den Befehl {SetTempList_EG_WZ_Heizung} eingeben und mit <Return> bzw. <Enter> bestätigen

Im FHEM-Logfile (das man vorher in einem weiteren Browser-Tab geöffnet hat, Refresh (F5) nicht vergessen) taucht danach folgendes auf:

<Datum> <Zeit> CUL_HM EG.WZ.Heizung_Climate set_tempListMon 05:30 17.0 07:00 21.0 16:00 19.0 20:30 20.5 24:00 17.0
<Datum> <Zeit> CUL_HM EG.WZ.Heizung_Climate set_tempListTue 05:30 17.0 07:00 21.0 16:00 19.0 20:30 20.5 24:00 17.0
<Datum> <Zeit> CUL_HM EG.WZ.Heizung_Climate set_tempListWed 05:30 17.0 07:00 21.0 16:00 19.0 20:30 20.5 24:00 17.0
<Datum> <Zeit> CUL_HM EG.WZ.Heizung_Climate set_tempListThu 05:30 17.0 07:00 21.0 16:00 19.0 20:30 20.5 24:00 17.0
<Datum> <Zeit> CUL_HM EG.WZ.Heizung_Climate set_tempListFri 05:30 17.0 07:00 21.0 15:00 19.0 20:30 20.5 24:00 17.0
<Datum> <Zeit> CUL_HM EG.WZ.Heizung_Climate set_tempListSat 07:00 17.0 09:00 21.0 15:00 19.0 21:00 21.0 24:00 17.0
<Datum> <Zeit> CUL_HM EG.WZ.Heizung_Climate set_tempListSun 07:00 17.0 09:00 21.0 15:00 19.0 21:00 21.0 24:00 17.0

Zur Erläuterung:

Mittels

set EG.WZ.Heizung_Climate tempListMon 05:30 17.0 07:00 21.0 16:00 19.0 20:30 20.5 24:00 17.0

setzt man den HM-CC-TC-Channel mit dem Namen EG.WZ.Heizung_Climate für jeden folgenden Montag

von 00:00 bis 05:30 Uhr auf 17,0 °C
von 05:31 bis 07:00 Uhr auf 21,0 °C
von 07:31 bis 16:00 Uhr auf 19,0 °C
...

und so weiter. Dabei kann bei der Temperatur als Nachkommawert entweder eine 0 oder eine 5 stehen, ein Wert von z.B. 20,1 ist nicht erlaubt.

Achtung: Häufigste Fehlerquelle ist das Verstehen der Reihen- bzw. Abfolge der Zeit- und Temperaturwerte. Deshalb ein weiterer Beschreibungsversuch mit anderen Worten, der hoffentlich zum besseren Verständnis beiträgt:

Die Definition beginnt von selbst jeweils bei 00:00 Uhr eines Tages. Die danach angegebene Uhrzeit (im letzten Beispiel tempListMon: 05:30 Uhr) beschreibt also den Zeitraum von 00:00 Uhr bis 05:30 Uhr. Der danach folgende Wert von 17.0 definiert also den in der Zeit von 00:00 Uhr bis 05:30 Uhr geltenden Wunschtemperaturwert von 17,0 °C. Die im vorgenannten Beispiel auf die Wertangabe 17.0 folgende Uhrzeit von 07:00 legt nun den Zeitraum von 05:30 Uhr bis 07:00 Uhr für den dahinter stehenden Temperaturwert von 21.0 fest. Die Abfolge kann dem Einen oder der Anderen unnatürlich vorkommen, aber es ist eine so von eQ3 festgelegte Notationsweise.

Beachten Sie bitte, dass am Schluss der Liste immer eine Einstellung für 24:00 notiert sein muss. Ansonsten quittiert FHEM das Setzen der Liste mit einem solchen Eintrag im Logfile:

Last time spec must be 24:00

Im FHEM-Logfile-Browser-Tab sollten nach einigen Minuten folgende mehrfach wiederholten Einträge auftauchen:

<Datum> <Zeit> CUL_HM EG.WZ.Heizung_Climate CommandAccepted: yes
<Datum> <Zeit> CUL_HM EG.WZ.Heizung_Climate CommandAccepted: yes
...
<Datum> <Zeit> CUL_HM EG.WZ.Heizung_Climate CommandAccepted: yes

Wichtig ist ein nachfolgendes "ACK". Steht dort "MISSING ACK", dann wurde der Empfang der Werte vom HM-CC-TC nicht bestätigt und man sollte die TempList noch einmal schicken. Kommt auch nach mehreren Sendeversuchen kein "ACK" sollten Sie in den Readingsdes Devices die TempListüberprüfen (siehe unten), denn es kann sein, dass diese Antwort schlicht nicht empfangen werden konnte, weil der Empfänger gerade anderweitig beschäftigt war, die Einstellungen aber dennoch übernommen wurden. Wird jedoch ein "NACK" vom HM-CC-TC gesendet, dann wurde die Temperaturliste explizit nicht akzeptiert. Kontrollieren Sie in diesem Fall die Korrektheit der Temperaturliste.

Welche Werte aktuell eingestelltsind, sieht man in den "Readings" des jeweiligen Devices; im obigen Fall also z.B. im linken Menü von FHEM auf den default-Eintrag Everythingklicken und dann auf den Eintrag mit dem Namen EG.WZ.Heizung.

Temperaturlisten (neu)

Seit Mitte Oktober 2013 kann man die Temperaturlisten "ressourcenschonender" an einen HM-CC-TC übertragen. Bisher wurde für jeden Tag ein Befehl abgeschickt (siehe obiges Beispiel). Nun kann man, wie beim [[HM-CC-RT-DN Funk-Heizkörperthermostat#Temperaturlisten setzen|HM-CC-RT-DN] (dem Nachfolger des HM-CC-TC), auch alles in ein einziges "Funktelegramm" packen. Dazu das folgende Beispiel (achten Sie bitte auf die Schlüsselwörter "prep" und "exec"):

######################################################
# Temperatur-Liste für Kinderzimmer
# setzen per Aufruf von "{SetTempList_Kind_Heizung}"
######################################################
sub
SetTempList_Kind_Heizung()
 {
   { fhem ("set DG.Kind.Heizung_Climate tempListMon prep 05:30 19.0 07:00 20.5 16:00 19.0 20:30 20.0 24:00 17.0")};
   { fhem ("set DG.Kind.Heizung_Climate tempListTue prep 05:30 19.0 07:00 20.5 16:00 19.0 20:30 20.0 24:00 17.0")};
   { fhem ("set DG.Kind.Heizung_Climate tempListWed prep 05:30 19.0 07:00 20.5 16:00 19.0 20:30 20.0 24:00 17.0")};
   { fhem ("set DG.Kind.Heizung_Climate tempListThu prep 05:30 19.0 07:00 20.5 16:00 19.0 20:30 20.0 24:00 17.0")};
   { fhem ("set DG.Kind.Heizung_Climate tempListFri prep 05:30 19.0 07:00 20.5 15:00 19.0 20:30 20.0 24:00 17.0")};
   { fhem ("set DG.Kind.Heizung_Climate tempListSat prep 07:00 19.0 09:00 21.0 15:00 19.0 21:00 21.0 24:00 17.0")};
   { fhem ("set DG.Kind.Heizung_Climate tempListSun exec 07:00 19.0 09:00 21.0 15:00 19.0 21:00 21.0 24:00 17.0")};
}
# End SetTempList_Kind_Heizung

Zum Verständnis: Mittels prep werden die Werte in einen "Puffer" gepackt und sobald ein "exec" auftaucht, wird er Puffer mit dem Nachfolgenden gefüllt und anschließend in einem Rutsch an den HM-CC-TC geschickt. Dies vermeidet/minimiert Übertragungsprobleme.

Batteriealarme des HM-CC-VD in Verbindung mit HM-CC-TC

1. bei U-Bat. < 2,4 V erscheint im Display des VD und des TC das Batteriesymbol mit battery: low in den Readings und Events!

2. bei U-Bat. < 2,3 V erscheint im Display des VD zusätzlich F4 mit battery: critical in den Readings und Events!

Es wird dringend geraten, die Batterien bei battery: low zu tauschen!

Log-Auszug

HM-CC-TC sendet alle 2 Minuten folgenden Statusbericht:

Datum-Zeit <Device Name> T: 17.3 H: 66<br>
Datum-Zeit <Device Name> measured-temp: 17.3<br>
Datum-Zeit <Device Name> temperature: 17.3<br>
Datum-Zeit <Device Name> humidity: 66<br>
Datum-Zeit <Device Name> actuator: 96 %<br>

Bei Status-Änderungen sendet HM-CC-TC auch entsprechende Meldungen, z.b.:

Datum-Zeit <Device Name> desired-temp: 15.5<br>

Probleme

Verstellen der Solltemperatur am HM-CC-TC per Drehrad

Symptom: Beim Verstellen der Solltemperatur per seitlichem Drehrad wurde die aktuelle Solltemperatur - egal ob man hoch oder runter drehte - immer nur in 0,5 °C Schritten runter gestellt, bis schließlich die Mindesttemperatur von 6,0 °C erreicht war. Weitere Änderungen waren nicht möglich

Abhilfe: Letztlich half nur das kurzzeitige Entfernen einer Batterie. Das danach für einige Zeit erscheinende Batteriesymbol zeigte den kleinstmöglichen guten Zustand an, in FHEM wurde das Reading des Batteriezustandes mit ok ausgegeben (wie in den Logs aber vorher auch). Letztlich half aber nur das Einsetzen neuer Batterien, denn die o.a. Störung trat nach ca. 2 Stunden erneut auf. Die "alten" Batterien (die, die dem HM-CC-TC ab Werk beilagen) hatten somit eine Nutzungsdauer von knapp 11 Monaten, waren aber auch in einem HM-CC-TC, der mit 4 Stck. HM-Sec-SC (mussten sehr oft "Meldung machen") und 4 Stck. HM-CC-VD gepeert war. Ohne Last zeigten die beiden alten AA-Batterien eine Spannung von jeweils 1,29 V an.

Hinweis: Die unter Abhilfe beschriebene Lösung war leider nur von kurzer Dauer. Bereits kurz danach zeigte der HM-CC-TC die gleichen Ausfallerscheinungen. Bei ELV gibt es das Bauteil für das Drehrad (Inkrementalgeber) als Ersatzteil. Sobald dieses geliefert und ein Reparaturversuch unternommen wurde, wird an dieser Stelle weiter berichtet.

Firmware

Aktuelle Firmware-Version: 2.1


Links

Anleitung PDF