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!








