Ariston Group integration via eBusd

Hi all,
this is a post on how to integrate Home Assistant, via eBusd, to an Ariston Group (R) BusBridgenet (R) HVAC system, accessing the system bus via a custom/dedicated adapter, in READ and WRITE operations. You’ll be able read and change parameters as temperatures, modes etc.
This post is not a comprehensive HOWTO, but a more general “instruction” on how to do it, as there are many different ways to tap into the bus and many configuration possible for HA (HASSIO, local setup, docker etc).
This is a local and NOT a cloud based integration so it’s not depending on the Ariston cloud systems. A fair amount of space is given to hints on how to choose the right adapter and where to place it.

This system has been tested to work correctly on different models of Ariston Group appliances, the device compatible are the ones that have a device that has a bus port, in the owner/installer manual the port is identified by the “BUS” label and usually have the E-BUS 2 or B/T written nearby.
Ariston, Chaffoteaux and Elco are the primary brands, Ariston Nimbus HP and their Chaffoteaux and Elco corrispettives, Ariston Genus boiler and Chaffoteaux Mira etc can be accessed, please chech your applicance system, if in doubt reply here, I’ll try to help to understand if it’s feasible.

The codes I’ve been able to gather are mostly cross compatible, are thus common to many different appliances, but older or newer version of the FW can get different formats and/or meanings, so I cannot guarantee that it will alwais work 100%.

Link to the repo:

Pros are a a much faster response and total independence from (eventual) modifications done on Ariston cloud infrastructure. It works with a Boiler only configuration or with a more complex heatpump or hybrid system (like mine).
Cons are the need of an external adapter that must be wired to the HVAC system, some details on this are below in the post.

From now on I’ll use HVAC system as a general term for a single boiler, a single heatpump or a combination of both. My configuration is based on some assumptions:

  1. HA installed and working
  2. MQTT broker already in place, if using HASSIO and you miss MQTT you must install the MQTT add-on
  3. As said before, having an adapter to access the bus, here there are man possibilities:
  • official ebusd adapter
  • unofficial adapter (atm Im satisfied with this)
  • other serial or ethernet adapter
  1. eBusd up&running, also here, if you’re using HASSIO there is an add-on for that

First of all the adapter, based on various variables you should choose the right adapter for you, eBus is a real time, latency sensistive protocol so low latency between the software (eBusd) and the hardware (the adapter) is required. If you have a good, shielded telephone cable you can place the adapter at a fairly good lenght from your appliance. A good wifi coverage is usually sufficient and thus you can choose the lesser impact device (wifi, bus powered).

  • a wifi based adapter like mine (GitHub - danielkucera/ebus-adapter) is good if you have a fairly good wifi coverage where you intend to place the adapter itself, the adapter must be wired with a couple of cables to your HVAC bus port, in parallel with others equipment if you don’t have a free bus port on your HVAC system, it consumes few mW and is powered by the bus avoiding many hassles

  • the official eBusd adapter (Welcome to eBUS Adapter!) has built-in wifi capabilities but also has the pro of having the possibility of being “mounted” as a shield on a raspberry, even the zero-w, this configuration can give you the ability of placing the ebusd daemon, installed on the raspberry, in direct contact with the adapter, in this way you can reduce almost to zero the ebusd<->bus latencies. The bus can be fairly busy so having al local decode and filtering can save you some problem if you need to write data on the bus. This config requires a good external power adapter, even if used in Wifi mode the adapter isn’t able (by choice) to use power from the bus port

  • there are also serial and ethernet based adapters (https://esera.de/en/Products/Heating-optimization-eBus-and-heating-bus-systems)
    or custom made (https://github.getafreenode.com/jkyprian/ebus2usb) these can help in situations in which you don’t want/cannot use wifi, in these scenario you need to place a wire from the HVAC system to the adapter and another one, being it USB, serial od ethernet, to he system running eBusd. You should take into account that this way can be more tricky to be accessible by a docker application, keep this in mind if you’re on an HASSIO configuration.

Having choosen the adapter and having it configured if needed (my adapter has a potentiometer that must be trimmed to get the right readings, on the github repos there are hints and link to docs) you can start to thinker with eBusd.

The adapter converts the electric signals traveling on the bus to digital “strings” and vice-versa for writing to the bus, eBusd is the software that decode the messages that came from the adapter and that, if correctly configured, translate these gibberish hex strings to meaningful MQTT messages.

In my github repo there are configuration files for eBusd that do 3 things:

  • ariston.csv is the file mapping the various Bus messages to human-readable parameters and values
  • mqtt-hassio.cfg is the file that helps eBusd to send those messages to HA via discovery protocol
  • _templates.csv is a support file for translating the most used datatypes in the “master” csv

these files must be placed in the ebusd configuration folders, if using ebusd add-on you should check where… eBusd has been created mainly to access Vaillant systems and for this brand there is an almost automatic discovery process that downloads from the web the right config file, it does’t work with Ariston Group appliances because Ariston’s implementation of the protocol (namend BusBridgenet) have a good deal of differences from the standard.

Disclaimer:
This instructions are provided as-is, please consider the impementation to be at you own risk. Accessing the bus is a standard practice, it is done by Ariston own devices, so it is safe, but you need to take extra care when connecting something to the system that heat your entire home.
If you’ve come this far you have earned the rights to ask any question :slight_smile:

Disclaimer2: this integration is not really plug and play and probably never will be.
It seems that every Ariston/Chaffoteaux/Elco BusBridgenet combination of devices and FW version change some message, or it may be that we weren’t able to reverse engineer it correctly. Almost every installation needs adjustment and customizations.

This first leads to the need of more details in the help requests. A post that says “It doesn’t work” simply won’t lead you any nearer to the solution because at least I’ll need logs, message dumps etc. to be able to help .

Second, if you need something stable, that simply works “everytime” then the only way that I know is the native mobile app. That will be working as long as Ariston keeps it alive.

Wow, thanks i just plan to do that in the coming weeks. I have a heat pump system (nimbus S90) with a single zone. Purchased the following adapter (EBUS to WiFi Adapter Module V6.1) that not has a potentiometer (instead have a digital one that you still need to adjust from web ui :D)

Can i ask how you connected your adapter to the bus, my sensys thermostat already connected to it, just simply wiried the adpter to the same connector that the sensys wired to?

Hi, you can try 3 options.
Wire it in parallel to the sensys (if you have space beneath it for example) simply add 2 small tires from the adapter bus port to the wiring pins on the sensys

You can tap the bus in a wiring box in which the cables run from the sensys to the hp, cutting the cables and adding a simple mammuth terminal where on one side you’ll connect the wires to the sensys and to the other you’ll wire in parallel the wires going to the hp and the ones for the adapter

Last choice is wiring the adapter directly to the bus port of the HP PCB, in parallel with the wires coming from the senses.

As I wrote in the repo you may need to invert the order of the cables if the adapter doesn’t power up.

Let me know if it works

Sorry I just realised you have a split system so the cabling must be made to the internal module the port is the Bus port

Yes it is a split system, but I think the sensys is connected to the bus port on the indoor module.
I probably just chop the cable and add a three way wago to it.

Hi Zolli,
I got the same adapter, what value did you put for the PWM? I see the led shows activity on the ebusd (blinking) but I kind of got stuck at this phase.
I highly appreciate the effort Fabyano put in this, but so far the instructions are not that clear to me.
Kind regards,
Tash

Hey Tash, it worked fine with the default value. (130 I think)

In the meanwhile I switched the official ebusd adapter because wifi can cause a lot of read error if you don’t have a very-very consistent low ping time, and I don’t have an AP closely located to my indoor unit. Because ebus is a multi-master protocol it uses arbitration to figure out who can send data in the bus.

The official ebus adapter can be ordered from elecrow as well and offer a very nice USB serial interface, so if you connect it to a low power pc it can see it as a serial port and ebusd able to talk with the adapter without any delay basically, the latency for the MQTT connection does not matter.

Hi Zolli, thank you very much for the detailed response. I noticed that the designs of the boards are quite similar and the prices are almost identical. I will look into this to see which option is best for me. I do have an access point in the basement, but I’m not convinced that the signal is strong enough since the walls are quite thick.
Your solution looks quite promising, although I feel it brings complexity.
If not mistaken there is an ariston integration for the cloud solution, was not easier for you to connect to the nimbus that way?
Somehow off topic, how happy are you with the nimbus system. I’m still on gas (ariston genus premium) and exploring the options for going for a heat pump. I can add a heat pump boiler to the system or replace the genus with a nimbus compact or similar.

TBC
Kind regards,
Tash

Hi Tash,
as I wrote in the OP the cloud integration works…as long as Ariston keeps online his cloud servers and as log as Ariston keeps the current cloud architecture/backend.
If Ariston goes bankrupt or if simply Ariston decides to change radically their cloud infrastructure that kind of integration will no longer work (or at least until someone else did another reverse engineering).

Tapping into the bus bypass all that. Taking into accont the fact that an HVAC system lasts usually decades that is a plus in my eyes.

As per the heatpump, having a Genus boiler you should be able to integrate a Nimbus HP (even the newer R32 appliances) with the Ariston Hybrid module. Ask an Ariston reseller for details and compatibility.
I have an hybrid system (Genus+Nimbus+Hybrid module) and I’m really impressed from the quality and price/performance/features ratios.

I have an ariston genus one with the Ariston Hybrid module.
where do I connect the bus on the pdc?

should I buy this adapter? does it work for the purpose?

Rapid reply because I’m a little busy ATM.

The adapter is ok I used one from the same shop but without the usb port but had some problem caused by tension loss(I think).

You should test it with and without external usb power to check how it behaves in your case.

You can connect the adapter in parallel in one of the different ports you have .
1)in the boiler
2)in the hybrid module
3)in the hp
4)in the sensys/gateway
5) cutting and “y” cabling one of the above connections

If using WiFi choose the place where you have the better coverage/lower latency.


Like this ?

Hi, I have successfully installed Ebus adapter and configured PWM, instaled ebusd on HA, and put csv and cfg file in ebusd config directory, but I’m unable to get any data from it. Any ideas what I’m doing wrong? Do I need to edit cfg and csv files for my own system?
Thanks

You don’t need USB connection. Only two wires on BUS terminal

Yes try with and without UBS power. Let the test last at least 3 or 4 days and see if the other devices connected to that bus “line” throw some errors.

In my case, without usb power, I got random bus resets. With usb power those resets disappeared.

As I wrote before it depends. It works even without usb power but if the bus power draw from that port is too high then you may get bus resets. At least that’s what I experienced in my configuration.

It depends on what kind of ha installation do you have. If you’re on HAOS then the only way it’s to use the ebusd addon available on hacks I think (I’ve got the core version running on docker, so my help here is a little shaky).
If you’re on docker like me you can find a basic script to run e use in my git repo.

Once you have ebusd running you must copy the Ariston.csv and mqtt-hassio.cfg in the config folder of ebusd. If using the addon I don’t rightly know where that folder is, you may ask in the ebusd thread in this forum

I’m on HA Yellow, and I have installed ebusd add on, but trying to configure it and read something is a nightmare.

Yeah I did find HAOS a little unforgiving with integration like these that needs a little “manipulation” to work correctly.

Find how to copy mi file in the right folder of the addon and restart it

This is the log that I get

s6-rc: info: service s6rc-oneshot-runner: starting
s6-rc: info: service s6rc-oneshot-runner successfully started
s6-rc: info: service fix-attrs: starting
s6-rc: info: service fix-attrs successfully started
s6-rc: info: service legacy-cont-init: starting
s6-rc: info: service legacy-cont-init successfully started
s6-rc: info: service legacy-services: starting
s6-rc: info: service legacy-services successfully started

ebusd --foreground --httpport=8889 --mqtthost=core-mosquitto --mqttport=1883 --mqttuser=addons --mqttpass=fahS6dahwiL1eex2Dorahtha1pooshiek9EPae4zohf5EiC3FieGeiNgae8Tuuni --scanconfig --mqttjson --configpath=/config/ebusd/ --latency=10 --pollinterval=5 --mqttint=/config/ebusd/mqtt-hassio.cfg --mqtttopic=ebusd --device=ens:192.168.1.95 --log=all:notice
2024-10-03 21:21:06.884 [main notice] ebusd 23.2.p20230716 started with auto scan on device: 192.168.1.95, enhanced high speed
2024-10-03 21:21:06.911 [bus error] unable to open 192.168.1.95: ERR: element not found
2024-10-03 21:21:06.911 [bus notice] bus started with own address 31/36
2024-10-03 21:21:06.911 [bus notice] device invalid
2024-10-03 21:21:07.405 [mqtt notice] connection established
2024-10-03 21:21:11.912 [bus error] unable to open 192.168.1.95: ERR: element not found
2024-10-03 21:21:11.912 [bus notice] device invalid
2024-10-03 21:21:16.912 [bus error] unable to open 192.168.1.95: ERR: element not found
2024-10-03 21:21:16.912 [bus notice] device invalid