Ariston Group integration via eBusd

No and I don’t know what is this. Do you need this value to calculate gas consumption?

Yes, mine is a slightly different model (Class X) than yours, will try your config
thank you.

Sniff the bus traffic while requesting that data. Do it long enough and while that data varies and then you should be able to pinpoint it’s command code.

Not simple but doable.

1 Like

Example:

2025-02-06 10:27:07.320 [update info] received BC cmd: 37fe201004d140d400

2025-02-06 10:27:07.320 [update notice] received poll-read boiler settings_change_counter: 212

Where last 2 bytes “d4 00” could mean “212” as d4 hex is 212 dec.

Just to get a logic for sniffing.

Anyway, what’s the meaning of:

switch.ebusd_dhw_celectic_status as Google finds nothing about “Celectic”

sensor.ebusd_dhw_dhw_comfort_mode_status_2 with value UKN as “UKN” is not Ukraine for sure…

Example:

2025-02-06 10:27:07.320 [update info] received BC cmd: 37fe201004d140d400

Where last 2 bytes “d4 00” could mean “212” as d4 hex is 212 dec.

Perfect!! That’s the sense. when you have identified the messages that you think convey your parameter you can get the command code id

37 → sender
fe → receiver (in this case broadcast)
2010 → PBSB (2010 probably meand that the sender is broadcasting one of it’s internal parameters)
04 → LEN of messsage
d140 → COMMAND ID
d400 → value

The message structure can be more complicated than that, but you’ll get the feeling soon

Anyway, what’s the meaning of:

switch.ebusd_dhw_celectic_status as Google finds nothing about “Celectic”

As you’re using Ysard’s CSV you must ask him…but Celectic it’s a boiler model name from Chaffoteaux, an Ariston group brand.

1 Like

Thanks, I will try to sniff the missing messages.

Your csv, does not open almost anything on my setup.

No problem, my file is based on a more complex system with a boiler, an HP and an energy manager to manage them.

This is what I am trying to achieve, a very aggressive Energy Management between my Solar Invertor my gas Ariston with a hybrid buffer water tank (DHW and Electric) and Heat Pump ( not installed yet).

I think I found something suitable, could you help me read it ?
modulation1
c404 it should be hybrid boiler Modulation Rate

1 Like

It could very well be, nice find!!
Now we need to understand how the modulation is represented. If (as I think) the hex representation that goes from 00 to FF (0-255) then we need to convert it to 0%-100% but it can be done via template in HA:

  • grab the value via custom line that send the dec value to HA
  • define a template that divides the value by 2.55

Can you verify how the parameter varies over time?

you can add this line to your CSV to start the decoding (not tested but it should work)

r,boiler,boiler_current_modulation,Boiler Current Gas Modulation,,3c,2000,c404,ign,s,IGN:1,,,,,,UCH

2 Likes

remember to reload and check if ebusd throws errors, if you’re on docker:

docker exec -ti ebusd ebusctl reload && docker log ebusd --since 2m

thank you, it is work
[update info] received MS cmd: 703c200002c404 / 020162
[update notice] received poll-read boiler boiler_current_modulation QQ=70: 98

From my understanding the faster method to get gas usage is leveraging the already grabbed boiler power generation expressed in watt/hour. This represents the energy produced by the boiler, with a standard conversion from w/h to smc of methane via simple HA template

My suggestion is, if you have the hybrid manager from Ariston Group, configure meticulously the device, with correct energy tariffs and so on and leave the day to day operations to the system itself.
Do not modify continuously the parameters as these are probably stored on a cheap flash chip on the various pcbs. If you write too many times the values you risk of burning tha flash chip breaking yous devices

On my Clas EVO with Cube S Net is like this:

2025-02-10 16:22:44.454 [update info] received MS cmd: 703c2000040e11d140 / 0303002f

2025-02-10 16:22:44.455 [update notice] received read boiler boiler_current_modulation QQ=70: 0

and I added here:

Dump registers into broadcast messages,

Every 25s,

r,boiler,hot_water_target_temp_1,Water computed target temp z1-z3,37,fe,2010,6197,z1_target_temp,s,S3N,10,°C,s,IGN:2,z2_target_temp,s,S3N,10,°C,s,IGN:2,z3_target_temp,s,S3N,10,°C,
r,boiler,boiler_current_modulation,Boiler Current Gas Modulation,3c,2000,0e11,ign,s,IGN:1,UCH,

…but is not published under MQTT.

Any advice?

Didn’t undestand what you did…
Pump modulation seems to be related to c404 parameter id, so why did you put on your file a line with 0e11 (that BTW is the flag sensor related to the presence of a flame in the burner)?

If you want to grab the gas modulation the line you should have inserted in your file is in the 4th post above:

Take into account the fact that, based on what happens in my system, the current gas modulation, if confirmed that is represented by the c404 code isn’t transmitted very frequently on the bus so, if you need to track gas consumption I suggest you to either:

  1. read that parameter frequently (eg modding the line like this)
r1,boiler,boiler_current_modulation,Boiler Current Gas Modulation,,3c,2000,c404,ign,s,IGN:1,,,,,,UCH
  1. using instead this line
    r,boiler,flame_power_kw,Boiler Flame Power KW,,3c,2000,6847,,s,IGN:1,,,,,,UIN,10,kW
    that track the boiler output in kW and then use a template in HA to convert kW into gas smc (m3)

I have chosen the 2nd as its simpler, the parameter is already transmitted on the bus ant thus you don’t need to add the bus traffic generated by the continuous queries that are used in the 1st case.

To do so I’ve added this to my configuration.yaml:

      - name: "Boiler Gas Instant Consumption"
        unit_of_measurement: m³
        device_class: gas
        unique_id: boiler_gas_instant_cons
        state_class: measurement
        state: >
          {{ states('sensor.ebusd_boiler_ebusd_boiler_flame_power_kw') |float(0) / 11.08 |round(2) }}

I was confused…
0e11 is indeed Flame in the burner with on/off ( on my file was different and now with 0e11 Flame is OK)

3c,2000,6847 is Flowmeter in Liters, yes?

r1,boiler,boiler_current_modulation,Boiler Current Gas Modulation,,3c,2000,c404,ign,s,IGN:1,,,,,,UCH indeed works, but is broadcasted by my system only when the Flame is Off (#0). When the Flame is on I waited more then 10 minute and no more c404 into the log. Quite strange

I have an Atag (Ariston based) hybrid heating system and would like to tap into the eBusd using an ebus adapter Shield C6. Looking at the system, I find two eBusd connectors to connect the C6 shield to. The first is the link to the outside unit and the other is to the system interface. Are both of these connectors carrying the full system information or alternately, which would be the most appropriate or would I need two shields?

Kind regards, Peter

Hi,
it is a bus so both ports should be good. This implieas thatIf you “disturb” a port the other will inevitably be affected.
To be conservative I’d choose the remote interface port, so that in case of problems you can disconnect the adapter and the system interface and do the rewiring with minimal distruption on the bus.

As stated numerous times be sure to have good wifi coverage on the spot where you plan to place the adapter (if using a wifi connection), and be sure to power the adapter indipendently from the bus. This second precaution should not be required but Ariston devices see to be very picky about power draw on bus ports.

EDIT, re-reading your post I see you plan to use the “native” Ebus shield, that requires external power given that, by design, it cannot be bus powered.

6847 is (from my analyses) the current boiler power output expressed in kW
read with this line

r,boiler,flame_power_kw,Boiler Flame Power KW,,3c,2000,6847,,s,IGN:1,,,,,,UIN,10,kW

for the boiler modulation take a look at

ebusctl grab result all | grep c404
to see if there is a line more frequently updated that conveys that parameter, then we can craft a line that intercept these messages.