Tecalor THZ Wärmepumpe

Aus FHEMWiki

Englisch version Tecalor THZ Heatpump

Hier wird beschrieben wie man mit FHEM eine Tecalor THZ / Stieben Eltron LWZ 303/403/404 /SOL Wärmepumpe auslesen und teilweise steuern kann.

Zum besseren Verständnis: Tecalor ist die Privatundenmarke von Stieben Eltron. Die Geräte sind absolut baugleich.

Nachfolgend wird von der "THZ" gesprochen.

Getestet sind die Versionen 4.19, 4.39 und 5.39. Ältere Versionen können funktionieren, das ist jedoch nicht garantiert. HINWEIS: Diese Anleitung ist für Personen gedacht, die sich mit Elektronik auskennen. Der Autor und der Entwickler haften nicht für Schäden und geben keine Funktionsgarantie.

Verbindungsmöglichkeiten

Lokal per RS232 oder USB

Die THZ hat zwei Anschlüsse die zur Verbindung genutzt werden können.

  • Einen Seriellen Anschluss der mit einem MNL-SG3 Stecker genutzt werden kann.
  • Einen USB Anschluss der auf der Platine zu finden ist un mit einem TYP-B Kabel funktioniert.

ACHTUNG! Der USB Anschluss befindet sich rückseitig auf der Platine die sich hinter der Abdeckung hinter der rechten Türe. Darf nur stromlos verbunden werden. Dazu die Wärmepumpe komplett vom Strom trennen!!!

Die Baudarten variieren je nach Hardware- und Softwareversion zwischen 9600 und 115200 bei Seriell. Bei USB liegt diese immer bei 115200. Eine Verbindnugsanleitung zum Seriellen Port findet sich hier: Robert Penz Homepage

Entfernte Verbindung mit Ser2Net

Wenn die FHEM Zentrale nicht direkt in der Nähe der Heizung steht kann mir Ser2Net gearbeitet werden. Dieses stellt auf einem TCP-Port einen virtuellen seriellen Anschluss zur Verfügung.

Installation Ser2Net auf Linux

Um den Serial-Port-Server Ser2Net zu installieren ist auf Linux folgendes zu tun:

sudo apt-get install ser2net

in der /etc/ser2net.conf (/dev/ttyXXX)

2003:raw:500:/dev/ttyUSB0:115200 NONE 1STOPBIT 8DATABITS

Der Port kann frei gewählt werden solange er nicht bereits genutzt wird.

Getestete Host-Systeme

Getestet ist dieses Modul auf FritzBox, nas-qnap, Raspberry Pi und MacOS.

Definition in FHEM

Mit direkter serieller oder USB Verbindung

define Mythz THZ /dev/ttyUSB0@115200 # oder (/dev/ttyXXX)
attr Mythz interval_allFB 300 # Internes Polling Intervall 5min
attr Mythz interval_history 28800 # Internes Polling Intervall 8h
define FileLog_Mythz FileLog ./log/Mythz-%Y.log Mythz

Wenn die Attribute interval_allFB und interval_history nicht definiert sind (oder 0), ist das interne Polling deaktiviert. Natürlich kann das Polling auch mit dem "at" Befehl ausserhalb des Moduls definiert werden.

define Mythz THZ /dev/ttyUSB0@115200 # oder (/dev/ttyXXX)
define atMythzFB at +*00:05:00 {fhem "get Mythz allFB","1";;return()}
define atMythz09 at +*08:00:00 {fhem "get Mythz history","1";;return()}
define FileLog_Mythz FileLog ./log/Mythz-%Y.log Mythz

Via Netzwerk mit Ser2Net

define Mythz THZ 192.168.0.244:2003
attr Mythz interval_allFB 300 # Internes Polling Intervall 5min
attr Mythz interval_history 28800 # Internes Polling Intervall 8h
define FileLog_Mythz FileLog ./log/Mythz-%Y.log Mythz

Ausgelesene Werte

Wenn die Verbindung und das Auslesen erfolgreich waren, sollten Werte wie allFB, firmware, history und diverse Einstellungen wie die Urlaubszeiten sowie einige PXX Werte angezeigt werden.

allFB

Beinhaltet alle aktuellen Werte wie Temperaturen von Wasser und Gas, Lüfterstatus, Drücke, usw

firmware

Zeigt die Firmware Version der Wärmepumpe.

history

Enthält Angaben zur Betriebsdauer. Beispielsweise die Anzahl der Betriebsstunden der Kompressoren.

holiday-Werte

Hier werden die aktuellen Einstellungen der Urlaubsfunktion der THZ angezeigt. Diese bewirken, dass keine Tagabsenkund (sofern programmiert) gemacht wird. Die holiday-Werte können mittels set auch angepasst werden.

last10errors

Liest die letzten 10 Fehlercodes aus und stellt diese dar.

pXX-Werte & program-Werte

Die pXX-Werte und program-Werte stellen Einstellungen wie Heizkreistemperaturen und Lüfterstufen sowie Heizungs- und Warmwasserprogramme der THZ dar. Alle pXX-Werte und program-Werte können mittels set auch angepasst werden. NEU: Jetzt sind auch Lüfterdurchsatzmengen und Pssivkühlung konfiguriertbar.

party-time

Hier wird die Uhrzeit der Party programmiert. Party-Time regelt die Lüfterstufe (p99FanStageParty) im Party-Modus. Diese kann auch angepasst werden.

Plots - Grafische Darstellung

Nachfolgend wird gezeigt wie man aus den Readings wie allFB grafische Plots erstellen kann.

Beispiel

Angenommen wir wollen aus allFB die outside_temp und die dhw_temp (dhw=domestic hot water = Warmwasser) grafisch darstellen:

In der fhem.cfg legen wir das Plot an:

define Plot_Temp SVG FileLog_Mythz:thz:CURRENT
attr Plot_Temp room Heizung

Daraufhin wird das Plot erzeugt, noch ohne Daten und evtl mit einer Fehlermeldung. Hier klicken wir dann auf den Plot-Namen um in das Plot-Konfigurationsfenster zu kommen. Hier tragen wir die entsprechenden Daten ein.

Wichtig sind nun die Input-Felder

Unterhalb der Eingabemaske befinden sich die zu Mythz gehörenden Readings die verwendet werden können. Darunter auch allFB.

Das allFB wird in etwa so aussehen:

2014-03-02_13:07:49 Mythz allFB: outside_temp: 3.8 flow_temp: 26.5 return_temp: 27.2 hot_gas_temp: 32.1 dhw_temp: 43.4 flow_temp_HC2: -60 evaporator_temp: 5.3 condenser_temp: 27.4 Mixer_open: 0 Mixer_closed: 0 HeatPipeValve: 0 DiverterValve: 0 DHW_Pump: 0
Thzplot.jpg

Um den richtigen Input zu finden zählen wir die durch Leerzeichen getrennten Daten ab. Somit ist der Wert der outside_temp an Stelle 5, die dhw_temp an Stelle 13. Diese Zahl tragen wir dann im Input-Feld ein und schon haben wir einen Plot der Daten erzeugt.

Weitere Infos zu Plots

einzelne Werte aus den Readings

Um einzelne Werte aus den großen Readings wie allFB oder history zu bekommen kann man ein

userReading verwenden. Beispiel:

attr Mythz userReadings AussenTemp {(split ' ',ReadingsVal("Mythz","allFB",0))[1]},

VorlaufTemp {(split ' ',ReadingsVal("Mythz","allFB",0))[3]}

Weitere Infos zu userReadings in der CommandRef

Hinweise

  • Ein kompletter Refresh aller Werte wird nur beim Systemstart von FHEM gemacht. Dies geschieht sehr langsam um die Performance nicht zu beeinträchtigen. Erst nachdem dieser Refresh (dauert ca. 3-4 Minuten) gelaufen ist wird das interne Polling gestartet.
  • Wenn das Refresh Inervall kürzer oder gleich ist wie der initiale Refresh kann es zu einer Überschneidung kommen was allerdings kein Problem sein sollte.

Bekannte Probleme

Im FHEM Log tauchen bei Ser2Net Verbindung häufig folgende Meldungen auf:

2014.03.02 09:41:09 1: 192.168.178.50:2003 disconnected, waiting to reappear

2014.03.02 09:41:09 1: 192.168.178.50:2003 reappeared (Mythz) Dieses Problem ist aktuell nicht gelöst.

Release History

v0.067

Erstmalige Implementierung in FHEM

v0.068

neuer Befehl f. Party implementiert

v0.069

Deutsche CommandRef hinzugefügt

v0.070

BugFix in Status Bits

v0.071

Bugfix, undefFn verbessert

v0.072

  • Alle programHC1*, programHC2*, programFan* und programDHW* sind nun mit "get" und "set" implementiert
  • inside_temp wurde am Ende von allFB hinzugefügt
  • der Ser2Net connect/disconnet Bug wurde eingedeämmt auf max 1 Logeintrag pro Sekunde

v0.074

Jetzt sind auch die Lüfterdurchsatzmengen und die Passivkühlung ausgelesen und änderbar.

Links

Launchpad Heatpumpmonitor

Forenthread im FHEM-Forum