Heating control to a new level
A switch from Home Assistant Bosch Custom Component to EMS-ESP
Why the switch to EMS-ESP?
The Bosch Custom Component had long been a great solution for reading the KM100 gateway over the network. The problem: The underlying library was not updated in time for the changes in Python 3.12, which simply caused the module to stop working in newer Home Assistant versions (from 2024.2 onwards).
The solution? A hardware upgrade to **EMS-ESP**. This open-source firmware runs on an ESP microcontroller (like the ESP32) and plugs directly into the heater's EMS bus. The data is sent via MQTT to Home Assistant, which makes the integration extremely stable and completely independent of Python updates.
1. Hardware and Connection
To make the switch, you need an EMS-ESP compatible board (e.g., from bbqkees-electronics). This board is simply plugged into the heater's service socket using the supplied cable. The gateway is directly powered via the service socket, so no additional power supply unit is needed.
2. Configuration in EMS-ESP
Once the board is connected, it opens its own Wi-Fi access point. Connect to it, enter the credentials for your home Wi-Fi, and then access the web interface in your browser. Under the MQTT settings, you enter the IP address and credentials of your MQTT broker (usually Mosquitto in Home Assistant).
3. Integration into Home Assistant
Thanks to MQTT Auto-Discovery, integration into Home Assistant is a breeze. As soon as EMS-ESP sends the first data, all sensors (flow temperature, boiler temperature, hot water) as well as control entities (heating curve, target temperature) automatically appear under the MQTT devices in Home Assistant.
The switch might initially sound like some hardware work, but it rewards with a significantly more responsive and future-proof heating control!