Nachfolgend findet ihr eine Anleitung, wie ihr die Bosch CS5800/6800i oder Buderus WLW176/186 in freie Smarthome-Systeme wie OpenHAB oder Home Assistant oder Energiemanagement-Systeme wie evcc integrieren könnt. Zusätzlich wird beschrieben, wie man die Messwerte in Grafana visualisiert.

EMS-ESP

Die Bosch/Buderus Wärmepumpen bieten leider keine offizielle Schnittstelle an, um Messwerte abzurufen oder Einstellungen vorzunehmen.

Glücklicherweise gibt es das open-source Projekt ems-esp. Wer die Hardware nicht selbst basteln möchte, kann bereits mit ems-esp geflashte Hardware von BBQKees beziehen. Ich habe mich für das BBQKees Gateway S3 entschieden.

BBQKees Gateway S3 Servicebuchse an der Bosch Compress CS6800i AW 12 MB Inneneinheit

Nachdem man die Hardware an die Servicebuchse der Inneneinheit angesteckt und das WLAN konfiguriert hat, kann man Daten über die Weboberfläche unter http://ems-esp oder über die REST API auslesen:

curl http://ems-esp/api/thermostat/manualtemp
> {"name":"manualtemp","fullname":"HK1 manuelle Temperatur","circuit":"hc1","value":21.5,"type":"number","min":0,"max":127,"uom":"°C","readable":true,"writeable":true,"visible":true}

Weboberfläche von _ems-esp_

Leider tritt bei manchen Nutzern sporadisch ein Verbindungsproblem auf, das hoffentlich bald gelöst wird (siehe Bosch Heat Pump error: No communication on EMS bus).

Entitäten

In der Weboberfläche werden direkt alle erkannten Geräte angezeigt:

  • XCU_THH/CS*800i, Logatherm WLW* (Boiler) mit 173 Entitäten
  • HMI800.2/Rego 3000, UI800, Logamatic BC400 (Thermostat) mit 71 Entitäten
  • K30RF/WiFi module (Gateway Module)

Unter Smarthome Entitäten ist eine Liste aller aktuell verfügbaren Entitäten zu finden.

MQTT

Für den Datenaustausch zwischen ems-esp und einem Smarthome-System bietet sich MQTT an. Dazu braucht man einen MQTT-Broker, wie Mosquitto, der in vielen Smarthome-Systemen bereits als optionale Erweiterung mitgeliefert wird. In Home Assistant und OpenHAB kann Mosquitto leicht über das entsprechende Add-on installiert werden. Die Kommunikation mit evcc funktioniert über die REST-API von ems-esp. Daher braucht ihr für evcc kein MQTT.

flowchart LR
    EMSESP[ems-esp] -->|Publish| MQTT@{ shape: bow-rect, label: "MQTT Broker" }
    HA[Home Assistant /<br/>OpenHAB /<br/>Telegraf] --> |Subscribe| MQTT
    HA -->|Persist| INFLUX[("InfluxDB")]
    GRAFANA[Grafana] -->|Read| INFLUX

Damit ems-esp die Messwerte an den MQTT-Broker schickt, müsst ihr dies unter Settings → MQTT Settings aktivieren und die Broker Address, sowie Username und Password hinterlegen. Außerdem sollte man Enable MQTT Discovery aktivieren, denn sonst muss man alle Entitäten händisch anlegen.

ems-esp: MQTT Einstellungen

Falls ihr noch keinen MQTT-Broker habt, dann funktioniert die Kommunikation natürlich erst, wenn ihr euer Smarthome mit dem MQTT-Addon installiert habt. Mehr dazu in den nachfolgenden Abschnitten: