qrdn

quite random domain name

Sep 29, 2025

Wolf Wärmepumpe auslesen

Wie erfasse ich den Stromverbrauch (und weitere Metriken) meiner Wolf Wärmepumpe?

Eingebaut ist eine "CHA-07/400V" Monoblock-Wärmepumpe, und im Steuergerät ein "WolfLink Pro" zur Digitalisierung.

Wolflink verbinden mit Netzwerk

Gemäß Anleitung ohne Smartset App möglich:

Das Gerät spannt einen WLAN Acccess Point auf, mit dem verbinden und dann auf http://192.168.1.1 navigieren.

Die MAC-Adresse vom Access Point deutet auf einen ESP Microcontroller hin, das erklärt das instabile WLAN. Evtl hilft es, Hintergrund-Dienste zu pausieren, die bei Netzverbindung versuchen ins Internet zu kommen (Nextcloud client etc). Android mag WLANs ohne Internet auch nicht gerne.

Ethernet-Port hat das ding auch, bei dem funktioniert die Verbindung einwandfrei und zuverlässig. Ab Werk muss man da nur DHCP liefern, und dann halt die IP Adresse per http ansteuern die der Wolflink darüber bekommen hat.

Wolflink konfigurieren

HTTP Basic Auth

  • Benutzername: admin
  • Passwort: Steht auf der Rückseite, ist das gleiche wie fürs WLAN

Das Gerät meldet sich per DHCP als "wolflink", wenn der DHCP-Server den Namen über DNS auflöst braucht man keine IP zu suchen/pflegen.

Das Webinterface ist scheinbar immer per LAN und WLAN erreichbar.

Die Wolflink Website hat 3 Unterseiten:

Status page

General Info

  • Serial number: xxxxxxxxxxxx
  • Firmware version: 4.50.0
  • System name: NameIConfiguredMyself

Network

  • Ethernet status: Not connected
  • Ethernet MAC address: 04:83:08:xx:xx:xx
  • Wi-Fi status: Connected
  • Wi-Fi MAC address: 04:83:08:xx:xx:xx
  • Wi-Fi SSID: MyHomeWIFI
  • IP address: 1.2.3.4
  • Access point: Active
  • Access point SSID: WOLFLINK-xxxxxx
  • Smartset portal status: Connected
  • Local connection status: Not connected

Bus

  • eBus: Connected
  • ModBus: Not connected

Netzwork page

(passwort-geschützt, siehe "Basic auth" oben)

  • Zeigt WLAN SSIDs deren Beacons vom Wolflink empfangen werden.
  • Erlaubt ein WLAN zu konfigurieren mit SSID, Password und Auth (WEP, WPA, WPA2 Personal, WPA3 Personal, WPA/WPA2 Personal, WPA2/WPA3 Personal), sowie DHCP oder statische IP zu setzen.
  • Erlaubt den eingebauten Access Point zu deaktivieren.
  • "Start WPS" button

Settings page

  • Checkbox "Enable internet connection to the WOLF Smartset portal server" (ab Werk aus)
  • Password Ändern-Box
  • System Name
  • Reboot button

Daten auslesen ohne Cloud

"Wolflink pro" ist wohl das gleiche wie ISM7e: https://forum.iobroker.net/topic/73491/wolf-link-home-ism7i-ism8i-was-ist-n%C3%B6tig

Dafür hat jemand C# Software geschrieben, die von dem Gerät die Metriken ausliest: https://github.com/zivillian/ism7mqtt. Laut Quellcode wird dafür über Port 9092 oder 9091 mit XML Daten kommuniziert.

Das funktioniert auch entsprechend Anleitung:

podman run -it --rm --entrypoint /bin/sh --name ism7config zivillian/ism7mqtt:latest
$ /app/ism7config --help  # hiermit die config Datei erzeugen
# in einem anderen Terminal auf dem host die config Datei extrahieren:
# podman cp ism7config:/app/parameter.json ./ism7-parameter.json
podman run -it --rm -e ISM7_MQTTHOST=nas.home.arpa -e ISM7_IP=wolflink.home.arpa -e ISM7_PASSWORD=stehtAufDemAufkleber -v ./ism7mqtt.parameter.json:/app/parameter.json:Z zivillian/ism7mqtt:latest

Stirbt dann aber:

System.IO.InvalidDataException: timeout
   at ism7mqtt.Ism7Client.OnInitialValuesAsync(IResponse response, CancellationToken cancellationToken) in /app/ism7mqtt/ISM7/Ism7Client.cs:line 297
   at ism7mqtt.ResponseDispatcher.DispatchAsync(IResponse response, CancellationToken cancellationToken) in /app/ism7mqtt/ISM7/ResponseDispatcher.cs:line 32
   at ism7mqtt.Ism7Client.ReadPipeAsync(PipeReader source, CancellationToken cancellationToken) in /app/ism7mqtt/ISM7/Ism7Client.cs:line 191
System.Net.Sockets.SocketException (125): Operation canceled
   at System.Net.Sockets.Socket.AwaitableSocketAsyncEventArgs.ThrowException(SocketError error, CancellationToken cancellationToken)
   at System.Net.Sockets.Socket.AwaitableSocketAsyncEventArgs.System.Threading.Tasks.Sources.IValueTaskSource<System.Int32>.GetResult(Int16 token)
   at ism7ssl.Ism7SslStream.ReadAsync(Memory`1 buffer, CancellationToken cancellationToken) in /app/ism7ssl/Ism7SslStream.cs:line 154
   at ism7mqtt.Ism7Client.FillPipeAsync(PipeWriter target, CancellationToken cancellationToken) in /app/ism7mqtt/ISM7/Ism7Client.cs:line 145

Verpacken in einer shell-loop hilft, aber evtl sehe ich deshalb nicht alle Metriken auf dem MQTT Bus (händisch hübsch formatiert):

$ mosquitto_sub -h nas.home.arpa -F '@Y-@m-@dT@H:@M:@S@z %t %p' -q 2 -t 'Wolf/#'
2025-09-29T22:46:34+0200 Wolf/wolflink.home.arpa/BM-2_0x35
{
  "Funktion des Bedienmoduls": { "value": 0, "text": "System" },
  "Zeitprogramm Zirkulation Heizgerät": { "value": 1, "text": "1" },
  "Raumeinflussfaktor": 4,
  "Außenfühler gemittelt Berechnungszeitraum": 3,
  "Antilegionellenfunktion": { "value": 0, "text": "Aus" },
  "Freigabe Parallelbetrieb": { "value": 0, "text": "Aus" },
  "Raumtemperaturabhängige Abschaltung": { "value": 1, "text": "Ein" },
  "Absenkstopp": -16,
  "Warmwasserminimaltemperatur": 45,
  "PI-Regler Raumtemperatur Kp": 20,
  "PI-Regler Raumtemperatur Tn": 1,
  "Startzeit Antilegionellenfunktion": "18:00:00",
  "Uhrzeit": "22:46:00",
  "Datum": "09/29/2025 00:00:00",
  "Partymodus": { "value": 0, "text": "Deaktiviert" },
  "Urlaubsmodus": { "value": 0, "text": "Deaktiviert" },
  "Anforderung Lüftung": { "value": 8, "text": "Automatik AUS" },
  "1x Warmwasser": { "value": 0, "text": "Aus" },
  "BUSCONFIG_Erkannte-Geraete-Low-Byte": 256,
  "BUSCONFIG_Erkannte-Geraete-High-Byte": 0,
  "BUSCONFIG_Softwareversion": 330,
  "BUSCONFIG_Sollwertkorrektur": -1,
  "SmartHome System": { "value": 0, "text": "keine Verbindung" },
  "Freigabe SmartHome": { "value": 1, "text": "Ein" },
  "Außentemperatur": 15.2,
  "Wartungsmeldung": { "value": 0, "text": "Aus" },
  "BUSCONFIG_Vereinfachter-Modus": 0,
  "Programmwahlschalter gemeinsam": { "value": 1, "text": "Ein" },
  "Anpassung Raumfühler BM-2 0": 0,
  "Korrektur Außentemperatur": 0,
  "BUSCONFIG_SmartHome-System": 0,
  "BUSCONFIG_Programmwahlschalter-Gemeinsam": 1,
  "Firmware": 3.3,
  "Uhrzeit Ende": { "330000": "01:46:00", "330006": "01:46:00" },
  "Datum Ende": { "330001": "09/30/2025 00:00:00", "330007": "09/30/2025 00:00:00" },
  "Uhrzeit Start": { "330002": "22:46:00", "330008": "22:46:00" },
  "Datum Start": { "330003": "09/29/2025 00:00:00", "330009": "09/29/2025 00:00:00" },
  "Uhrzeit BM2": { "330004": "22:46:00", "330010": "22:46:00" },
  "Datum BM2": { "330005": "09/29/2025 00:00:00", "330011": "09/29/2025 00:00:00" }
}
2025-09-29T22:46:34+0200 Wolf/wolflink.home.arpa/DHK_BM-2_0x35
{
  "Raumtemperatur": { "340000": -3276.8, "340041": -3276.8 },
  "Gemittelte Außentemperatur": 16.8,
  "Anforderung Heizkreis": { "value": 8, "text": "Automatik aus" },
  "Heizkreis Status": { "value": 5, "text": "AT Abschaltung" },
  "Sparfaktor": 4,
  "Winter/Sommer Umschaltung": 17,
  "ECO/ABS": 10,
  "Tagtemperatur": { "340009": 20, "340035": 20, "340040": 20 },
  "Raumeinfluss": { "value": 0, "text": "Aus" },
  "Vorlauftemperatur": 37,
  "Sockeltemperatur Heizkurve": 30,
  "Startpunkt Heizkurve": 20,
  "Normaußentemperatur Heizkurve": -16,
  "Vorlauftemperatur Heizkurve": 65,
  "Zeitprogramm": { "value": 1, "text": "1" },
  "Sollwertkorrektur": { "340026": -1, "340031": -1 },
  "Programmwahl": {
    "340029": { "value": 1, "text": "Auto" },
    "340032": 1
  },
  "Reglertyp": 1,
  "aktuelle Kreisart in Kombination mit Heizgerät": { "value": 0, "text": "Heizkreis" },
  "Raumeinfluss Kühlen": { "value": 0, "text": "Aus" },
  "Kühlkurve global": 0
}
2025-09-29T22:46:34+0200 Wolf/wolflink.home.arpa/WWSystem_BM-2_0x35
{
  "Warmwasser Status": { "value": 9, "text": "Aus" },
  "Zeitprogramm": { "value": 1, "text": "1" },
  "Warmwassersolltemperatur eingestellt": { "350009": 45, "350014": 45 },
  "Programmwahl": {
    "350012": { "value": 1, "text": "Auto" },
    "350015": 1
  }
}

Auch wenn der Hersteller es wohl nicht supporten mag: https://forum.iobroker.net/topic/73491/wolf-link-home-ism7i-ism8i-was-ist-n%C3%B6tig/2

Das ISM7 kann wohl nur eine Verbindung, d.h. während ism7mqtt läuft kann man die SmartSet App und Cloud nicht nutzen: https://www.heizungsforum.de/threads/ism7i-linkhome-oder-linkpro-fuer-cgb-20.10994/#post-371729.

Daten auslesen mit Cloud

  • Daten an die Cloud senden erlauben im wolflink webinterface
  • Auf https://www.wolf-smartset.com/ einen Account anlegen mit username, Vorname, Nachname, E-Mail, Land
  • Eingeloggt dann die Seriennummer und das Passwort des Wolflink eingeben
  • Sofort erscheint es in der "Anlagenliste" mit einem Wolken-Icon das signalisiert ob es Daten an die Cloud schickt
  • Klick auf "Öffnen" zeigt die geschickten Werte und ermöglicht Anpassung diverser Parameter
  • Für Detais muss man ggf das Fachmann-Passwort eingeben, das ist ab Werk 1111
  • Browser-Entwicklertools verraten, dass alle 10 Sekunden von https://www.wolf-smartset.com/portal/api/portal/GetParameterValues ein JSON mit den aktuellen Messwerten abgerufen wird, das aber nur die aktualisierten Werte enthält, also meistens leer ist (bis auf einen Zeitstempel "LastAccess").

Home Assistant Integration

https://www.home-assistant.io/integrations/wolflink/ liest die Daten aus der Wolf Smartset Cloud aus.

Stromverbrauch messen

Von ISM7 und Smartset Cloud kommen die interessanten Energie-Messwerte:

  • Leistungsaufnahme (WP + EHZ) in kW
  • Energiemenge HZ, ID 270059 in kWh
  • Energiemenge WW, ID 270060 in kWh
  • Erzeugte Wärmemenge aktueller Monat, ID 270163 in kWh
  • Erzeugte Wärmemenge aktuelles Jahr, ID 270165 in kWh

Energiemenge HZ plus Energiemenge WW sind genau die Erzeugte Wärmemenge im aktuellen Zeitraum, also wohl auch kein Stromverbrauch. Laut https://forum.iobroker.net/topic/71084/wolf-cha-10-verbrauchsdaten-erfassen zählt das Gerät auch selbst keinen Strom. Bei max. 10-sekündiger Aktualisierung des Wertes aktuelle Leistungsaufnahme bringt es wohl auch nichts, diesen Wert zu integrieren, siehe auch https://www.photovoltaikforum.com/thread/183019-erfahrungen-mit-der-wolf-cha/?postID=4457326&highlight=ism7%2Bstrom#post4457326 (der ganze Thread von mehreren hundert Posts hat wahrscheinlich viele Infos zu dem Gerät).

Also braucht es für die Erfassung des Stromverbrauchs der Wärmepumpe dann wohl einen extra 3-Phasen-Zähler, zB einen Shelly 3EM. Evtl. ändert sich daran ja demnächst was mit der neuen Photovoltaik-Integration qua Gesetz: https://www.baulinks.de/webplugin/2025/1327.php4 "Sie unterstützen die EEBus-Anwendungsfälle Monitoring of Power (MPC) und Limitation of Power Consumption (LPC)" Herstellerinfo: https://www.wolf.eu/de-de/professional/wissensmanagement/heizung/energiemanagement-waermepumpe#toc4 und verlinkt https://oxomi.com/p/2024876/catalog/4802251?oxDeeplink=e30%3D

Mär 20, 2025

Heizkurve optimieren

Zielsetzung Energieverbrauch minimieren, dafür Vorlauftemperatur minimieren

  • Wärmepumpe arbeitet umso effizienter, je geringer der Temperaturhub ist. Vorlauf > 55°C gilt als ineffizient
  • (Gas)Brennwertgerät: Erhöht Effizienz (ggü Heizwertgerät), indem Wasserdampf kondensiert wird, der bei Verbrennung entsteht (bei Gas mehr als bei Öl wegen mehr Wasserstoff-Atomen). Dies umso besser/mehr möglich, je geringer die Temperatur am Wärmetauscher ist, und über 57°C nicht möglich. Der Wärmetauscher hat Rücklauftemperatur, diese ist um so niedriger je geringer die Vorlauftemperatur ist (weil Heizkörper nur begrenzte Menge Wärme abgeben können).

https://www.zukunftaltbau.de/ee-fit https://www.viessmann.de/de/wissen/technik-und-systeme/gas-brennwertkessel/funktion.html

Luftfeuchte

Die relative Luftfeuchtigkeit sollte in der Heizperiode nicht über 60 bis 65 Prozent liegen

  • Gebäudeklima "früher": Durch Fenster-/Türschlitze zieht kalte Luft rein. Heizung sehr heiß um angenehme Temperatur zu erreichen (+ Strahlungswärme steigert Komfort), zB Holzofen. Recht warme Abgase ziehen Wärmeenergie "zum Schornstein raus", nehmen Luftfeuchte mit.

  • Gebäudeklima heute: Minimierung von Wärme-Energie-Verlusten durch bessere Dämmung ("zugeklebt") und geringe Abgastemperaturen (soweit vorhanden) → kein (Kamin)Zug mehr. Anfallende Feuchte (Kochen, Duschen, Wäschetrocknen, Atmen) muss anders entfernt werden → Lüftungsanlage mit Energierückgewinnung (Wärmetauscher).

https://www.zukunftaltbau.de/eigentuemer/heizung-erneuerbare-energie/richtig-heizen-und-lueften (TODO: Quellen für alles)

Heizkurve optimieren

Optimierung Heizkurve:

  • Raumtemperatur generell zu niedrig: Niveau erhöhen
  • insbesondere an kalten Tagen zu niedrig: Neigung erhöhen
  • in der Übergangszeit zu gering, an kalten Tagen ok: Niveau erhöhen, Neigung senken
  • in der Übergangszeit zu hoch, an kalten Tagen ok: Niveau senken, Neigung erhöhen

Heizkurve bei Buderus RC35

Fußpunkt: bei 20°C Außentemperatur 20°C Vorlauf-Soll. (Angepasst über Raumtemperatur-Soll: dessen Abweichung zu 20°C = Parallelverschiebung)

Steigung: Vorlauf-Soll bei Auslegungstemperatur. Auslegungstemperatur einzustellen in Anlagendaten.

Nachtabsenkung sinnvoll?

In schlecht gedämmten Häusern: ja https://www.energie-experten.org/heizung/heizungstechnik/heizungssteuerung/nachtabsenkung