# emsesp/EMS-ESP32

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

Repository: https://github.com/emsesp/EMS-ESP32
Canonical: https://ross.abutalabs.com/products/ems-esp32
Homepage: https://emsesp.org
Language: C++
License: LGPL-3.0
License Family: copyleft
Topics: mqtt, esp32, thermostat, boiler, ems, solar, heatpump, buderus, bosch, junkers, ht3, home-assistant, iot, home-automation
Last push: 2026-08-31T06:27:55+00:00

## Health v2 (maintenance only)
Score: 94/100 (v2, computed 2026-09-02T17:46:02.011165+00:00)
- activity 100, release rhythm 84, longevity 100
- inputs: {"age_days": 1998, "days_push": 2, "days_rel": 29, "gap_med": 81, "n_releases_24m": 8}
- flags: none
- formula: round(0.45*activity + 0.35*rhythm + 0.20*longevity); archived -> min(score, 10)

## Adoption (not part of the score)
Stars 1004, forks 150 (observed 2026-09-03T02:15:11.631720+00:00)

## What it is
EMS-ESP is open-source firmware for the ESP32 microcontroller that communicates with EMS and Heatronic compatible heating equipment from Bosch, Buderus, Nefit, Junkers, Worcester and other brands. It reads and controls boilers, thermostats, heat pumps, and solar modules, exposing them via a web UI, MQTT, REST API, Modbus, and native Home Assistant integration.

## Use cases
- monitor and control my Buderus boiler from Home Assistant
- read thermostat and boiler data over the EMS bus
- integrate a Bosch heat pump with MQTT
- control heating system remotely with ESP32
- log solar module and boiler temperatures in Prometheus
- simulate a remote thermostat like RC100H
- automate heating schedules with a scheduler

## When to choose
- you own EMS or Heatronic compatible equipment (Bosch, Buderus, Nefit, Junkers, Worcester, Sieger) and want smart-home integration
- you want MQTT, REST, Modbus, or Home Assistant access to heating data without cloud services
- you need a self-hosted, actively maintained firmware with a web UI and broad device support (130+ devices)

## When to avoid
- your heating system does not use the EMS or Heatronic bus protocol
- you are unwilling to build or buy an EMS bus interface circuit in addition to an ESP32 board
- you need an officially supported, warranty-safe solution from the boiler manufacturer

## Facets
- artifact type: application
- maturity: active
- function: iot, monitoring, workflow-automation, http-server
- domain: iot, embedded-systems, self-hosted
- platform: embedded, iot
- tags: esp32-firmware, ems-bus, heating-systems, boiler-control, home-assistant, modbus, prometheus, reverse-engineered-protocol, mqtt, home-automation

## Member repositories
- emsesp/EMS-ESP32 (main) score 94

## Provenance
- Observed fields: from GitHub, fetched 2026-09-03T02:15:11.631720+00:00.
- Health v2: computed from the inputs above; adoption is never an input.
- Inferred fields (summary, facets, guidance): AI-extracted, prompt v1, taxonomy v1, on 2026-08-30T07:16:06.087593+00:00, confidence not recorded.
  - readme: https://github.com/emsesp/EMS-ESP32 (fetched 2026-09-03T02:15:11.631720+00:00, sha c48eb67ae073)
  - homepage: https://emsesp.org (fetched 2026-08-29T13:14:06.306955+00:00, sha 0f5836bc9505)
  - site_page: https://emsesp.org/Getting-Started (fetched 2026-08-29T13:14:06.309750+00:00, sha 4d77f71f5bbb)
  - site_page: https://emsesp.org/Installing (fetched 2026-08-29T13:14:06.311762+00:00, sha bd036133dc3b)
  - site_page: https://emsesp.org/About (fetched 2026-08-29T13:14:06.315770+00:00, sha 0470dbee7b8b)
  - site_page: https://emsesp.org/FAQ (fetched 2026-08-29T13:14:06.313796+00:00, sha e99eb1eeed7b)
- Data as of 2026-08-30T08:39:29.467469+00:00.
