Wärmepumpe (Buderus / Alpha Innotec / …) an Homematic

Problemlösungen und Hinweise von allgemeinem Interesse zur Haussteuerung mit HomeMatic

Moderator: Co-Administratoren

Antworten
jacek
Beiträge: 8
Registriert: 31.12.2016, 13:06

Wärmepumpe (Buderus / Alpha Innotec / …) an Homematic

Beitrag von jacek » 05.01.2017, 02:04

Hallo zusammen,
Nachdem ich mich die letzten Tage etwas mit der Ansteuerung unserer Wärmepumpe beschäftigt habe, habe ich ein kleines Tool geschrieben, mit dem man „zunächst“ Temperaturwerte aus der Wärmepumpe einfach auslesen und in der CCU abbilden kann.
Wir selbst haben eine Buderus Wärmepumpe mit einer Logamatic HMC 20-Regelung. Laut Aussage des Herstellers ist bei diesen Geräten eine Ansteuerung per Netzwerk nicht möglich. Da die Regelung allerdings baugleich ist mit den Luxtronik-Geräten von Alpha Innotec, ist es im Endeffekt doch möglich die Wärmepumpe vollständig über das Netzwerk zu steuern. Das Webinterface fehlt zwar, allerdings sind die zur Steuerung notwendigen Prozesse aktiv.
Das folgende Tool liest gewünschte Temperaturwerte aus der Wärmepumpe in Echtzeit aus und gibt diese aufbereitet aus. Die Daten können anschließend mittels CUxD und einem Universal Wrapper Device (Therm) pro Wert in der CCU dargestellt werden.

Code: Alles auswählen

Aufruf: wpthread -h IP -p PORT -d DATENPUNKT1,DATENPUNKT2,... [-b BASIS]
     -h <IP>		IP-Adresse der Wärmepumpe
     -p <PORT>		Port der Wärmepumpen-Software (Versionsabhängig: 8888 oder 8889)
     -d <DATENPUNKTE>	Komma-getrennte Liste von Datenpunkten z.B. 10 für
			Rücklauftemperatur, 15 für Außentemperatur, ...
			für weitere Datenpunkte wird hier auf das Internet verwiesen (-;
     -b <BASIS>		Wird zur ID des Datenpunktes hinzuaddiert z.B. 100.
			Dadurch können z.B. die ersten 100 IDs für 1-wire Sensoren
			freigehalten werden.
Beispielausgabe:

Code: Alles auswählen

./wpthread -h 192.168.1.133 -p 8888 -d 10,11,12,15,16,17,18,21 -b 100
110 28.80		// Rücklauf
111 28.90		// Temperatur Fußbodenheizung
112 29.20		// Rücklauf-Sollwert
115 0.40		// Außentemperatur
116 3.00		// Außentemperatur Mittelwert
117 46.60		// Warmwasser-IST
118 46.00		// Warmwasser-SOLL
Der Parameter -b erhöht die ID bei der Ausgabe um den angegebenen Wert. D.h. bei -b 100 wird vor dem Temperaturwert anstelle der ID 10 die 110 ausgeben. Da ich bereits einige 1-wire Geräte in Benutzung hatte, hätten sich sonst die IDs mit den 1-wire Geräten (bzw. mit den IDs von digitemp) überschnitten. Durch die Addition kann man einen separaten Bereich schaffen und hat somit genug Platz für 1-wire Geräte.

Mit folgendem Befehl wird die Ausgabe in die Datei /var/tmp/cuxd/digitemp2.log umgeleitet und kann damit von CUxD ausgewertet werden:

Code: Alles auswählen

./wpthread -h 192.168.1.133 -p 8888 -d 10,11,12,15,16,17,18,21 -b 100 > /tmp/cuxd/digitemp2.log 
Kurzes HowTo (installiertes CUxD vorausgesetzt):
  1. wptthread auf die CCU in das Verzeichnis /usr/local/addons/cuxd/extra/ kopieren (z.B. mittels scp bzw. bei Windows winscp)
  2. Mittels System.Exec folgenden Befehl periodisch (z.B. alle 2 Min.) ausführen:
    /usr/local/addons/cuxd/extra/wpthread -h IP -p PORT -d 10,11,12,15,16,17,18,21 -b 100 > /var/tmp/cuxd/digitemp2.log
  3. TH-DIR-Variable im Setup von CUxD setzen:
    TH-DIR=/var/tmp/cuxd/
  4. Für jeden Datenpunkt in CUxD ein Universal Wrapper Device mit der Funktion Thermostat anlegen. (Die Einrichtung erfolgt analog zur Einrichtung von 1-Wire Temperatur-Sensoren). Einen sinnvollen Namen – z.B. „TH WP Vorlauf“ vergeben.
  5. Das Gerät in der CCU konfigurieren
    • In den Geräte-Posteingang wechseln
    • Die entsprechenden Universal Wrapper-Geräte öffnen. Den Parameter WEATHER|HMSERIAL wie folgt setzen: CUX-THFILE:AUSGABE_ID.
      z.B. WEATHER|HMSERIAL für den Vorlauf bei -b 100: CUX-THFILE:110 bzw. CUX-THFILE:115 für die Außentemperatur.
    • Häckchen bei WEATHER|STATISTIC setzen
    • Mit OK speichern
    • Anschließend in der Liste die Konfiguration des Gerätes mit „Fertig“ fertigstellen.
  6. Anschließend sollte das Gerät nach einer kurzen Zeit bereits Daten liefern.
Bild

GANZ WICHTIG: BENUTZUNG AUF EIGENE GEFAHR

Da ich mich bislang erst oberflächlich mit der Homematic und CUxD beschäftigt habe, bin ich natürlich für Vorschläge wie man den einen oder anderen Punkt einfacher lösen kann, dankbar.

Aktuell stehen noch folgende Punkte auf meiner TODO-Liste als Erweiterungsmöglichkeit:
  • Auslesen von Zuständen (z.B. Verdichter ein/aus, Umweltzpumpe ein/aus, Zirkulationspumpe ein/aus)
  • Auslesen von Fehlern
  • Setzen von Werten (z.B. Erhöhen der Soll-Wassertemperatur bei PV-Überschuss, Erhöhen/Senken der Heiztemperatur über die CCU, …)
Wenn man dann noch Highcharts installiert und entsprechend konfiguriert hat, kann man interessante Dinge sehen (blau: Warmwasser-IST, rot: Vorlauf, grün: Außentemperatur):
Bild

Viel Spaß beim Ausprobieren.

Viele Grüße
Jacek
Dateianhänge
wpthread.zip
wpthread für CCU2
(6.62 KiB) 181-mal heruntergeladen

blitzquick
Beiträge: 4
Registriert: 01.01.2014, 20:36

Re: Wärmepumpe (Buderus / Alpha Innotec / …) an Homematic

Beitrag von blitzquick » 22.01.2017, 22:07

Hallo Jacek

Habe heute meine Heizung (Alpha Innotec) mit deiner Anleitung an meine CCU angeschlossen. Funktioniert wunderbar. Danke für deine Arbeit.
Hast du in der Zwischenzeit noch mehr Datenpunkte eruieren und einbinden können? Interessant wären sicherlich die Status-Meldungen.
Besten Dank zum Voraus.
Viele Grüsse
blitzquick

oreider
Beiträge: 173
Registriert: 28.12.2013, 16:23
Hat sich bedankt: 4 Mal

Re: Wärmepumpe (Buderus / Alpha Innotec / …) an Homematic

Beitrag von oreider » 23.01.2017, 10:24

Klasse Arbeit! Genau danach habe ich auch gesucht. Werde das demnächst auch bei mir testen.
Anlagenstatus bzw. anstehende Fehlermeldungen wären noch die Krönung.

Gruß
Tom

jacek
Beiträge: 8
Registriert: 31.12.2016, 13:06

Re: Wärmepumpe (Buderus / Alpha Innotec / …) an Homematic

Beitrag von jacek » 23.01.2017, 11:08

blitzquick hat geschrieben:Hallo Jacek

Habe heute meine Heizung (Alpha Innotec) mit deiner Anleitung an meine CCU angeschlossen. Funktioniert wunderbar. Danke für deine Arbeit.
Hast du in der Zwischenzeit noch mehr Datenpunkte eruieren und einbinden können? Interessant wären sicherlich die Status-Meldungen.
Besten Dank zum Voraus.
Viele Grüsse
blitzquick
Hallo blitzquick,

im Grund ist das programmiertechnisch kein Problem. Könnte das kurzfristig umsetzen. Mein Problem ist allerdings, dass ich nicht besonders CUxD erfahren bin und aktuell auch keine Zeit habe mich damit zu beschäftigen. D.h. wie bekommen wir die Werte nun an die richtige Stelle. Bei den Temperaturen war es aufgrund der Digitemp-Unterstützung kein Problem. Wie bekommen wir aber Zustände möglichst sinnvoll und effizient in das System?

Das Protokoll zur Wärmepumpe überträgt pro Abfrage den gesamten Datenbestand. D.h. es werden mehrere 100 Datenpunkte geliefert. D.h. wenn ich nur die Außentemperatur haben möchte, erhalte ich alle Werte übermittelt. Ich filtere dann im Endeffekt die Ausgabe anhand des Parameters -d. Das bedeutet für eine effiziente Implementierung im Umkehrschluss, dass eine Abfrage gleich alle angegebenen Werte im CUxD-Gerät setzen muss. Um das Abfrage-Tool möglichst einfach und universell zu halten, ist eine Ausgabe auf stdout (wie aktuell implementiert) ebenfalls weiterhin sinnvoll.
Analog zur aktuellen Temperaturabfrage könnte man z.B. mit wpthread -h IP -p PORT -s 5,10,17 (-s anstelle von -d für Status anstelle für die Temperatur) den Status für die Datenpunkte 5,10,17 auslesen und folgende Ausgabe erhalten:

Code: Alles auswählen

5 1    	// Zustand Datenpunkt 5 ist 1
10 0 	// Zustand Datenpunkt 10 ist 0
17 1 	// Zustand Datenpunkt 17 ist 1
Wie bekommen wir diese Ausgabe (oder eine anders formatierte Ausgabe) nun in CUxD?

Für Unterstützung wäre ich dankbar.

Viele Grüße

Jacek

blitzquick
Beiträge: 4
Registriert: 01.01.2014, 20:36

Re: Wärmepumpe (Buderus / Alpha Innotec / …) an Homematic

Beitrag von blitzquick » 28.01.2017, 22:06

Hallo Jacek

Ich glaube, dass du eine TXT-Datei analog einer XML-Datei erstellen solltest. Es gibt Beispiele, im Forum, bei welchem diverse Texte und Werte ausgelesen werden können. Als Beispiel nenne ich 'Aktuelles Wetter über wunderground.com'
Auszug aus dem XML-File:

Code: Alles auswählen

          <forecastday>
                <period>1</period>
                <icon>nt_clear</icon>
                <icon_url>http://icons.wxug.com/i/c/k/nt_clear.gif</icon_url>
                <title>Samstag Nacht</title>
                <fcttext><![CDATA[Meistens klar. Es wird starker Frost erwartet. Tiefsttemperatur 25F. Wind aus SW und wechselhaft.]]></fcttext>
                <fcttext_metric><![CDATA[Meistens klar. Es wird starker Frost erwartet. Tiefsttemperatur -4C. Wind aus SW und wechselhaft.]]></fcttext_metric>
                <pop>10</pop>
                </forecastday>
Abgeleitet davon könntest du folgende Gliederung erstellen

Code: Alles auswählen

<datenpunkt>5</datenpunkt>
<beschreibung>Verdichter 1 on/off</beschreibung>
<wert>1</wert>
<datenpunkt>10</datenpunkt>
<beschreibung>WP seit</beschreibung>
<wert>00:43:34</wert>
etc.
Ich traue es mir zu, aufgrund einer solchen Datei diese Werte auszulesen und in SV abzulegen.
Aber ja, ich bin mir bewusst, dass die Erstellung eines solchen Files nicht unbedingt einfach zu realisieren ist. Aber interessant wäre es auf alle fälle.

Viele Grüsse und vielen Dank für deine Bemühungen
blitzquick

blitzquick
Beiträge: 4
Registriert: 01.01.2014, 20:36

Re: Wärmepumpe (Buderus / Alpha Innotec / …) an Homematic

Beitrag von blitzquick » 28.01.2017, 22:14

Hallo Jacek

Habe in der Zwischenzeit ein Problem.
In deiner Anleitung unter Punkt 3 schreibst du:
TH-DIR-Variable im Setup von CUxD setzen:
TH-DIR=/var/tmp/cuxd/

Dieses Verzeichnis hat bei mir das Problem, dass es nach einem Reboot der CCU nicht mehr existiert und ich dieses jedesmal neu mit mkdir erstellen muss, damit die Logdatei wieder angelegt werden kann. In der Zeit, in der dieses Verzeichnis nicht existiert, füllt es mir die syslog der ccu mit der Fehlermeldung, dass dieses TH-DIR nicht existiere. Zudem werden logischerweise während dieser Zeit keine Werte der Wärmepumpe mehr aktualisiert.

Kannst du diesen Umstand nachvollziehen? Was könnte ich machen, dass dieses Verzeichnis nicht mehr gelöscht wird?`

Danke für deine Bemühungen.

Viele Grüsse
blitzquick

Benutzeravatar
Bernd-Joras
Beiträge: 730
Registriert: 26.03.2016, 09:33
Hat sich bedankt: 34 Mal
Danksagung erhalten: 40 Mal

Re: Wärmepumpe (Buderus / Alpha Innotec / …) an Homematic

Beitrag von Bernd-Joras » 21.03.2018, 18:21

Hallo an Alle …
Gibt es hier ggf. weitere aktuellere Informationen und/oder Ratschläge?

Ich habe vor meine „alpha innotec Wärmepumpe“ (WP FW Version 1.8 ) mittels Homematic zu überwachen bzw. abzufragen.
Es geht nur darum, hier rechtzeitig Störungen an der WP zu erkennen und dann Meldungen zu erzeugen.
Dazu habe ich die WP nun schon am Netzwerk und kann auch mittels PC auf den in der WP integrierten Webserver zugreifen.
Jetzt kommt der knifflige Teil, wie frage ich den Webserver, bzw. einen bestimmten Wert/ Status ab.
Kann mir bitte einer der "Sehenden" einen Schubs in die richtige Richtung geben?

Danke vorab, Bernd
2 Standorte mit je RPi3B+ RaspberryMatic 3.73.9.20240130 / RPI-RF-MOD | Externe USB-Platinen Antenne | 2x LAN_RF_GW | 1x LAN_RS485_GW | ca. 170 Geräte davon 35x IP | ca. 250 Programme |>600 Kanäle | Addons: CUX-Daemon, XML-API, hm_pdetect, E-Mail, CCU-Historian

Antworten

Zurück zu „HomeMatic Tipps & Tricks - keine Fragen!“