Skip to content
forked from emsesp/EMS-ESP32

ESP32 firmware to read and control EMS and Heatronic compatible equipment such as boilers, thermostats, solar modules, and heat pumps

License

Notifications You must be signed in to change notification settings

Sunbuzz/EMS-ESP32

 
 

Repository files navigation

logo

EMS-ESP is an open-source firmware for the Espressif ESP8266 and ESP32 microcontroller that communicates with EMS (Energy Management System) based equipment from manufacturers like Bosch, Buderus, Nefit, Junkers, Worcester and Sieger.

This project is the specifically for the ESP32. Compared with the previous ESP8266 (version 2) release it has the following enhancements:

  • Ethernet Support
  • Pre-configured circuit board layouts
  • Supports writing EMS values directly from within Web UI
  • Mock API server for faster offline development and testing
  • Improved API and MQTT commands
  • Improvements to Dallas temperature sensors
  • Embedded log tracing in the Web UI

version release-date license Codacy Badge downloads chat

If you like EMS-ESP, please give it a star, or fork it and contribute!

GitHub stars GitHub forks donate

Note, EMS-ESP requires a small hardware circuit that can convert the EMS bus data to be read by the microcontroller. These can be ordered at https://bbqkees-electronics.nl or contact the contributors that can provide the schematic and designs.


Features

  • A multi-user secure web interface to change settings and monitor the data
  • A console, accessible via Serial and Telnet for more monitoring
  • Native support for Home Assistant via MQTT Discovery
  • Can run standalone as an independent WiFi Access Point or join an existing WiFi network
  • Easy first-time configuration via a web Captive Portal
  • Support for more than 80 EMS devices (boilers, thermostats, solar modules, mixer modules, heat pumps, gateways)

Demo

See a live demo here using fake data. Log in with any username/password.

Screenshots

Web Interface

Telnet Console

In Home Assistant

Installing

Refer to the official documentation to how to install the firmware and configure it. The documentation is being constantly updated as new features and settings are added.

You can choose to use an pre-built firmware image or compile the code yourself:

Support Information

If you're looking for support on EMS-ESP there are some options available:

Documentation

Support Community

  • Discord Server: For support, troubleshooting and general questions. You have better chances to get fast answers from members of the community
  • Search in Issues: You might find an answer to your question by searching current or closed issues

Developer's Community

  • Bug Report: For reporting Bugs
  • Feature Request: For requesting features/functions
  • Troubleshooting: As a last resort, you can open new Troubleshooting & Question issue on GitHub if the solution could not be found using the other channels. Just remember: the more info you provide the more chances you'll have to get an accurate answer

Contributors ✨

EMS-ESP is a project originally created and owned by proddy. Key contributors are:


MichaelDvP

v2 v3

You can also contribute to EMS-ESP by

  • providing Pull Requests (Features, Fixes, suggestions)
  • testing new released features and report issues on your EMS equipment
  • contributing to missing Documentation

Libraries used

  • esp8266-react by @rjwats for the framework that provides the core of the Web UI
  • uuid-* from @nomis. The console, syslog, telnet and logging are based off these open source libraries
  • ArduinoJson for JSON
  • AsyncMqttClient for the MQTT client, with custom modifications from @bertmelis and @proddy
  • ESPAsyncWebServer and AsyncTCP for the Web server and TCP backends, with custom modifications for performance

License

This program is licensed under GPL-3.0

About

ESP32 firmware to read and control EMS and Heatronic compatible equipment such as boilers, thermostats, solar modules, and heat pumps

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • C++ 70.6%
  • C 11.7%
  • TypeScript 10.5%
  • Python 5.9%
  • JavaScript 1.0%
  • Makefile 0.2%
  • Other 0.1%