HM-CC-TC Funk-Wandthermostat: Unterschied zwischen den Versionen
Rohan (Diskussion | Beiträge) K (Kleine Erweiterung zum Nachfolgeprodukt) |
Keine Bearbeitungszusammenfassung |
||
Zeile 424: | Zeile 424: | ||
[[Kategorie:HomeMatic Components]] | [[Kategorie:HomeMatic Components]] | ||
[[Kategorie: | [[Kategorie:Feuchtesensoren]] | ||
[[Kategorie:Temperatursensor]] | [[Kategorie:Temperatursensor]] |
Version vom 20. Januar 2014, 08:33 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. AlleWerte sieht man nur noch, wenn man am HM-CC-TC das Attribut expertauf 2_allsetzt. Per default(nicht in fhem.cfggesetzt) 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 Temperaturlistenarbeitet (siehe unten), dann kann man die komplette Liste im "Channel" (Kanal) <HM-CC-TC-Name>__Climateeinsehen. Auch für diesen Kanal ist evtl. ein setzen des Attributes expert 2_fullangeraten.
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 1gesetzt 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 Link). 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 (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