Nefit / Buderus data/control via Arduino / ESP8266 to Domoticz (directly without OpenTherm module or Easy)

In this subforum you can show projects you have made, or you are busy with. Please create your own topic.

Moderator: leecollings

User avatar
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)

Post by bbqkees »

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.
Bosch / Nefit / Buderus / Junkers / Worcester / Sieger EMS bus Wi-Fi MQTT Gateway and interface boards: https://bbqkees-electronics.nl/
danidata
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)

Post by danidata »

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.
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?

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?
User avatar
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)

Post by bbqkees »

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.
Bosch / Nefit / Buderus / Junkers / Worcester / Sieger EMS bus Wi-Fi MQTT Gateway and interface boards: https://bbqkees-electronics.nl/
danidata
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)

Post by danidata »

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.
User avatar
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)

Post by bbqkees »

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.
Bosch / Nefit / Buderus / Junkers / Worcester / Sieger EMS bus Wi-Fi MQTT Gateway and interface boards: https://bbqkees-electronics.nl/
delchrys
Posts: 51
Joined: Wednesday 02 March 2016 20:52
Target OS: -
Domoticz version:
Contact:

Re: Nefit data/control via Arduino to Domoticz (directly without OpenTherm module or Easy)

Post by delchrys »

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
danidata
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)

Post by danidata »

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
You have all the information to connect with your nefit boiler in bbqkees' Github Project page: https://github.com/bbqkees/Nefit-Buderu ... o-Domoticz.

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.
delchrys
Posts: 51
Joined: Wednesday 02 March 2016 20:52
Target OS: -
Domoticz version:
Contact:

Re: Nefit data/control via Arduino to Domoticz (directly without OpenTherm module or Easy)

Post by delchrys »

What I meant was which parts, like diodes and such.

Verstuurd vanaf mijn SM-G925F met Tapatalk
danidata
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)

Post by danidata »

delchrys wrote:What I meant was which parts, like diodes and such.

Verstuurd vanaf mijn SM-G925F met Tapatalk
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.

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
delchrys
Posts: 51
Joined: Wednesday 02 March 2016 20:52
Target OS: -
Domoticz version:
Contact:

Re: Nefit data/control via Arduino to Domoticz (directly without OpenTherm module or Easy)

Post by delchrys »

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
danidata
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)

Post by danidata »

delchrys 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
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.png
delchrys
Posts: 51
Joined: Wednesday 02 March 2016 20:52
Target OS: -
Domoticz version:
Contact:

Re: Nefit data/control via Arduino to Domoticz (directly without OpenTherm module or Easy)

Post by delchrys »

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????
User avatar
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)

Post by bbqkees »

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????
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.
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/
delchrys
Posts: 51
Joined: Wednesday 02 March 2016 20:52
Target OS: -
Domoticz version:
Contact:

Re: Nefit data/control via Arduino to Domoticz (directly without OpenTherm module or Easy)

Post by delchrys »

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???)
User avatar
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)

Post by bbqkees »

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???)
I found it with one simple Google search. These will do if you do not power the circuit from the bus:
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/
delchrys
Posts: 51
Joined: Wednesday 02 March 2016 20:52
Target OS: -
Domoticz version:
Contact:

Re: RE: Re: Nefit data/control via Arduino to Domoticz (directly without OpenTherm module or Easy)

Post by delchrys »

bbqkees wrote:
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???)
I found it with one simple Google search. These will do if you do not power the circuit from the bus:
http://nl.rs-online.com/web/p/leaded-inductors/8019746/
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?

Verstuurd vanaf mijn SM-G925F met Tapatalk
Icon
Posts: 5
Joined: Monday 24 April 2017 21:43
Target OS: -
Domoticz version:
Contact:

Re: Nefit data/control via Arduino to Domoticz (directly without OpenTherm module or Easy)

Post by Icon »

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.
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
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)

Post by danidata »

Icon wrote:
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.
After some effort I have the read function working. I wonder if you could share the code you are using for the write part.
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.
danidata
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)

Post by danidata »

danidata wrote:
Icon wrote:
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.
After some effort I have the read function working. I wonder if you could share the code you are using for the write part.
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.
In this repository I have uploaded my code. https://github.com/danidata/Calduino-Wi ... MS-Buderus
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!
delchrys
Posts: 51
Joined: Wednesday 02 March 2016 20:52
Target OS: -
Domoticz version:
Contact:

Re: Nefit data/control via Arduino to Domoticz (directly without OpenTherm module or Easy)

Post by delchrys »

danidata wrote:
danidata wrote:
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.
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.
In this repository I have uploaded my code. https://github.com/danidata/Calduino-Wi ... MS-Buderus
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!
Damn you made a nice arduino code, i suppose it is possible to read almost every data on the EMS BUS?
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.
Post Reply

Who is online

Users browsing this forum: No registered users and 1 guest