---
title: "Vaillant aroTHERM plus + sensoCOMFORT VRC 720 (eBUS, micro-ebusd)"
description: "Control a Vaillant aroTHERM plus with the sensoCOMFORT VRC 720 from TapHome over eBUS — room and hot water setpoints, modes, power and energy, no cloud."
url: "https://taphome.com/en/compatibility/vaillant-ebus-micro-ebusd-http/"
language: en
lastmod: 2026-11-04
generator: hugo
ai:
  topics: ["http","heat-pump","ebus","rest-api","gateway","wifi","dhw"]
  questions: ["Is there a TapHome template for Vaillant heat pumps?","What is the simplest way to control a Vaillant heat pump from TapHome?","How to connect a Vaillant aroTHERM plus with a sensoCOMFORT VRC 720 to TapHome over eBUS?","What does the micro-ebusd token of the eBUS Adapter C6 do?","Which circuit names does the Vaillant template need?","Why does a setpoint written from TapHome return to the old value on a VRC 720?"]
---

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

Communication: Packet Parser → HTTP

- [Vaillant Official Website](https://www.vaillant.com)
- [Vaillant aroTHERM plus Product Page](https://www.vaillant.com/en/products/arothermplus/)
- [eBUS Adapter Shield C6 and Stick C6](https://adapter.ebusd.eu/v5-c6/)

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.

> [!WARNING]
> **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](https://portal.taphome.com/portal/community/vaillant-ebus-micro-ebusd-http), and import it as a new module.

**[Vaillant heat pump and VRC 720 controller through the eBUS Adapter C6 with micro-ebusd (HTTP)](https://portal.taphome.com/en/portal/community/vaillant-ebus-micro-ebusd-http)** — Vaillant, HTTP. Vaillant aroTHERM plus with the sensoCOMFORT VRC 720 through the eBUS Adapter C6 running micro-ebusd: outdoor, room, flow and hot water temperatures, room setpoint as a temporary override, zone and hot water modes, hot water boost, water pressure, heat pump power and energy, controller errors.

The template complements the official TapHome template [eBUS Adapter Shield C6 Stick](https://taphome.com/en/compatibility/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](https://adapter.ebusd.eu/v5-c6/)) 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

1. Update the adapter to the latest firmware ([adapter.ebusd.eu](https://adapter.ebusd.eu/v5-c6/)).
2. Get a micro-ebusd token at [token.ebusd.eu](https://token.ebusd.eu/) (one 30-day trial per adapter, then paid) and enter it in the web interface of the adapter.
3. 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 mode `day` is 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.

> [!NOTE]
> **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.

## Available devices

sensoCOMFORT VRC 720 (ctlv2) Module

Outdoor Temperature Temperature Sensor Read-only

Outdoor temperature as shown by the VRC 720 controller

numeric Unit: °C

Zone 1 Thermostat Thermostat

Room temperature and active setpoint of zone 1; a new setpoint is sent as quick veto — a temporary change, the time programme stays as it is

numeric Unit: °C

Zone 1 Operating Mode Multi-value Switch

Operating mode of zone 1 — Off, Auto (time programme), Manual / Day or Night; on the VRC 720 the mode day is the manual mode and there is no night mode

enum numeric

Values / States: Off · Auto · Manual / Day · Night

Hot Water Thermostat Thermostat

Hot water storage temperature and hot water setpoint, adjustable from 35 to 75 °C

numeric Unit: °C

Hot Water Operating Mode Multi-value Switch

Operating mode of the hot water circuit — Off, Auto, Day or Night

enum numeric

Values / States: Off · Auto · Day · Night

Hot Water Boost Switch

One-time hot water charge — on starts the charge, the controller returns to auto by itself when the tank is charged

boolean

Values / States: Active · OFF

Flow Temperature Temperature Sensor Read-only

System flow temperature (heating supply) as reported by the VRC 720 controller

numeric Unit: °C

Water Pressure Variable Read-only

Water pressure of the heating system in bar

numeric Unit: bar

**Connection:** Packet Parser → HTTP

Possible improvements (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.

## Sources

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

## Related Documentation

- [Packet Parser Integration](https://taphome.com/en/compatibility/packet-parser-guide/)
- [Packet Parser (HTTP, TCP, UDP, FTP, MQTT)](https://taphome.com/en/docs/integration/packet-parser/)
- [Packet parser functions](https://taphome.com/en/docs/script/packet-parser/)
- [Parsing functions](https://taphome.com/en/docs/script/parsing-functions/)

