Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Support for ELCO Aerotop SPLIT #3

Closed
ubettoni opened this issue Dec 23, 2022 · 62 comments
Closed

Support for ELCO Aerotop SPLIT #3

ubettoni opened this issue Dec 23, 2022 · 62 comments
Assignees
Labels
enhancement New feature or request

Comments

@ubettoni
Copy link

Hi,

thank you for your great work! I've activated ebusd on my system, an Elco Aerotop Split 11rx ( No hybrid ).
I can see a lot of parameter but some are not showing.
Particularly i want to read:

  • compressor frequency ( no value )
  • power consumption ( I've got value but they aren't correct ( 254W vs 1660W ( from external power meter ))
  • heatpump_water_return_temp ( is always 6522.7 )

In ebusd log I've found:

2022-12-23 16:31:10.942 [update notice] received unknown MS cmd: 1018200006011f021f1e11 / 0407010000
2022-12-23 16:31:11.592 [update notice] received unknown MS cmd: 131e20200dc33ef8c44664cd46036a472201 / 00
2022-12-23 16:31:11.763 [update notice] received unknown MS cmd: 131e20200dce9c78d09c0ad89c00659f6400 / 00
2022-12-23 16:31:11.857 [update notice] received unknown MS cmd: 131e202003d5f000 / 00
2022-12-23 16:31:12.081 [update notice] received unknown MS cmd: 131e20200c0b45001745001a45001ef300 / 00
2022-12-23 16:31:12.447 [update notice] received unknown BC cmd: 13fe20100cc2000100c74b0200c94b0200
2022-12-23 16:31:12.940 [update notice] received unknown BC cmd: 13fe20100c059100000691000007910000
2022-12-23 16:31:13.185 [update notice] received unknown MS cmd: 131e2000086e13ca46cb46d84b / 060f2a0103120f
2022-12-23 16:31:13.582 [update notice] received unknown BC cmd: 10fe20500b55550c0e00000000000000
2022-12-23 16:31:13.924 [update notice] received unknown MS cmd: 131e202006c04600df9c00 / 00
2022-12-23 16:31:14.419 [update notice] received unknown BC cmd: 13fe201010d3460000d7460000da46a000dc46a000
2022-12-23 16:31:14.545 [update notice] received unknown BC cmd: 13fe20100ede46a00060472201006147500000
2022-12-23 16:31:14.632 [update notice] received unknown BC cmd: 10fe20510e030b555555555555555555555555
2022-12-23 16:31:14.750 [update notice] received unknown BC cmd: 13fe20100d6447000000cf9c0000d79c0000
2022-12-23 16:31:15.207 [update notice] received unknown BC cmd: 13fe20100f769e0e0100779e000000649f220100
2022-12-23 16:31:15.250 [update notice] received unknown BC cmd: 13fe20100cd1f20400d2f20300d3f20000
2022-12-23 16:31:15.322 [update notice] received unknown BC cmd: 13fe2010041b450000
2022-12-23 16:31:15.405 [update notice] received unknown BC cmd: 13fe201010c1940200c2940200c3940200c4940200
2022-12-23 16:31:15.555 [update notice] received unknown BC cmd: 13fe20100cc5940200c6940200c7940200
2022-12-23 16:31:15.769 [update notice] received unknown BC cmd: 10fe2038050164060708
2022-12-23 16:31:15.895 [update notice] received unknown BC cmd: 13fe20100f6c96be00006d96be00006e96be0000
2022-12-23 16:31:16.059 [update notice] received unknown BC cmd: 13fe20100f6f96be000061972201006297c80000
2022-12-23 16:31:16.189 [update notice] received unknown BC cmd: 13fe20100f639790010064979001006597900100
2022-12-23 16:31:16.348 [update notice] received unknown BC cmd: 13fe20100a66979001006797900100
2022-12-23 16:31:16.762 [update notice] received unknown MS cmd: 131e2000087217731762476347 / 090f5600aa0100000000
2022-12-23 16:31:16.970 [update notice] received unknown MS cmd: 131e2000027c4f / 03018d00
2022-12-23 16:31:17.125 [update notice] received unknown MS cmd: 131e200006084519450af4 / 0407000000
2022-12-23 16:31:17.570 [update notice] received unknown MS cmd: 131e20200dc33eeec44664cd46036a472201 / 00
2022-12-23 16:31:17.672 [update notice] received unknown BC cmd: 00fe203a011e
2022-12-23 16:31:17.809 [update notice] received unknown MS cmd: 131e20200dce9c78d09c0ad89c00659f6400 / 00
2022-12-23 16:31:17.900 [update notice] received unknown MS cmd: 131e202003d5f000 / 00
2022-12-23 16:31:18.248 [update notice] received unknown MS cmd: 131e20200c0b45001745001a45001ef300 / 00
2022-12-23 16:31:18.597 [update notice] received unknown BC cmd: 13fe20100cc2000100c74b0200c94b0200
2022-12-23 16:31:19.087 [update notice] received unknown BC cmd: 13fe20100c059100000691000007910000
2022-12-23 16:31:19.332 [update notice] received unknown MS cmd: 131e2000086e13ca46cb46d84b / 060f2c0103120f
2022-12-23 16:31:19.467 [update notice] received unknown MS cmd: 101820000818031c1107011403 / 050f00000000
2022-12-23 16:31:19.578 [update notice] received unknown MS cmd: 101820000415031603 / 03030000
2022-12-23 16:31:20.487 [main error] scan config 1e: empty
2022-12-23 16:31:20.647 [update notice] received unknown BC cmd: 10fe20500b55550d0e00000000000000
2022-12-23 16:31:21.604 [update notice] received unknown BC cmd: 10fe20510e030c555555555555555555555555
2022-12-23 16:31:21.684 [update notice] received unknown BC cmd: 10fe20380501640e0708
2022-12-23 16:31:22.485 [update notice] received unknown MS cmd: 131e20200dc33ee8c44664cd46036a472201 / 00
2022-12-23 16:31:22.658 [update notice] received unknown MS cmd: 131e20200dce9c78d09c0ad89c00659f6400 / 00
2022-12-23 16:31:22.753 [update notice] received unknown MS cmd: 131e202003d5f000 / 00
2022-12-23 16:31:22.990 [update notice] received unknown MS cmd: 131e20200c0b45001745001a45001ef300 / 00
2022-12-23 16:31:23.345 [update notice] received unknown BC cmd: 13fe20100cc2000100c74b0200c94b0200
2022-12-23 16:31:23.801 [update notice] received unknown BC cmd: 13fe20100c059100000691000007910000
2022-12-23 16:31:24.067 [update notice] received unknown MS cmd: 131e2000086e13ca46cb46d84b / 060f2a0103120f
2022-12-23 16:31:27.477 [update notice] received unknown MS cmd: 131e20200dc33ee0c44664cd46036a472201 / 00
2022-12-23 16:31:27.585 [update notice] received unknown BC cmd: 10fe20500b55550e0e00000000000000
2022-12-23 16:31:27.719 [update notice] received unknown MS cmd: 131e20200dce9c78d09c0ad89c00659f6400 / 00
2022-12-23 16:31:27.753 [update notice] received unknown BC cmd: 00fe203a011e
2022-12-23 16:31:27.843 [update notice] received unknown MS cmd: 131e202003d5f000 / 00
2022-12-23 16:31:28.046 [update notice] received unknown MS cmd: 131e20200c0b45001745001a45001ef300 / 00
2022-12-23 16:31:28.367 [update notice] received unknown BC cmd: 13fe20100cc2000100c74b0200c94b0200
2022-12-23 16:31:28.590 [update notice] received unknown BC cmd: 10fe20510e030d555555555555555555555555
2022-12-23 16:31:28.873 [update notice] received unknown BC cmd: 13fe20100c059100000691000007910000
2022-12-23 16:31:29.117 [update notice] received unknown MS cmd: 131e2000086e13ca46cb46d84b / 060f2c0103120f
2022-12-23 16:31:29.997 [update notice] received unknown MS cmd: 10182000081503160318031c11 / 050f00000000
2022-12-23 16:31:32.498 [update notice] received unknown MS cmd: 131e20200dc33efac44664cd46036a472201 / 00
2022-12-23 16:31:32.635 [update notice] received unknown MS cmd: 131e20200dce9c78d09c0ad89c00659f6400 / 00
2022-12-23 16:31:32.764 [update notice] received unknown MS cmd: 131e202003d5f000 / 00
2022-12-23 16:31:32.967 [update notice] received unknown MS cmd: 131e20200c0b45001745001a45001ef300 / 00
2022-12-23 16:31:33.322 [update notice] received unknown BC cmd: 13fe20100cc2000100c74b0200c94b0200
2022-12-23 16:31:33.779 [update notice] received unknown BC cmd: 13fe20100c059100000691000007910000
2022-12-23 16:31:33.988 [update notice] received unknown MS cmd: 131e2000086e13ca46cb46d84b / 060f2b0103120f
2022-12-23 16:31:34.488 [update notice] received unknown MS cmd: 1018200006d14006017017 / 050714014502
2022-12-23 16:31:34.598 [update notice] received unknown BC cmd: 10fe20500b55550f0e00000000000000
2022-12-23 16:31:35.053 [update notice] received unknown BC cmd: 13fe2010057647540000
2022-12-23 16:31:35.291 [update notice] received unknown BC cmd: 13fe201010d1940200d2940200d3940200d4940200
2022-12-23 16:31:35.441 [update notice] received unknown BC cmd: 13fe20100cd5940200d6940200d7940200
2022-12-23 16:31:35.597 [update notice] received unknown BC cmd: 10fe20510e030e555555555555555555555555

Can you give me some hints on finding/correcting those value?
Thank you

@wrongisthenewright
Copy link
Owner

wrongisthenewright commented Dec 23, 2022

Ciao,
all my codes are related to Ariston Nimbus devices, the one that I've gathered and, more importatly the ones that other guy from energeticambiente.it have discovered.
The first thing you should do (if not already done) is idetify the devices on your bus. On my system 13/18 are master/slave ID for the energy manager, 1e is the slave for the HP. you have many messages coming from 10 address, what's the device?

Unluckily there's no magic formula to detect meaning you have 3 options that you should mix:

  • starting from known values you can try to match these values to ebusctl grab result decode output to see if you find a match
  • grab all messages related to HP, try different meaning and send the bvalues to some external DB (I use Homeassistant via MQTT) and there, with graphs and similitude find some menaing
  • change some system parameter via the remote control (sensys for Ariston) and try to log these variation on the bus.

In Bridgenet dialect of ebus pay attention that in master/slave commands you have to discard the first hex byte of the answer_

10 18 2000 06 d140 0601 7017 / 05 07 14 01 4502
10 master
18 slave
2000 req info/parameter command
06 length of the query in hex bytes
d140 1st param (I think is a couter of setting changes
0601 2nd param 3-way valve position
7017 3rd param DHW stored water temp (desired?? I have no buffer so I'm not able to detect the right meaning)
05 length of the answer in hex bytes
07 number of parameters returned (01=1, 03=2, 07=3, 0f=4) This is the hex byte you have to discard in decoding (IGN:1)
14 d140 reply (=14)
01 0601 reply (= valvle turned to heating)
4502 7017 reply (=0245hex > 581 > 58.1°C)

Best of luck! :)

@wrongisthenewright wrongisthenewright self-assigned this Dec 23, 2022
@wrongisthenewright wrongisthenewright added the enhancement New feature or request label Dec 23, 2022
@pawgac
Copy link

pawgac commented Dec 23, 2022

HI,

I have to ELCO Aerotop Split 11RX

  • compressor frequency ( no value )

Try this
b,HP sensys,heatpump_info_7317cb4662476347,hp operating info,,1e,2000,7317cb4662476347,,s,IGN:1,,,,comp_discharge_temp,s,SIN,10,°C,,Heatpump Compressor Frequency,s,UIN,,,,Power_Consumption_during_cycle,s,UCH,,,,Unknown,s,UIN,,W

  • power consumption ( I've got value but they aren't correct ( 254W vs 1660W ( from external power meter ))

Use this Line, output is very similar to my KNX Power Meter values
r,HP sensys,heatpump_info_624763477c4f,hp operating info,,1e,2000,624763477c4f,,,IGN:1,,,,Power_Consumption_during_cycle,s,UIN,,W,,Status,s,UCH,0=Off;1=Standby;2=Heating Cycle;3=Thermal Cleanse Function,,,,,IGN:1,,,,Power_Consumption,s,UIN,,W

or this

r,HP sensys,heatpump_info_731763477c4f,hp operating info,,1e,2000,731763477c4f,,,IGN:1,,,,comp_discharge_temp,s,UIN,10,°C,,Status,s,UCH,0=Off;1=Standby;2=Heating Cycle;3=Thermal Cleanse Function,,,,,IGN:1,,,,Power_Consumption,s,UIN,,W

  • heatpump_water_return_temp ( is always 6522.7 )

You have change the data types to SIN or UCH depend on 2byte or 1byte words
try with this lines
r,HP heatpump,heatpump_XXXX_info_1,Heatpump XXXX Data,13,1e,2000,7610791071177217,,s,IGN:1,,,,water_flow_temp,s,SIN,10,°C,,evaporator_temp,s,SIN,10,°C,,condenser_outlet_temp,s,SIN,10,°C,,suction_temp,s,SIN,10,°C
r,HP heatpump,heatpump_XXXX_info_2,Heatpump XXXX Data,13,1e,2000,7710791071177217,,s,IGN:1,,,,water_return_temp,s,SIN,10,°C,,evaporator_temp,s,SIN,10,°C,,condenser_outlet_temp,s,SIN,10,°C,,suction_temp,s,SIN,10,°C

The same with external temp, if you want to decode temperatures under 0°C
b,HP broadcast,ext_temp,External Temp,,fe,200f,7647,temp,s,SIN,10,°C

Regards
Pawel

@ubettoni
Copy link
Author

Hi,
Thank you both!
I’m trying with Pawel string but It seems to not recognise the command.
I’ll go deeper and try to modify the string, if i find something i’ll put here.

Regards

@wrongisthenewright
Copy link
Owner

Hi, Thank you both! I’m trying with Pawel string but It seems to not recognise the command. I’ll go deeper and try to modify the string, if i find something i’ll put here.

Ciao,
from Pawel messages it seems that Elco sends the power consumption vaues with the same code of Ariston Models (7c4f).
What's different is the messages layout, the 7c4f code is sent in different message position and in conjunction whit different codes from Ariston ones.
Please, can you post the output of this command?

ebusctl grab result all | grep 7c4f

@ubettoni
Copy link
Author

Ciao,
here the output:
bash-5.1# ebusctl grab result all |grep 7c4f
131e2000027c4f / 03010000 = 40
I run the command a couple of time and the numer after = keeps incrementing

@ubettoni
Copy link
Author

With the same command I found:
13 1e 2000 08 6e13 ca46 cb46 d84b / 06 0f 29 01 01 000a
29 6e13 flussometro
01 ca46 Mod operativa
01 cb46 Freq compres
000a d84b
wich include comp. freq so I've tried editing Pawel's command:

b,HP sensys,heatpump_info_1,hp operating info,,1e,2000,86e13ca46cb46d84b,,s,IGN:1,,,,heatpump_flowmeter,s,UIN,10,L,,Status,s,UCH,0=Off;1=Standby;2=Heating Cycle;3=Thermal Cleanse Function,,Heatpump Compressor Frequency,s,UIN,,,,Unknown,s,UIN,,W

but ebusd seems not finding any matches
What am i doing wrong?
Thank you

@pawgac
Copy link

pawgac commented Dec 26, 2022

Ciao Ubettoni

but ebusd seems not finding any matches What am i doing wrong? Thank you
How many messages you getting from the bus?
Can you check with "ebusclt I" command?

Here is my output

version: ebusd 22.4.v22.4-28-gbc3e611
update check: revision v22.4 available
device: 10.91.1.8:5000
signal: acquired
symbol rate: 98
max symbol rate: 225
min arbitration micros: 3
max arbitration micros: 3
min symbol latency: 4
max symbol latency: 4
reconnects: 0
masters: 6
messages: 230
conditional: 0
poll: 0
update: 6
address 00: master #1
address 03: master #11
address 10: master #2
address 13: master #12
address 18: slave #12
address 1e: slave
address 31: master #8, ebusd
address 36: slave #8, ebusd
address 7f: master #24
address 84: slave #24

@ubettoni
Copy link
Author

version: ebusd 22.4.v3.16.2-200-ga8ca21f541
device: esp-ebus.local:3333
signal: acquired
symbol rate: 138
max symbol rate: 275
min arbitration micros: 4
max arbitration micros: 13
min symbol latency: 0
max symbol latency: 41
reconnects: 0
masters: 5
messages: 132
conditional: 0
poll: 53
update: 0
address 00: master #1
address 03: master #11
address 10: master #2
address 13: master #12
address 18: slave #12, scanning
address 1e: slave, scanning
address 31: master #8, ebusd
address 36: slave #8, ebusd

@pawgac
Copy link

pawgac commented Dec 26, 2022

Ciao,
here the output:
bash-5.1# ebusctl grab result all |grep 7c4f
131e2000027c4f / 03010000 = 40
I run the command a couple of time and the numer after = keeps incrementing

I think, you missing most of messages from the bus. Check your ebusd.conf for latency settings. What for ebus adapter you have?

this is my last 24 hours
ebusctl grab result all |grep 7c4f
131e2000087217731763477c4f / 090faf00260100000000 = 25: HP heatpump heatpump_XXXX_info_5
131e2000087317634769477c4f / 090f260100000b000000 = 12: HP heatpump heatpump_XXXX_info_8
131e2000087217624763477c4f / 090faf00000000000000 = 22: HP heatpump heatpump_XXXX_info_7
131e2000086247634769477c4f / 090f000000000b002805 = 10: HP heatpump heatpump_XXXX_info_9
131e2000027c4f / 0301e402 = 151: HP heatpump unknown_7c4f
131e20000462477c4f / 050300000000 = 1
131e2000087317624763477c4f / 090f0801000000000000 = 10
131e200006731763477c4f / 0707fc010000d204 = 1075: HP sensys heatpump_info_731763477c4f
131e200006624763477c4f / 0707000000000c05 = 1115: HP sensys heatpump_info_624763477c4f

@ubettoni
Copy link
Author

Ciao,
here the output:
bash-5.1# ebusctl grab result all |grep 7c4f
131e2000027c4f / 03010000 = 40
I run the command a couple of time and the numer after = keeps incrementing

I think, you missing most of messages from the bus. Check your ebusd.conf for latency settings. What for ebus adapter you have?

this is my last 24 hours ebusctl grab result all |grep 7c4f 131e2000087217731763477c4f / 090faf00260100000000 = 25: HP heatpump heatpump_XXXX_info_5 131e2000087317634769477c4f / 090f260100000b000000 = 12: HP heatpump heatpump_XXXX_info_8 131e2000087217624763477c4f / 090faf00000000000000 = 22: HP heatpump heatpump_XXXX_info_7 131e2000086247634769477c4f / 090f000000000b002805 = 10: HP heatpump heatpump_XXXX_info_9 131e2000027c4f / 0301e402 = 151: HP heatpump unknown_7c4f 131e20000462477c4f / 050300000000 = 1 131e2000087317624763477c4f / 090f0801000000000000 = 10 131e200006731763477c4f / 0707fc010000d204 = 1075: HP sensys heatpump_info_731763477c4f 131e200006624763477c4f / 0707000000000c05 = 1115: HP sensys heatpump_info_624763477c4f

Hi, my latency is 20ms. This is the adapter i use: https://github.com/danielkucera/esp8266-arduino-ebus
Probably message number depends on the reboot i've done earlier.

@pawgac
Copy link

pawgac commented Dec 26, 2022

Your ebusclt I output looks good for me

@pawgac
Copy link

pawgac commented Dec 26, 2022

Can you try to set your ebusd.conf like that?
EBUSD_OPTS="-d esp-ebus.local:3333 --latency=100 --pollinterval=500 --configpath=/etc/ebusd/ --enablehex --loglevel=notice"

How many messages in 10 seconds you getting if you "tail -f /var/log/ebusd.log" ?

@ubettoni
Copy link
Author

ubettoni commented Dec 26, 2022

Can you try to set your ebusd.conf like that? EBUSD_OPTS="-d esp-ebus.local:3333 --latency=100 --pollinterval=500 --configpath=/etc/ebusd/ --enablehex --loglevel=notice"

How many messages in 10 seconds you getting if you "tail -f /var/log/ebusd.log" ?

roughly 43 messages
I managed to view external temperature, i had to modify command to:

r,broadcast,ext_temp,External Temp,,fe,2010,7647,,s,UIN,10,°C
200f to 2010

@pawgac
Copy link

pawgac commented Dec 26, 2022

change it to broadcast and divider to SIN

b,broadcast,ext_temp,External Temp,,fe,2010,7647,,s,SIN,10,°C

it looks like your Elco using different addresses, new model?
Can you check this "ebusctl grab result all |grep 7647" ?

@pawgac
Copy link

pawgac commented Dec 26, 2022

ebusctl grab result all |grep 7647
10fe200006008676470681 = 85
13fe200f0d0086010076475c000006810100 = 85
7ffe2000027647 = 2553
13fe200f0576475c0000 = 2220: HP broadcast ext_temp

@ubettoni
Copy link
Author

change it to broadcast and divider to SIN

b,broadcast,ext_temp,External Temp,,fe,2010,7647,,s,SIN,10,°C

it looks like your Elco using different addresses, new model? Can you check this "ebusctl grab result all |grep 7647" ?

I think so, command are similar but not the same:
13fe20100576475d0000 = 3: broadcast ext_temp

@wrongisthenewright
Copy link
Owner

* heatpump_water_return_temp ( is always 6522.7 )

Ciao,
latest commit from andrein fixes negative temp issues (all moved from UIN to SIN), try to download last CSV to fix this point

@wrongisthenewright
Copy link
Owner

Hi, my latency is 20ms. This is the adapter i use: https://github.com/danielkucera/esp8266-arduino-ebus Probably message number depends on the reboot i've done earlier.

Ciao,
you use the same adapter I use (maybe your is the latest version), I have some issues with it but I think the reasons are relater to my plant: wire length and very poor wifi coverage.
Can you answer some questions?

  • where did you connect it?
  • Have you detected bus error on the ebusd logs? (timeouts, arbitration errors, signal lost)
  • have you tried to increase latency to 1000 or above?
  • I added "--receivetimeout=5000" option to the command line, can you test it?

ebusctl grab resutl all command should give you the dump of all messages logged since ebusd start grouped by message (the number after the = sign is the number of occurrences of the corresponding message), try to analyze the most common first...

@wrongisthenewright
Copy link
Owner

r,broadcast,ext_temp,External Temp,,fe,2010,7647,,s,UIN,10,°C 200f to 2010

Ariston PBSB commands have to be decoded as well, so far I think I have been able to find some meanings:

PBSB Ariston
2000 get setpoints
2001 get params
2002 get faults
200E return params
2070 cast time
2038 bus controls
2034 bus reset
0704 Identification(Ebus)
2031 master device identificator bcasts
203A request slave device
2020 cast setpoints(?)
2010 cast parameters(?)
200f retutn setpoints(?)

@ubettoni
Copy link
Author

Hi, my latency is 20ms. This is the adapter i use: https://github.com/danielkucera/esp8266-arduino-ebus Probably message number depends on the reboot i've done earlier.

Ciao, you use the same adapter I use (maybe your is the latest version), I have some issues with it but I think the reasons are relater to my plant: wire length and very poor wifi coverage. Can you answer some questions?

  • where did you connect it?
  • Have you detected bus error on the ebusd logs? (timeouts, arbitration errors, signal lost)
  • have you tried to increase latency to 1000 or above?
  • I added "--receivetimeout=5000" option to the command line, can you test it?

ebusctl grab resutl all command should give you the dump of all messages logged since ebusd start grouped by message (the number after the = sign is the number of occurrences of the corresponding message), try to analyze the most common first...

where did you connect it?
-> I connect it directly on the heatpump board in parallel with sensys cable
Have you detected bus error on the ebusd logs? (timeouts, arbitration errors, signal lost)
-> yes, timeout and arbitration error, signal lost no at the moment
have you tried to increase latency to 1000 or above?
-> i tried with high value but not 1000, i'll try
I added "--receivetimeout=5000" option to the command line, can you test it?
-> sure

@ubettoni
Copy link
Author

2022-12-27 12:17:32.938 [main error] scan config 18: ERR: read timeout
2022-12-27 12:17:34.939 [main error] unable to load scan config 1e: slave part too short (0)
2022-12-27 12:17:34.939 [main error] scan config 1e: empty

this is an error in CSV file?

@pawgac
Copy link

pawgac commented Dec 27, 2022

Yes, it is.
Can you connect your bus adapter separately, not parallel with sensys. If you open the case, you will see another connector.
Take a look on this picture
IMG_0251

@ubettoni
Copy link
Author

Yes, it's connected in the same point of your photo. The sensys is not connected there.

@wrongisthenewright
Copy link
Owner

2022-12-27 12:17:32.938 [main error] scan config 18: ERR: read timeout
2022-12-27 12:17:34.939 [main error] unable to load scan config 1e: slave part too short (0)
2022-12-27 12:17:34.939 [main error] scan config 1e: empty

this is an error in CSV file?

No, it's not related to CSV, I'm not an ebusd expert, but I think it's related to the mechanism that download the CSV automatically from the web if during the scan a supported device is found (almost only Vailant devices).
Given that Bridgenet is only similar to ebusd the scan of the bus will always trap some error.

@pawgac
Copy link

pawgac commented Dec 27, 2022

Put --configpath=/etc/ebusd/ parameter in to your /etc/defaults/ebusd file, this will disable autoupdate of config files

@ubettoni
Copy link
Author

Finaly i managed reading a lot of value, except comp freq e water return ( after SIN now it return -30°.... ).
Now one last question, why mqtt is not integrating all value discovered in home assistant? I tried removing all fiter on [mqtt-hassio.cfg ]
Ex.
image

is not shown in homeassistant

@wrongisthenewright
Copy link
Owner

Finaly i managed reading a lot of value, except comp freq e water return ( after SIN now it return -30°.... ). Now one last question, why mqtt is not integrating all value discovered in home assistant? I tried removing all fiter on [mqtt-hassio.cfg ] Ex. image

is not shown in homeassistant

This is a ebusd related question...you should post it on the ebusd GitHub repo. I have a similar problem

@ubettoni
Copy link
Author

Ok, thank you both

@wrongisthenewright
Copy link
Owner

b,HP Broadcast,temp_heating_water_return,Heating Water Return Temp,13,fe,2010,759e,,s,IGN:5,,,,temp,s,SIN,10,°C,

Hi, with this line you're reading, from the message below, 769e value, not 759e. I'll take a look at these messages, since I have the similar messages on my system, I' keep you posted.

13 fe 2010 0f 759e ff7f00 769e f50000 779e 000000 = 392: HP Broadcast XXX_info_heating_water_return

@pawgac
Copy link

pawgac commented Jan 2, 2023

OK, Ive made some test on my system and the parameter 6310 is broadcasted, it follows in some way the behaviour of "mine" water flow temp parameter, albeit with less frequency.
The 6610 is not broadcasted and, if explicitly read gives always 0°C in my system.

In my system also not, i'm sending read requests from my KNX BUS system every one minute, that ist the reason why i have more then you messeges in ebus log.

To be sure that its the correct parameter you should go on the remote control (remocon for Elco), access the tech menu and, in diagnostic find the temperature reading page, in my system (hybrid) the menu is 9.4.
You should check, when the HP is running if these value coincide, ie:

9.4.1 (flow temp) = 6310 reading
9.4.2 (return temp) = 6610 reading

In my case, it is EM Input Diagnostics

17.14.2 Heating Flow Temp
17.14.3 Heating Return Temp

I have a already verfied this values, on this way i found out this parameters.

@pawgac
Copy link

pawgac commented Jan 2, 2023

Hi, with this line you're reading, from the message below, 769e value, not 759e. I'll take a look at these messages, since I have the similar messages on my system, I' keep you posted.

13 fe 2010 0f 759e ff7f00 769e f50000 779e 000000 = 392: HP Broadcast XXX_info_heating_water_return
b,HP

In my case, the value returned by 769e are correct and the same like in Remcon 17.14.3 Heating Return Temp

Broadcast,info_heating_water_return,info_heating_water_return,13,fe,2010,759e,temp,s,U3N,10,°C,,,s,IGN:2,,,,return_temp,s,U3N,10,°C,,,s,IGN:2,,,,temp,s,U3N,10,°C,

@ubettoni
Copy link
Author

ubettoni commented Jan 2, 2023

I confirm that with string:
b,HP Broadcast,temp_heating_water_return,Heating Water Return Temp,13,fe,2010,759e,,s,IGN:5,,,,temp,s,SIN,10,°C,

i can read water return temp and it's the same of Remcon 17.14.3 Heating Return Temp

now i'm trying:
Broadcast,info_heating_water_return,info_heating_water_return,13,fe,2010,759e,temp,s,U3N,10,°C,,,s,IGN:2,,,,return_temp,s,U3N,10,°C,,,s,IGN:2,,,,temp,s,U3N,10,°C,
but i think you miss a comma before 13

@pawgac
Copy link

pawgac commented Jan 2, 2023

but i think you miss a comma before 13
In this case 13 ist the sender QQ , you don't need more commas before. Did you getting some messages ?

@pawgac
Copy link

pawgac commented Jan 2, 2023

The second value should be you return temp
2023-01-02 15:52:51.508 [update notice] received update-read HP Broadcast info_heating_water_return: 3276.7;25.2;0.0
2023-01-02 15:52:52.277 [update notice] received update-read HP Broadcast info_heating_water_flow: 19.0;25.4;24.6
2023-01-02 15:53:16.167 [update notice] received update-read HP Broadcast info_heating_water_return: 3276.7;25.2;0.0
2023-01-02 15:53:17.115 [update notice] received update-read HP Broadcast info_heating_water_flow: 19.0;25.4;24.6
2023-01-02 15:53:41.326 [update notice] received update-read HP Broadcast info_heating_water_return: 3276.7;25.1;0.0
2023-01-02 15:53:42.164 [update notice] received update-read HP Broadcast info_heating_water_flow: 19.0;25.3;24.5
2023-01-02 15:54:06.185 [update notice] received update-read HP Broadcast info_heating_water_return: 3276.7;25.1;0.0
2023-01-02 15:54:07.128 [update notice] received update-read HP Broadcast info_heating_water_flow: 19.0;25.4;24.6
2023-01-02 15:54:31.624 [update notice] received update-read HP Broadcast info_heating_water_return: 3276.7;25.1;0.0
2023-01-02 15:54:32.605 [update notice] received update-read HP Broadcast info_heating_water_flow: 19.0;25.4;24.6

@pawgac
Copy link

pawgac commented Jan 2, 2023

@ubettoni
here is my Elco config, this is more specific regarding to Elco HP
elco.csv

@wrongisthenewright
Copy link
Owner

I'm testing these 2 new lines:

#Supporto for ELCO Aerotop Split specific message codes
r,test_heatpump,elco_hp_water_flow_temp,Heating Water Flow Temp,,18,2000,6310,,s,IGN:1,,,,,,SIN,10,°C
#r,test_heatpump,elco_hp_water_return_temp,Heating Water Return Temp,,18,2000,6610,,s,IGN:1,,,,,,SIN,10,°C
r,test_heatpump,elco_hp_return_temp,,,fe,2010,759e,,s,IGN:5,,,,elco_hp_return_temp,s,S3N,10,°C

I've used SIN/S3N for temp reading, even if water should never go below 0°C, If I get no issue I'll modify the repo file. Thank you.

@ubettoni
Copy link
Author

ubettoni commented Jan 2, 2023 via email

@ubettoni
Copy link
Author

ubettoni commented Jan 2, 2023

@ubettoni
here is my Elco config, this is more specific regarding to Elco HP
elco.csv

Thank you. I’ll try and let you know.

@ysard
Copy link

ysard commented Jan 4, 2023

Hi, since few days I am interested in the data sent by my Chaffoteaux Mira C green boiler.
As I don't have any "smart device" on the bus (just a ON/OFF thermostat), I am limited to the data sent in broadcast frames.

I am sharing my research on this model: https://github.com/ysard/ebusd_configuration_chaffoteaux_bridgenet

Also, do you know if anyone has ever tried to emulate a device on the bus?
To do so, you would need to know exactly the handshake procedure (partially described on this issue
john30/ebusd-configuration#103 (comment)).

I am particularly interested in the initialization of the temperature sensor mentioned here.

This would open the way for DIY copies of the expensive devices sold by these firms.

In short, a dump of the raw exchanges as soon as the system is powered on would enlighten me a lot :p

Thanks to you ;)

@wrongisthenewright
Copy link
Owner

I am sharing my research on this model: https://github.com/ysard/ebusd_configuration_chaffoteaux_bridgenet

Thanks, I'll look into it, atm I'm still missing many meaning of messages from my boiler (Ariston Genus)

Also, do you know if anyone has ever tried to emulate a device on the bus?

Not that I know of, I have the "smart" Ariston remote control, I think that even if the device costs much more than a simple raspberry the device is worth it's price: is tested and certified, it simpliy works forever, my approach to home automation is do with it only "smart" things, leave the system run the basics, and, more importantly, let my hvac run even if I make a disaster during an upgrade: I don't want to be cold because I made a mistake....

In short, a dump of the raw exchanges as soon as the system is powered on would enlighten me a lot :p

That could be arranged, but you should keep in mind that my system is really different from your case, I have an hybrid system with remote control, energy manager, heatpump and boiler. My dump will be really different from your scenario.

@wrongisthenewright
Copy link
Owner

I am sharing my research on this model: https://github.com/ysard/ebusd_configuration_chaffoteaux_bridgenet

Great job! You are a very good detective! I'll look in depth at your findings in the next days

I am particularly interested in the initialization of the temperature sensor mentioned here.

In short, a dump of the raw exchanges as soon as the system is powered on would enlighten me a lot :p

Ok, I'll arrange a test but with some limitations, my device is connected to (and powered by) the boiler. What I can do is shut everything else (HP, energy manager and remote control), cold start the boiler and grab the messages for some minute then connect my remote control while dumping data.

Don't know if it will be useful since some packet will surely be missed by my adapter that after power on have to connecto to wifi and ebusd will surely need some time to connect to the device.

If i find the time I'll do it next weekend.

@ysard
Copy link

ysard commented Jan 13, 2023

Thank your for your response :)

let my hvac run even if I make a disaster during an upgrade: I don't want to be cold because I made a mistake....

Yes I understand that, getting the data is already interesting.

When I look at my ESP soldered on my thermostat I think that it is neither aesthetic nor secure.
Moreover the thermostat is self-powered, which is not the case of my ESP nor of the raspberry Pi which remains the brain of the project and must be permanently connected.

However, maybe in the future, I think that nothing prevents an ESP to be independent and to have its own management rules. After all we have made good progress on the knowledge of the protocol.

My dump will be really different from your scenario.

Yes but we share a lot of ids in common (all of them?). Especially the famous 7647.
Currently I simulate a wired outdoor sensor with a fixed resistor.
The regulation is done in "outdoor sensor only" mode.

The boiler does not support the slightest disconnection of the resistor under the pain of getting an error.

It is impossible for me to write the value directly in the register 7647 of the boiler
which seems to be read only.

So I don't know if the intelligent devices on the bus manage the regulation
on behalf of the boiler with the help of the wireless outdoor sensor,
or if the boiler is autonomous as it is the case with the wired sensor.

Tried commands:

  • ~/ebusd/build/src/tools/ebusctl hex fe2010 06 7647 00000001
    because my thermostat sends the room temperature with this kind of packet:

    70 fe 2010 05 7118 ce00 01 20.6°C, last byte is unknown but constant (?)

  • ~/ebusd/build/src/tools/ebusctl hex fe2010 05 7647 000000
    without the final byte

  • ~/ebusd/build/src/tools/ebusctl hex 3c2020 05 7647 000000
    explicit writing to the register with the 2020 command

  • ~/ebusd/build/src/tools/ebusctl hex fe200f 05 7647 000000
    broadcast with the 200f command as I have seen on this topic with the ELCO boiler

I also tested with a temperature coded on 2 bytes...

ebusd will surely need some time to connect to the device

Indeed the handshake could be missing.
ebusd try to reconnect every 8 seconds, and yes the ESP needs some time to connect itself to the wifi network...

But it would already be informative if no errors are displayed with only the outdoor sensor and the boiler on the bus.

@wrongisthenewright
Copy link
Owner

Yes but we share a lot of ids in common (all of them?). Especially the famous 7647. Currently I simulate a wired outdoor sensor with a fixed resistor. The regulation is done in "outdoor sensor only" mode.

The boiler does not support the slightest disconnection of the resistor under the pain of getting an error.

OK, so you're trying to implement automatic/climatic thermoregulation whitout having to buy the (required?) external sensor.

In my system the external temp sensor is connected to the heatpump which is obviously outside my house. I think the data is read by the HP PCB/controller and then sent on the bus.
The format of the message is this:

13fe200f0576472d0000 = 1222: broadcast ext_temp

13 fe 200f 05 7647 2d00 00

But it would already be informative if no errors are displayed with only the outdoor sensor and the boiler on the bus.

Hi, as stated before my ext temp sensor is connected to the HP, so I won't be able to test such configuration...

@wrongisthenewright
Copy link
Owner

13fe200f0576472d0000 = 1222: broadcast ext_temp

13 fe 200f 05 7647 2d00 00

Those are all messages grabbed by my ebusd

these are related to 7647

70fe2000067647c079c07a = 1
13fe20100d76475a0000c64b0200c94b0200 = 562
7ffe2000027647 = 1328
13fe200f057647600000 = 1321: broadcast ext_temp

these instead are related to 7810 code

70fe2000081023078107820783 = 11
13fe200f1010230100078101000782000007830000 = 4
13fe20200c068600068700078101078200 = 204
7f1e2000027810 / 03015200 = 95
131e2000087610771078107910 / 090fb1017f0151001400 = 141
131e2000087710781079107117 / 090f8201510015007c01 = 11
131e200008781079106e137117 / 090f400006001101ed01 = 2
131e20000878106e13cb466947 / 080f52001001350700 = 300
131e20000478106947 / 050354000700 = 1160: heatpump heatpump_ext_unit_info

7810 is another message related to ext temp traveling on the bus, I don't know what's the logic for having 2 codes...

@ysard
Copy link

ysard commented Jan 15, 2023

Thank you for your time, and the dump!

OK, so you're trying to implement automatic/climatic thermoregulation without having to buy the (required?) external sensor.

Yes that's the idea, but now I think it's not possible without extra-boiler computations.

Basically there are only 2 possible uses for the external sensor:

  • wired, connected to the boiler. The value is obtained by reading the register 7647.
  • wireless, but with a room sensor that will itself calculate the water temperature according to the configured water law. Nothing very complicated in appearance after all.

This matches with the manufacturer's recommendations and my observations.
The chaffoteaux references are: Wireless outdoor sensor: 3319091 + Receiver 3319120 + Zone Control Evo RF: 3319119.

From what I have seen, all the registers of the boiler are with read/write access (including the boiler life time field: In case you want to resell your boiler and make it look younger than it is :p).
7647 is no exception to the rule. The tech menu briefly displays the value sent manually on eBus, but the boiler instantly replaces it with an error value indicator, or the real value if the resistor is present.

It's a shame, the manufacturer forces the user to buy hardware when the boiler could just accept a value in the register in case no resistor is connected. This would avoid spending more than 200€ on a room sensor :p Is this a surprise...

Note:
In my house with a water law f(x) = 1.2x + 30°C the temperature calculated by the boiler for 8.6°C outside is 43.6°C instead of 40.32°C according to the function. The room temperature has no influence here, but the value must be weighted already? With a room sensor the calculation is weighted with the factor z1_room_temp_infl between 0 and 20. The curve must be more complex than a simple affine function. More tests should be done with various resistance values.

Thank you for your time and sorry for the massive text block ;)

@wrongisthenewright
Copy link
Owner

wrongisthenewright commented Jan 15, 2023

Yes that's the idea, but now I think it's not possible without extra-boiler computations.

I also think it's impossible, what I've gathered from the bus is a really complex protocol, the devices continuously talked on the bus with each other passing data and parameters.

From what I have seen, all the registers of the boiler are with read/write access (including the boiler life time field: In case you want to resell your boiler and make it look younger than it is :p). 7647 is no exception to the rule. The tech menu briefly displays the value sent manually on eBus, but the boiler instantly replaces it with an error value indicator, or the real value if the resistor is present.

The boiler continuously try to access/write some data. so the error is normal: probably the boiler cannot follow its protocol and then gives an error. With the connected wired sensor it's the boiler itself to do the calculations. Can you simply connect an external wired sensor to your boiler? It should be simple since is a basic 2 wire cable....

Note: In my house with a water law f(x) = 1.2x + 30°C the temperature calculated by the boiler for 8.6°C outside is 43.6°C instead of 40.32°C according to the function. The room temperature has no influence here, but the value must be weighted already? With a room sensor the calculation is weighted with the factor z1_room_temp_infl between 0 and 20. The curve must be more complex than a simple affine function. More tests should be done with various resistance values.

In my case (Ariston HP) the formula to compute the water temp is really simple (linear), there are online some professional manual showing the algorithm, this is the most complex rule, with external and room temp as input:

Sorry but I had to translate it from an italian manual of an hybrid system, the menu parameter codes could be different.

Tset_term = Tmand_min +SL*( Tamb_set –Text)+ SL* IA *( Tamb_set – Tamb_mis)+OF
Where:

  • Tset_term (°C) = calculated temp
  • Tmand_min = Minimum water flow Temp. (par. 426-526-626)
  • Tamb_set (°C) = Required room temp (par. 400-500-600 [Day Temp], 401-501-601 [Night Temp])
  • Tamb_mis (°C) = Room Temp (by Room Sensor)
  • Text (°C) = Ext Temp (by ext probe)
  • IA = Room temp influence, par. 424-524-624
  • SL = Slope (par. 422-522-622)
  • OF = Offset (par.423-523-623)

@ysard
Copy link

ysard commented Jan 17, 2023

Can you simply connect an external wired sensor to your boiler? It should be simple since is a basic 2 wire cable

yeah this is the idea but the local configuration is not that simple...

(Ariston HP) the formula to compute the water temp is really simple (linear)

My formula above was a total mistake made at too late hours; Indeed the water law/weather compensation formula is by default linear.

f(x) = (-slope*ext_temp+y-intercept) + zone_temp_offset,
With a slope of 1.2, the y-intercept is 54.

This gives this table:

Ohms ext temp theoric temp measured temp delta
15K 16.2 34.56°C 35°C -0.44 (unreliable because water can't be set below 35°C)
8.6 43.68°C 43.6°C 0.08
-7.6 63.12°C ?
48.5K -8.8 64.56 64.4 0.16
51.85K -9.2 65.04 64.9 0.14
69.5K -14.8 71.76 71.6 0.16

This is for the regulation "Outdoor temp only".

For the regulation "Outdoor and room temp" your formula should be used. Also, the doc says that the room temp influence is available only in this mode.

The boiler should do the computations itself in this mode. But for me It indicates an error because there is no ambient thermostat on the bus and I don't master the handshake procedure to simulate it. It also shows an error if the wired temp probe is disconnected (no surprise here).

Viessman boilers have an even more complex formula with calculations based on the average temp on the last minutes:
https://blog.elyotherm.fr/2013/08/reglage-optimisation-courbe-de-chauffe.html

@wrongisthenewright
Copy link
Owner

Can you simply connect an external wired sensor to your boiler? It should be simple since is a basic 2 wire cable

yeah this is the idea but the local configuration is not that simple...

I though that the external probe is a simple NTC, so once you find the correct resistance you should be able to activate the climatic auto setting (water flow temp as function of the external temp).

you can also try to emulate the room temperature probe, my z1 room temp code is 7118 and these are the only messages that included this code:

70fe2000027118 = 1 sensys broadcast a request for 7118
70fe200f057118d10000 = 9 sensys broadcast the value of 7118 (200f as a response to request)
13fe2000087118721873187418 = 1 energy mgr ask the room temp for z1,2,3,4
7ffe2000027118 = 7 7f (I think it's the wifi gateway) asks for room temp
70fe2020047118d000 = 38: sensys z1_room_temp_bcast sensys broadcast the value of 7118 (2020 as a cast of setting)

as you can see are all broadcasted messages so it seems there's no device that explicitly ask for the room temp by a direct query, only 13 (my energy manager) and 70 (remote control user interface).
If you can find a way to publish regularly (I think at least once a minute) the last message you can try to see if the boiler get the correct value and allow you to use the mode.

hope it helps.

@ysard
Copy link

ysard commented Jan 21, 2023

I hope this discussion will be useful to people looking for information on these boilers and save them some research time.

Hardware reversing including specs for the thermistor that I found are here.

13fe2000087118721873187418 = 1 energy mgr ask the room temp for z1,2,3,4

You translate the 2000 request as a request for data from the main device.
I think that it is rather a publication of its features that can be queried by another device.
Indeed in this type of request I find the id 7647 which as I have demonstrated is not writable.

I still confess that I don't understand the difference between the 2001, 2010 and 200f commands.

as you can see are all broadcasted messages so it seems there's no device that explicitly ask for the room temp by a direct query,

You're right, I haven't seen any transmitted packets that aren't broadcast at the moment.

The 2010 and 2020 commands carry data that is only useful to the devices that might use them.

If you can find a way to publish regularly

In fact, just a simple script which uses ebusctl and have access to the outdoor temperature,
can set the target temp via one of the exposed formulas above.

I set up the mqtt integration for Home Assistant for this. It's very overrated for the task but
has the merit to present nice graphics and to allow a total control of all the options of the machine (read/write).
The code is published on my repository.
A few more commits to make a compatible csv (and a pending issue on ebusd) and the project will be finished.

@wrongisthenewright
Copy link
Owner

I hope this discussion will be useful to people looking for information on these boilers and save them some research time.

Yes, but I'd like it was a discussion and not an issue on my CSV, but I'll have to cope :)

Hardware reversing including specs for the thermistor that I found are here.

great job!

You translate the 2000 request as a request for data from the main device. I think that it is rather a publication of its features that can be queried by another device.

I don't think so: If i need to read some parameter that's not broadcasted on the bus I can directly ask for it as:

ebusd ebusctl grab result all | grep 40d2

40d2 is the diverter valve in my type of boiler - a Genus - the command it gave no result because the data is not traveling on the bus, I think is read explicitly only by the remote controller in tech menu, but if I send the query

ebusd ebusctl hex 3c20000240d2
0301b007

3c it's my boiler pcb slave address, I get the result, so I'm almost certain 2000 is a query command, if the dest address is fe (broadcast) I interpret it as a query to any device that has that parameter

I still confess that I don't understand the difference between the 2001, 2010 and 200f commands.

I'm still struggling but atm this is my best guess at the meanings:

PBSB Ariston
2000 get setpoints
2001 get params
2002 get faults
200E return params
2070 cast time
2038 bus controls
2034 bus reset
0704 Identification(Ebus)
2031 master device identificator bcasts
203A request slave device
2020 cast setpoints(?)
2010 cast parameters(?)
200f retutn setpoints
2051 bus discovery(?)
203b request slave device (?)
2004 error detection/disappearance

The 2010 and 2020 commands carry data that is only useful to the devices that might use them.

I think 2010 and 2020 are used to set parameters/configurations as they're used moslty (always??) in master/master messages

@ysard
Copy link

ysard commented Jan 21, 2023

Yes we could open a discussion for this :p

You translate the 2000 request as a request for data from the main device. I think that it is rather a publication of its features that can be queried by another device.

I don't think so: If i need to read some parameter that's not broadcasted on the bus I can directly ask for it as

Yes you can but changing the diverter valve status is not a "common feature" that can be modified from something other than a tech menu. It seems that broadcast packets without data are for "common features" only.

I see a pattern for 2010: It may be for values that should not be modified by a device and that should be accepted by another. i.e calculated/measured/status values (current temp measured, boiler status, settings change counter, computed target temp, heat request status).
2020 may be for values that can be modified on the device and accepted by another.

2031 is still totally unknown except the slave addr present in a byte.

2051 is the broadcast for timer programming, 100% sure, it's reversed and explained on my readme.

@wrongisthenewright
Copy link
Owner

Yes you can but changing the diverter valve status is not a "common feature" that can be modified from something other than a tech menu. It seems that broadcast packets without data are for "common features" only.

I'll look into it

I see a pattern for 2010: It may be for values that should not be modified by a device and that should be accepted by another. i.e calculated/measured/status values (current temp measured, boiler status, settings change counter, computed target temp, heat request status). 2020 may be for values that can be modified on the device and accepted by another.

Same as above, bot now it isn't my priority.

I've got (I think) the same adapter you're using, I've now ordered a second one as a backup and to be able to install newer firmware, I've got too much errors writing on the bus, I'll check the causes but if I discover that they are not electrical (tension loss, or rong cables) I 've seen you developed a fork of the firmware that reduces the load on the microprocessor and, most importantly form me, your version reduces the latency on the bus, can you drop me an email ( isthenewrightwrong AT gmail )? I'd like some info on how to flash it when the new pcb arrives.

TY in advance

@ysard
Copy link

ysard commented Jan 26, 2023

Currently I have an ESP soldered directly to the ON/OFF thermostat that I had in my home.
It's a fast, functional, inexpensive and reliable assembly that has been working for 1 month,
but I would not recommend it : you have to solder properly, make sure you have a stable 3.3V power supply and a common ground plane. The warranty may also be a problem if modifications are visible.
But on the idea the firmware is the one for the adapter:
https://github.com/danielkucera/ebus-adapter

I have pull-requests to integrate my code to his project:
https://github.com/danielkucera/esp8266-arduino-ebus

The 2 codes are strictly compatible with the hardware he designed.
The flash procedure is the same as his via platformio:

pio run -e esp12e-ota -t upload

If you have any question, just open an issue on my fork, I'll try to answer it as soon as possible ;)

@wrongisthenewright
Copy link
Owner

wrongisthenewright commented Jan 27, 2023 via email

@ysard
Copy link

ysard commented Jan 30, 2023

If OTA update doesn't work, there is always a method to flash the controller. It's not so easy to brick it;

#Gas/Energy related metric, seems the actual boiler gas flow, to be confirmed
r,boiler,gas_flow,Gas Flow,,3c,2000,4013,,s,IGN:1,,,,,,D2B,10,m³/h

No, it seems to be the fan speed (tech menu 822 for me). The value is between ~60 and 20 rpm. It can be controlled manually from the tech menu 860/862.
Until now, I still don't know how to get the gas consumption...

@wrongisthenewright
Copy link
Owner

wrongisthenewright commented Jan 30, 2023 via email

@wrongisthenewright
Copy link
Owner

I'm closing this issue as it seems there are no further new codes pertaining ELCO brand HP, In the last CSV release I've added the 3 lines discovered.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request
Projects
None yet
Development

No branches or pull requests

4 participants