Nefit / Buderus data/control via Arduino / ESP8266 to Domoticz (directly without OpenTherm module or Easy)
Moderator: leecollings
-
- Posts: 3
- Joined: Thursday 07 December 2017 9:18
- Target OS: Raspberry Pi / ODroid
- Domoticz version:
- Contact:
Re: Nefit data/control via Arduino to Domoticz (directly without OpenTherm module or Easy)
Hi there,
Let me chime in on this discussion. having a Nefit Topline together with Moduline 300 controller, I am very interested in this topic. I have already followed the topics at mikrocontroller.net on this, but now it it time to get things going and do some stuff.
I was looking to use the software 'EMS-collector' from Maniac103 at https://github.com/maniac103/ems-collector, but then I still need the hardware. Would the circuit that bbqkees has shared here be able to communicate with the EMS-collector?
Let me chime in on this discussion. having a Nefit Topline together with Moduline 300 controller, I am very interested in this topic. I have already followed the topics at mikrocontroller.net on this, but now it it time to get things going and do some stuff.
I was looking to use the software 'EMS-collector' from Maniac103 at https://github.com/maniac103/ems-collector, but then I still need the hardware. Would the circuit that bbqkees has shared here be able to communicate with the EMS-collector?
Last edited by SirBacon on Tuesday 16 January 2018 8:58, edited 1 time in total.
- 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)
Yes, but the circuit makes a 5V compatible UART interface. The Pi needs a 3.3V interface.
So if you want to connect the circuit directly to the Pi UART you need to add a voltage divider at the end.
Replace the last 4.7K resistor on the right in the schematic with a 10K and 20K resistor in series to ground.
Connect the point between the 10K and 20K resistor to the Pi UART.
See f.i. the schematic in my other Github project about the VBUS (only look at the voltage divider at the right):
So if you want to connect the circuit directly to the Pi UART you need to add a voltage divider at the end.
Replace the last 4.7K resistor on the right in the schematic with a 10K and 20K resistor in series to ground.
Connect the point between the 10K and 20K resistor to the Pi UART.
See f.i. the schematic in my other Github project about the VBUS (only look at the voltage divider at the right):
Bosch / Nefit / Buderus / Junkers / Worcester / Sieger EMS bus Wi-Fi MQTT Gateway and interface boards: https://bbqkees-electronics.nl/
-
- Posts: 3
- Joined: Thursday 07 December 2017 9:18
- Target OS: Raspberry Pi / ODroid
- Domoticz version:
- Contact:
Re: Nefit data/control via Arduino to Domoticz (directly without OpenTherm module or Easy)
Thanks bbqkees for the quick reply. As there are also 5v TTL/UART USB cables (http://www.ftdichip.com/Products/Cables ... Serial.htm) perhaps the circuit can remain the same for both Arduino and RPi applications. Then just make sure you have the right connection to your application.
Last edited by SirBacon on Tuesday 16 January 2018 8:58, edited 1 time in total.
Re: Nefit data/control via Arduino to Domoticz (directly without OpenTherm module or Easy)
Hi bbqkees, i have the circuit with the arduino ethernet and a nefit moduline 100.bbqkees wrote: ↑Thursday 16 November 2017 11:10 If you want to control the thermostat you need to add some code to my sketch, as I use it only for reading the bus.
If you buy a second hand Moduline 200 (RC20) you'll have it up running the fastest.
Maybe the sketch from @danidata is more suited to your needs.
See his Github
this is the software that im currently using.
https://github.com/yctn/nefitEms
but it does not seems to work yet. the only output i get is:
LAAG
Kamertemp nu: 0.0
Could this have to do that my thermostat does not support night and clock mode?
can i change the code to just only use read and settemp or would that require the moduline 200?
Greetz
- 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)
Did you test with my code to see if you can read the bus at all?
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)
no i didnt try ur code yet.
Yes i can read and write to the bus
NEFIT 10 52.6,32.6,41.4,40.9,18.8,19.0,1,1.8,3.05,0.00
and i can switch from night to manual to clock. but the software is a bit buggy. does ur code support the moduline 300? this software is for the moduline 300.
Yes i can read and write to the bus
NEFIT 10 52.6,32.6,41.4,40.9,18.8,19.0,1,1.8,3.05,0.00
and i can switch from night to manual to clock. but the software is a bit buggy. does ur code support the moduline 300? this software is for the moduline 300.
- 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)
My code is also based on the Nodo code from J vd Meer. But I do not use the writing part.
If you read my Github page documentation you see that on the EMS bus each thermostat type has it's own address.
So if you do not have the RC20 but another thermostat you need to find out which address that thermostat uses otherwise it won't respond to your write actions.
Easiest method is to print out each packet that is read from the bus and find out what is sent by the thermostat when you change the temperature.
You are apparently successfully reading RC20StatusMessage from 0x17. Which means there is a device on the bus with address 0x17 (or you are just printing out the default values every time) so I think there is something wrong in your code or hardware while writing to the bus. Or your thermostat does not respond to writing to those specific addresses.
If you read my Github page documentation you see that on the EMS bus each thermostat type has it's own address.
So if you do not have the RC20 but another thermostat you need to find out which address that thermostat uses otherwise it won't respond to your write actions.
Easiest method is to print out each packet that is read from the bus and find out what is sent by the thermostat when you change the temperature.
You are apparently successfully reading RC20StatusMessage from 0x17. Which means there is a device on the bus with address 0x17 (or you are just printing out the default values every time) so I think there is something wrong in your code or hardware while writing to the bus. Or your thermostat does not respond to writing to those specific addresses.
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)
As bbqkes pointed out, are you sure the bus address for moduline 300 is 0x17? If, as you say, you can read and write to the bus and switch from night to manual it should be Ok, but I cannot find it in the wiki documentation.yctn wrote: ↑Monday 11 December 2017 11:06 no i didnt try ur code yet.
Yes i can read and write to the bus
NEFIT 10 52.6,32.6,41.4,40.9,18.8,19.0,1,1.8,3.05,0.00
and i can switch from night to manual to clock. but the software is a bit buggy. does ur code support the moduline 300? this software is for the moduline 300.
On the other hand, when you send a read command remember to mask the destination address with 0x80 (I could not find if that is done in your github). I remember that, at the begging of this project, I also used something similar to the regNefitCoding that are in your code and I could never find what message types 0x91 and 0xA8 were.
-
- Posts: 1
- Joined: Tuesday 19 December 2017 18:17
- Target OS: Raspberry Pi / ODroid
- Domoticz version:
- Location: Germany
- Contact:
Re: Nefit data/control via Arduino to Domoticz (directly without OpenTherm module or Easy)
Hi bbqkees,
I am using your code an your circuit for reading my Buderus EMS-Bus.
It works fine, but I have the folowing problem:
I want to read some other values then your code provides.
There for I used your telegram-tabels for building adress, frametyp, offset and vartype
That worked e.g. for ww-circulation on/off (0x08, 0x18, 0x07, 0x70) but not for e.g. outdoor temperature (0x08, 0x19, 0x00, 0x05)
The outdoor temp value is allways 0.0000, I am using a RC 35 with the adress 0x10
Can I not read different values then your code contains? What do I wrong?
I am using your code an your circuit for reading my Buderus EMS-Bus.
It works fine, but I have the folowing problem:
I want to read some other values then your code provides.
There for I used your telegram-tabels for building adress, frametyp, offset and vartype
That worked e.g. for ww-circulation on/off (0x08, 0x18, 0x07, 0x70) but not for e.g. outdoor temperature (0x08, 0x19, 0x00, 0x05)
The outdoor temp value is allways 0.0000, I am using a RC 35 with the adress 0x10
Can I not read different values then your code contains? What do I wrong?
- 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)
Do you even have an outdoor temperature sensor connected to the system?
Also some of the data frames only occur every now and then, you might need to log much longer before it can be seen on the bus.
Also some of the data frames only occur every now and then, you might need to log much longer before it can be seen on the bus.
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)
If I remember well, to receive a 0x19 (UBA_MONITOR_SLOW) message with outdoor temperature you should first make a poll (using the 0x80 mask because it is a read command). The fast monitor is send every X seconds automatically, but the slow monitor is sent only under request. After your request, you will receive from your RC35 a response of type 0x19 containing the datagram you expect.kapav wrote: ↑Tuesday 19 December 2017 18:40 Hi bbqkees,
I am using your code an your circuit for reading my Buderus EMS-Bus.
It works fine, but I have the folowing problem:
I want to read some other values then your code provides.
There for I used your telegram-tabels for building adress, frametyp, offset and vartype
That worked e.g. for ww-circulation on/off (0x08, 0x18, 0x07, 0x70) but not for e.g. outdoor temperature (0x08, 0x19, 0x00, 0x05)
The outdoor temp value is allways 0.0000, I am using a RC 35 with the adress 0x10
Can I not read different values then your code contains? What do I wrong?
- 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)
kapav,
You can add something like the following code to see which datagrams appear on the bus:
Place it in void loop between:
For anyone that is interested, I added a lot of documentation and comments to the code on my Github page to make it easier to understand.
You can add something like the following code to see which datagrams appear on the bus:
Place it in void loop between:
Code: Select all
if (crcCheckOK(buffer,ptr)){
nefitFrame2register(buffer,ptr);
Code: Select all
#if DEBUG
nefitSerial.print("New datagram found with Sender ID: ");
nefitSerial.print(buffer[0]); nefitSerial.print("Receiver ID: "); nefitSerial.print(buffer[1]);
nefitSerial.print("Frametype: "); nefitSerial.print(buffer[2]); nefitSerial.print("Offset: ");
nefitSerial.println(buffer[3]);
nefitSerial.println("------------------------");
#endif
Bosch / Nefit / Buderus / Junkers / Worcester / Sieger EMS bus Wi-Fi MQTT Gateway and interface boards: https://bbqkees-electronics.nl/
-
- Posts: 20
- Joined: Friday 18 November 2016 11:34
- Target OS: Raspberry Pi / ODroid
- Domoticz version:
- Contact:
Re: Nefit data/control via Arduino to Domoticz (directly without OpenTherm module or Easy)
Not sure if this is a new topic or belongs to this one. After spending a lot of time on the hardware part, my EMS interface still does not work. Main problem is my limited knowledge of electronics to troubleshoot the hardware. To save myself some time I decided to look for another solution and found the Nefit EMS OpenTherm converter, but I am not sure if this will work. We have the Nefit Trendline II HRC30 CW5 installed with a Lyric T6 (ON/OFF thermostat). What I want to do is the following:
- Connect the Nefit EMS OpenTherm converter to the Nefit Trendline and a RPi with Domoticz, so I can read at least the water pressure and temperatures of the installation
- Use the Lyric for controlling the heating.
What I read on the different forums is that by using the Nefit EMS OpenTherm converter you can no longer use the ON/OFF connectors (for the Lyric). Is this also valid when only reading data from the Nefit EMS OpenTherm converter?
- Will this setup work for reading the data by using a OT converter connected to a RPi and the Nefit Trendline?
- Connect the Nefit EMS OpenTherm converter to the Nefit Trendline and a RPi with Domoticz, so I can read at least the water pressure and temperatures of the installation
- Use the Lyric for controlling the heating.
What I read on the different forums is that by using the Nefit EMS OpenTherm converter you can no longer use the ON/OFF connectors (for the Lyric). Is this also valid when only reading data from the Nefit EMS OpenTherm converter?
- Will this setup work for reading the data by using a OT converter connected to a RPi and the Nefit Trendline?
- 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)
Just to be sure: did you power the LM393 chip with 5V too?
It is not in the schematic but of course the chip needs 5V and ground too on pins 8 and 4 for the circuit to work.
It is not in the schematic but of course the chip needs 5V and ground too on pins 8 and 4 for the circuit to work.
Bosch / Nefit / Buderus / Junkers / Worcester / Sieger EMS bus Wi-Fi MQTT Gateway and interface boards: https://bbqkees-electronics.nl/
-
- Posts: 20
- Joined: Friday 18 November 2016 11:34
- Target OS: Raspberry Pi / ODroid
- Domoticz version:
- Contact:
Re: Nefit data/control via Arduino to Domoticz (directly without OpenTherm module or Easy)
bbqkees, THX! That did it, I now receive temp and press data.
-
- Posts: 3
- Joined: Thursday 07 December 2017 9:18
- Target OS: Raspberry Pi / ODroid
- Domoticz version:
- Contact:
Re: Nefit data/control via Arduino to Domoticz (directly without OpenTherm module or Easy)
Good morning, any chance somebody can help me out with hardware? I definitely want to read out my Nefit heating system but lack the hardware. As I am no good with hardware (One has to know one's own limitations ) I would appreciate any help.
- 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)
My breadboard setup still works after all that time so I am not in a real hurry to finish it.
But I have received all the components for the first batch of boards last week, and I am finalizing the PCB design.
So it is coming, but it will still take some time.
But I have received all the components for the first batch of boards last week, and I am finalizing the PCB design.
So it is coming, but it will still take some time.
Bosch / Nefit / Buderus / Junkers / Worcester / Sieger EMS bus Wi-Fi MQTT Gateway and interface boards: https://bbqkees-electronics.nl/
-
- Posts: 20
- Joined: Friday 18 November 2016 11:34
- Target OS: Raspberry Pi / ODroid
- Domoticz version:
- Contact:
Re: Nefit data/control via Arduino to Domoticz (directly without OpenTherm module or Easy)
BBQkees, I am interested in one of your boards, when ready to sell..
-
- Posts: 7
- Joined: Saturday 07 January 2017 12:29
- Target OS: Raspberry Pi / ODroid
- Domoticz version:
- Location: Swalmen, The Netherlands
- Contact:
Re: Nefit data/control via Arduino to Domoticz (directly without OpenTherm module or Easy)
Put me on also the list, please!?
Sent from my SM-G920F using Tapatalk
Sent from my SM-G920F using Tapatalk
- 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)
The PCB's are ordered now, expect to have them here mid February.
I hope I did not make a mistake in the design and the first batch will work well.
I'll let everyone know here when they are soldered, tested and ready.
I hope I did not make a mistake in the design and the first batch will work well.
I'll let everyone know here when they are soldered, tested and ready.
Bosch / Nefit / Buderus / Junkers / Worcester / Sieger EMS bus Wi-Fi MQTT Gateway and interface boards: https://bbqkees-electronics.nl/
Who is online
Users browsing this forum: No registered users and 0 guests