EMS-ESP is an open-source firmware for the Espressif ESP32 microcontroller that communicates with EMS (Energy Management System) based equipment from manufacturers like Bosch, Buderus, Nefit, Junkers, Worcester and Sieger. It requires a small gateway circuit to interface with the EMS bus which can be purchased from https://bbqkees-electronics.nl or custom built.
- A multi-user, multi-language web interface to change settings and monitor incoming data
- An advanced console, accessible via Serial/USB or Telnet for more operations and monitoring
- Native integration with Home Assistant, Domoticz, openHAB and Modbus
- Easy setup and install with automatic updates
- Supporting over 120 different EMS compatible devices from thermostats, boilers, heat pumps, mixing units, solar modules from brands as Bosch, Buderus, Nefit, Junkers, Worcester and Sieger
- Simulate remote thermostats
- Localized to 10 languages, and customizable to change names to your preference
- Extendable via adding external modules or adding your own custom entities directly within the WebUI
- A powerful scheduler to automate tasks and trigger events based data changes
- A Notification service to alert you of important events
For a quick install of the latest stable release go to https://install.emsesp.org. For other methods of installing and upgrading, and switching over to the development version go to this section in the documentation.
If you're upgrading a BBQKees Electronics EMS Gateway and unsure which firmware to use, please refer to the this overview.
Visit emsesp.org for more details on how to install and configure EMS-ESP. There is also a collection of Frequently Asked Questions and Troubleshooting tips with example customizations from the community.
To chat with the community reach out on our Discord Server.
If you find an issue or have a request, see here on how to submit a bug report or feature request.
For a live demo go to demo.emsesp.org. Pick a language from the sign on page and log in with any username or password. Note not all features are operational as it's based on static data.
EMS-ESP is a project created by proddy and owned and maintained by both proddy and MichaelDvP with support from BBQKees Electronics.
You can contact us using this form.
If you like EMS-ESP, please give it a ✨ on GitHub, or even better fork it and contribute. You can also offer a small donation. This is an open-source project maintained by volunteers, and your support is greatly appreciated.
- esp8266-react by @rjwats for the core framework that provides the Web UI, which has been heavily modified
- uuid-* from @nomis. The console, syslog, telnet and logging are based off these awesome open source libraries
- ArduinoJson for all the JSON processing
- espMqttClient for the MQTT client
- ESPAsyncWebServer and AsyncTCP for the Web server and TCP backends, with custom modifications for performance
This program is licensed under GPL-3.0
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |