Vaillant eBUS hardware adapter (ebusd software) Thread

I’m convinced my wireless sensocomfort reports higher than anything else (the other 3 thermostats in the same place)

Anything between 0.2 to 0.5C and beyond difference.

it also seems super sensitive to noticing a bit of heat (see just after 6am this morning).

I did try altering them, but it only allows changes in 0.5 steps. Which can be too big a jump!

I’d love to write a bit of an automation to poke into the offset to match these sensors up.
ie, check difference and then alter to the offset every 5 mins or so.

Because the sensor comfort (and the Havenwise controller) both use the internal temp from the senso comfort to make flow temp decisions (as part of the ‘active’ room temp mod)

I would only copy the missing line in my local CSV, It’s time consuming this

Do you know the CSV entries for the offsets?

Surely the whole point of the ebusd is to remove the dependence on the cloud for data from the AroTherm, but this then seems to re-apply a dependence on the cloud, this time to simply run the ebusd

This is not a cloud dependence as such but a way to source the config csvs from an online content distribution network. I’m not 100% sure how exactly it interfaces with the ebusd install but it’s not a “the server goes down now I can’t use my local ebusd any more” situation. You can simply copy the files off the repo and point your local install to this copy. No online or permanent cloud access is required.

2 Likes

Hello everybody. Total newbie here, totally lost.

I have a Vaillant outsideMAG 128. I purchased an adapter v6.3 from Elecrow, and connected it to the black (-) and white (+) cables of the display, with the display still connected (and still working). The power LED powers, the Rx LED blinks, the D8 LED is on. WiFi is configured and I can connect to the ports, ie on 3334 I see things like ▒▒[▒▒▒▒▒▒,"X▒▒▒▒▒▒d▒▒▒▒▒▒▒,"X▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒,"X▒▒▒▒▒▒▒8▒▒▒▒▒▒,"X▒▒▒▒▒▒▒▒▒▒▒▒▒,"X▒▒▒▒▒▒▒▒▒▒▒▒▒,"X▒▒▒▒▒▒! […]
Starting ebusd with “ebusd -f --scanconfig -d esp-ebus.local:3333” I get:
2025-07-03 15:27:07.299 [device notice] transport opened
2025-07-03 15:27:07.299 [main notice] ebusd 25.1.25.1 started with broadcast scan on device: esp-ebus.local:3333, TCP
2025-07-03 15:27:07.911 [bus notice] bus started with own address 31/36
2025-07-03 15:27:07.911 [bus notice] signal acquired
2025-07-03 15:27:17.911 [main notice] starting initial broadcast scan
2025-07-03 15:33:14.082 [bus notice] max. symbols per second: 101
2025-07-03 15:33:23.018 [bus notice] max. symbols per second: 166

I have tried also “–scanconfig=full” and after “signal acquired” I get:
2025-07-03 14:42:00.464 [main notice] starting initial full scan
2025-07-03 14:43:01.903 [main notice] scan completed 1 time(s), check again
2025-07-03 14:43:57.916 [main notice] update check: OK
2025-07-03 14:44:07.916 [main notice] scan completed 2 time(s), check again
2025-07-03 14:45:17.918 [main notice] scan completed 3 time(s), check again
2025-07-03 14:46:27.920 [main notice] scan completed 4 time(s), check again
2025-07-03 14:47:36.939 [main notice] scan completed 5 time(s), check again
2025-07-03 14:48:45.969 [main notice] scan completed 6 time(s), end

but on “info” I only see ebusd and no other device. What am I doing wrong?

The first thing is that the adapter must be connected to the EBUS. We are mostly heatpump owners here, so I don’t know if anyone is in any way familiar with the outsideMAG. Therefore, I do not know if the Black & White wires are EBUS or for some other thing.

But even after connecting the unit, the data will need to be interpreted / decrypted, and I don’t know if anyone has written the coding for the signals from a outsideMAG

Hi all,

I’m new to this topic and need some advice. I recently had an aroTherm plus heat pump and a uniTower installed. I just ordered the ebus adapter and need advice on how to wire it up. The currently all ebus wires (one from the heat pump, one from sensoComfort, and one from the Myvaillant gateway) come together within the uniTower module and are connected directly to the ebus port on the board. I wouldn’t want to open up the uniTower and was wondering if it was a viable solution to branch off the ebus connector of the myVaillant gateway and wire the ebus adapter from there?

Thanks

You can snip into the middle of any ebus wire and use Wago connectors to take a tap off it into the ebusd adapter

Has anyone else noticed that WaterThroughput no longer returns any data?

Hello everyone,

I`m trying to control my Vialant VCW 226/7-2 (E-PL) ecoTEC pure via ebusd adapter shield c6 stick. So far I tried default configuration of ebusd but my vialant when start up all time trying to heat up. All my smart thermostat are in idle mode( working with better thermostat).From a lot of sensors working fine just 2/3- ebus connection, scan of devices, and running state).

Today tried different configuration from archived csv GitHub - john30/ebusd-configuration: ebusd configuration files .

I copied whole repository and trying use some config like 0010015600 but same issue.

What i changed:

  • mqtt-hassio.cfg - file added filter-direction = r|u|^w at 120 line.
  • 8.bai.csv - [PROD=‘0010019987’] !load,bai.0010015600.inc,

Any tips, ideas?

Logs ebusd:

2025-10-08 22:22:33.348 [mqtt debug] publish ebusd/global/uptime 12576

2025-10-08 22:22:42.083 [bus notice] signal acquired

2025-10-08 22:22:42.458 [bus notice] new master 03, master count 2

2025-10-08 22:22:44.178 [main notice] starting initial broadcast scan

2025-10-08 22:22:44.274 [update notice] sent write broadcast queryexistence QQ=31:

2025-10-08 22:22:49.372 [mqtt debug] publish ebusd/global/uptime 12592

2025-10-08 22:22:49.372 [mqtt debug] publish ebusd/global/uptime 12592

2025-10-08 22:22:49.373 [mqtt debug] publish ebusd/global/signal true

2025-10-08 22:22:49.373 [mqtt debug] publish ebusd/global/signal true

2025-10-08 22:22:49.373 [mqtt debug] publish empty ebusd/broadcast/queryexistence

2025-10-08 22:22:49.373 [mqtt debug] publish empty ebusd/broadcast/queryexistence

2025-10-08 22:22:54.424 [bus notice] scan 08: ;Vaillant;BAI00;0706;1303

2025-10-08 22:22:54.424 [update notice] store 08 ident: done

2025-10-08 22:22:54.424 [update notice] sent scan-read scan.08 QQ=31: Vaillant;BAI00;0706;1303

2025-10-08 22:22:54.424 [bus notice] scan 08: ;Vaillant;BAI00;0706;1303

2025-10-08 22:22:54.428 [main error] error reading templates in vaillant: ERR: missing argument, last error: vaillant/_templates.csv:102: ERR: missing argument, field type in field 1

2025-10-08 22:22:54.429 [main error] error reading scan config file vaillant/08.bai.csv for ID “bai00”, SW0706, HW1303: ERR: end of input reached, vaillant/08.bai.csv:22: ERR: end of input reached, empty type

2025-10-08 22:22:54.429 [main error] scan config 08: ERR: end of input reached

2025-10-08 22:22:54.429 [mqtt debug] publish ebusd/global/scan “running”

2025-10-08 22:22:54.429 [mqtt debug] publish ebusd/global/scan “running”

2025-10-08 22:22:55.434 [mqtt debug] publish ebusd/scan.08/ {

 "MF": {"value": "Vaillant"},

 "ID": {"value": "BAI00"},

 "SW": {"value": "0706"},

 "HW": {"value": "1303"}}

2025-10-08 22:22:55.434 [mqtt debug] publish ebusd/scan.08/ {

 "MF": {"value": "Vaillant"},

 "ID": {"value": "BAI00"},

 "SW": {"value": "0706"},

 "HW": {"value": "1303"}}

2025-10-08 22:22:56.430 [mqtt debug] publish ebusd/global/scan “finished”

2025-10-08 22:22:56.431 [mqtt debug] publish ebusd/global/scan “finished”

2025-10-08 22:23:05.444 [mqtt debug] publish ebusd/global/uptime 12608

2025-10-08 22:23:05.445 [mqtt debug] publish ebusd/global/uptime 12608

2025-10-08 22:23:21.466 [mqtt debug] publish ebusd/global/uptime 12624

2025-10-08 22:23:21.466 [mqtt debug] publish ebusd/global/uptime 12624

2025-10-08 22:23:37.488 [mqtt debug] publish ebusd/global/uptime 12640

2025-10-08 22:23:37.488 [mqtt debug] publish ebusd/global/uptime 12640

2025-10-08 22:23:53.510 [mqtt debug] publish ebusd/global/uptime 12656

2025-10-08 22:23:53.510 [mqtt debug] publish ebusd/global/uptime 12656

2025-10-08 22:23:56.436 [main notice] scan completed 1 time(s), check again

Hello,
I testing conenctivity to my vailant furnance to custom ebus stick c6. chat gpt and other suggest to use to my device files 8.bai.csv etc from archvied folder: ebusd-configuration/archived/en/vaillant/08.bai.csv at master · john30/ebusd-configuration · GitHub

After upload it to ebusd service in Home assistant, logs show there is updates to my files which i directly downlaod from github and didnt see any other csv files like ebusd mention.

Can someone advise where to find this files or how to update it from ebusd in HA? Restart not downloading anything.

2025-10-09 11:59:12.956 [mqtt debug] publish ebusd/global/uptime 128
2025-10-09 11:59:14.840 [device notice] extra info: ID ccba97f8e47c480200
2025-10-09 11:59:14.940 [main notice] update check: revision 25.1 available, broadcast.csv: different version available, memory.csv: different version available
2025-10-09 11:59:14.940 [mqtt debug] publish ebusd/global/updatecheck “revision 25.1 available, broadcast.csv: different version available, memory.csv: different version available”
2025-10-09 11:59:14.940 [mqtt debug] publish ebusd/global/updatecheck “revision 25.1 available, broadcast.csv: different version available, memory.csv: different version available”
2025-10-09 11:59:28.962 [mqtt debug] publish ebusd/global/uptime 144

Apologies if this is not the place to ask….but I have a Vaillant Aerotherm ASHP monitored by an open energy monitor pi

The Vaillant app integration into home assistant seems a bit unreliable, since all queries have to go via the cloud API which often fails / gives errors

It looks like ebusd can query most (all) of the same parameters directly from the ASHP

Can I use the pi and install ebusd to monitor the heat pump - or is that likely to break the openenergymonitor pi software?

For wiring into the bus can I just star off the wago connection below? I’m not sure how contention works on this bus - so wouldn’t want to break the existing comms…

On an only slightly related note - having 3 Vaillant boxes on the bus seems a bit odd!

So far as I can work out:

The VWZ AI takes inputs from the various sensors and feeds them to the base station, as well as allowing for system config

The Vaillant base station takes the info from the VWZ AI and controls the system, as well as providing a link to the local wireless control panel

The Vaillant connect acts as an internet bridge for uploading data to the cloud…?

Feels like there is some overlap in functionality though!

You need a separate piece of hardware to receive ebus messages - do you have that? If so it can connect to any RPi.

Your wiring understanding is spot on. There is definitely some overlap, but that’s because you xan also run the system with just the VWZ AI so it needs to have some control functionality.

Yep - I have an emonPi2 that I can ssh into, and the ebus interface kit is being delivered on Monday (an eBUS Adapter Stick C6)

Assuming it won’t break anything emon related I was planning on connecting the ebusd adapter to that, and installing ebusd there

I don’t see why it would break anything but the adapter also works via wifi so you could power it, connect it to ebus and then try it on another computer (needs to be Linux -based though I think).

Thanks - yes I thought of that - but the easiest way to power the C6 is via the pi2 - and if it has a USB connection the the pi2 anyway I may as well run ebusd there as well

I have installed ebusd on the pi2 and everything seems fine so far. Just need the c6 :slight_smile:

I have my ebus install on a separate older pi.

The code install can get messy and i felt like i was forever rebooting before i managed to get it working properly.

If you have an old pi spare, I would definitely use that.

1 Like

A propos: Much kudos to everyone prepared to post here saying “This is doing my head in, help!”

(I have edited this post down from a much longer one which has been overtaken by events)

I have a Vaillant AroTherm Pro which talks to HA in docker via an eBus adapter 6.1 to ebusd and MQTT. It has been working fine since at least December but over the weekend I flashed the current firmware into the eBus adapter and now it has stopped working.

The Rx light on the adapter is on solid. The Tx light flashes briefly when I reboot it then stops. I can talk to the firmware over WiFi and run REPL commands.

I erased and re-installed the firmware, plugged the adapter back in (still offering the initial SSID on 192.168.4.1) and the Rx light is still not blinking. There are 17 volts on the eBus connector on the board which is what it should be.

Is the board fried or am I missing something? (I have a replacement on order just in case and I’ll know more when it arrives) - I’ll be grateful for any input on this one!

Just something which some people may not be aware of, and which caught me out. The Vaillant Controller can lose its time and date if the system loses power for a time. We had a power cut and my system time was about 12 hours out of sync, and so my system only heated during the day to the overnight temperature.

This screen pic is from when I discovered the problem, and fixed it on the SensoComfort

Thankfully, I found a Sensor which pulls the time from the Controller via the ebus. So I asked ChatGPT for an automation to compare this time to the current time, and alert me if off by over 5 mins

```
alias: “Vaillant Controller Time Check”description: “Compares the time sensor to the current time and alerts if difference > 5 minutes”trigger:

platform: time_patternminutes: “/1”  # Check every minutecondition:

condition: templatevalue_template: >{% set sensor_time = states(‘sensor.ebusd_broadcast_vdatetime_time’) %}{% if sensor_time in [‘unknown’, ‘unavailable’, ‘none’, ‘’] %}false{% else %}{% set sensor_dt = today_at(sensor_time) %}{% set now_dt = now() %}{% set diff = (now_dt - sensor_dt).total_seconds() | abs %}{{ diff > 300 }}  # 300 seconds = 5 minutes{% endif %}action:

service: notify.mobile_app_your_devicedata:title: “Time Difference Alert”message: >The time sensor ({{ states(‘sensor.your_time_sensor’) }})differs from the current time by more than 5 minutes!mode: single
1 Like