:: fischer-net.de

Nach dem ich im Artikel FHEM Modul zur (erweiterten) Heizungssteuerung mein neues Modul HCS für FHEM vorgestellt und anhand eines Beispiels die Steuerung einer Vaillant atmoTEC classic beschrieben habe, beschreibt dieser Artikel die inswischen vorgenommenen Änderungen am Modul.

 

Heating Control System (überarbeitete Version)

Nachdem ich das Modul HCS in der FHEM Community auf Google-Groups angekündigt hatte, kam schon nach kurzer Zeit das erste positive Feedback. Leider mußte ich das Modul zwischenzeitlich mehrfach korrigieren, da sich im Verlauf der Entwicklung der eine oder andere Fehler eingeschlichen hatte.

Diese Korrekturen nahm ich nun zum Anlaß weitere Funktionen im Modul bereitzustellen.

 

Kurze Zusammenfassung des Moduls HCS 

Das Modul HCS überwacht in einem frei definierbarem Intervall alle in FHEM konfigurierten Thermostate vom Typ FHT80b (Funk-Heizungsregelung FS20) oder HM-CC-TC (Funk-Haussteuerungssystem HomeMatic). Dabei wird über frei definierbare Schwellenwerte ein definiertes Gerät gesteuert. Dieses Gerät kann z.B. zur Übersteuerung einer vorhandenen Zentralheizung genutzt werden. Ein ausführliches Beispiel ist in dem oben erwähntem Artikel nachzulesen.

 

Neue Funktionen

Bisher konnte das Modul HCS nur über die in den Thermostaten gespeicherte Ventilstellungen gesteuert werden. Hierzu sind zwei Werte zu definieren, die je nach Ventilstellung das definierte Gerät (Vorzugweise ein Schaltaktor, wie z.B. einen HM-LC-Sw1-SM Funk-Schalter) ein- oder ausschaltet. Dies funktionierte soweit auch schon ganz gut.

Da es sich bei den Ventilen um so genannte PID-Regler handelt, war eine gewisse Trägheit zu verzeichnen. Ist in einem Raum z.B. die angeforderte Temperatur bereits erreicht, verbleibt das Ventil noch eine ganze Weile in einer Position oberhalb des im HCS device definierten unteren Schwellenwertes, der zum Ausschalten des definierten Gerätes gesetzt war. Die Folge: die Zentralheizung läuft länger als benötigt.

Das Modul HCS kann nun entweder im Modus "valve" zur Steuerung über die Ventilstellung oder über den im folgenden Beschriebenen Modus "thermostat" betrieben werden.

 

Steuerung über Raumtemperatur 

Neu hinzu gekommen sind nun die Schwellenwerte zur Steuerung über die vom Thermostat angeforderte (desired-temp) und der gemessenen Raumtemperatur (measured-temp).

Auch hier sind wieder zwei Werte zu definieren, die das Ein- und Ausschalten des im HCS device definiertem Gerätes steuern.

Ein Beispiel:

Dem Attribut "thermostatThresholdOn" wird der Wert "1.0" und dem Attribut "thermostatThresholdOff" der Wert "0.5" zugewiesen. HCS wird nun bei jedem Lauf (Intervall) die Differenz zwischen der angeforderten und der gemessenen Temperatur berechnen.

Beträgt in einem Raum z.B. die angeforderte Temperatur 21.5° Celsius und die gemessene Temperatur ist 20.7° Celsius, dann ist der Raum um 0.8° kälter als angefordert. Die Differenz von 0.8° Celsius ist jedoch kleiner als der definierte Schwellenwert "thermostatThresholdOn 1.0". Das definierte Gerät (z.B. ein Funk-Schalter als simuliertes Raumthermostat an einer Zentralheizung) bleibt nun solange ausgeschaltet, bis die Raumtemperatur kleiner oder gleich 20,5° Celsius beträgt. Sinkt die Temperatur in dem Raum nun bis zu dem Schwellenwert, wird das Gerät eingeschaltet und erst dann wieder ausgeschaltet, wenn die im Raum gemessene Temperatur größer oder gleich 22,0° Celsius beträgt. Der Wert von 22.0° Celsius errechnet sich aus der angeforderten Temperatur von 21.5° Celsius plus dem definierten Schwellenwert zum Ausschalten "thermostatThresholdOff 0.5". Die Steuerung über die Temperatur ist "feinfühliger" als die Steuerung über die Ventilstellung.

 

Economic Mode

Neben dem im obigen Artikel schon beschriebenen "overdrive" Modus anhand eines Temperaturfühlers, habe ich das Modul HCS noch um einen von mir getauften "eco" Modus erweitert. Für diesen Modus stehen zwei weitere Schwellenwerte, die über die Attribute "ecoTemperatureOn" und "ecoTemperatureOff" definiert werden, zur Verfügung. 

Die Idee dahinter ist das Übersteuern der Regelung über die Ventilstellungen oder die Raumtemperatur. Unabhängig ob nun ein Gerät (FHT oder HM-CC-TC) Wärmebedarf hat, kann über den "eco" Modus das Ein- oder Ausschalten des definierten Gerätes erzwungen werden. Der Unterschied zwischen dem "overdrive" Modus und "eco" Modus ist die Referenztemperatur. Nutzt man im "overdrive" Modus vorzugweise einen Temperaturfühler, der die Außentemperatur mißt, bezieht der "eco" Modus seine Referenztemperatur von den einzelnen Raumthermostaten. Dieser Modus kann genutzt werden um das definierte Gerät einzuschalten, wenn in einem oder mehreren Räumen die Temperatur unter den Schwellenwert "ecoTemperatureOn" fällt oder aber das definierte Gerät auszuschalten, wenn der Schwellenwert "ecoTemperatureOff" erreicht wird.

Der "eco" Modus kann somit auch als "Frostschutzsicherung" oder zum Halten einer bestimmten maximal Temperatur bei Abwesenheit genutzt werden (obwohl ich gerade beim Schreiben überlege hierfür noch einen extra Modus zu spendieren).

 

Funklast verringert

Hat das Modul HCS in der vorherigen Version noch bei jedem Lauf immer den Befehl zum Ein- oder Ausschalten gesendet, kann in der überarbeiteten Version dieses Verhalten über das Attribut "event-on-update-reading" beeinflußt werden. Dieses Attribute ist nun als Voreinstellung gesetzt. Das heißt, HCS steuert das definierte Gerät nur dann, wenn sich der Befehl auch tatsächlich geändert hat (also z.B. von "on" nach "off" oder von "off" nach "on").

 

Logfile

HCS ist "gesprächig" und das ist auch gewollt. Gerade bei der Steuerung der "Wohlfühltemperatur" wollte ich ein Auge darauf werfen, wie der aktuelle Status der Raumtemperaturen und Ventilstellungen ist. Dazu schreibt HCS bei jedem Intervall eine Übersicht der Werte von den gefundenen FHT oder HM-CC-TC devices, sowie eine kurze Zusammenfassung des Betriebsmodus vom HCS device. Diese "Gesprächigkeit" kann nun über das Attribut "loglevel" justiert werden.

Die Standardeinstellung ist "loglevel 3", also sehr gesprächig. Erhöht man den Loglevel um einen Wert nach oben, dann verringern sich auch die Einträge im Logfile.

 

Beispielkonfiguration

Natürlich nutze ich mein Modul HCS auch selber zur Steuerung meines "Gas-Wandheizgerätes" Vaillant atmoTEC classig. Siehe dazu auch den oben erwähnten Artikel FHEM Modul zur (erweiterten) Heizungssteuerung.

Meine aktuelle Konfiguration soll hier als Beispiel dienen:

Ein HomeMatic Funk-Schaltaktor ist an meiner Vaillant atmoTEC classic als "Raumthermostat" angeschlossen:

define KG.hz.LC.SW1.01 CUL_HM 15D20B
attr   KG.hz.LC.SW1.01 alias Heizbetrieb
attr   KG.hz.LC.SW1.01 group Heizungssteuerung
attr   KG.hz.LC.SW1.01 hmClass receiver
attr   KG.hz.LC.SW1.01 model HM-LC-SW1-SM
attr   KG.hz.LC.SW1.01 serialNr IEQ0041719
attr   KG.hz.LC.SW1.01 subType switch

 Mein HCS device:

define KG.hz.CC.HCS.01 HCS KG.hz.LC.SW1.01
attr   KG.hz.CC.HCS.01 alias Wärmebedarf
attr   KG.hz.CC.HCS.01 group Heizungssteuerung
attr   KG.hz.CC.HCS.01 thermostatThresholdOn 1
attr   KG.hz.CC.HCS.01 thermostatThresholdOff 0.5
attr   KG.hz.CC.HCS.01 mode thermostat
attr   KG.hz.CC.HCS.01 idleperiod 10
attr   KG.hz.CC.HCS.01 ecoTemperatureOn 12
attr   KG.hz.CC.HCS.01 ecoTemperatureOff 25
attr   KG.hz.CC.HCS.01 loglevel 4
attr   KG.hz.CC.HCS.01 event-on-change-reading state,devicestate,eco,overdrive

Ein "dummy" device zum Setzen des "eco" Modus:

define KG.hz.CC.HCS.01.dum dummy
attr   KG.hz.CC.HCS.01.dum alias Wärmebedarf Eco Modus
attr   KG.hz.CC.HCS.01.dum group Heizungssteuerung
attr   KG.hz.CC.HCS.01.dum setList state:on,off
attr   KG.hz.CC.HCS.01.dum loglevel 6

Ein "notify" device, daß das Schalten des "eco" Modus im HCS device ausführt:

define KG.hz.CC.HCS.01.not notify KG.hz.CC.HCS.01.dum set KG.hz.CC.HCS.01 eco %EVENT
attr   KG.hz.CC.HCS.01.not loglevel 6

Zum Abschluß wünsche ich allen Interessierten viel Spaß beim "Nachbauen".

Powered by ...

 

 

reichelt elektronik – Elektronik und PC-Technik