Nefit-Buderus-EMS-bus-Arduino-Domoticz

Readout of Nefit/Buderus (Logamatic) EMS (=Energy Management System) interface Protocol by Arduino and transfer of data via HTTP GET requests to Domoticz home automation software (or to other systems).
ORIGINAL POST
By bbqkees
components
Hardware Components
Arduino Mega 2560 Rev 3
X 1
W5100 Arduino Ethernet Shield
X 1
Software Apps and online services
Domoticz
details

ems-on-mega.jpg

Hardware:

  • EMS interface circuit (See Documentation or PBC-files folder).
  • Arduino Mega 2560 Rev3 + Arduino Ethernet Shield with Wiznet w5100
  • Raspberry Pi, PC or other device running Domoticz

The EMS bus interface can be converted to TTL level by means of a simple circuit. The TTL-converted signal can then be connected to one of the the Arduino UARTs. See the Documentation folder.

The sketches here use the Arduino Mega 2560 and the Wiznet 5100 ethernet shield. You can also use another Arduino like the Uno but that one only has one hardware serial port.

Serial1 is used for the EMS module. Serial(0) is used to debug the output to PC. EMS serial works with 9700 Baudrate and 8N1. You need a modified Serial library for the Arduino. It’s included in the project.

The modified Serial library and thus the entire sketch will only work on Arduino (compatible) boards that have an Atmel AVR (ATmega) microcontroller on board like the Uno and Mega. ATSAMxx (ARM) type Arduino’s are not supported. Neither are the ESP8266, ESP32 etc.
For the ESP8266 ‘Proddy’ has written fully working code: https://github.com/proddy/EMS-ESP-Boiler

Arduino Mega pinout:

  • Serial on pins 0 (RX) and 1 (TX),
  • Serial1 on pins 19 (RX) and 18 (TX),
  • Serial2 on pins 17 (RX) and 16 (TX),
  • Serial3 on pins 15 (RX) and 14 (TX). You can choose any of the Serial ports on the Mega, the current sketch uses Serial1 but you can change that.

Arduino non-Mega: You cannot use Serial1, so you need to use Serial(0), which does not allow for combined debugging via serial.

 

Original Link: https://github.com/bbqkees/Nefit-Buderus-EMS-bus-Arduino-Domoticz

 

ems-on-mega.jpg

Hardware:

  • EMS interface circuit (See Documentation or PBC-files folder).
  • Arduino Mega 2560 Rev3 + Arduino Ethernet Shield with Wiznet w5100
  • Raspberry Pi, PC or other device running Domoticz

The EMS bus interface can be converted to TTL level by means of a simple circuit. The TTL-converted signal can then be connected to one of the the Arduino UARTs. See the Documentation folder.

The sketches here use the Arduino Mega 2560 and the Wiznet 5100 ethernet shield. You can also use another Arduino like the Uno but that one only has one hardware serial port.

Serial1 is used for the EMS module. Serial(0) is used to debug the output to PC. EMS serial works with 9700 Baudrate and 8N1. You need a modified Serial library for the Arduino. It’s included in the project.

The modified Serial library and thus the entire sketch will only work on Arduino (compatible) boards that have an Atmel AVR (ATmega) microcontroller on board like the Uno and Mega. ATSAMxx (ARM) type Arduino’s are not supported. Neither are the ESP8266, ESP32 etc.
For the ESP8266 ‘Proddy’ has written fully working code: https://github.com/proddy/EMS-ESP-Boiler

Arduino Mega pinout:

  • Serial on pins 0 (RX) and 1 (TX),
  • Serial1 on pins 19 (RX) and 18 (TX),
  • Serial2 on pins 17 (RX) and 16 (TX),
  • Serial3 on pins 15 (RX) and 14 (TX). You can choose any of the Serial ports on the Mega, the current sketch uses Serial1 but you can change that.

Arduino non-Mega: You cannot use Serial1, so you need to use Serial(0), which does not allow for combined debugging via serial.

 

Original Link: https://github.com/bbqkees/Nefit-Buderus-EMS-bus-Arduino-Domoticz

 

COMMENTS

Please Login to comment
  Subscribe  
Notify of