Vaillant eBUS — local ebusd integration (no cloud, no MQTT)

Vaillant eBUS local integration via ebusd (no MQTT / no cloud)

After running into recurring issues with the Vaillant cloud/API integrations, I decided to go local.

I bought an eBUS adapter, connected it through ebusd, and built a Home Assistant custom integration that communicates directly with the heat pump over eBUS — without cloud dependency, API limits, or MQTT in between.

Features

  • Fully local — no myVAILLANT API, cloud, or API keys
  • Direct TCP connection to ebusd
  • Automatic register discovery via ebusd find / define
  • Dynamic entity generation from available eBUS registers
  • Supports:
    • sensors
    • binary sensors
    • numbers
    • selects
    • switches
    • climate
    • water heater
    • calendar
  • Read and write eBUS values from Home Assistant
  • YAML overrides for entity metadata

Why another integration?

The existing API-based integrations work for basic monitoring, but reliability and availability depend on Vaillant’s cloud services.

The standard ebusd MQTT path is also useful, but some Vaillant-specific functionality is difficult to expose:

  • Runtime-defined registers (for example room humidity)
  • Proper climate entities
  • Water heater control
  • Calendar-based away mode
  • Direct write support

This integration focuses on exposing the eBUS data and controls directly in Home Assistant.

Status

Currently developed and tested on my own Vaillant heat pump setup.

Because eBUS implementations differ between models, controllers, and firmware versions, feedback from other hardware configurations is very welcome.

Installation via HACS

Add this custom repository:

https://github.com/MarkBovee/vaillant-ebus

Requirements:

  • Home Assistant
  • ebusd addon
  • ebusd running with:
    • --port=8888
    • --enabledefine

Repository:

Feedback, logs, and hardware details are welcome!

1 Like

Thank you for this nice integration. Do I understand you correctly, that that should work with a Vaillant heat pumpt which also has a VR921 installed? I’m using it at the moment with the official MyVaillant App.

I’ve enabled EEBUS on the MyVaillant App. Then I installed the ebusd addon (GitHub - john30/ebusd: daemon for communication with eBUS heating systems · GitHub) and tried to configure it. But no matter which port I’m using the ebusd won’t connect. I’m sure that I’ve got the right address because I found the DHCP assignment.

Did I missunderstand that and I need an additional device? Or am I doing something wrong?

At the moment I’m on HomeAssistant 2026.7.3

→ Edit: Forget it, I just saw you still need another ebus adapter for that to work. Sorry for that.

Michael

Hi Michael,

Yes, the VR921 is also what I have installed, and I initially tried exactly the same route: enabling EEBUS in the MyVaillant app and trying to use the VR921 connection directly. Unfortunately, EEBUS on the VR921 is not enough for this integration.

The VR921 communicates through the Vaillant cloud/MyVaillant ecosystem and does not expose the full eBUS data needed for a local Home Assistant integration.

You need an additional eBUS adapter. I’m using the eBUS Adapter v5 C6 stick:

It is connected in parallel with the VR921 using the two eBUS wires, and powered via USB-C. First configure the adapter on a PC (WiFi access and a fixed IP address), then enable the integration and point it to the adapter. After that it works completely locally through eBUS.

You can keep the VR921 installed — the MyVaillant app will continue to work. The eBUS adapter simply listens directly on the bus in parallel and gives Home Assistant local access to the heat pump data and control functions.

So you are not doing anything wrong with the ports or DHCP address — the missing piece is the physical eBUS adapter.

Regards,
Mark

Hi Mark,

thank you for clarification. So I will reach out for an adapter :slight_smile:

Regards,
Michael

1 Like