Susis Strolch dab66ce918 fixing tx_mode 2
° stabilize emsuart_rx...
  We can get more than 32 bytes because of the trailing BRK.
  So the buffersize for Rx interrupt is (for safety) increased to 36 bytes.
  If length exceeds 36 bytes we dump them to /dev/null

° reintroduced the phantomBreak flag again
  We _must_ signal to Rx that we have a double break, otherwise
  we get problems in emsuart_recvTask...

° add ems_dumpBuffer which shows TxBuffer before send and RxBuffer after
  receive and applying phantomBreak.
  The dump is activated in "log j" mode and used to debug the
  protocol problems.

° change handling of ID bit 7
  on system start we listen for telegram until we receive a valid one,
  larger than 5 byte.
  Depending on the bit7 of the source address we decide if we have a
  Buderus EMS or a Junkers EMS bus.
  This decision is used to set the variables emsIDMask (0x00 for Buderus,
  0x80 for Junkers) and the emsPollAck buffer, used to send the propper
  acknowledge, depending on EMS type.

° move poll acknowledge function (emsuart_tx_poll) from emsuart.cpp to ems.cpp
  and rename to ems_pollAck

° add EMS_TX_REV_DETECT status for detecting the SourceID.7 bit and setting
  emsIDMask and emsPollAck buffer accordingly

° set initial emsTxStatus to EMS_TX_REV_DETECT

° add 'log j' - jabber - for more extensive debug logs
2019-07-29 19:10:19 +02:00
2019-01-09 23:41:41 +01:00
2019-07-19 00:05:04 +02:00
2019-07-16 16:26:30 +02:00
2019-07-29 19:10:19 +02:00
2019-04-19 17:11:36 +02:00
2019-07-26 12:45:49 +02:00
2019-07-27 09:44:26 +02:00
2019-04-05 17:59:24 +02:00
2019-07-25 10:30:34 +02:00
2019-06-20 10:53:16 +02:00

EMS-ESP

EMS-ESP is a open-source system to communicate with EMS (Energy Management System) based boilers, thermostats and other modules from manufacturers like Bosch, Buderus, Nefit, Junkers and Sieger.

The code is writen for the Espressif ESP8266 microcontroller and supports a telnet console for real-time monitoring and configuration and customizable MQTT support for publishing the information to a home automation system such as Home Assistant or Domoticz.

Please reference the Wiki for further details and instructions on how to build and configure the firmware.


An example of the Home Assistant integration:

ha

Using BBQKees' EMS Gateway circuit:

on boiler kit basic circuit

Example of the EMS-ESP's telnet console:

telnet menu telnet menu

The latest list of support EMS devices

Thermostats:

  • Sieger ES73
  • RC10/Nefit Moduline 100
  • RC20/Nefit Moduline 300
  • RC20F
  • RC30/Nefit Moduline 400
  • RC35 (only a single HC)
  • RC300/RC310
  • Nefit Moduline 1010
  • Junkers FR10
  • TC100/Nefit Easy (read-only)
  • Bosch Easy (read-only)
  • Bosch CW100 (read-only)

Boilers:

  • Buderus GB172/Nefit Trendline
  • Nefit Topline Compact/Buderus GB162
  • Buderus Logamax U122
  • Buderus Logamax plus/GB192
  • Sieger BK15 Boiler/Nefit Smartline
  • Bosch Condens 2500/Junkers Cerapur Comfort
  • Nefit Proline

Solar Modules:

  • SM10 Solar Module
  • SM100 Solar Module
  • Junkers ISM1 Solar Module

Other devices:

  • MM10 Mixer Module
  • MC10 Module
  • WM10 Switch Module
  • MM100 Mixing Module
  • MM100 Mixing Module
  • BC10/RFM20 Receiver
  • BC10 Base Controller
  • BC25 Base Controller
  • Nefit Moduline Easy Connect
  • Bosch Easy Connect
  • EMS-OT OpenTherm converter
  • Web Gateway KM200
  • HeatPump Module
Description
ESP32 firmware to read and control EMS and Heatronic compatible equipment such as boilers, thermostats, solar modules, and heat pumps
Readme 83 MiB
Languages
C++ 70.1%
TypeScript 19.8%
C 7.3%
Python 2%
JavaScript 0.4%
Other 0.4%