TapHome

Vaillant aroTHERM plus + sensoCOMFORT VRC 720 (eBUS, micro-ebusd)

Packet Parser → HTTP
Dodane przez
Ostatnia aktualizacja: 11. 2026

Wymaga zewnętrznej bramki

eBUS Adapter (ebusd.eu) eBUS Adapter Shield or Stick C6 with micro-ebusd (HTTP JSON API, port 80) — strona produktu

Vaillant aroTHERM plus + sensoCOMFORT VRC 720 (eBUS, micro-ebusd)

Szablon Vaillant aroTHERM plus łączy TapHome z pompą ciepła powietrze-woda Vaillant aroTHERM plus i jej regulatorem systemowym sensoCOMFORT VRC 720 przez adapter eBUS Adapter Shield lub Stick C6 firmy ebusd.eu. Adapter jest podłączony do magistrali eBUS regulatora i działa na nim micro-ebusd, który dekoduje komunikaty Vaillant i udostępnia je przez lokalne HTTP JSON API. TapHome komunikuje się tylko z adapterem w sieci lokalnej; chmura nie jest używana.

Szablon odczytuje temperaturę zewnętrzną, pomieszczenia, zasilania i ciepłej wody, ciśnienie wody, moc i zużycie energii pompy ciepła oraz błędy regulatora. Ustawia zadaną temperaturę pomieszczenia strefy 1, zadaną temperaturę ciepłej wody, tryby pracy strefy 1 i ciepłej wody oraz uruchamia jednorazowe podgrzanie ciepłej wody.

Szablon społeczności — jeszcze nie przetestowany z TapHome na prawdziwym adapterze. Szablon powstał w portalu TapHome na podstawie dokumentacji micro-ebusd i definicji komunikatów ebusd dla VRC 720 i aroTHERM plus. Przetestowano go tylko z symulatorem adaptera na lokalnym TapHome Core 2025.2, nie z prawdziwym adapterem, regulatorem ani pompą ciepła, a doświadczenia z praktyki są mile widziane. Pobierz XML z tej strony lub z portalu TapHome: Vaillant aroTHERM plus + VRC 720 — szablon społeczności, i zaimportuj go jako nowy moduł.

Szablon uzupełnia oficjalny szablon TapHome eBUS Adapter Shield C6 Stick, który przez MQTT pokazuje stan samego adaptera (sygnał magistrali, usługę, temperaturę); oba mogą działać obok siebie. Nie jest powiązany z szablonem społeczności dla klimakonwektora Vaillant aroVAIR, który używa Modbus RTU.

Czego potrzebujesz

  • Vaillant aroTHERM plus z regulatorem sensoCOMFORT VRC 720 na magistrali eBUS.
  • eBUS Adapter Shield C6 lub Stick C6 (adapter.ebusd.eu) z najnowszym firmware i aktywowanym micro-ebusd. micro-ebusd to płatna funkcja adaptera odblokowywana tokenem; każdy adapter otrzymuje jedną 30-dniową licencję próbną.
  • Adapter i TapHome Core w tej samej sieci lokalnej.

Połączenie sprzętowe

Adapter podłącza się do dwóch zacisków eBUS regulatora VRC 720; polaryzacja magistrali eBUS nie ma znaczenia. aroTHERM plus komunikuje się z regulatorem po tej samej magistrali, więc do jednostki zewnętrznej nie trzeba prowadzić żadnego przewodu. Przed pracą na zaciskach regulatora odłącz zasilanie sieciowe.

Podłącz adapter do sieci lokalnej zgodnie z jego dokumentacją i zarezerwuj jego adres IP w routerze, aby TapHome zawsze go znalazł.

Konfiguracja

Aktywacja micro-ebusd

  1. Zaktualizuj adapter do najnowszego firmware (adapter.ebusd.eu).
  2. Uzyskaj token micro-ebusd na token.ebusd.eu (jedna 30-dniowa licencja próbna na adapter, potem płatnie) i wprowadź go w interfejsie webowym adaptera.
  3. Po aktywacji HTTP JSON API odpowiada pod adresem http://<adapter-ip>/api/v1/ebus.

Ustalenie nazw obwodów

micro-ebusd adresuje każdą wartość obwodem i nazwą komunikatu. Otwórz w przeglądarce http://<adapter-ip>/api/v1/ebus/list: wyświetla obwody i komunikaty, które adapter znalazł na magistrali. Regulator sensoCOMFORT VRC 720 zgłasza się, zależnie od wersji, jako ctlv2, ctlv3 lub 720, jednostka zewnętrzna aroTHERM plus jako hmu. Okno importu podaje też 700 dla VRC 700; szablon napisano według definicji komunikatów regulatora VRC 720.

Parametry importu

ParametrWartość domyślnaOpis
ADAPTER_IP(puste)Adres IP adaptera eBUS
CONTROLLER_CIRCUITctlv2Nazwa obwodu regulatora z /api/v1/ebus/list
HEAT_SOURCE_CIRCUIThmuNazwa obwodu jednostki zewnętrznej aroTHERM plus

Import tworzy dwa moduły na tym samym adapterze: sensoCOMFORT VRC 720 (ctlv2) z ośmioma urządzeniami oraz aroTHERM plus (hmu) z licznikiem energii elektrycznej pompy ciepła.

Możliwości urządzeń

Temperatury i ciśnienie

  • Temperatura zewnętrzna — temperatura zewnętrzna wskazywana przez VRC 720.
  • Temperatura zasilania — temperatura zasilania instalacji (zasilanie ogrzewania).
  • Ciśnienie wody — ciśnienie wody w instalacji grzewczej w barach (tylko do odczytu).

Strefa 1

  • Termostat strefy 1 — temperatura pomieszczenia i wartość zadana, której regulator faktycznie używa. Wartość zadana ustawiona w TapHome (5–30 °C) jest wysyłana jako quick veto: tymczasowa zmiana, program czasowy regulatora pozostaje bez zmian. Po zapisie szablon ponownie odczytuje wartość z magistrali.
  • Tryb pracy strefy 1 — Wyłączony, Auto (program czasowy), Ręczny / Dzień i Noc. Szablon wysyła nazwy z definicji ebusd (off, auto, day, night). Na VRC 720 tryb day jest jego trybem ręcznym, a trybu nocnego VRC 720 nie ma.

Ciepła woda

  • Termostat ciepłej wody użytkowej — temperatura zasobnika ciepłej wody i zadana temperatura ciepłej wody, regulowana od 35 do 75 °C.
  • Tryb pracy ciepłej wody użytkowej — Wyłączony, Auto, Dzień lub Noc.
  • Jednorazowe podgrzanie ciepłej wody — włączenie uruchamia podgrzewanie; po nagrzaniu zasobnika regulator sam wraca do trybu auto, a przełącznik znów pokazuje wyłączony.

Energia elektryczna pompy ciepła

Moduł aroTHERM plus (hmu) ma jedno urządzenie, Licznik energii elektrycznej pompy ciepła, licznik jednostki zewnętrznej:

  • Pobór mocy — aktualna moc elektryczna pompy ciepła w kW.
  • Całkowite zużycie — całkowite zużycie energii elektrycznej pompy ciepła w kWh. Licznik jest liczbą 16-bitową (najwyżej 65535 kWh), więc w jednostce pracującej od wielu lat mógł już zacząć liczyć od zera.

Pokazuje też trzy atrybuty serwisowe:

Atrybut serwisowyOpis
COP (ogrzewanie)Współczynnik efektywności pompy ciepła podczas ogrzewania
Całkowity uzysk ciepła [kWh]Całkowity uzysk ciepła pompy ciepła — energia cieplna, a nie elektryczna
Stan pracyStan zgłaszany przez jednostkę zewnętrzną: ready, heating, cooling, heating_water lub error

Błędy regulatora

Moduł sensoCOMFORT VRC 720 (ctlv2) w każdym cyklu odczytuje bieżące błędy regulatora. Dla każdego z jego pięciu pól błędów, które nie jest zerem, moduł pokazuje błąd z numerem błędu, na przykład Controller error code: 1025.

Jak szablon komunikuje się z adapterem

Każda wartość to jeden komunikat z definicji ebusd. Szablon odczytuje go przez GET /api/v1/ebus/{circuit}/{message}/get?from=1, które odpowiada z pamięci podręcznej adaptera lub pyta magistralę, i bierze z odpowiedzi data.fields.value. Zapis to PUT /api/v1/ebus/{circuit}/{message}/set z treścią {"fields":{"value":…}}, a po nim odczyt z from=2, który zawsze pyta magistralę. Moduły i wszystkie urządzenia odczytują co 60 s.

Żadne z urządzeń nic nie zapisuje przy starcie TapHome Core: stan przejmują z adaptera, a nie z ostatniej wartości w TapHome.

Niektóre wersje firmware VRC 720 potwierdzają zapis, ale go nie wykonują. Ponieważ szablon po każdym zapisie ponownie odczytuje wartość z magistrali, TapHome pokazuje potem wartość, której regulator faktycznie używa, a nie tę, którą ustawiłeś.

Czego szablon nie robi

  • Parametry instalatora (krzywa grzewcza, maksymalna temperatura zasilania) są celowo pominięte — szablon nie zmienia ustawień instalatora w regulatorze.
  • Chłodzenie strefy 1, strefy 2 i 3 oraz tygodniowy program czasowy nie są częścią szablonu.
  • Dalsze wartości jednostki zewnętrznej (temperatura powietrza zasysanego, wykorzystanie sprężarki, aktualna moc cieplna) są dostępne na magistrali, ale nie są odczytywane.

Rozwiązywanie problemów

Brak jakichkolwiek wartości

Sprawdź, czy micro-ebusd jest aktywowany i czy token nie wygasł: bez micro-ebusd adapter nie odpowiada pod /api/v1/ebus. Sprawdź, czy http://<adapter-ip>/api/v1/ebus/list otwiera się w przeglądarce.

Urządzenia regulatora nie pokazują wartości

Nazwa obwodu się nie zgadza. Otwórz http://<adapter-ip>/api/v1/ebus/list, znajdź nazwę regulatora (ctlv2, ctlv3 lub 720) i jednostki zewnętrznej (hmu) i zaimportuj szablon ponownie z tymi nazwami.

Wartość zadana lub tryb wraca do starej wartości

Regulator nie wykonał zapisu; TapHome pokazuje wartość odczytaną z powrotem z magistrali. Sprawdź tryb pracy strefy i firmware regulatora.

Błąd modułu Controller error code: …

Regulator zgłasza błąd o tym numerze. Wyszukaj go w dokumentacji regulatora lub pompy ciepła; błąd modułu znika, gdy regulator go skasuje.

Dostępne urządzenia

sensoCOMFORT VRC 720 (ctlv2) Moduł

sensoCOMFORT VRC 720 (ctlv2)

Odczyt (moduł)
VAR response := SENDHTTPREQUEST("/api/v1/ebus/" + "$[CONTROLLER_CIRCUIT]" + "/Currenterror/get?from=1");
IF response.IsSuccess
  VAR e0 := PARSEJSON(response.Content, "data.fields.error", true);
  VAR e1 := PARSEJSON(response.Content, "data.fields.error_1", true);
  VAR e2 := PARSEJSON(response.Content, "data.fields.error_2", true);
  VAR e3 := PARSEJSON(response.Content, "data.fields.error_3", true);
  VAR e4 := PARSEJSON(response.Content, "data.fields.error_4", true);
  IF !ISNULL(e0)
    IF e0 != 0
      ADDERROR(0, "Controller error code: " + e0);
    END
  END
  IF !ISNULL(e1)
    IF e1 != 0
      ADDERROR(1, "Controller error_1 code: " + e1);
    END
  END
  IF !ISNULL(e2)
    IF e2 != 0
      ADDERROR(2, "Controller error_2 code: " + e2);
    END
  END
  IF !ISNULL(e3)
    IF e3 != 0
      ADDERROR(3, "Controller error_3 code: " + e3);
    END
  END
  IF !ISNULL(e4)
    IF e4 != 0
      ADDERROR(4, "Controller error_4 code: " + e4);
    END
  END
END
Temperatura zewnętrzna Czujnik temperatury Tylko do odczytu

Temperatura zewnętrzna wskazywana przez regulator VRC 720

numeric Jednostka: °C

Temperatura zewnętrzna

Odczyt temperatury
VAR response := SENDHTTPREQUEST("/api/v1/ebus/" + "$[CONTROLLER_CIRCUIT]" + "/DisplayedOutsideTemp/get?from=1");
IF response.IsSuccess
  RETURN(PARSEJSON(response.Content, "data.fields.value", true));
END
RETURN(NaN);
Termostat strefy 1 Termostat

Temperatura pomieszczenia i aktywna wartość zadana strefy 1; nowa wartość zadana jest wysyłana jako quick veto — tymczasowa zmiana, program czasowy pozostaje bez zmian

numeric Jednostka: °C

Termostat strefy 1

Odczyt temperatury
VAR response := SENDHTTPREQUEST("/api/v1/ebus/" + "$[CONTROLLER_CIRCUIT]" + "/Z1RoomTemp/get?from=1");
IF response.IsSuccess
  RETURN(PARSEJSON(response.Content, "data.fields.value", true));
END
RETURN(NaN);
Odczyt temperatury zadanej
VAR response := SENDHTTPREQUEST("/api/v1/ebus/" + "$[CONTROLLER_CIRCUIT]" + "/Z1ActualRoomTempDesired/get?from=1");
IF response.IsSuccess
  RETURN(PARSEJSON(response.Content, "data.fields.value", true));
END
RETURN(NaN);
Zapis temperatury zadanej
VAR body := "{\"fields\":{\"value\":" + Se + "}}";
SENDHTTPREQUEST("/api/v1/ebus/" + "$[CONTROLLER_CIRCUIT]" + "/Z1QuickVetoTemp/set", "PUT", body, "Content-Type: application/json");
SENDHTTPREQUEST("/api/v1/ebus/" + "$[CONTROLLER_CIRCUIT]" + "/Z1QuickVetoTemp/get?from=2");
Tryb pracy strefy 1 Przełącznik wielowartościowy

Tryb pracy strefy 1 — Wyłączony, Auto (program czasowy), Ręczny / Dzień lub Noc; na VRC 720 tryb day jest trybem ręcznym, a trybu nocnego nie ma

enum numeric
Wartości / Stany: Wyłączony · Auto · Ręczny / Dzień · Noc

Tryb pracy strefy 1

Odczyt stanu przełącznika
VAR response := SENDHTTPREQUEST("/api/v1/ebus/" + "$[CONTROLLER_CIRCUIT]" + "/Z1OpMode/get?from=1");
IF response.IsSuccess
  # micro-ebusd returns the name of the value from the ebusd definition (off, auto, day, night); a number is accepted too
  VAR v := TOSTRING(PARSEJSON(response.Content, "data.fields.value", true));
  IF v = "off" OR v = "0"
    RETURN(0);
  END
  IF v = "auto" OR v = "1"
    RETURN(1);
  END
  IF v = "day" OR v = "manual" OR v = "2"
    RETURN(2);
  END
  IF v = "night" OR v = "3"
    RETURN(3);
  END
END
RETURN(NaN);
Zapis stanu przełącznika
# Names from the ebusd definition; on the VRC 720 "day" is the manual mode
VAR name := SWITCH(Mu, 0, "off", 1, "auto", 2, "day", 3, "night", "");
IF name != ""
  SENDHTTPREQUEST("/api/v1/ebus/" + "$[CONTROLLER_CIRCUIT]" + "/Z1OpMode/set", "PUT", "{\"fields\":{\"value\":\"" + name + "\"}}", "Content-Type: application/json");
  # Read back from the bus: a write the controller ignored shows the real mode at the next read
  SENDHTTPREQUEST("/api/v1/ebus/" + "$[CONTROLLER_CIRCUIT]" + "/Z1OpMode/get?from=2");
END
Termostat ciepłej wody użytkowej Termostat

Temperatura zasobnika ciepłej wody i zadana temperatura ciepłej wody, regulowana od 35 do 75 °C

numeric Jednostka: °C

Termostat ciepłej wody użytkowej

Odczyt temperatury
VAR response := SENDHTTPREQUEST("/api/v1/ebus/" + "$[CONTROLLER_CIRCUIT]" + "/HwcStorageTemp/get?from=1");
IF response.IsSuccess
  RETURN(PARSEJSON(response.Content, "data.fields.value", true));
END
RETURN(NaN);
Odczyt temperatury zadanej
VAR response := SENDHTTPREQUEST("/api/v1/ebus/" + "$[CONTROLLER_CIRCUIT]" + "/HwcTempDesired/get?from=1");
IF response.IsSuccess
  RETURN(PARSEJSON(response.Content, "data.fields.value", true));
END
RETURN(NaN);
Zapis temperatury zadanej
VAR body := "{\"fields\":{\"value\":" + Se + "}}";
SENDHTTPREQUEST("/api/v1/ebus/" + "$[CONTROLLER_CIRCUIT]" + "/HwcTempDesired/set", "PUT", body, "Content-Type: application/json");
SENDHTTPREQUEST("/api/v1/ebus/" + "$[CONTROLLER_CIRCUIT]" + "/HwcTempDesired/get?from=2");
Tryb pracy ciepłej wody użytkowej Przełącznik wielowartościowy

Tryb pracy obwodu ciepłej wody — Wyłączony, Auto, Dzień lub Noc

enum numeric
Wartości / Stany: Wyłączony · Auto · Dzień · Noc

Tryb pracy ciepłej wody użytkowej

Odczyt stanu przełącznika
VAR response := SENDHTTPREQUEST("/api/v1/ebus/" + "$[CONTROLLER_CIRCUIT]" + "/HwcOpMode/get?from=1");
IF response.IsSuccess
  # micro-ebusd returns the name of the value from the ebusd definition (off, auto, day, night); a number is accepted too
  VAR v := TOSTRING(PARSEJSON(response.Content, "data.fields.value", true));
  IF v = "off" OR v = "0"
    RETURN(0);
  END
  IF v = "auto" OR v = "1"
    RETURN(1);
  END
  IF v = "day" OR v = "manual" OR v = "2"
    RETURN(2);
  END
  IF v = "night" OR v = "3"
    RETURN(3);
  END
END
RETURN(NaN);
Zapis stanu przełącznika
# Names from the ebusd definition; on the VRC 720 "day" is the manual mode
VAR name := SWITCH(Mu, 0, "off", 1, "auto", 2, "day", 3, "night", "");
IF name != ""
  SENDHTTPREQUEST("/api/v1/ebus/" + "$[CONTROLLER_CIRCUIT]" + "/HwcOpMode/set", "PUT", "{\"fields\":{\"value\":\"" + name + "\"}}", "Content-Type: application/json");
  # Read back from the bus: a write the controller ignored shows the real mode at the next read
  SENDHTTPREQUEST("/api/v1/ebus/" + "$[CONTROLLER_CIRCUIT]" + "/HwcOpMode/get?from=2");
END
Jednorazowe podgrzanie ciepłej wody Przełącznik

Jednorazowe podgrzanie ciepłej wody — włączenie uruchamia podgrzewanie, po nagrzaniu zasobnika regulator sam wraca do trybu auto

boolean
Wartości / Stany: Active · OFF

Jednorazowe podgrzanie ciepłej wody

Odczyt stanu przełącznika
VAR response := SENDHTTPREQUEST("/api/v1/ebus/" + "$[CONTROLLER_CIRCUIT]" + "/HwcSFMode/get?from=1");
IF response.IsSuccess
  VAR v := TOSTRING(PARSEJSON(response.Content, "data.fields.value", true));
  IF v = "load" OR v = "6"
    RETURN(1);
  END
  RETURN(0);
END
RETURN(NaN);
Zapis stanu przełącznika
# load = one-time hot water charge; the controller returns to auto by itself when the tank is charged
VAR name := IF(St, "load", "auto");
SENDHTTPREQUEST("/api/v1/ebus/" + "$[CONTROLLER_CIRCUIT]" + "/HwcSFMode/set", "PUT", "{\"fields\":{\"value\":\"" + name + "\"}}", "Content-Type: application/json");
SENDHTTPREQUEST("/api/v1/ebus/" + "$[CONTROLLER_CIRCUIT]" + "/HwcSFMode/get?from=2");
Temperatura zasilania Czujnik temperatury Tylko do odczytu

Temperatura zasilania instalacji (zasilanie ogrzewania) zgłaszana przez regulator VRC 720

numeric Jednostka: °C

Temperatura zasilania

Odczyt temperatury
VAR response := SENDHTTPREQUEST("/api/v1/ebus/" + "$[CONTROLLER_CIRCUIT]" + "/SystemFlowTemp/get?from=1");
IF response.IsSuccess
  RETURN(PARSEJSON(response.Content, "data.fields.value", true));
END
RETURN(NaN);
Ciśnienie wody Zmienna Tylko do odczytu

Ciśnienie wody w instalacji grzewczej w barach

numeric Jednostka: bar

Ciśnienie wody

Odczyt
VAR response := SENDHTTPREQUEST("/api/v1/ebus/" + "$[CONTROLLER_CIRCUIT]" + "/WaterPressure/get?from=1");
IF response.IsSuccess
  RETURN(PARSEJSON(response.Content, "data.fields.value", true));
END
RETURN(NaN);
Połączenie: Packet Parser → HTTP
Możliwe ulepszenia (5)
  • Cooling of zone 1 — The controller definition has cooling setpoints for the zone and the heating circuit; the template covers heating only.
  • Installer parameters (heat curve, maximum flow temperature) — Left out on purpose — installer settings of the controller are not changed from TapHome.
  • Weekly time programme — Reading and editing the weekly schedule of the zone and the hot water is not part of the template.
  • Further heat pump values — Air intake temperature, compressor utilisation and current heat output of the outdoor unit.
  • Further zones — The template covers zone 1 only.

Źródła

  • micro-ebusd HTTP JSON API (get, set, list, from=0/1/2, token)
    token.ebusd.eu 2026-11-04
  • ebusd message definitions — Vaillant sensoCOMFORT VRC 720 (15.ctlv2.csv)
    ebus.github.io 2026-11-04
  • ebusd message definitions — Vaillant aroTHERM plus outdoor unit (08.hmu.csv)
    ebus.github.io 2026-11-04
  • ebusd configuration — Vaillant index
    ebus.github.io 2026-11-04
  • micro-ebusd MQTT documentation
    token.ebusd.eu 2026-11-04

Znalazłeś problem z tym szablonem urządzenia?

Napisz nam, co nie działa, czego brakuje lub jak powinien zachowywać się szablon. Twoja opinia pomaga nam utrzymać katalog dokładnym.

Społeczność — niezweryfikowane

Chcesz tego użyć w swoim TapHome Core?

Otwórz ten szablon w portalu klienta, aby zastosować go w swoim domu, lub zaproponuj modyfikację i wyślij ją z powrotem do katalogu.

Otwórz w portalu