-
-
Notifications
You must be signed in to change notification settings - Fork 96
Wrong and random values from Boiler #23
Comments
Looks like with your boiler it broadcasts sometimes with an offset. The 4th byte is the offset which I assumed is 0 always for broadcast but I also see '1B' too. I'll modify the code. Please see if that helped. |
After flashing 1.2.1 I don't get any values at all as the boiler is not detected. Can I force it somehow? I tried pressing
|
That is strange. I'll modify the logging slightly and check it in tonight. Then please send this 'r 0b 88 02 00 63' which will return the version from the boiler. |
After updating I sent the raw telegram, here is the log output:
I was not sure which lines were in response of the version request... :-| |
Can you try again with my latest version, 1.2.3 |
Sure:
|
I just saw that I can define the boiler type in
Just the thermostat seems to have troubles, the time is correct, but it does not display any of the other values. I'm not sure if I have an RC35, though. I just 'assumed' by reading the EMS wiki and knowing that I can set 'holiday mode', which seems to be a feature available only on the RC35...
|
great. I added that feature for you, and others that will have the same problem until I've built up a library of EMS devices. I'm sure it must be published somewhere on the internet, just haven't found it yet so its all trial and error. So looks like you have an RC35 compatible, but they do differ between Budrus, Nefit, Sieger, Bosch etc. Can you do a 't 2' which will tell you the firmware version? Your thermostat may respond to different heating circuits. Then do a 't 41' (for an RC30) and a 't 3e' (for a RC35) |
|
I just noticed that tap water and central heating show up as
|
It looks like the Thermostat is not responding to any of the calls you
issue. Which is odd. Can you upload my latest version, set your thermostat
to 0x10 like you did in my_config.h, fire up the Telnet console and type 'U
0'. This will do a full scan of all available telegram types on your
thermostat to see how it responds. It'll take about 5 minutes.
Also remind me which make/model boiler and thermostat you are using?
Hot tap water is calculated by the 'tapwater flow'. Use 's' to see what the
value is when the tap water is running. And the gas is 'on'.
Central Heating looks at the Selected Flow Temperature. Take a look at that
too.
EMS_Boiler.tapwaterActive = ((EMS_Boiler.wWCurFlow != 0) &&
(EMS_Boiler.burnGas == EMS_VALUE_INT_ON));
// heating
EMS_Boiler.heatingActive = ((EMS_Boiler.selFlowTemp >=
EMS_BOILER_SELFLOWTEMP_HEATING) && (EMS_Boiler.burnGas ==
EMS_VALUE_INT_ON));
…On Thu, Jan 3, 2019 at 5:42 PM Nils Uliczka ***@***.***> wrote:
I just noticed that tap water and central heating show up as off, which
they are not. Or would this just be on when it is heating up?
Hot tap water is off
Central Heating is off
—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub
<#23 (comment)>,
or mute the thread
<https://github.com/notifications/unsubscribe-auth/ABLHeJHPyuEHP19XLaNERrza9D3u9tKoks5u_jMFgaJpZM4Zmmqq>
.
|
The results of
I didn't look at the code to see how the on and off state of tapwater and heating active is determined, sorry. It makes sense now... :-) The boiler is the Buderus Logamax plus GB192-25 iW and the thermostat is the one that comes integrated in the front lid. I found a sticker in there that said 'BC30', maybe that is relevant...? |
Looking at the Buderus page it seems the thermostat is the RC310... |
ok, we're getting closer. From the U dump it shows that the thermostat is not listening to any of the Tx messages we sent. Just did a quick look at the boiler and I have a feeling it uses the EMS Plus type of telegram packages, which my code doesn't support - but should be fun to decipher. I'll think about some tests you can run. |
Can you set logging to basic 'l 2' and do a 't 2'. I'd like to see the firmware version. I can see that your thermostat is using EMS Plus (https://emswiki.thefischer.net/doku.php?id=wiki:ems:plus-telegramme) since the 3rd byte is FF. So to support EMS+ we would need to test for the 3rd byte being >F0 and then taking the type from bytes 4&5. Everything shifts across by two bytes. It'll be a lot of trial and error and not something I can code without having a physical device. |
When using verbose logging I get this. It looks like the thermostat doesn't respond at all
For now the information I get from the boiler is probably all I need, as the thermostat is basically just the input device for the boiler, directly attached to it. But if I can help in any way just tell me what I can do :-) |
I was just wondering if it could be a hardware problem, maybe my Tx line is not working properly? Looking at my logs and logs from other tickets it seems like I don't get responses, only broadcasts
I tried various requests but never noticed anything that looked like a direct response... |
did you build the circuit yourself or using a pre-fab one like one from bbqkees? Since it recognizes your boiler you should be able to send it Tx packages, but again this is the most complex piece of the code (and circuit) and hard to calibrate the timings. So if you do a 'b 2' and in verbose logging what does it come back with? |
I bought a board from bbqkees, but I had to remove the pin headers to fit it in the enclosure I wanted to use, so I might have messed something up there. I'm going to check that tomorrow. I tried
It does not seem to be responding... I'll check the Tx line and test again... :-/ |
strange indeed. Double check that the Tx on kees' board is on D8 on the
ESP8266. Also that you don't have a Serial connected. Better still, don't
power it via the USB on a PC
…On Sun, Jan 6, 2019 at 8:05 PM Nils Uliczka ***@***.***> wrote:
I bought a board from bbqkees, but I had to remove the pin headers to fit
it in the enclosure I wanted to use, so I might have messed something up
there. I'm going to check that tomorrow. I tried b 2 with verbose logging:
(04:01:30) 0x09 -> Boiler, type 0x1A telegram: 09 08 1A 00 00 00 00 (CRC=D2), #data=3
(04:01:30) 0x09 -> Boiler, type 0x23 telegram: 09 08 23 00 00 00 00 (CRC=69), #data=3
(04:01:31) Thermostat -> all, type 0x06 telegram: 10 00 06 00 13 01 14 06 01 24 06 00 10 FF 00 (CRC=49), #data=11
<--- RCTime(0x06) received
(04:01:32) Boiler -> all, type 0x18 telegram: 08 00 18 00 54 03 64 64 0B 0A 11 E5 40 80 00 02 31 02 F8 00 41 0B 3D 48 00 C9 00 03 18 00 00 (CRC=AF), #data=27
<--- UBAMonitorFast(0x18) received
(04:01:33) Boiler -> all, type 0x18 telegram: 08 00 18 1B 00 00 00 00 00 00 00 00 00 00 00 (CRC=BF), #data=11
<--- UBAMonitorFast(0x18) received
b 2
Requesting type Version(0x02) from dest 0x08
(04:01:35) Boiler -> all, type 0x18 telegram: 08 00 18 00 54 03 61 64 0B 0A 11 E5 40 80 00 02 32 02 F7 00 40 0B 3D 48 00 C9 00 03 18 00 00 (CRC=5B), #data=27
<--- UBAMonitorFast(0x18) received
(04:01:36) Boiler -> all, type 0x18 telegram: 08 00 18 1B 00 00 00 00 00 00 00 00 00 00 00 (CRC=BF), #data=11
<--- UBAMonitorFast(0x18) received
(04:01:36) Boiler -> all, type 0x2A telegram: 08 00 2A 00 00 00 00 00 00 00 00 00 93 00 92 80 00 00 80 00 80 00 80 00 00 (CRC=E6), #data=21
(04:01:36) Boiler -> all, type 0x34 telegram: 08 00 34 00 3C 02 31 02 32 89 00 05 03 00 00 61 57 00 12 17 00 80 00 (CRC=41), #data=19
<--- UBAMonitorWWMessage(0x34) received
(04:01:37) Sending read of type 0x02 to 0x08: telegram: 0B 88 02 00 63 (CRC=FF), #data=1
(04:01:37) Boiler -> all, type 0x07 telegram: 08 00 07 00 0B 01 00 00 00 00 00 00 00 00 00 00 00 (CRC=F6), #data=13
(04:01:38) Sending read of type 0x02 to 0x08: telegram: 0B 88 02 00 63 (CRC=FF), #data=1
(04:01:39) Boiler -> all, type 0x07 telegram: 08 00 07 00 03 01 00 00 00 00 00 00 00 00 00 00 00 (CRC=DA), #data=13
(04:01:40) Boiler -> all, type 0x18 telegram: 08 00 18 00 54 03 5A 64 0B 0A 11 E5 40 80 00 02 33 02 F5 00 3E 0B 3D 48 00 C9 00 03 18 00 00 (CRC=0A), #data=27
<--- UBAMonitorFast(0x18) received
(04:01:41) Boiler -> all, type 0x18 telegram: 08 00 18 1B 00 00 00 00 00 00 00 00 00 00 00 (CRC=BF), #data=11
<--- UBAMonitorFast(0x18) received
It does not seem to be responding... I'll check the Tx line and test
again... :-/
—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub
<#23 (comment)>,
or mute the thread
<https://github.com/notifications/unsubscribe-auth/ABLHeBOfSEHI1fo0r6r2SldItet-gkvfks5vAkj1gaJpZM4Zmmqq>
.
|
I finally got around to checking the board with an arduino uno and it works (I used the sketch from bbqkees to request 0x02 from the boiler and it got a correct response). I'm now going to check the ESP when I have a bit more time. |
ok, thats good. It must be something in my code then, perhaps the timing
which I set in the emsuart.h. I can help you debug this
…On Thu, Jan 10, 2019 at 1:52 PM Nils Uliczka ***@***.***> wrote:
I finally got around to checking the board with an arduino uno and it
works (I used the sketch from bbqkees to request 0x02 from the boiler and
it got a correct response). I'm now going to check the ESP when I have a
bit more time.
—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub
<#23 (comment)>, or mute
the thread
<https://github.com/notifications/unsubscribe-auth/ABLHeNydbQd8st0X3xla2pU0K7Fko4p2ks5vBzeJgaJpZM4Zmmqq>
.
|
I changed my ESP from a d1_mini to a witty cloud and the problem still persists. I used this sketch from bbqkees to check the EMS converter is working. I noticed that you are using
What should I do now? Further reduce the delay value? |
Logamax plus GB192-25 is the latest generation boiler and it uses EMS Plus. I have the older one which is EMS. Just recently I needed to add a new thermostat to the system and Bosch engineer told me that new thermostats are not compatible with the old bus, so needed to buy old RC10. |
It is using EMS Plus, but it seems that it is largely compatible with 'old' EMS. At least I get readable data, thanks to @proddy, and also when using the test sketch from bbqkees, which also did send a request and got a response from the boiler. I would not be surprised if the actual Bosch thermostats would refuse to talk to 'old' devices so they can sell new stuff... ;-) |
yes, as I said your thermostat uses EMS Plus which isn't implemented so you will not be able to read or write to the built in RC310. But you should be able to request commands from the boiler, like "boiler read 18" should come back with something. Please try that to verify the circuit & ESP is working. Adding EMS Plus is possible if more people want this and I get some help. It's uncharted territory. |
I received my Arduino Mega today and tried again with the example sketch from bbqkees. I just modified the requested data from Boiler
Thermostat
So the circut is working, I should be able to send and receive from both, the boiler and the thermostat, and it should respond, at least to the |
Unfortunately adding the delay to the Tx on my setup (older non-EMS+ boiler) causes the send packages to fail most of the time. Perhaps the trick is to time the ms between each Poll from the bus master and use this as the heartbeat. |
@kwertie01 which version of bbqkees' board are you using? It could be the circuit has slightly changed due to some component swaps and the resistors used to level the bus take longer. |
in the latest dev i capture the poll time. would be interesting to see if the new UBA masters have a faster acknowledge time. |
implemented |
|
great! thanks @darookee for checking |
Sorry for the late reaction but I was outside the country for a while. |
thanks @kwertie01 . I noticed the poll jumps between 3 and 20 too on my system. I'll think about how best to approach that. |
closing this issue |
@darookee @kwertie01 would you guys mind testing the latest dev build. It has some new Tx logic, so please test reading and writing in |
I just tried these and they all did something:
|
@darookee I wrote my findings to issue #103 |
thanks @darookee for checking. Please log a new issue for the 3-way valve. I'll also check the code and try it at home next week when I'm back from travels. |
@darookee I found the bug with the tap water. doing a quick fix now |
I tried the latest dev branch, tapwater still says 'off'. But I'm not even sure what this should show for my boiler. Which information is beeing read to display this? I have 'Warm water activated' 'on' and I'm not sure my boiler can distinguish between tapwater and warm water...? |
From the boiler, I fetch both the Hot tap water: on/off and Central heating on/off. On my boiler this is shown as a tap icon or a radiator icon for example. Note this is different to the tapwater logic which basically switches off the feeding hot water into the tap water which I use to send blasts of cold water to a running shower as a sort of alarm. What are you trying to do and what exactly is not working? |
Hi! Sorry for the delay and the confusion. Another thing that is not showing correctly is 'Warm Water current tap water flow', and this also seems to be the reason 'Hot tap water' is off, as this seems to use that value to determine it's state. If it helps, my 0x34 message looks like this: |
@darookee the logic used for "tap water on/off" is wwCurFlow !=0 and burnGas = on. The wwCurFlow comes from 0x34 at byte 9 which has a value 0x00, hence its always off. The code is in ems.cpp in the function _checkActive() The logic for So, can you run the hot tap and do a few scans on 0x34 and 0x18 telegrams via a |
I finally got the time to try it. Water off:
Water just turned on:
Water on for about 1 Minute:
Water just turned off again:
I left the two I hope this helps? |
Thanks, it helps. I've attached my diagnosis. Looks like the selected flow temp and current water flow are not in the positions they should be. It would be good to compare your Buderus Logamax plus GB192-25 against other Logamax plus boilers and compare. |
we'll open a new issue for this. The original bug about random values from the boiler 7 months ago has been resolved :-) |
Bug description
I get unrealistic and seemingly random values from the boiler.
Here a few examples:
Device information
I use a Buderus Logamax plus GB192-25 and the integrated thermostat. Here are a few 0x19 and 0x18 I got:
The text was updated successfully, but these errors were encountered: