Nefit / Buderus data/control via Arduino / ESP8266 to Domoticz (directly without OpenTherm module or Easy)
Moderator: leecollings
- bbqkees
- Posts: 407
- Joined: Sunday 17 August 2014 21:01
- Target OS: Linux
- Domoticz version: 4.1x
- Location: The Netherlands
- Contact:
Re: Nefit data/control via Arduino to Domoticz (directly without OpenTherm module or Easy)
1. Those are supposed to be 2 polyfuses, I have not used them.
2. Yes, I also added a 10uF capacitor in the same way for stability.
3. I have no idea how much power you can draw from the bus or from the 12V pin.
There is a Nefit wifi inspection module available that only plugs into this front jack of the boiler.
So there is a chance that you can power your whole device from the bus, but you should try it out.
2. Yes, I also added a 10uF capacitor in the same way for stability.
3. I have no idea how much power you can draw from the bus or from the 12V pin.
There is a Nefit wifi inspection module available that only plugs into this front jack of the boiler.
So there is a chance that you can power your whole device from the bus, but you should try it out.
Bosch / Nefit / Buderus / Junkers / Worcester / Sieger EMS bus Wi-Fi MQTT Gateway and interface boards: https://bbqkees-electronics.nl/
-
- Posts: 24
- Joined: Tuesday 31 January 2017 16:46
- Target OS: Raspberry Pi / ODroid
- Domoticz version:
- Contact:
Re: Nefit data/control via Arduino to Domoticz (directly without OpenTherm module or Easy)
Thanks bbqkees. I archieve to read from the EMS Bus basic information with your arduino code using a mixture of your circuit and the one proposed by https://emswiki.thefischer.net/doku.php ... ems:net_io. I was not able to read data from my Thermostat RC35, altought I changed the references from your RC20 Thermostat - 0x17 to mine RM35 - 0x10 and adapted regNefitCoding to a couple of frame types compatibles with RC35. I think I do not get to understand the structure of the regNefitCoding 13 to 17. For instance, I cannot find in the documentation the 0x91 or 0xA8 frametypes. I am reading something incorrectly?bbqkees wrote:1. Those are supposed to be 2 polyfuses, I have not used them.
2. Yes, I also added a 10uF capacitor in the same way for stability.
3. I have no idea how much power you can draw from the bus or from the 12V pin.
There is a Nefit wifi inspection module available that only plugs into this front jack of the boiler.
So there is a chance that you can power your whole device from the bus, but you should try it out.
I will keep on trying and test the send function. I would like also to substitute the nefitserial library by SofwareSerial Arduino's library in order to use code form a WiFi module that I already developed with this library.
One short question: Why do you define the Serial speed as 9700 bauds? The EMS Bus does not work at 9600?
- bbqkees
- Posts: 407
- Joined: Sunday 17 August 2014 21:01
- Target OS: Linux
- Domoticz version: 4.1x
- Location: The Netherlands
- Contact:
Re: Nefit data/control via Arduino to Domoticz (directly without OpenTherm module or Easy)
I do not have an EMS thermostat connected, I use a multi-zone system with on/off thermostats.
So I did not really study the transmit related parts of the sketch I got from the original author.
The 0x91 and 0xA8 addresses are masked with I believe 0x80.
This has to do with the read/write bit.
However, you cannot find these registers in the EMS Wiki.
The sketch I got was made before that Wiki existed, all info was from several topics on the microcontroller.net forum.
(0x91 seems to correspond with values from register 0xAE).
If you intend to write to your thermostat you also need to modify the writeRegister() function as this is 'hardcoded' for the RC20 thermostat.
Changing the library is not that difficult, there is only one function added to the library. That is the writeEOF() function.
However, the function frameError() is critical in reading the bus correctly but in the latest Serial library it is not there anymore.
I did not bother to check why.
If you intend to use the circuit on a Pi anyway, you might be interested in this (MQTT enabled) library: https://github.com/maniac103/ems-collector.
So I did not really study the transmit related parts of the sketch I got from the original author.
The 0x91 and 0xA8 addresses are masked with I believe 0x80.
This has to do with the read/write bit.
However, you cannot find these registers in the EMS Wiki.
The sketch I got was made before that Wiki existed, all info was from several topics on the microcontroller.net forum.
(0x91 seems to correspond with values from register 0xAE).
If you intend to write to your thermostat you also need to modify the writeRegister() function as this is 'hardcoded' for the RC20 thermostat.
Changing the library is not that difficult, there is only one function added to the library. That is the writeEOF() function.
However, the function frameError() is critical in reading the bus correctly but in the latest Serial library it is not there anymore.
I did not bother to check why.
If you intend to use the circuit on a Pi anyway, you might be interested in this (MQTT enabled) library: https://github.com/maniac103/ems-collector.
Bosch / Nefit / Buderus / Junkers / Worcester / Sieger EMS bus Wi-Fi MQTT Gateway and interface boards: https://bbqkees-electronics.nl/
-
- Posts: 24
- Joined: Tuesday 31 January 2017 16:46
- Target OS: Raspberry Pi / ODroid
- Domoticz version:
- Contact:
Re: Nefit data/control via Arduino to Domoticz (directly without OpenTherm module or Easy)
Thank you for your help bbqkees. I finally archieve the write functionality. I did not get to understand why the original author was using 0x91 and 0xA8 as types. As you say, some values are masked by 0x80 but those are only the destination Address and the dataoffset requested, not the frame type. I have used the information from the EMS Wifi.
By the way, I do not know if I have broken something, but every time I write something in the BUS, my circuit make a little noise (something like plop, plop, plop).
I am trying now to gather all the information I am interested in and next I will try to send this data by WiFi.
By the way, I do not know if I have broken something, but every time I write something in the BUS, my circuit make a little noise (something like plop, plop, plop).
I am trying now to gather all the information I am interested in and next I will try to send this data by WiFi.
- bbqkees
- Posts: 407
- Joined: Sunday 17 August 2014 21:01
- Target OS: Linux
- Domoticz version: 4.1x
- Location: The Netherlands
- Contact:
Re: Nefit data/control via Arduino to Domoticz (directly without OpenTherm module or Easy)
Great you got the write part working.
The 0x91 and 0xA8 are specific for the RC20, likely you did not need these anyway.
The circuit is almost identical to a reverse engineered official Buderus EMS bus transceiver, so it should be fine.
It uses a 1W resistor in the send circuit, so this means writing to the bus takes some serious power.
Combined with the coils etc this maybe the reason why your circuit produces some sound.
The 0x91 and 0xA8 are specific for the RC20, likely you did not need these anyway.
The circuit is almost identical to a reverse engineered official Buderus EMS bus transceiver, so it should be fine.
It uses a 1W resistor in the send circuit, so this means writing to the bus takes some serious power.
Combined with the coils etc this maybe the reason why your circuit produces some sound.
Bosch / Nefit / Buderus / Junkers / Worcester / Sieger EMS bus Wi-Fi MQTT Gateway and interface boards: https://bbqkees-electronics.nl/
Re: Nefit data/control via Arduino to Domoticz (directly without OpenTherm module or Easy)
Hi. I'm interested in this because I also have a nefit. What will I need to readout mine? I have several arduinos or a raspberry pi running domoticz. Preferably I bring the signal direct to my pi. What will I be needing for this(hardware)?
Verstuurd vanaf mijn SM-G925F met Tapatalk
Verstuurd vanaf mijn SM-G925F met Tapatalk
-
- Posts: 24
- Joined: Tuesday 31 January 2017 16:46
- Target OS: Raspberry Pi / ODroid
- Domoticz version:
- Contact:
Re: Nefit data/control via Arduino to Domoticz (directly without OpenTherm module or Easy)
You have all the information to connect with your nefit boiler in bbqkees' Github Project page: https://github.com/bbqkees/Nefit-Buderu ... o-Domoticz.delchrys wrote:Hi. I'm interested in this because I also have a nefit. What will I need to readout mine? I have several arduinos or a raspberry pi running domoticz. Preferably I bring the signal direct to my pi. What will I be needing for this(hardware)?
Verstuurd vanaf mijn SM-G925F met Tapatalk
I have started to document my alternative using a WiFly RN-VX Module with Arduino connected with a weewx server in https://github.com/danidata/Calduino-Wi ... MS-Buderus (but it is far to be complete).
Last edited by danidata on Sunday 07 May 2017 12:45, edited 1 time in total.
Re: Nefit data/control via Arduino to Domoticz (directly without OpenTherm module or Easy)
What I meant was which parts, like diodes and such.
Verstuurd vanaf mijn SM-G925F met Tapatalk
Verstuurd vanaf mijn SM-G925F met Tapatalk
-
- Posts: 24
- Joined: Tuesday 31 January 2017 16:46
- Target OS: Raspberry Pi / ODroid
- Domoticz version:
- Contact:
Re: Nefit data/control via Arduino to Domoticz (directly without OpenTherm module or Easy)
Yes, As I said, you have all the information in bbqkees Github webpage. https://github.com/bbqkees/Nefit-Buderu ... umentation This diagram is broken in two circuits: send data (top) and receive data (bottom) to EMS.delchrys wrote:What I meant was which parts, like diodes and such.
Verstuurd vanaf mijn SM-G925F met Tapatalk
In this webpage: https://emswiki.thefischer.net/doku.php ... ems:net_io there is a similar circuit to extract this information, and you can even find a component shopping list in a german electronics components webpage https://secure.reichelt.de/index.html?& ... ROVID=2084
Re: Nefit data/control via Arduino to Domoticz (directly without OpenTherm module or Easy)
Ok now I have some more info. I needed other parts then the bat54s because their not through hole types of diodes so was looking which I needed for replacing those parts.
Verstuurd vanaf mijn SM-G925F met Tapatalk
Verstuurd vanaf mijn SM-G925F met Tapatalk
-
- Posts: 24
- Joined: Tuesday 31 January 2017 16:46
- Target OS: Raspberry Pi / ODroid
- Domoticz version:
- Contact:
Re: Nefit data/control via Arduino to Domoticz (directly without OpenTherm module or Easy)
Don´t worry, you can replace the bat54s (that as you say are SMD) and use 4 BAt42 (encapsulated in DO-35) diodes as they do here: https://emswiki.thefischer.net/lib/exe/ ... -netio.pngdelchrys wrote:Ok now I have some more info. I needed other parts then the bat54s because their not through hole types of diodes so was looking which I needed for replacing those parts.
Verstuurd vanaf mijn SM-G925F met Tapatalk
Re: Nefit data/control via Arduino to Domoticz (directly without OpenTherm module or Easy)
Anyone have it working on a rpi yet?
I like to connect all this to my RPI so i don't need an arduino anymore, i read i need a voltage divider to make it 3V3 (10k/20k). But i still have some questions. RIght now i have my smartmeter (electricity/gas) connected to my Rx/Tx of my RPI, so i think i can't connect anything else to it. Is there a workaround so i can use an other GPIO pin????
I like to connect all this to my RPI so i don't need an arduino anymore, i read i need a voltage divider to make it 3V3 (10k/20k). But i still have some questions. RIght now i have my smartmeter (electricity/gas) connected to my Rx/Tx of my RPI, so i think i can't connect anything else to it. Is there a workaround so i can use an other GPIO pin????
- bbqkees
- Posts: 407
- Joined: Sunday 17 August 2014 21:01
- Target OS: Linux
- Domoticz version: 4.1x
- Location: The Netherlands
- Contact:
Re: Nefit data/control via Arduino to Domoticz (directly without OpenTherm module or Easy)
2 options: Use the Arduino just as a serial-pass-through. You can circumvent the Arduino chip and just use only the on-board serial-to-USB converter by connecting the schematic to Rx/Tx and then permanently setting Reset of the Arduino to GND.delchrys wrote:Anyone have it working on a rpi yet?
I like to connect all this to my RPI so i don't need an arduino anymore, i read i need a voltage divider to make it 3V3 (10k/20k). But i still have some questions. RIght now i have my smartmeter (electricity/gas) connected to my Rx/Tx of my RPI, so i think i can't connect anything else to it. Is there a workaround so i can use an other GPIO pin????
Now it works like any FTDI serial-USB interface. Connect the Arduino with the USB cable to the Pi.
Or you can just buy another FTDI like serial-USB cable.
Bosch / Nefit / Buderus / Junkers / Worcester / Sieger EMS bus Wi-Fi MQTT Gateway and interface boards: https://bbqkees-electronics.nl/
Re: Nefit data/control via Arduino to Domoticz (directly without OpenTherm module or Easy)
Someone who can give me a Rs-Online stock number for the 4,7mH inductor, i can't seem to find the right one.
So now i have all the parts but the inductors (will it work without them???)
So now i have all the parts but the inductors (will it work without them???)
- bbqkees
- Posts: 407
- Joined: Sunday 17 August 2014 21:01
- Target OS: Linux
- Domoticz version: 4.1x
- Location: The Netherlands
- Contact:
Re: Nefit data/control via Arduino to Domoticz (directly without OpenTherm module or Easy)
I found it with one simple Google search. These will do if you do not power the circuit from the bus:delchrys wrote:Someone who can give me a Rs-Online stock number for the 4,7mH inductor, i can't seem to find the right one.
So now i have all the parts but the inductors (will it work without them???)
http://nl.rs-online.com/web/p/leaded-inductors/8019746/
Bosch / Nefit / Buderus / Junkers / Worcester / Sieger EMS bus Wi-Fi MQTT Gateway and interface boards: https://bbqkees-electronics.nl/
Re: RE: Re: Nefit data/control via Arduino to Domoticz (directly without OpenTherm module or Easy)
Now I see them also specs are not the same but think that won't mind only the 4.7mH is the same. So think it will be OK. Will the circuit work without them? So I can test it before shipment comes in?bbqkees wrote:I found it with one simple Google search. These will do if you do not power the circuit from the bus:delchrys wrote:Someone who can give me a Rs-Online stock number for the 4,7mH inductor, i can't seem to find the right one.
So now i have all the parts but the inductors (will it work without them???)
http://nl.rs-online.com/web/p/leaded-inductors/8019746/
Verstuurd vanaf mijn SM-G925F met Tapatalk
Re: Nefit data/control via Arduino to Domoticz (directly without OpenTherm module or Easy)
After some effort I have the read function working. I wonder if you could share the code you are using for the write part.danidata wrote:Thank you for your help bbqkees. I finally archieve the write functionality. I did not get to understand why the original author was using 0x91 and 0xA8 as types. As you say, some values are masked by 0x80 but those are only the destination Address and the dataoffset requested, not the frame type. I have used the information from the EMS Wifi.
-
- Posts: 24
- Joined: Tuesday 31 January 2017 16:46
- Target OS: Raspberry Pi / ODroid
- Domoticz version:
- Contact:
Re: Nefit data/control via Arduino to Domoticz (directly without OpenTherm module or Easy)
Hi Icon. Yes, I am preparing a GitHub Project with this code. I hope I will finish it during the weekend. I will post a lik.Icon wrote:After some effort I have the read function working. I wonder if you could share the code you are using for the write part.danidata wrote:Thank you for your help bbqkees. I finally archieve the write functionality. I did not get to understand why the original author was using 0x91 and 0xA8 as types. As you say, some values are masked by 0x80 but those are only the destination Address and the dataoffset requested, not the frame type. I have used the information from the EMS Wifi.
-
- Posts: 24
- Joined: Tuesday 31 January 2017 16:46
- Target OS: Raspberry Pi / ODroid
- Domoticz version:
- Contact:
Re: Nefit data/control via Arduino to Domoticz (directly without OpenTherm module or Easy)
In this repository I have uploaded my code. https://github.com/danidata/Calduino-Wi ... MS-Buderusdanidata wrote:Hi Icon. Yes, I am preparing a GitHub Project with this code. I hope I will finish it during the weekend. I will post a lik.Icon wrote:After some effort I have the read function working. I wonder if you could share the code you are using for the write part.danidata wrote:Thank you for your help bbqkees. I finally archieve the write functionality. I did not get to understand why the original author was using 0x91 and 0xA8 as types. As you say, some values are masked by 0x80 but those are only the destination Address and the dataoffset requested, not the frame type. I have used the information from the EMS Wifi.
It is initially based on bbqkees' Project and uses its NefitSerial library (renamed as EMSSerial, I am currently trying to update it to new Arduino Serial library). All the operations that interact with the EMS Bus have a timeout to avoid an endless wait. I am using a WiFly module (RN-VX) to interact with the EMS Bus and recieve/send via Wify commands. I currently do not use Domoticz but I don't think it should be very complicated to addapt it.
In the next days I will try to add more documentation to the project. Good luck!
Re: Nefit data/control via Arduino to Domoticz (directly without OpenTherm module or Easy)
Damn you made a nice arduino code, i suppose it is possible to read almost every data on the EMS BUS?danidata wrote:In this repository I have uploaded my code. https://github.com/danidata/Calduino-Wi ... MS-Buderusdanidata wrote:Hi Icon. Yes, I am preparing a GitHub Project with this code. I hope I will finish it during the weekend. I will post a lik.Icon wrote: After some effort I have the read function working. I wonder if you could share the code you are using for the write part.
It is initially based on bbqkees' Project and uses its NefitSerial library (renamed as EMSSerial, I am currently trying to update it to new Arduino Serial library). All the operations that interact with the EMS Bus have a timeout to avoid an endless wait. I am using a WiFly module (RN-VX) to interact with the EMS Bus and recieve/send via Wify commands. I currently do not use Domoticz but I don't think it should be very complicated to addapt it.
In the next days I will try to add more documentation to the project. Good luck!
I would like to use parts of your code, but i have an arduino Uno with wifi (esp8266) so i have to rewrite most of the wifi parts.
Can you make an option in the code to make it run only on the serial output, so no wifi in it. I would like to see which data i can get out my Nefit Proline with moduline 100 (RC10?)thermostat.
Who is online
Users browsing this forum: No registered users and 0 guests