
The Vaillant aroTHERM plus template connects TapHome to a Vaillant aroTHERM plus air-to-water heat pump and its system controller sensoCOMFORT VRC 720 through an eBUS Adapter Shield or Stick C6 from ebusd.eu. The adapter sits on the eBUS of the controller and runs micro-ebusd, which decodes the Vaillant messages and offers them over a local HTTP JSON API. TapHome talks only to the adapter, in the local network; no cloud is used.
The template reads the outdoor, room, flow and hot water temperatures, the water pressure, the power and energy of the heat pump and the errors of the controller. It sets the room setpoint of zone 1, the hot water setpoint, the operating modes of zone 1 and the hot water and starts a one-time hot water charge.
Community template — not yet tested with TapHome on a real adapter. The template was generated in the TapHome portal from the micro-ebusd documentation and the ebusd message definitions for the VRC 720 and the aroTHERM plus. It was tested only against a simulated adapter on a local TapHome Core 2025.2, not on a real adapter, controller or heat pump, and feedback from the field is welcome. Download the XML on this page, or get it from the TapHome portal: Vaillant aroTHERM plus + VRC 720 — community template, and import it as a new module.
The template complements the official TapHome template eBUS Adapter Shield C6 Stick, which shows the health of the adapter itself (bus signal, daemon, temperature) over MQTT; the two can run side by side. It is not related to the community template for the Vaillant aroVAIR fan coil, which uses Modbus RTU.
What you need
- Vaillant aroTHERM plus with the controller sensoCOMFORT VRC 720 on the eBUS.
- eBUS Adapter Shield C6 or Stick C6 (adapter.ebusd.eu) with the latest firmware and micro-ebusd activated. micro-ebusd is a paid function of the adapter, unlocked with a token; each adapter gets one 30-day trial.
- The adapter and the TapHome Core in the same local network.
Hardware connection
The adapter connects to the two eBUS terminals of the VRC 720 controller; eBUS is polarity-independent. The aroTHERM plus talks to the controller over the same bus, so no wire to the outdoor unit is needed. Disconnect the mains power before working on the controller terminals.
Connect the adapter to the local network as described in the adapter documentation and reserve its IP address in the router, so that TapHome can always reach it.
Configuration
Activating micro-ebusd
- Update the adapter to the latest firmware (adapter.ebusd.eu).
- Get a micro-ebusd token at token.ebusd.eu (one 30-day trial per adapter, then paid) and enter it in the web interface of the adapter.
- After the activation the HTTP JSON API answers at
http://<adapter-ip>/api/v1/ebus.
Finding the circuit names
micro-ebusd addresses each value by circuit and message name. Open http://<adapter-ip>/api/v1/ebus/list in a browser: it lists the circuits and messages the adapter found on the bus. The controller sensoCOMFORT VRC 720 appears as ctlv2, ctlv3 or 720 depending on its version, the outdoor unit of the aroTHERM plus as hmu. The import dialog also names 700 for the VRC 700; the template was written against the message definitions of the VRC 720.
Import parameters
| Parameter | Default | Description |
|---|---|---|
ADAPTER_IP | (empty) | IP address of the eBUS adapter |
CONTROLLER_CIRCUIT | ctlv2 | Circuit name of the controller from /api/v1/ebus/list |
HEAT_SOURCE_CIRCUIT | hmu | Circuit name of the aroTHERM plus outdoor unit |
The import creates two modules on the same adapter: sensoCOMFORT VRC 720 (ctlv2) with eight devices and aroTHERM plus (hmu) with the electricity meter of the heat pump.
Device capabilities
Temperatures and pressure
- Outdoor Temperature — outdoor temperature as shown by the VRC 720.
- Flow Temperature — system flow temperature (heating supply).
- Water Pressure — water pressure of the heating system in bar (read only).
Zone 1
- Zone 1 Thermostat — room temperature and the setpoint the controller really uses. A setpoint set in TapHome (5–30 °C) is sent as quick veto: a temporary change, the time programme of the controller stays as it is. After the write the template reads the value again from the bus.
- Zone 1 Operating Mode — Off, Auto (time programme), Manual / Day and Night. The template sends the names of the ebusd definition (
off,auto,day,night). On the VRC 720 the modedayis its manual mode, and the VRC 720 has no night mode.
Hot water
- Hot Water Thermostat — temperature of the hot water storage tank and the hot water setpoint, adjustable from 35 to 75 °C.
- Hot Water Operating Mode — Off, Auto, Day or Night.
- Hot Water Boost — one-time hot water charge. Switching it on starts the charge; the controller returns to auto by itself when the tank is charged, and the switch then shows off again.
Heat pump electricity
The module aroTHERM plus (hmu) carries one device, Heat Pump Electricity, an electricity meter of the outdoor unit:
- Demand — current electrical power of the heat pump in kW.
- Total consumption — total electricity consumption of the heat pump in kWh. The counter is a 16-bit number (at most 65535 kWh), so on a unit that has run for many years it can have started from zero again.
It also shows three service attributes:
| Service attribute | Description |
|---|---|
| COP (heating) | Coefficient of performance of the heat pump in heating |
| Total thermal yield [kWh] | Total heat yield of the heat pump — thermal energy, not electricity |
| Operational state | State reported by the outdoor unit: ready, heating, cooling, heating_water or error |
Controller errors
The module sensoCOMFORT VRC 720 (ctlv2) reads the current errors of the controller every cycle. For each of its five error fields that is not zero, the module shows an error with the error number, for example Controller error code: 1025.
How the template talks to the adapter
Each value is one message of the ebusd definition. The template reads it with GET /api/v1/ebus/{circuit}/{message}/get?from=1, which answers from the cache of the adapter or asks the bus, and takes data.fields.value from the answer. A write is PUT /api/v1/ebus/{circuit}/{message}/set with the body {"fields":{"value":…}}, followed by a read with from=2, which always asks the bus. The modules and all devices read every 60 s.
None of the devices writes anything when the TapHome Core starts: they take their state from the adapter, not from the last value in TapHome.
Some VRC 720 firmware versions confirm a write and do not apply it. Because the template reads the value back from the bus after each write, TapHome then shows the value the controller really uses, not the one you set.
What the template does not do
- Installer parameters (heat curve, maximum flow temperature) are left out on purpose — the template does not change the installer settings of the controller.
- Cooling of zone 1, zones 2 and 3, and the weekly time programme are not part of the template.
- Further values of the outdoor unit (air intake temperature, compressor utilisation, current heat output) are available on the bus but not read.
Troubleshooting
No values at all
Check that micro-ebusd is activated and the token has not expired: without micro-ebusd the adapter does not answer on /api/v1/ebus. Check that http://<adapter-ip>/api/v1/ebus/list opens in a browser.
The controller devices show no value
The circuit name does not match. Open http://<adapter-ip>/api/v1/ebus/list, find the name of the controller (ctlv2, ctlv3 or 720) and of the outdoor unit (hmu) and import the template again with these names.
A setpoint or mode returns to the old value
The controller did not apply the write; TapHome shows the value read back from the bus. Check the operating mode of the zone and the firmware of the controller.
Module error Controller error code: …
The controller reports an error with this number. Look it up in the documentation of the controller or the heat pump; the module error goes away when the controller clears it.