GithubHelp home page GithubHelp logo

boomlust / nefit-buderus-ems-bus-arduino-domoticz Goto Github PK

View Code? Open in Web Editor NEW

This project forked from bbqkees/nefit-buderus-ems-bus-arduino-domoticz

0.0 0.0 0.0 66 KB

Readout of EMS protocol datagrams and transfer of data to Domoticz via Arduino

Arduino 65.66% C++ 34.34%

nefit-buderus-ems-bus-arduino-domoticz's Introduction

Nefit-Buderus-EMS-bus-Arduino-Domoticz

Readout of Nefit/Buderus 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).

Goal:

Readout the Nefit/Buderus EMS interface of a Nefit Trendline gas boiler (gas condensing central heating boiler).

Transfer of data via ethernet to Domoticz home automation software.

What does it do?

This sketch reads the EMS interface data and depending on the format decodes the data and puts it in variables. You can then send the values via HTTP GET requests to Domoticz or do whatever you want with it. Usage is not limited to Domoticz, you can extract the decoding part for other purposes.

Boiler support

Reading the EMS bus: Should support all boilers using the EMS databus. This includes most Bosch boiler brands like Nefit, Buderus, Worcester. Datagrams are periodically sent out by the boiler with source ID 0x08. You only need to listen in. No data requests are needed for most boilers.

Writing to the EMS bus: To change the temperature and other settings you need to write to the thermostat on the bus. Depending on the thermostat on your wall you need to send specific commands. Most of these are already reverse-engineered. Some are not. Below the list of thermostats which should work fine.

Thermostat support

EMS bus thermostats:RC20 (source ID 0x17), likely also RC30 and RC35 (both ID 0x10). Depending on under which brand name these thermostats are sold they might have a different type name. If your thermostat does not work, and you really want to change the temperature you might want to buy a supported model.

Hardware:

  • EMS interface circuit
  • Arduino Mega + Wiznet Ethernet Shield
  • Raspberry Pi with 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'.

This sketch uses the Arduino Mega 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 is used to debug the output to PC. EMS serial works with 9700 Baudrate and 8N1. For sending data to the EMS bus you need a modified Serial library. It's included in the project.

Arduino Mega:

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

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

Where did you find all the information about the bus?

http://www.mikrocontroller.net/topic/309075 http://www.mikrocontroller.net/topic/141831 http://emswiki.thefischer.net/doku.php?id=start

How about MQTT instead of HTTP GET requests?

That is on my list. For now it works exactly like my other Github project 'Vbus-Arduino-Domoticz'.

Additional credits

Sketch is based on the EMS sketches from 'Jvdmeer' from the Nodo forum.

Legal Notices

'Worcester, Bosch Group', 'Buderus' and 'Nefit' are brands of Bosch Thermotechnology.

All other trademarks are the property of their respective owners.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.