-
-
Notifications
You must be signed in to change notification settings - Fork 97
Nefit heatpump EMS+ #44
Comments
We're working on the EMS+ implementation. It's early days yet as we build up the telegram structure but I'm pretty sure it'll be able to read the Moduline 1010H too. The Nefit heatpump we can add. Could you find out what the product id is by typing |
Yes! I'd really like to help with building up the EMS+ structure. The modulation of the heatpump and the pumpspeed I've already figured out :) Both Boiler stats: |
This is what I was afraid of. Other people have reported similar behavior. The Tx is not working. This is either due to wiring (probably not) or that these newer EMS+ devices require a handshake before allowing send commands to be sent. I'll do another firmware build for you so you can set the boiler/thermostat using the 'set' command and we'll figure the rest out together |
Cool! The Tx does show telegrams, but the Rx doesn't. Still the Tx is not working? I'm not sure if it helps you, but I did use the Arduino bbqkees code. There the strang thing was that if I used the code to just read all output of the heatpump, I got for example: registerRequest(0x00, 0x08, 0xE3, 22); EMS bus request started. Where this telegram does exist when I read all code: For the record: This telegram (E3) shows the modulation speed of the heatpump on byte 15 after the E3 (5B=91%) |
try the 1.4.1 firmware. use 'set thermostat_type 38' to set the type and see if anything can be sent |
It does work!
then I did restart: System Logging set to None I did try to set the temperature and then got: I also did some test with reading: I do see thermostat output when I do log v 👍 : |
yes thats correct, your thermostat is EMS+ and we haven't rolled that update out yet. Are you able to write commands to the boiler? I want to make sure Tx is working as some people have reported issues. So |
cool! Not sure if Tx is working.
I do get a lot of output from the boiler (0x08) with |
right, so the same problem as others with ESP+. I have some ideas which I'm
trying out with others, so be patient. It's tricky to debug without having
an actual boiler or thermostat to play with but we'll get there eventually
…On Wed, Jan 30, 2019 at 8:51 PM viimD ***@***.***> wrote:
cool! Not sure if Tx is working.
boiler read 2
Requesting type Version(0x02) from dest 0x00
nothing more
I do get a lot of output from the boiler with log v:
(02:01:22) 0x08 -> all, type 0x07 telegram: 08 00 07 00 01 01 00 00 00 00
01 00 01 00 00 00 00 (CRC=81), #data=13
(02:01:22) 0x08 -> all, type 0xE4 telegram: 08 00 E4 00 10 20 30 48 00 CB
21 01 46 56 56 02 00 02 B2 00 00 01 33 00 00 00 00 01 77 01 46 (CRC=BD),
#data=27
(02:01:22) 0x08 -> all, type 0xD1 telegram: 08 00 D1 00 FF EA (CRC=CA),
#data=2
(02:01:22) 0x08 -> all, type 0xE3 telegram: 08 00 E3 00 01 00 01 00 02 08
00 00 00 00 00 01 46 56 64 55 (CRC=52), #data=16
(02:01:22) 0x08 -> all, type 0xE5 telegram: 08 00 E5 00 00 00 20 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 49 (CRC=06),
#data=26
(02:01:22) 0x08 -> all, type 0xE9 telegram: 08 00 E9 00 00 02 00 01 FF 00
00 00 00 3C 3C 00 00 00 00 00 00 00 00 00 00 00 00 00 (CRC=B7), #data=24
(02:01:23) 0x08 -> all, type 0xFF telegram: 08 00 FF 00 03 8F 02 A9 01 70
01 77 01 33 00 00 00 00 FF E7 02 7A 01 57 FF CE FF 75 00 00 (CRC=C4),
#data=26
(02:01:23) 0x08 -> all, type 0xFF telegram: 08 00 FF 18 03 8F 01 FF FF 6D
01 71 (CRC=6E), #data=8
(02:01:23) 0x08 -> all, type 0xFF telegram: 08 00 FF 00 03 94 00 9A AE DE
00 00 3E 26 00 00 03 B5 00 00 3A 6F 00 00 00 00 00 00 00 00 (CRC=78),
#data=26
(02:01:23) 0x48 -> 0x10, type 0x01 telegram: 48 90 01 0D 07 (CRC=19),
#data=1
(02:01:23) 0x10 -> 0x48, type 0x01 telegram: 10 48 01 0D 38 37 33 37 37 30
36 (CRC=64), #data=7
(02:01:23) 0x08 -> all, type 0xFF telegram: 08 00 FF 18 03 94 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 (CRC=F5),
#data=27
(02:01:23) 0x08 -> all, type 0xFF telegram: 08 00 FF 31 03 94 00 00 00 00
00 00 00 (CRC=38), #data=9
(02:01:24) 0x08 -> all, type 0xFF telegram: 08 00 FF 00 03 95 00 6D C5 0E
00 05 BA 7C 00 68 0A 92 00 00 00 00 00 00 00 00 00 00 00 CD (CRC=CA),
#data=26
(02:01:24) 0x08 -> all, type 0xFF telegram: 08 00 FF 18 03 95 00 00 00 58
00 00 00 75 00 00 00 00 00 00 00 00 00 00 02 27 00 00 01 90 (CRC=64),
#data=26
(02:01:24) 0x08 -> all, type 0xFF telegram: 08 00 FF 30 03 95 00 00 00 96
00 00 00 00 00 00 11 3E 00 00 00 00 00 00 13 65 00 00 0F F4 (CRC=EE),
#data=26
(02:01:24) 0x08 -> all, type 0xFF telegram: 08 00 FF 48 03 95 00 00 01 47
00 00 00 00 00 00 00 00 (CRC=7D), #data=14
(02:01:24) 0x08 -> all, type 0xFF telegram: 08 00 FF 00 03 9F 00 00 0A 8C
08 34 00 00 03 DA 00 00 07 08 (CRC=58), #data=16
(02:01:25) 0x08 -> all, type 0xFF telegram: 08 00 FF 00 03 A0 0E 10
(CRC=2C), #data=4
(02:01:25) 0x08 -> all, type 0xFF telegram: 08 00 FF 00 03 A2 10 01 02 02
00 (CRC=44), #data=7
(02:01:25) 0x08 -> all, type 0xFF telegram: 08 00 FF 00 03 A3 00 0B 00 00
00 00 00 00 00 00 00 09 00 00 00 00 00 00 00 00 08 00 00 00 0A (CRC=8A),
#data=27
(02:01:25) 0x08 -> all, type 0xFF telegram: 08 00 FF 19 03 A3 01 2C 00 64
(CRC=7A), #data=6
(02:01:25) 0x48 -> 0x10, type 0x01 telegram: 48 90 01 14 07 (CRC=2B),
#data=1
(02:01:25) 0x10 -> 0x48, type 0x01 telegram: 10 48 01 14 34 34 30 00 FF FF
FF (CRC=D7), #data=7
(02:01:26) 0x08 -> all, type 0xE4 telegram: 08 00 E4 00 10 20 30 48 00 CB
21 01 46 56 56 02 00 02 B2 00 00 01 33 00 00 00 00 01 76 01 46 (CRC=B9),
#data=27
(02:01:27) 0x08 -> all, type 0xFF telegram: 08 00 FF 00 03 8D 01 00 10 08
49 00 00 01 00 00 00 67 04 00 00 00 00 56 (CRC=5A), #data=20
(02:01:27) 0x08 -> all, type 0xFF telegram: 08 00 FF 00 03 8F 02 AA 01 71
01 76 01 33 00 00 00 00 FF E8 02 7A 01 58 FF DC FF 76 00 01 (CRC=C9),
#data=26
(02:01:27) 0x08 -> all, type 0xFF telegram: 08 00 FF 18 03 8F 01 FF FF 6D
01 73 (CRC=6C), #data=8
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
<#44 (comment)>, or mute
the thread
<https://github.com/notifications/unsubscribe-auth/ABLHeA0c0SDdvnmdb9D-8RXYt3Vfuvj0ks5vIfe1gaJpZM4aWm2n>
.
|
Ok! I also live in the Netherlands so if I can help you physically or with sharing my screen or whatever just let me know |
I doubt it will have fixed it, but could you see if 'boiler read 2' works with the latest 1.5.0 release? |
hi proddy. Thanks for the quick release. I used the 1.5.1 but 'boiler read 2' does not give any output: |
@viimD which model/make is your Nefit heatpump? I really want to get the EMS+ thing working and could do with a real test (if you don't live too far from Noord Brabant). |
Cool! I've this one: https://www.warmteservice.nl/Verwarming/Warmtepompen/Lucht-water-warmtepomp/Nefit-Enviline-All-electric-lucht-water-warmtepomp/p/03550580 I live nearby i guess. Can I send you a private message? |
Hi @daanv22, well I kinda lost interest in the EMS+ (EMS 2.0) since there was no real incentive for me to build in the support - but I'm happy to help others navigate through the code and make the right changes in the right place. How are your coding skills? |
If I am correct I can send read commands to the boiler @proddy I did some logging and this are the results from the thermostat. Here are some Corrupt telegrams I found: This is the only log I get from the Thermostat to the Boiler: A log from the queue: Als I noticed that there are no Tx telegrams:
This are some logs when I change the temperature on the thermostat manually (0x18=Thermostat??)
You can tag @gl3nni3 if the code needs to be edited. We are working btw with a Intergas boiler with the Bosch Easy Control Adapter behind it. We have tested this with the Moduline 300 and that was working perfect. |
I forked it too my profile. You can take a look if you want.
I also wrote a little table on my own fork page. |
@gl3nni3 your changes look fine. When you've ready please feel free to do a PR on the 'dev' branch. Thanks |
Glenn's code was merged into the latest dev |
@daanv22 and @gl3nni3 I made some changes in the latest dev 1.7 to handle EMS+ messages more generically. From all your tests I see the type ID is 01A5 for broadcasting the thermostat values. I'm just not sure which byte corresponds to what as I don't have your type thermostats here. The code is around line 1167 in ems.cpp. |
At the moment because of moving we don't have access to the thermostats at the moment. I will get back to you about this. |
@viimD I think I can add support now for your heatpump as the core to handle EMS+ is implemented. But first we need to make sure 1.7 dev works with your setup and that you're able to send commands via Tx |
Sounds really promising @proddy! I'm not sure what I ask from you, but can you make a prebuilt firmware from the 1.7 version? Then I'll upload it to the Wemos and I can run some tests. |
thanks, I'll email you over the firmware. When starting could do the following
|
Support added in the latest dev 1.8 release. |
Community!
As I have a Nefit heatpump running I'd really like to read this machine. I've been using Proddy's code and it gives a lot of insight. However, dealing with a different thermostat (Nefit Moduline 1010H) and a different heatpump instead of CV machine makes it hard.
@proddy I'm realy sure my thermostat send with the 0x38 type:
0x38 -> 0x10, type 0xFF telegram: 38 10 FF 00 03 2B 00 CE 08 0D 01 (CRC=C5), #data=7
38=sender
10=receiver
FF=EMS+byte
00=Offset
03=high byte
2B=low byte
the actuel room temperature is on the CE (20,6 degrees).
Can you implement this in your code?
The text was updated successfully, but these errors were encountered: