TapHome

Husdata H66 – Wärmepumpe IVT Rego 2000 (HTTP API)

Packet Parser → HTTP
Eingereicht von
Zuletzt aktualisiert: 10. 2026

Erfordert externes Gateway

Husdata H66 with cable 10 (local HTTP API) — Produktseite

Husdata H66 – Wärmepumpe IVT Rego 2000 (HTTP API)

Die Vorlage Husdata H66 – IVT Rego 2000 verbindet TapHome über ein Husdata-H66-Gateway mit einer IVT- oder Bosch-Wärmepumpe mit dem Regler Rego 2000. Das H66 sitzt mit dem Husdata-Schnittstellenkabel 10 am EMS-Bus der Wärmepumpe und verbindet sich über WLAN oder Ethernet mit dem Heimnetz. TapHome kommuniziert mit dem H66 über dessen lokale HTTP REST API (Port 80, JSON); eine Cloud-Verbindung ist nicht nötig, und zwischen Wärmepumpe und TapHome gibt es keine Verkabelung.

Die Vorlage liest die Außen-, Vorlauf-, Wärmeträger-, Raum- und Warmwassertemperatur, den Kompressor- und Alarmstatus und die Energiezähler. Sie setzt den Heiz-/Kühlmodus sowie den Raum- und Kühlsollwert des Heizkreises 1, das Warmwasserprogramm, Extra-Warmwasser und die vier externen Eingänge der Wärmepumpe.

Community-Vorlage — noch nicht mit TapHome getestet. Die Vorlage wurde im TapHome-Portal aus der Husdata-Variablenliste C10 und zwei Antworten des Husdata-Supports erstellt; an einer realen Installation wurde sie noch nicht überprüft, und Erfahrungen aus der Praxis sind willkommen. Laden Sie das XML auf dieser Seite herunter oder holen Sie es im TapHome-Portal: Husdata H66 – IVT Rego 2000 — Community-Vorlage, und importieren Sie es als neues Modul.

Kompatible Wärmepumpen und Regler

Kabel 10 ist die Husdata-Schnittstelle für die IVT-/Bosch-Regler Rego 2000 und Rego 3000 / 3100; die Husdata-Installationsanleitung dazu nennt IVT Geo, Air X, Vent 202, Airbox und Bosch Compress 7000 LWM und AW. Diese Vorlage ist für den Rego 2000 geschrieben — den Regler mit Schwarz-Weiß-Display und Tasten, den die Husdata-Variablenliste HMC nennt:

  • IVT AirX, Geo und AirSplit mit Rego 2000
  • Bosch-Wärmepumpen mit Rego 2000 (Pro Control 600)

Der Rego 3000 / 3100 mit farbigem Touch-Display (HMI) verwendet für das Warmwasserprogramm andere Werte und wird nicht abgedeckt. Die Vorlage deckt Heizkreis 1 und das Warmwasser ab; Heizkreis 2 (Mischermodul MM100) und der Pool (Modul MP100) gehören nicht dazu.

Welche Werte eine Wärmepumpe meldet, hängt von Typ und Zubehör ab; die HOME-Seite des H66 listet die Werte der angeschlossenen Pumpe mit ihren IDX-Nummern. Die Innentemperatur gibt es nur mit einem verdrahteten Raumfühler, den Kühlsollwert nur mit installiertem und freigegebenem Kühlkreis, die Leistungsaufnahme nur bei neueren Pumpen und die externen Eingänge nicht bei Abluftwärmepumpen (Vent).

Hardware-Anschluss

H66-Gateway und Kabel 10

Das H66 wird als Haupteinheit zusammen mit dem Kabel für die Wärmepumpe verkauft — bestellen Sie es mit Kabel 10.

VarianteArtikelnummerNetzwerk
H66 WiFi GatewayH66WLAN 802.11 b/g/n, 2,4 GHz
H66 Ethernet + WiFi GatewayH66-EthEthernet 100 Mbit/s und WLAN 2,4 GHz

Beide erhalten ihre IP-Adresse per DHCP oder verwenden eine feste IP. Öffnen Sie vor dem ersten Start das Gehäuse des H66 und stecken Sie Kabel 10 an die Haupteinheit; die Kabelaussparung im Gehäuse zeigt die Richtung. Ein Kabel 10 des älteren Husdata H60 funktioniert ohne Umbau nicht mit dem H66.

Anschluss von Kabel 10 an den Rego 2000

Die ältere Version von Kabel 10 hat einen 3,5-mm-Klinkenstecker; die aktuelle wird mit drei Adern direkt an die EMS-Klemmleiste angeschlossen. Husdata hat die Bauart geändert, weil einige 3,5-mm-Buchsen ab Werk falsch verdrahtet waren, was H66-Geräte zerstört hat.

  1. Schalten Sie die Wärmepumpe stromlos und öffnen Sie die Frontabdeckung.
  2. Suchen Sie die graue Haupteinheit und ihre mit EMS beschriftete Klemmleiste.
  3. Schließen Sie die drei Adern parallel zu den Adern an, die bereits an der Klemmleiste sitzen:
AderFunktionKlemmeAlternative Klemme
WeißEMS-Daten2320
BlauMasse2419
Violett+12 V2530
  1. Stecken Sie das Schnittstellenmodul in das H66, schließen Sie die Frontabdeckung und schalten Sie die Wärmepumpe ein.

Das Foto der Klemmleiste in der Husdata-Installationsanleitung zeigt die Adern an den Klemmen 23 BBT, 24 BBT gnd und 25 BBT 12VDC; die Alternativen sind mit 20 EMS, 19 EMS gnd und 30 OUT 12VDC beschriftet. Die Adern, die bereits an den Klemmen 23–25 sitzen, führen nur zu einem Servicestecker und dürfen entfernt werden.

Kabel 10 versorgt das H66 aus der Wärmepumpe (+12 V an der violetten Ader), ein externes Netzteil ist daher nicht nötig. Das H66 nimmt bei 12 V 60 mA auf (0,8 W).

Schließen Sie kein Netzteil und keinen Computer an den USB-C-Anschluss des H66 an, solange es an der Stromversorgung der Wärmepumpe hängt — das kann den Computer, das H66 und die Wärmepumpe beschädigen. Wird der USB-Anschluss benötigt, trennen Sie zuerst die violette Ader (+12 V) vom Schnittstellenmodul.

Die TapHome-Steuereinheit Core erreicht das H66 über das lokale Netzwerk über seine IP-Adresse. WLAN braucht an der Wärmepumpe ein gutes Signal; Husdata empfiehlt für das H66 ein eigenes 2,4-GHz-WLAN (bei UniFi-Geräten „802.11 DTIM Period“ von Auto auf 3 stellen). Wo das Signal schwach ist, wird die Ethernet-Variante per Netzwerkkabel angeschlossen.

Konfiguration

Erster Start des H66
  1. Schalten Sie die Wärmepumpe ein. Die grüne LED des H66 blinkt schnell — das H66 ist im Access-Point-Modus. Falls nicht, halten Sie die Taste INIT 2 Sekunden gedrückt.
  2. Verbinden Sie ein Telefon oder einen Computer mit dem WLAN „Husdata H66“ (ohne Passwort) und öffnen Sie husdata.net im Browser.
  3. Geben Sie SSID und Passwort des Heim-WLANs ein (beides unterscheidet Groß- und Kleinschreibung) sowie eine E-Mail-Adresse — das H66 schickt dann bei jedem Start seine IP-Adresse dorthin. Klicken Sie auf SAVE AND RESTART.
H66-Einstellungen für TapHome

Öffnen Sie die Weboberfläche des H66 über seine IP-Adresse und stellen Sie ein:

EinstellungWertWarum
API_ENABLED2 (Lesen/Schreiben)Der Standardwert 0 schaltet die API aus. 1 ist nur Lesen — die Werte erscheinen, aber jeder Schreibzugriff aus TapHome schlägt fehl.
DHCP_ENAB mit FIXED_IP, FIXED_SUB, FIXED_GW, FIXED_DNS0 und eine feste Adresse, oder DHCP beibehalten und die Adresse im Router reservierenDie Vorlage spricht das H66 über seine IP-Adresse an; Husdata dokumentiert keinen mDNS-Namen dafür.
WEB_PORT80 (Standard)Die Vorlage verwendet Port 80. Wurde WEB_PORT geändert, ändern Sie nach dem Import den Port des Moduls in TapHome.

Starten Sie das H66 nach einer Änderung von API_ENABLED neu (Reset-Taste an der Seite) — die Änderung wirkt erst nach einem Neustart. Die IP-Adresse des H66 steht im Router und in der Start-E-Mail; ein kurzer Druck auf INIT lässt beide LEDs ihre letzte Ziffer blinken.

Reglertyp HMC. Die Husdata-Variablenliste C10 verlangt, den Reglertyp (HMI / HMC) in den H66-Einstellungen zu setzen, und die Vorlage erwartet HMC, den Typ des Rego 2000. Keine Husdata-Quelle nennt diese Einstellung oder sagt, wo sie ist — die Erklärung der Einstellungen im H66-Handbuch führt sie nicht auf. Bietet Ihr H66 eine Auswahl HMI / HMC, wählen Sie HMC.

Webpasswort. WEB_PASS schützt die Webseiten des H66. Die Vorlage sendet keine Zugangsdaten, und Husdata dokumentiert nicht, ob das Webpasswort auch für die API gilt — das ist nicht überprüft. Die Husdata-API-Dokumentation zeigt, dass /api/status die Konfiguration des H66 einschließlich des Webpassworts zurückgibt; halten Sie das H66 deshalb nur im lokalen Netzwerk erreichbar und leiten Sie seinen Port nicht ins Internet weiter.

ImportparameterBeschreibung
IpAddressIP-Adresse des Husdata H66 (Platzhalter 192.168.1.100)
Wärmepumpeneinstellungen für Kühlen

Kühlen ist der Wert Kühlen des Geräts Betriebsmodus (IDX 2202 = 3). Dieser Wert steht nicht in der Husdata-Liste C10 — er stammt aus einer Antwort des Husdata-Supports und wurde noch nicht mit TapHome getestet. Die Wärmepumpe muss dafür vorbereitet sein:

  • „Cooling Heating“ muss im Servicemenü der Wärmepumpe freigegeben sein (Husdata-Support). Das ist eine Installateureinstellung der Wärmepumpe, nicht des H66.
  • In der IVT-Installateuranleitung des AirModule E 9/15 (Inneneinheit der IVT AirX) ist Kühlen eine Kreisfunktion — „Cooling“ oder „Heating and cooling“ (Servicemenü › Set heating/cooling › Circuit 1) —, und die Anleitung sagt: „If cooling mode is used, a room controller is a must.“ Der Raumregler (CR10 oder CR10H) wird als Bedieneinheit des Heizkreises 1 ausgewählt.
  • Die Anleitung empfiehlt Kondensationsfühler und eine Kondensationsisolierung aller Rohre, weil Kühlen unter den Taupunkt zu Kondensation an Boden und Rohren führt; ein CR10H mit Feuchtefühler lässt den Regler die Vorlauftemperatur an den Taupunkt anpassen. Die Anleitung ist die britische Ausgabe von 2014 (beim britischen Modell ist Kühlen deaktiviert), daher können Menünamen abweichen.

Im Modus Auto wechselt die Wärmepumpe nach der Außentemperatur zwischen Heizen und Kühlen; die IVT-Standardwerte sind Heizen unter 17 °C und Kühlen über 28 °C.

Wärmepumpeneinstellungen für die externen Eingänge

Das H66 simuliert ein Signal an den vier externen Eingängen der Wärmepumpe (IDX 2233–2236). Was ein Eingang sperrt, wird an der Wärmepumpe eingestellt:

  1. Halten Sie die Menu-Taste gedrückt, um ins Servicemenü zu gelangen.
  2. Wählen Sie Heat pump › External inputs (in der IVT-Installateuranleitung External connections).
  3. Wählen Sie den Eingang und was er sperren soll — zum Beispiel den Zuheizer an Eingang 1 und das Warmwasser an Eingang 2.

Die IVT-Installateuranleitung bietet das Sperren von Kompressor, Warmwasser, Heizen, Kühlen oder Zuheizer an. Ihr Servicemenü konfiguriert nur die externen Anschlüsse 1–3, daher kann Eingang 4 bei manchen Anlagen ohne Wirkung sein. Abluftwärmepumpen (Vent) haben keine externen Eingänge.

Gerätefunktionen

Heizkreis 1
  • Betriebsmodus — Aus, Auto, Dauerheizen oder Kühlen. Im Modus Auto wechselt die Wärmepumpe nach der Außentemperatur zwischen Heizen und, wenn freigegeben, Kühlen. Kühlen braucht die Wärmepumpeneinstellungen oben und ist nicht mit TapHome getestet.
  • Raumthermostat — die Temperatur des verdrahteten Innenfühlers und der Raumtemperatur-Sollwert, den der Regler mit einem Innenfühler und/oder mit dem Display im Modus Manual oder Optimized verwendet. Ohne verdrahteten Fühler zeigt das Gerät eine Warnung und nur den Sollwert, der weiter funktioniert.
  • Kühltemperatur — Kühlsollwert, lesbar und schreibbar; nur eine Wärmepumpe mit installiertem und freigegebenem Kühlkreis hat ihn.

Die Vorlage schreibt beide Sollwerte ohne Bereichsgrenzen, und keine Quelle nennt die Bereiche, die der Rego 2000 annimmt — halten Sie die Werte in dem Rahmen, den das Display der Wärmepumpe erlaubt. Betriebsmodus 1 (Optimized / Auto nach Zeitprogramm), die Heizkurve und die Leistungsgrenzen des Servicemenüs bleiben an der Wärmepumpe. Die Vorlage nutzt die Raumregler-Emulation des H66 nicht, die eine Raumtemperatur aus der Hausautomation in die Wärmepumpe einspeisen kann.

Temperaturen
  • Außentemperatur
  • Vorlauftemperatur — das Wasser, das zu den Heizkörpern oder zur Fußbodenheizung fließt
  • Wärmeträger-Vorlauf und Wärmeträger-Rücklauf — der interne Wärmeträgerkreis der Wärmepumpe
  • Warmwassertemperatur — oberer Fühler des Warmwasserspeichers; sein Service-Attribut Warmwasser-Sollwert zeigt die Zieltemperatur, wie der Regler sie meldet

Das H66 sendet Temperaturen in Zehntelgrad und negative Werte als vorzeichenlose 16-Bit-Zahlen; die Vorlage rechnet sie in °C mit einer Auflösung von 0,1 °C um.

Warmwasser
  • Warmwasserprogramm — Aus, ECO oder Comfort. ECO lässt den Speicher stärker abkühlen, bevor das Aufheizen beginnt, und hört bei einer niedrigeren Temperatur auf; Comfort liefert mehr und heißeres Warmwasser. Die Start- und Stopptemperaturen jedes Programms werden im Servicemenü der Wärmepumpe eingestellt. Die Werte 0 = Aus, 1 = ECO und 2 = Comfort sind die des Rego 2000 (HMC); die Weboberfläche des H66 kann den Wert 1 als „Normal“ bezeichnen. Jeder andere Wert versetzt das Gerät in einen Fehler.
  • Extra-Warmwasser — startet die Extra-Warmwasser-Funktion des Reglers, zum Beispiel um Warmwasser zu speichern, solange Strom günstig ist. Wie lange sie läuft und ihre Stopptemperatur werden an der Wärmepumpe eingestellt.
Status der Wärmepumpe
  • Kompressor — Läuft / Gestoppt. Service-Attribute: Kompressordrehzahl in Prozent (Husdata: % gleich Hz) und Kompressorleistung — die vom Kompressor erzeugte Leistung, nicht die elektrische Aufnahme der Wärmepumpe.
  • Wärmepumpenalarm — Alarm / OK. Solange ein Alarm aktiv ist, zeigt das Gerät eine Warnung mit dem letzten Fehlercode der Wärmepumpe als Rohzahl, nicht übersetzt in die Codes auf dem Display der Wärmepumpe.
Externe Steuerung
  • Externe Steuerung 1–4 — Aktiv simuliert ein Signal am externen Eingang, und die Wärmepumpe sperrt, was für diesen Eingang in ihrem Servicemenü eingestellt ist. Die Sperre wirkt sofort, unterbricht den Betrieb und hält an, bis der Eingang wieder auf Inaktiv geschaltet wird.

Husdata warnt: Wenn eine Automation die Wärmepumpe steuert, kann ein Fehler in der Kette die Pumpe in einem unerwünschten Zustand lassen. Lassen Sie die Automation den Betriebszustand überwachen und die Pumpe bei Bedarf zurückstellen, und testen Sie sie unter kontrollierten Bedingungen.

Energie
  • Stromzähler — die Leistung ist die elektrische Leistungsaufnahme der Wärmepumpe (in W gemeldet, in kW angezeigt); nur neuere Pumpen melden sie, andere zeigen eine Warnung und eine leere Leistung. Der Gesamtverbrauch ist der Verbrauch von Kompressor plus elektrischem Zuheizer in kWh; ohne den Zähler des Zuheizers ist es nur der Kompressor, mit einer Warnung.
  • Service-Attribute: Abgegebene Wärme gesamt — von der Wärmepumpe abgegebene Wärmeenergie, kein Stromverbrauch; Kompressorverbrauch und Zuheizerverbrauch — die beiden Verbrauchszähler einzeln.

Skalierung nicht bestätigt. Keine Quelle nennt die Rohskalierung der Kompressordrehzahl (IDX 3108, von der Vorlage durch 10 geteilt), der Kompressorleistung (IDX 9112, durch 10 geteilt) oder der kWh-Zähler (IDX 5C51, 5C54, 5C57, ungeteilt). Prüfen Sie diese Werte am Display der Wärmepumpe oder auf der HOME-Seite des H66, bevor Sie sie in Automationen verwenden.

So kommuniziert die Vorlage mit dem H66

Das Modul sendet alle 30 s ein GET /api/alldata. Das H66 antwortet mit einem JSON-Objekt, das alle Werte der Wärmepumpe unter ihrer vierstelligen IDX aus der Husdata-Variablenliste C10 enthält (zum Beispiel "0007":65218 = −31,8 °C), und alle Geräte lesen ihre Werte aus dieser einen Antwort. Schreibzugriffe sind Anfragen GET /api/set?idx=XXXX&val=YYY; Temperaturen werden ×10 gesendet (22,5 °C = 225). Ein Gerät übernimmt seinen Zustand aus der nächsten Abfrage, daher kann nach einem Schreibzugriff bis zu 30 s lang noch der alte Wert erscheinen.

Jede geschriebene Einstellung geht in den Flash-Speicher des Rego-Reglers. Die Faustregel von Husdata ist, unter etwa 7000 Schreibvorgängen pro Jahr zu bleiben — etwa 19 pro Tag für die ganze Wärmepumpe —, schreiben Sie Sollwerte und Modi deshalb nur, wenn sie sich ändern.

Warum HTTP API und nicht Modbus TCP. Das H66 ist auch ein Modbus-TCP-Server, aber seine Modbus-Registernummer ist die Zeilenposition des Werts auf der HOME-Seite des H66. Der Husdata-Support bestätigt, dass sie vom erkannten Wärmepumpenmodell abhängt und sich mit einem Firmware-Update des H66 ändern kann; das H66 aktualisiert sich nicht selbst, das geschieht also nur nach einem Update, das jemand startet. Die HTTP API spricht jeden Wert stattdessen über seine IDX aus der Liste C10 an.

Eine manuelle Modbus-TCP-Integration ist möglich: Setzen Sie MODBUS_PORT (zum Beispiel 502) und starten Sie das H66 neu, nehmen Sie die Registernummern aus der Spalte „Modbus“ der HOME-Seite des H66 (Input-Register für lesbare Werte, Holding-Register für schreibbare, Werte ×10), schreiben Sie nur mit Funktionscode 6 — das Schreiben mehrerer Register ist nicht unterstützt — und prüfen Sie die Registernummern nach jedem H66-Update erneut. Es kann nur ein Modbus-Client verbunden sein.

Fehlerbehebung

Gerätefehler „IDX … not found in H66 data“

Die Wärmepumpe meldet diesen Wert nicht; die HOME-Seite des H66 zeigt, welche Werte die angeschlossene Pumpe hat. Geräte, die mehrere Werte lesen, arbeiten weiter, wenn ein optionaler Wert fehlt, und zeigen stattdessen eine Warnung — das Raumthermostat ohne verdrahteten Innenfühler, der Stromzähler ohne Leistungsaufnahme oder Zuheizerzähler. Löschen Sie ein Gerät nur, wenn alle seine Werte fehlen; die anderen Geräte arbeiten weiter.

Alle Geräte zeigen „No data from the H66 - see the module error“

Das Modul konnte /api/alldata nicht lesen. „H66 /api/alldata failed: HTTP …“ bedeutet, dass die Anfrage keine Antwort oder einen HTTP-Fehler bekam — prüfen Sie die IP-Adresse, WEB_PORT und API_ENABLED (nach einer Änderung das H66 neu starten). „H66 /api/alldata answer is not JSON“ bedeutet, dass das H66 geantwortet hat, aber nicht mit Daten. Öffnen Sie in beiden Fällen http://<H66-IP>/api/alldata im Browser: Es muss ein JSON-Objekt mit den IDX-Werten zurückgeben.

Schreibzugriff schlägt fehl oder wirkt nicht
  • „Write IDX … failed“ bedeutet, dass das H66 nicht mit Ok geantwortet hat. Prüfen Sie, dass API_ENABLED auf 2 steht und das H66 nach der Änderung neu gestartet wurde.
  • Das H66 antwortet für jede IDX mit Ok, auch für eine, die die Wärmepumpe nicht hat; ein solcher Schreibzugriff wird daher nicht als Fehler gemeldet. Ein Gerät für einen fehlenden Wert zeigt bereits den Lesefehler „not found“.
  • Betriebsmodus auf Kühlen gesetzt, aber die Wärmepumpe kühlt nicht — prüfen Sie die Wärmepumpeneinstellungen für Kühlen oben.
Fehler des Warmwasserprogramms „not in the list - check controller type HMC“

Die Wärmepumpe hat einen Wert außerhalb 0–2 gemeldet. Entweder ist der Regler ein Rego 3000 / 3100 (HMI-Werte, nicht abgedeckt), oder der Reglertyp im H66 ist nicht HMC.

H66 nicht erreichbar
  1. Prüfen Sie die grüne LED: einmal Blinken = verbindet sich mit dem WLAN, zweimal Blinken = WLAN OK und verbindet sich mit der Wärmepumpe, kurz–lang = falsches WLAN-Passwort, kurz–zweimal lang = falsche SSID, langsames Blinken = Normalbetrieb, schnelles Blinken = Access-Point-Modus.
  2. Hat sich die IP-Adresse geändert, ermitteln Sie die neue (Router, Start-E-Mail, kurzer Druck auf INIT) und richten Sie eine feste IP oder eine DHCP-Reservierung ein.
  3. Eine dunkle oder dauerhaft leuchtende rote LED oder ein sich wiederholendes Muster schnelles Blinken–dunkel bedeutet ein Problem mit der Kommunikation zur Wärmepumpe (kurzes Dauerleuchten während der Initialisierung des H66 ist normal) — prüfen Sie den Anschluss von Kabel 10.
  4. Die Seite LOG der Weboberfläche des H66 zeigt Fehlermeldungen. Halten Sie INIT 8 Sekunden gedrückt, um das H66 auf Werkseinstellungen zurückzusetzen.

Verfügbare Geräte

Husdata H66 Modul
Benutzerdefinierte Variablen

Husdata H66

Lesen (Modul)
alldata := "";
VAR r := SENDHTTPREQUEST("/api/alldata");
IF r.IsSuccess = false
    ADDERROR(0, "H66 /api/alldata failed: HTTP " + r.StatusCode);
ELSEIF INDEXOF(r.Content, "{") < 0
    ADDERROR(0, "H66 /api/alldata answer is not JSON: " + r.Content);
ELSE
    alldata := r.Content;
END
Betriebsmodus Mehrwertschalter

Heiz-/Kühlmodus des Heizkreises 1 — Aus, Auto (die Wärmepumpe schaltet nach der Außentemperatur), Dauerheizen oder Kühlen; Kühlen erfordert freigegebenes Kühlen im Servicemenü der Wärmepumpe und einen Raumregler und ist noch nicht mit TapHome getestet

enum numeric
Werte / Zustände: Off · Auto · Constant Heating · Cooling

Betriebsmodus

Schaltzustand lesen
IF alldata = ""
    ADDERROR(1, "No data from the H66 - see the module error");
    RETURN(NaN);
END
VAR raw := PARSEJSON(alldata, "$['2202']", true);
IF ISNULL(raw)
    ADDERROR(1, "IDX 2202 not found in H66 data");
    RETURN(NaN);
END
IF raw < 0 OR raw > 3
    ADDERROR(3, "IDX 2202 value " + raw + " is not in the list");
    RETURN(NaN);
END
RETURN(raw);
Schaltzustand schreiben
VAR r := SENDHTTPREQUEST("/api/set?idx=2202&val=" + Mu);
IF r.IsSuccess = false OR INDEXOF(r.Content, "Ok") < 0
    ADDERROR(2, "Write IDX 2202 failed: " + r.Content);
END
Raumthermostat Thermostat

Temperatur des verdrahteten Innenfühlers des Heizkreises 1 und Raumtemperatur-Sollwert; ohne verdrahteten Fühler wird nur der Sollwert angezeigt

Int16 (JSON integer, ×10) Einheit: °C numeric

Raumthermostat

Temperatur lesen
IF alldata = ""
    ADDERROR(1, "No data from the H66 - see the module error");
    RETURN(NaN);
END
VAR raw := PARSEJSON(alldata, "$['0008']", true);
IF ISNULL(raw)
    ADDWARNING(1, "IDX 0008 not reported - no cable indoor sensor; the setpoint still works");
    RETURN(NaN);
END
RETURN(IF(raw > 32767, raw - 65536, raw) / 10);
Solltemperatur lesen
IF alldata = ""
    ADDERROR(2, "No data from the H66 - see the module error");
    RETURN(NaN);
END
VAR raw := PARSEJSON(alldata, "$['0203']", true);
IF ISNULL(raw)
    ADDERROR(2, "IDX 0203 not found in H66 data");
    RETURN(NaN);
END
RETURN(IF(raw > 32767, raw - 65536, raw) / 10);
Solltemperatur schreiben
VAR r := SENDHTTPREQUEST("/api/set?idx=0203&val=" + ROUND(Se * 10));
IF r.IsSuccess = false OR INDEXOF(r.Content, "Ok") < 0
    ADDERROR(3, "Write IDX 0203 failed: " + r.Content);
END
Kühltemperatur Variable

Kühlsollwert des Heizkreises 1; nur verfügbar, wenn an der Wärmepumpe ein Kühlkreis installiert und freigegeben ist

Int16 (JSON integer, ×10) Einheit: °C numeric

Kühltemperatur

Lesen
IF alldata = ""
    ADDERROR(1, "No data from the H66 - see the module error");
    RETURN(NaN);
END
VAR raw := PARSEJSON(alldata, "$['0214']", true);
IF ISNULL(raw)
    ADDERROR(1, "IDX 0214 not found in H66 data");
    RETURN(NaN);
END
RETURN(IF(raw > 32767, raw - 65536, raw) / 10);
Schreiben
VAR r := SENDHTTPREQUEST("/api/set?idx=0214&val=" + ROUND(Va * 10));
IF r.IsSuccess = false OR INDEXOF(r.Content, "Ok") < 0
    ADDERROR(2, "Write IDX 0214 failed: " + r.Content);
END
Außentemperatur Temperatursensor Nur lesen
Int16 (JSON integer, ×10) Einheit: °C numeric

Außentemperatur

Temperatur lesen
IF alldata = ""
    ADDERROR(1, "No data from the H66 - see the module error");
    RETURN(NaN);
END
VAR raw := PARSEJSON(alldata, "$['0007']", true);
IF ISNULL(raw)
    ADDERROR(1, "IDX 0007 not found in H66 data");
    RETURN(NaN);
END
RETURN(IF(raw > 32767, raw - 65536, raw) / 10);
Vorlauftemperatur Temperatursensor Nur lesen

Temperatur des Wassers, das zu den Heizkörpern oder zur Fußbodenheizung fließt

Int16 (JSON integer, ×10) Einheit: °C numeric

Vorlauftemperatur

Temperatur lesen
IF alldata = ""
    ADDERROR(1, "No data from the H66 - see the module error");
    RETURN(NaN);
END
VAR raw := PARSEJSON(alldata, "$['0002']", true);
IF ISNULL(raw)
    ADDERROR(1, "IDX 0002 not found in H66 data");
    RETURN(NaN);
END
RETURN(IF(raw > 32767, raw - 65536, raw) / 10);
Wärmeträger-Rücklauf Temperatursensor Nur lesen

Rücklauftemperatur des internen Wärmeträgerkreises der Wärmepumpe

Int16 (JSON integer, ×10) Einheit: °C numeric

Wärmeträger-Rücklauf

Temperatur lesen
IF alldata = ""
    ADDERROR(1, "No data from the H66 - see the module error");
    RETURN(NaN);
END
VAR raw := PARSEJSON(alldata, "$['0003']", true);
IF ISNULL(raw)
    ADDERROR(1, "IDX 0003 not found in H66 data");
    RETURN(NaN);
END
RETURN(IF(raw > 32767, raw - 65536, raw) / 10);
Wärmeträger-Vorlauf Temperatursensor Nur lesen

Vorlauftemperatur des internen Wärmeträgerkreises der Wärmepumpe

Int16 (JSON integer, ×10) Einheit: °C numeric

Wärmeträger-Vorlauf

Temperatur lesen
IF alldata = ""
    ADDERROR(1, "No data from the H66 - see the module error");
    RETURN(NaN);
END
VAR raw := PARSEJSON(alldata, "$['0004']", true);
IF ISNULL(raw)
    ADDERROR(1, "IDX 0004 not found in H66 data");
    RETURN(NaN);
END
RETURN(IF(raw > 32767, raw - 65536, raw) / 10);
Warmwassertemperatur Temperatursensor Nur lesen

Temperatur am oberen Fühler des Warmwasserspeichers

Int16 (JSON integer, ×10) Einheit: °C numeric
Serviceattribute
Warmwasser-SollwertWarmwasser-Zieltemperatur, wie der Regler sie meldet; N/A, wenn die Wärmepumpe sie nicht meldet

Warmwassertemperatur

Temperatur lesen
IF alldata = ""
    ADDERROR(1, "No data from the H66 - see the module error");
    RETURN(NaN);
END
VAR raw := PARSEJSON(alldata, "$['0009']", true);
IF ISNULL(raw)
    ADDERROR(1, "IDX 0009 not found in H66 data");
    RETURN(NaN);
END
RETURN(IF(raw > 32767, raw - 65536, raw) / 10);
Serviceattribute
Hot Water Setpoint
VAR raw := PARSEJSON(alldata, "$['0111']", TRUE); IF(ISNULL(raw), "N/A", TOSTRING(IF(raw > 32767, raw - 65536, raw) / 10, "F1") + " °C")
Warmwasserprogramm Mehrwertschalter

Warmwasserprogramm des Rego 2000 — Aus, ECO (der Speicher kühlt stärker ab und wird auf eine niedrigere Temperatur aufgeheizt) oder Comfort (mehr und heißeres Warmwasser); Start- und Stopptemperaturen werden an der Wärmepumpe eingestellt

enum numeric
Werte / Zustände: Off · ECO · Comfort

Warmwasserprogramm

Schaltzustand lesen
IF alldata = ""
    ADDERROR(1, "No data from the H66 - see the module error");
    RETURN(NaN);
END
VAR raw := PARSEJSON(alldata, "$['2213']", true);
IF ISNULL(raw)
    ADDERROR(1, "IDX 2213 not found in H66 data");
    RETURN(NaN);
END
IF raw < 0 OR raw > 2
    ADDERROR(3, "IDX 2213 value " + raw + " is not in the list - check controller type HMC");
    RETURN(NaN);
END
RETURN(raw);
Schaltzustand schreiben
VAR r := SENDHTTPREQUEST("/api/set?idx=2213&val=" + Mu);
IF r.IsSuccess = false OR INDEXOF(r.Content, "Ok") < 0
    ADDERROR(2, "Write IDX 2213 failed: " + r.Content);
END
Extra-Warmwasser Schalter

Startet die Extra-Warmwasser-Funktion des Reglers, zum Beispiel solange Strom günstig ist; Dauer und Stopptemperatur werden an der Wärmepumpe eingestellt

boolean (0/1)
Werte / Zustände: ON · OFF

Extra-Warmwasser

Schaltzustand lesen
IF alldata = ""
    ADDERROR(1, "No data from the H66 - see the module error");
    RETURN(NaN);
END
VAR raw := PARSEJSON(alldata, "$['1231']", true);
IF ISNULL(raw)
    ADDERROR(1, "IDX 1231 not found in H66 data");
    RETURN(NaN);
END
RETURN(raw);
Schaltzustand schreiben
VAR r := SENDHTTPREQUEST("/api/set?idx=1231&val=" + IF(St, 1, 0));
IF r.IsSuccess = false OR INDEXOF(r.Content, "Ok") < 0
    ADDERROR(2, "Write IDX 1231 failed: " + r.Content);
END
Kompressor Reed-Kontakt Nur lesen

Ob der Kompressor der Wärmepumpe läuft (Läuft / Gestoppt)

boolean (0/1)
Serviceattribute
KompressordrehzahlDrehzahl des drehzahlgeregelten Kompressors in Prozent (% gleich Hz); Skalierung noch nicht bestätigt
KompressorleistungVom Kompressor erzeugte Leistung — nicht die elektrische Aufnahme der Wärmepumpe; Skalierung noch nicht bestätigt

Kompressor

Lesen
IF alldata = ""
    ADDERROR(1, "No data from the H66 - see the module error");
    RETURN(NaN);
END
VAR raw := PARSEJSON(alldata, "$['1A01']", true);
IF ISNULL(raw)
    ADDERROR(1, "IDX 1A01 not found in H66 data");
    RETURN(NaN);
END
RETURN(raw);
Serviceattribute
Compressor Speed
VAR raw := PARSEJSON(alldata, "$['3108']", TRUE); IF(ISNULL(raw), "N/A", TOSTRING(raw / 10, "F1") + " %")
Compressor Power
VAR raw := PARSEJSON(alldata, "$['9112']", TRUE); IF(ISNULL(raw), "N/A", TOSTRING(raw / 10, "F1") + " kW")
Wärmepumpenalarm Reed-Kontakt Nur lesen

Wärmepumpenalarm (Alarm / OK); solange ein Alarm aktiv ist, zeigt eine Warnung den letzten Fehlercode der Wärmepumpe

boolean (0/1)

Wärmepumpenalarm

Lesen
IF alldata = ""
    ADDERROR(1, "No data from the H66 - see the module error");
    RETURN(NaN);
END
VAR raw := PARSEJSON(alldata, "$['1A20']", TRUE);
VAR code := PARSEJSON(alldata, "$['BA91']", TRUE);
IF ISNULL(raw)
    ADDERROR(1, "IDX 1A20 not found in H66 data");
    RETURN(NaN);
END
IF raw = 1 AND ISNULL(code)
    ADDWARNING(2, "Heat pump alarm active, alarm code (IDX BA91) not reported");
ELSEIF raw = 1
    ADDWARNING(2, "Heat pump alarm active, code " + code);
END
RETURN(raw);
Externe Steuerung 1 Schalter

Simuliert ein Signal am externen Eingang 1 der Wärmepumpe; was er sperrt, wird im Servicemenü der Wärmepumpe eingestellt, und die Sperre hält an, bis wieder auf Inaktiv geschaltet wird

boolean (0/1)
Werte / Zustände: Active · Inactive

Externe Steuerung 1

Schaltzustand lesen
IF alldata = ""
    ADDERROR(1, "No data from the H66 - see the module error");
    RETURN(NaN);
END
VAR raw := PARSEJSON(alldata, "$['2233']", true);
IF ISNULL(raw)
    ADDERROR(1, "IDX 2233 not found in H66 data");
    RETURN(NaN);
END
RETURN(raw);
Schaltzustand schreiben
VAR r := SENDHTTPREQUEST("/api/set?idx=2233&val=" + IF(St, 1, 0));
IF r.IsSuccess = false OR INDEXOF(r.Content, "Ok") < 0
    ADDERROR(2, "Write IDX 2233 failed: " + r.Content);
END
Externe Steuerung 2 Schalter

Simuliert ein Signal am externen Eingang 2 der Wärmepumpe; was er sperrt, wird im Servicemenü der Wärmepumpe eingestellt, und die Sperre hält an, bis wieder auf Inaktiv geschaltet wird

boolean (0/1)
Werte / Zustände: Active · Inactive

Externe Steuerung 2

Schaltzustand lesen
IF alldata = ""
    ADDERROR(1, "No data from the H66 - see the module error");
    RETURN(NaN);
END
VAR raw := PARSEJSON(alldata, "$['2234']", true);
IF ISNULL(raw)
    ADDERROR(1, "IDX 2234 not found in H66 data");
    RETURN(NaN);
END
RETURN(raw);
Schaltzustand schreiben
VAR r := SENDHTTPREQUEST("/api/set?idx=2234&val=" + IF(St, 1, 0));
IF r.IsSuccess = false OR INDEXOF(r.Content, "Ok") < 0
    ADDERROR(2, "Write IDX 2234 failed: " + r.Content);
END
Externe Steuerung 3 Schalter

Simuliert ein Signal am externen Eingang 3 der Wärmepumpe; was er sperrt, wird im Servicemenü der Wärmepumpe eingestellt, und die Sperre hält an, bis wieder auf Inaktiv geschaltet wird

boolean (0/1)
Werte / Zustände: Active · Inactive

Externe Steuerung 3

Schaltzustand lesen
IF alldata = ""
    ADDERROR(1, "No data from the H66 - see the module error");
    RETURN(NaN);
END
VAR raw := PARSEJSON(alldata, "$['2235']", true);
IF ISNULL(raw)
    ADDERROR(1, "IDX 2235 not found in H66 data");
    RETURN(NaN);
END
RETURN(raw);
Schaltzustand schreiben
VAR r := SENDHTTPREQUEST("/api/set?idx=2235&val=" + IF(St, 1, 0));
IF r.IsSuccess = false OR INDEXOF(r.Content, "Ok") < 0
    ADDERROR(2, "Write IDX 2235 failed: " + r.Content);
END
Externe Steuerung 4 Schalter

Simuliert ein Signal am externen Eingang 4 der Wärmepumpe; das IVT-Servicemenü konfiguriert nur die Eingänge 1–3, daher ist dieser Eingang bei manchen Anlagen ohne Wirkung

boolean (0/1)
Werte / Zustände: Active · Inactive

Externe Steuerung 4

Schaltzustand lesen
IF alldata = ""
    ADDERROR(1, "No data from the H66 - see the module error");
    RETURN(NaN);
END
VAR raw := PARSEJSON(alldata, "$['2236']", true);
IF ISNULL(raw)
    ADDERROR(1, "IDX 2236 not found in H66 data");
    RETURN(NaN);
END
RETURN(raw);
Schaltzustand schreiben
VAR r := SENDHTTPREQUEST("/api/set?idx=2236&val=" + IF(St, 1, 0));
IF r.IsSuccess = false OR INDEXOF(r.Content, "Ok") < 0
    ADDERROR(2, "Write IDX 2236 failed: " + r.Content);
END
Stromzähler Stromzähler Nur lesen

Elektrische Leistungsaufnahme der Wärmepumpe (nur neuere Pumpen) und gesamte elektrische Energie von Kompressor und elektrischem Zuheizer (kWh)

numeric Einheit: W / kWh
Serviceattribute
Abgegebene Wärme gesamtGesamte von der Wärmepumpe abgegebene Wärmeenergie — thermische Energie, kein Stromverbrauch
KompressorverbrauchGesamte vom Kompressor verbrauchte elektrische Energie
ZuheizerverbrauchGesamte vom eingebauten elektrischen Zuheizer verbrauchte elektrische Energie

Stromzähler

Gesamtverbrauch lesen
IF alldata = ""
    ADDERROR(2, "No data from the H66 - see the module error");
    RETURN(NaN);
END
VAR comp := PARSEJSON(alldata, "$['5C54']", true);
VAR aux := PARSEJSON(alldata, "$['5C57']", true);
IF ISNULL(comp)
    ADDERROR(2, "IDX 5C54 not found in H66 data");
    RETURN(NaN);
END
IF ISNULL(aux)
    ADDWARNING(3, "IDX 5C57 (auxiliary heater) not reported - total is the compressor only");
    RETURN(comp);
END
RETURN(comp + aux);
Bedarf lesen
IF alldata = ""
    ADDERROR(1, "No data from the H66 - see the module error");
    RETURN(NaN);
END
VAR raw := PARSEJSON(alldata, "$['C130']", true);
IF ISNULL(raw)
    ADDWARNING(1, "IDX C130 (power draw) not reported - only newer pumps have it");
    RETURN(NaN);
END
RETURN(raw / 1000);
Serviceattribute
Heat Supplied Total
VAR raw := PARSEJSON(alldata, "$['5C51']", TRUE); IF(ISNULL(raw), "N/A", TOSTRING(raw) + " kWh")
Compressor Consumed
VAR raw := PARSEJSON(alldata, "$['5C54']", TRUE); IF(ISNULL(raw), "N/A", TOSTRING(raw) + " kWh")
Auxiliary Heater Consumed
VAR raw := PARSEJSON(alldata, "$['5C57']", TRUE); IF(ISNULL(raw), "N/A", TOSTRING(raw) + " kWh")
Verbindung: Packet Parser → HTTP
Mögliche Verbesserungen (20)
  • Operating mode 1 (Optimized / Auto time program) — Heat circuit 1 program, HMC: 0 = Optimized, 1 = Auto (time program); the energy control guide names it, with 0203 and 0205 / 0206, as the way to limit heat production. Writable.
  • Heating curve, room sensor influence and program room temperature (heating circuit 1) — Heat curve base point (0205), end point for radiators (0206) and for floor heating (020E), room sensor influence (2204) and the room temperature used in Program mode (020C, AW pumps, with an indoor sensor); all writable 'Set temp'
  • Summer mode temperature — Outdoor temperature from which the pump blocks heating because it is summer; writable
  • Heating setpoint — Target temperature for heating (Temp variable, read only)
  • Room controller emulation (simulated indoor temperature and humidity) — With H66 setting ROOM_CTRL = 1 or 2 and RC100 / CR10 / TR111 selected for heating circuit 1 in the heat pump service menu, the H66 sends the 02F1 value (×10 over the API) to the Rego every 15 s — the documented way to feed a TapHome room temperature into the heat pump; validated on Rego 2000 and 3100, heating circuit 1 only. The Rego shows an info alarm when no update arrives for about a minute. 32F5 = simulated humidity (RC100H).
  • Refrigerant and brine circuit temperatures — Brine in / evaporator (0005), brine out / condenser (0006), hot gas (000B), suction gas (000C), compressor temperature (0014), drain pan (0A10, AW pumps)
  • Hot water tank mid sensor — Warm water 2 / Mid — second sensor of the hot water tank
  • Pump and valve states — Ground source pump (1A04, LW only), internal circulation pump (1A05), radiator pump (1A06), switch valve 1 (1A07: 0 = radiator heating, 1 = hot water heating), 4-way defrost valve (2A08, AW, not on all pumps)
  • Auxiliary heater and pump speeds — Applied electrical additional heater in percent (3104), circulation pump speed (3109, LW), brine pump speed (3110, LW only)
  • Electric heater enable and output limits — Enable / disable the built-in electric additional heater (2215) and the service-menu limits for compressor mode, auxiliary heat and hot water (2227–2229, value steps vary by model). C10 uses IDX 2229 twice (Limit Hot Water and Pool temp setpoint).
  • Energy counters split by heating and hot water — Heat supplied, compressor consumption and auxiliary heater consumption each split into heating and hot water production (kWh usage); the template reads only the totals
  • Operating hours and compressor starts — Total operating time (hours), compressor runtime (hours), compressor starts (counter)
  • Heating circuit 2 — Indoor sensor 2 (RC100), forward temperature, room setpoint and heating curve of heating circuit 2 (MM100 mixing valve module)
  • Indoor humidity — Humidity when an RC100H room controller is used
  • Pool and secondary circuit accessories — Pool temperature (MP100 module), pool shunt and secondary circuit shunt positions
  • Exhaust-air pump values — Air intake temperature, fan status and fan speed setting — exhaust-air (EW / Vent) pumps only
  • H66 status and configuration — JSON with the H66 firmware version, MAC address, Wi-Fi signal (rssi), heat pump connection state (hpconn) and the H66 configuration; candidate for module service attributes
  • Restart H66 — CLI over the API (H66 only, API_ENABLED = 2); restarts the gateway — candidate for a module service action
  • Own registers added in the H66 — Advanced users can add readable / writable registers on the H66 HOME page; for Rego 2000 / 3000 the register numbers must be provided by Husdata. They appear in /api/alldata like the standard IDX.
  • Other H66 interfaces — The H66 is also a Modbus TCP server (one client, input / holding registers, writes with function code 6 only) and an MQTT client; the Modbus register numbers depend on the detected heat pump and can shift after an H66 update, which is why the template uses the HTTP API addressed by IDX

Quellen

  • Husdata C10 variable list — IVT Rego 2000 / 3000, Bosch Pro Control (H66)
    PDF
  • Husdata H60/H66 manual — API integration
    husdata.se 2026-10-20
  • Husdata H60/H66 manual — Settings explanation
    husdata.se 2026-10-20
  • Husdata installation guide — Rego 2000 / 3000 (cable 10)
    husdata.se 2026-10-20
  • Husdata energy control guides — external inputs on Rego 2000 / 3000
    husdata.se 2026-10-20
  • Husdata support — answers on H66 registers and cooling with Rego 2000 (e-mail, October 2026)
    2026-10-20
  • Husdata H66 WiFi Gateway — product page
    husdata.se 2026-10-20
  • Husdata H66 Ethernet + WiFi Gateway — product page
    husdata.se 2026-10-20
  • Husdata H60/H66 manual — Product overview
    husdata.se 2026-10-20
  • Husdata H60/H66 manual — Quick start guide
    husdata.se 2026-10-20
  • Husdata H60/H66 manual — Troubleshooting
    husdata.se 2026-10-20
  • Husdata — RC100 room sensor emulation (Rego 2000 / 3100)
    husdata.se 2026-10-20
  • Husdata H60/H66 manual — Modbus TCP integrations
    husdata.se 2026-10-20
  • Husdata H60/H66 manual — Custom registers
    husdata.se 2026-10-20
  • IVT AirModule E 9/15 installer guide (AirX, EMS bus, external inputs, cooling)
    PDF

Haben Sie ein Problem mit dieser Gerätevorlage gefunden?

Sagen Sie uns, was nicht funktioniert, was fehlt oder wie sich die Vorlage verhalten sollte. Ihr Feedback hilft uns, den Katalog genau zu halten.

Community — ungeprüft

Möchtest du das in deinem TapHome Core verwenden?

Öffne diese Vorlage im Kundenportal, um sie auf eine deiner Wohnungen anzuwenden, oder entwirf eine Anpassung und reiche sie an den Katalog ein.

Im Portal öffnen