TapHome

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

Packet Parser → HTTP
Trimis de
Ultima actualizare: 11. 2026

Necesită gateway extern

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

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

Șablonul Vaillant aroTHERM plus conectează TapHome la o pompă de căldură aer-apă Vaillant aroTHERM plus și la regulatorul ei de sistem sensoCOMFORT VRC 720 printr-un adaptor eBUS Adapter Shield sau Stick C6 de la ebusd.eu. Adaptorul stă pe magistrala eBUS a regulatorului și rulează micro-ebusd, care decodează mesajele Vaillant și le oferă printr-un API HTTP JSON local. TapHome comunică doar cu adaptorul, în rețeaua locală; nu se folosește cloud.

Șablonul citește temperatura exterioară, a camerei, de tur și a apei calde, presiunea apei, puterea și consumul pompei de căldură și erorile regulatorului. Setează valoarea impusă a camerei pentru zona 1, valoarea impusă a apei calde, modurile de funcționare ale zonei 1 și ale apei calde și pornește o încălzire unică a apei calde.

Șablon al comunității — încă netestat cu TapHome pe un adaptor real. Șablonul a fost generat în portalul TapHome din documentația micro-ebusd și din definițiile de mesaje ebusd pentru VRC 720 și aroTHERM plus. A fost testat doar cu un adaptor simulat pe un TapHome Core 2025.2 local, nu cu un adaptor, regulator sau o pompă de căldură reale, iar experiența din teren este binevenită. Descărcați XML-ul de pe această pagină sau din portalul TapHome: Vaillant aroTHERM plus + VRC 720 — șablon al comunității, și importați-l ca modul nou.

Șablonul completează șablonul oficial TapHome eBUS Adapter Shield C6 Stick, care prin MQTT arată starea adaptorului însuși (semnalul magistralei, serviciul, temperatura); cele două pot rula unul lângă altul. Nu are legătură cu șablonul comunității pentru ventiloconvectorul Vaillant aroVAIR, care folosește Modbus RTU.

De ce aveți nevoie

  • Vaillant aroTHERM plus cu regulatorul sensoCOMFORT VRC 720 pe magistrala eBUS.
  • eBUS Adapter Shield C6 sau Stick C6 (adapter.ebusd.eu) cu cel mai nou firmware și micro-ebusd activat. micro-ebusd este o funcție plătită a adaptorului, deblocată cu un token; fiecare adaptor primește o licență de probă de 30 de zile.
  • Adaptorul și TapHome Core în aceeași rețea locală.

Conexiunea hardware

Adaptorul se conectează la cele două borne eBUS ale regulatorului VRC 720; polaritatea magistralei eBUS nu contează. aroTHERM plus comunică cu regulatorul pe aceeași magistrală, deci nu este nevoie de niciun fir spre unitatea exterioară. Înainte de a lucra la bornele regulatorului, deconectați alimentarea de la rețea.

Conectați adaptorul la rețeaua locală conform documentației lui și rezervați-i adresa IP în router, astfel încât TapHome să îl găsească mereu.

Configurare

Activarea micro-ebusd

  1. Actualizați adaptorul la cel mai nou firmware (adapter.ebusd.eu).
  2. Obțineți un token micro-ebusd de pe token.ebusd.eu (o licență de probă de 30 de zile per adaptor, apoi contra cost) și introduceți-l în interfața web a adaptorului.
  3. După activare, API-ul HTTP JSON răspunde la http://<adapter-ip>/api/v1/ebus.

Găsirea numelor circuitelor

micro-ebusd adresează fiecare valoare prin circuit și numele mesajului. Deschideți în browser http://<adapter-ip>/api/v1/ebus/list: afișează circuitele și mesajele pe care adaptorul le-a găsit pe magistrală. Regulatorul sensoCOMFORT VRC 720 apare, în funcție de versiune, ca ctlv2, ctlv3 sau 720, unitatea exterioară a aroTHERM plus ca hmu. Dialogul de import menționează și 700 pentru VRC 700; șablonul a fost scris după definițiile de mesaje ale regulatorului VRC 720.

Parametrii de import

ParametruValoare implicităDescriere
ADAPTER_IP(gol)Adresa IP a adaptorului eBUS
CONTROLLER_CIRCUITctlv2Numele circuitului regulatorului din /api/v1/ebus/list
HEAT_SOURCE_CIRCUIThmuNumele circuitului unității exterioare aroTHERM plus

Importul creează două module pe același adaptor: sensoCOMFORT VRC 720 (ctlv2) cu opt dispozitive și aroTHERM plus (hmu) cu contorul de energie electrică al pompei de căldură.

Capacitățile dispozitivelor

Temperaturi și presiune

  • Temperatura exterioară — temperatura exterioară, așa cum o afișează VRC 720.
  • Temperatura de tur — temperatura de tur a sistemului (turul încălzirii).
  • Presiunea apei — presiunea apei din instalația de încălzire, în bar (doar citire).

Zona 1

  • Termostat zona 1 — temperatura camerei și valoarea impusă pe care regulatorul o folosește efectiv. O valoare impusă setată în TapHome (5–30 °C) este trimisă ca quick veto: o modificare temporară, programul orar al regulatorului rămâne neschimbat. După scriere, șablonul citește din nou valoarea de pe magistrală.
  • Mod de funcționare zona 1 — Oprit, Auto (program orar), Manual / Zi și Noapte. Șablonul trimite numele din definiția ebusd (off, auto, day, night). Pe VRC 720 modul day este modul lui manual, iar un mod de noapte VRC 720 nu are.

Apă caldă

  • Termostat apă caldă menajeră — temperatura boilerului de apă caldă și valoarea impusă a apei calde, reglabilă de la 35 la 75 °C.
  • Mod de funcționare apă caldă menajeră — Oprit, Auto, Zi sau Noapte.
  • Încălzire unică a apei calde — pornirea începe încălzirea; după încărcarea boilerului, regulatorul revine singur în auto, iar comutatorul arată din nou oprit.

Electricitatea pompei de căldură

Modulul aroTHERM plus (hmu) are un singur dispozitiv, Contor de energie electrică al pompei de căldură, un contor al unității exterioare:

  • Putere absorbită — puterea electrică actuală a pompei de căldură, în kW.
  • Consum total — consumul total de electricitate al pompei de căldură, în kWh. Contorul este un număr pe 16 biți (cel mult 65535 kWh), deci la o unitate care funcționează de mulți ani poate să fi pornit deja din nou de la zero.

Afișează și trei atribute de service:

Atribut de serviceDescriere
COP (încălzire)Coeficientul de performanță al pompei de căldură la încălzire
Randament termic total [kWh]Randamentul termic total al pompei de căldură — energie termică, nu electricitate
Stare de funcționareStarea raportată de unitatea exterioară: ready, heating, cooling, heating_water sau error

Erorile regulatorului

Modulul sensoCOMFORT VRC 720 (ctlv2) citește la fiecare ciclu erorile curente ale regulatorului. Pentru fiecare dintre cele cinci câmpuri de eroare ale sale care nu este zero, modulul afișează o eroare cu numărul erorii, de exemplu Controller error code: 1025.

Cum comunică șablonul cu adaptorul

Fiecare valoare este un mesaj din definiția ebusd. Șablonul îl citește cu GET /api/v1/ebus/{circuit}/{message}/get?from=1, care răspunde din memoria cache a adaptorului sau întreabă magistrala, și ia din răspuns data.fields.value. O scriere este PUT /api/v1/ebus/{circuit}/{message}/set cu corpul {"fields":{"value":…}}, urmată de o citire cu from=2, care întreabă întotdeauna magistrala. Modulele și toate dispozitivele citesc la fiecare 60 s.

Niciun dispozitiv nu scrie nimic la pornirea TapHome Core: își iau starea de la adaptor, nu din ultima valoare din TapHome.

Unele versiuni de firmware ale VRC 720 confirmă o scriere fără să o execute. Deoarece șablonul citește din nou valoarea de pe magistrală după fiecare scriere, TapHome arată apoi valoarea pe care regulatorul o folosește efectiv, nu pe cea setată de dumneavoastră.

Ce nu face șablonul

  • Parametrii instalatorului (curba de încălzire, temperatura maximă de tur) sunt omiși intenționat — șablonul nu modifică setările de instalator ale regulatorului.
  • Răcirea zonei 1, zonele 2 și 3 și programul orar săptămânal nu fac parte din șablon.
  • Alte valori ale unității exterioare (temperatura aerului aspirat, gradul de utilizare a compresorului, puterea termică actuală) sunt disponibile pe magistrală, dar nu sunt citite.

Depanare

Nicio valoare

Verificați dacă micro-ebusd este activat și dacă tokenul nu a expirat: fără micro-ebusd adaptorul nu răspunde la /api/v1/ebus. Verificați dacă http://<adapter-ip>/api/v1/ebus/list se deschide în browser.

Dispozitivele regulatorului nu afișează nicio valoare

Numele circuitului nu se potrivește. Deschideți http://<adapter-ip>/api/v1/ebus/list, găsiți numele regulatorului (ctlv2, ctlv3 sau 720) și al unității exterioare (hmu) și importați din nou șablonul cu aceste nume.

O valoare impusă sau un mod revine la valoarea veche

Regulatorul nu a executat scrierea; TapHome arată valoarea citită înapoi de pe magistrală. Verificați modul de funcționare al zonei și firmware-ul regulatorului.

Eroare de modul Controller error code: …

Regulatorul raportează o eroare cu acest număr. Căutați-o în documentația regulatorului sau a pompei de căldură; eroarea de modul dispare când regulatorul o șterge.

Dispozitive disponibile

sensoCOMFORT VRC 720 (ctlv2) Modul

sensoCOMFORT VRC 720 (ctlv2)

Citire (modul)
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 exterioară Senzor de temperatură Doar citire

Temperatura exterioară, așa cum o afișează regulatorul VRC 720

numeric Unitate: °C

Temperatura exterioară

Citirea temperaturii
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 zona 1 Termostat

Temperatura camerei și valoarea impusă activă a zonei 1; o valoare impusă nouă este trimisă ca quick veto — o modificare temporară, programul orar rămâne neschimbat

numeric Unitate: °C

Termostat zona 1

Citirea temperaturii
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);
Citirea temperaturii dorite
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);
Scrierea temperaturii dorite
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");
Mod de funcționare zona 1 Comutator cu mai multe valori

Modul de funcționare al zonei 1 — Oprit, Auto (program orar), Manual / Zi sau Noapte; pe VRC 720 modul day este modul manual, iar modul de noapte nu există

enum numeric
Valori / Stări: Oprit · Auto · Manual / Zi · Noapte

Mod de funcționare zona 1

Citirea stării comutatorului
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);
Scrierea stării comutatorului
# 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 apă caldă menajeră Termostat

Temperatura boilerului de apă caldă și valoarea impusă a apei calde, reglabilă de la 35 la 75 °C

numeric Unitate: °C

Termostat apă caldă menajeră

Citirea temperaturii
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);
Citirea temperaturii dorite
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);
Scrierea temperaturii dorite
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");
Mod de funcționare apă caldă menajeră Comutator cu mai multe valori

Modul de funcționare al circuitului de apă caldă — Oprit, Auto, Zi sau Noapte

enum numeric
Valori / Stări: Oprit · Auto · Zi · Noapte

Mod de funcționare apă caldă menajeră

Citirea stării comutatorului
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);
Scrierea stării comutatorului
# 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
Încălzire unică a apei calde Comutator

Încălzire unică a apei calde — pornirea începe încălzirea, iar după încărcarea boilerului regulatorul revine singur în auto

boolean
Valori / Stări: Active · OFF

Încălzire unică a apei calde

Citirea stării comutatorului
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);
Scrierea stării comutatorului
# 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 de tur Senzor de temperatură Doar citire

Temperatura de tur a sistemului (turul încălzirii), așa cum o raportează regulatorul VRC 720

numeric Unitate: °C

Temperatura de tur

Citirea temperaturii
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);
Presiunea apei Variabilă Doar citire

Presiunea apei din instalația de încălzire, în bar

numeric Unitate: bar

Presiunea apei

Citire
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);
Conexiune: Packet Parser → HTTP
Îmbunătățiri posibile (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.

Surse

  • 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

Ați găsit o problemă la acest șablon de dispozitiv?

Spuneți-ne ce nu funcționează, ce lipsește sau cum ar trebui să se comporte șablonul. Feedbackul dvs. ne ajută să păstrăm catalogul corect.

Comunitate — neverificat

Doriți să folosiți acest șablon în TapHome Core?

Deschideți acest șablon în Customer Portal pentru a-l aplica într-una dintre locuințele dvs. sau pentru a propune o îmbunătățire și a o trimite înapoi în catalog.

Deschideți în portal