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 is the firmware for the ESP32. Compared to version 2 on the ESP8266, this version has
- Ethernet Support
- Pre-configured board layouts
- Writing values directly from the Web UI
- Mock API server for faster offline development
- Expose to more commands, via MQTT
- Improvements to Dallas sensors, Shower service
If you like EMS-ESP, please give it a star, or fork it and contribute!
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.
- Compatible with both ESP8266 and ESP32
- 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 70 EMS devices (boilers, thermostats, solar modules, mixer modules, heat pumps, gateways)
In Home Assistant:
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:
If you're looking for support on EMS-ESP there are some options available:
- Official EMS-ESP Documentation: For information on how to build and upload the firmware
- FAQ and Troubleshooting: For information on common problems and solutions. See also BBQKees's wiki
- 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
- 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
You can 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
A shout out to the people helping EMS-ESP get to where it is today...
- @MichaelDvP for all his amazing contributions and patience. Specifically for the improved uart library, thermostat and mixer logic.
- @BBQKees for his endless testing and building the awesome circuit boards
- @rjwats for his esp8266-react framework that provides the new Web UI
- @nomis for his core console, telnet and syslog core libraries
- plus everyone else providing suggestions, PRs and the odd donation that keeps this project open source. Thanks!
This program is licensed under GPL-3.0