Featured image of post OBI Energy Tracker lokal: OpenOBI ohne Cloud

OBI Energy Tracker lokal: OpenOBI ohne Cloud

So ersetzt du die OBI-Cloud durch OpenOBI, spielst die offene Firmware per OTA auf und bindest den Energy Tracker lokal über MQTT in Home Assistant ein.

Der OBI Energy Tracker liest den Stromzähler günstig und unkompliziert aus. Im Auslieferungszustand landen die Messwerte allerdings über die heyOBI-App in der OBI-Cloud. Mit der Open-Source-Firmware OpenOBI lässt sich die Bridge vollständig lokal betreiben: Der Reader sendet weiterhin per LoRa, die Bridge stellt ein lokales Dashboard bereit und Home Assistant erhält die Werte über den eigenen MQTT-Broker.

Diese Anleitung führt durch den kompletten Umbau. Die Vorarbeit ist etwas technischer, danach werden weder OBI-App noch OBI-Cloud oder HACS-Integration benötigt.

YouTube Video
Zum Aktivieren des Videos musst Du auf das Bild klicken. Ich möchte Dich darauf hinweisen, dass durch die Aktivierung Daten an YouTube übermittelt werden.

Wichtig: Das Aufspielen einer fremden Firmware erfolgt auf eigenes Risiko und kann Gewährleistungsansprüche beeinträchtigen. Notiere und sichere den TEA-Key vor dem Umbau. Für den Rückweg zur Original-Firmware gibt es keinen komfortablen Ein-Klick-Schalter.

Was du benötigst

  • OBI Energy Tracker mit Bridge und optischem Reader
  • Rechner mit Python 3, Bluetooth und Verbindung zum selben Netzwerk wie die Bridge
  • freien TCP-Port 8883 während der Einrichtung
  • gültigen heyOBI-Login zum Abrufen des individuellen TEA-Keys
  • lokalen MQTT-Broker, beispielsweise das Mosquitto-Add-on in Home Assistant
  • Projektdateien von atc1441/OBI_Energy_Tracker_Local_Cloud

Wer nur schnell Messwerte in Home Assistant sehen möchte und mit der OBI-Cloud leben kann, findet dafür die HACS-Integration von mla157. Hier geht es bewusst um die komplett lokale Variante mit offener Firmware.

So funktioniert der lokale Datenweg

Der optische Reader erfasst am Stromzähler OBIS-Werte wie Netzbezug, Einspeisung und aktuelle Leistung. Er funkt sie per LoRa auf 868 MHz an die Bridge. Die Bridge basiert auf einem ESP32-C3 und sendet die Daten normalerweise an den Cloud-Dienst des Herstellers.

Für den Wechsel zu OpenOBI übernimmt ein Rechner kurzzeitig die Rolle der Cloud. Per Bluetooth erhält die Bridge WLAN-Zugangsdaten, Zertifikate und die Adresse dieses temporären MQTTS-Servers. Anschließend lädt sie darüber das OpenOBI-Image als reguläres OTA-Update. Im Dauerbetrieb läuft dieser Hilfsserver nicht mehr: OpenOBI sendet dann direkt an den eigenen MQTT-Broker.

1. Arbeitsumgebung vorbereiten

Klone das Projekt, wechsle in den Ordner 04-connect-your-own-cloud und richte eine virtuelle Python-Umgebung ein. Installiere anschließend die drei benötigten Pakete:

1
2
3
python3 -m venv .venv
source .venv/bin/activate
pip install cryptography bleak paho-mqtt

Ermittle nun mit einer Bluetooth-Low-Energy-Scanner-App den vollständigen Namen der Bridge. Er beginnt mit OBI-, steht aber nicht auf dem Gehäuse.

2. TEA-Key abrufen

Im Unterordner tools fragt das Hilfsprogramm nach dem heyOBI-Login und dem Bluetooth-Namen der Bridge:

1
2
cd tools
python fetch_tea_key.py

Das Ergebnis ist der individuelle, 32-stellige TEA-Key. Er erlaubt es, der Bridge per Bluetooth neue Verbindungsdaten zu geben. Behandle ihn deshalb wie ein Gerätepasswort und veröffentliche ihn nicht.

3. Zertifikate und temporären Server erzeugen

Erzeuge die Zertifikate mit der lokalen IP-Adresse des Rechners, auf dem der temporäre Server läuft. Die Adresse muss von der Bridge erreichbar sein und sollte sich während des Vorgangs nicht ändern.

1
python gen_certs.py --host <LAN-IP-DES-BROKERS>

Das Skript legt im Ordner pki unter anderem Zertifikate und die Datei ble_config.json an. Starte danach in einem zweiten Terminal den mitgelieferten MQTTS-Server und lasse ihn geöffnet:

1
python mqtts_server.py --host 0.0.0.0 --port 8883

Dieser Server bildet nur den für Provisionierung und OTA benötigten Teil der Cloud nach. Er ist kein Ersatz für den späteren Mosquitto-Broker.

4. Bridge per Bluetooth umziehen

Halte die Taste an der Bridge länger als zwei Sekunden gedrückt, damit sie in den Bluetooth-Einrichtungsmodus wechselt. Übertrage anschließend Konfiguration, TEA-Key und WLAN-Daten:

1
2
python ble_provision.py --config pki/ble_config.json --key <TEA-KEY> --unbind \
  --ssid <WLAN> --password <WLAN-PASSWORT>

--unbind löst eine bereits eingerichtete Bridge aus ihrer bisherigen OBI-Zuordnung. Die Original-Firmware verarbeitet WLAN-Passwörter nur bis 32 Byte zuverlässig. Verbindet sich die Bridge trotz korrekter Zugangsdaten nicht, ist ein längeres Passwort daher eine der ersten Fehlerquellen.

Nach der Provisionierung sucht die Original-Firmware nach dem Reader. Halte dessen große orange Taste länger als zehn Sekunden gedrückt und wähle den gefundenen Reader im Terminal aus. Für das reine Firmware-Update lässt sich dieser Schritt mit --no-pair-sensor überspringen.

Im Server-Log bestätigt CONNECT, dass die Bridge den lokalen Rechner erreicht. Erscheint zusätzlich EnergyTrackingSensor mit einem echten energy-Wert, funktionieren auch Reader und LoRa-Verbindung.

5. OpenOBI per OTA installieren

Lade auf der Release-Seite des Projekts das aktuelle Firmware-Image herunter. Für die originale OBI-Bridge ist ausschließlich die Datei mit obi_gateway_c3 im Namen vorgesehen.

Beende den temporären Server und starte ihn erneut mit dem Pfad zur Firmware:

1
2
python mqtts_server.py --host 0.0.0.0 --port 8883 \
  --ota-firmware <PFAD-ZUR-OBI_GATEWAY_C3-FIRMWARE>

Die Bridge lädt das Image blockweise. Unterbrich weder Stromversorgung noch Netzwerk, bis 100 Prozent erreicht sind und die Bridge neu gestartet hat. Danach läuft OpenOBI und das lokale Dashboard ist über die von deinem Router vergebene IP-Adresse erreichbar.

6. Reader in OpenOBI binden

Der Reader erscheint nach kurzer Zeit im Dashboard zunächst ausgegraut und als nicht gebunden. Wähle gezielt An Gateway binden. Ein erneuter Tastendruck am Reader ist mit OpenOBI nicht nötig.

Nach erfolgreicher Bindung zeigt das Dashboard Netzbezug, Einspeisung, aktuelle Leistung, Batteriespannung sowie Funkwerte wie RSSI und SNR. Das Übertragungsintervall lässt sich ebenfalls einstellen: Live aktualisiert schnell, längere Intervalle schonen die Batterie.

7. Home Assistant über MQTT verbinden

Trage unter Settings > MQTT die Adresse deines dauerhaften MQTT-Brokers ein. Bei einer typischen Home-Assistant-Installation ist das das Mosquitto-Add-on. Unverschlüsseltes MQTT verwendet üblicherweise Port 1883, MQTTS Port 8883. Benutzername und Passwort stammen vom eigenen Broker, nicht vom heyOBI-Konto.

Das Basis-Topic kann auf obi/gateway bleiben. Aktiviere MQTT Discovery und speichere die Verbindung. Der Status im OpenOBI-Dashboard sollte anschließend auf verbunden wechseln.

Home Assistant legt dadurch automatisch zwei MQTT-Geräte an: das LoRa-Gateway und den optischen Reader. Die Energie-Sensoren besitzen passende Einheiten und Geräteklassen und können direkt im Energie-Dashboard sowie in Automationen genutzt werden. HACS, YAML und eigene Templates sind dafür nicht erforderlich.

Häufige Fehler

  • Bridge wird per Bluetooth gefunden, aber nicht konfiguriert: Vor dem Befehl die Bridge-Taste länger als zwei Sekunden drücken.
  • Keine WLAN-Verbindung: SSID und Passwort prüfen; das Passwort darf in der Original-Firmware höchstens 32 Byte lang sein.
  • Kein CONNECT im Server-Log: lokale IP-Adresse, Firewall und Erreichbarkeit von Port 8883 kontrollieren.
  • Falsches Firmware-Image: Für die originale Bridge nur ein Image mit obi_gateway_c3 verwenden.
  • Reader bleibt ungebunden: Im OpenOBI-Dashboard gezielt den eigenen Reader binden und Funkwerte kontrollieren.
  • Keine Geräte in Home Assistant: Broker-Zugangsdaten, Basis-Topic und aktivierte MQTT Discovery prüfen.

Fazit

Nach dem einmaligen Umzug bleibt die gesamte Messkette im eigenen Netzwerk: Der Reader funkt zum Gateway, OpenOBI veröffentlicht die Werte auf dem lokalen MQTT-Broker und Home Assistant verarbeitet sie ohne Hersteller-Cloud. Der temporäre Server und der heyOBI-Login werden danach nicht mehr benötigt.

Den ursprünglichen Test mit OBI-App und Cloud findest du im Review des OBI Energy Trackers.

Hinweis: Die mit bezahlter Link markierten Links sind Affiliate-Links. Als Partner von Amazon und OBI (über das Awin-Netzwerk) verdiene ich an qualifizierten Verkäufen. Das bedeutet, dass ich eine kleine Provision erhalte, wenn ihr über diese Links einkauft. Für euch entstehen dabei keine zusätzlichen Kosten. Die Einnahmen helfen mir, diesen Blog und meinen YouTube-Kanal zu betreiben und auch in Zukunft Inhalte für euch zu erstellen. Vielen Dank für eure Unterstützung!

Joachim

Transparenz: Den zweiten Energy Tracker für diesen Umbau habe ich selbst gekauft. Der folgende Produktlink ist ein Affiliate-Link. Beim Kauf zum regulären Preis erhalte ich eine Provision, ohne dass dir Mehrkosten entstehen.

👉 OBI Energy Tracker bei OBI ansehen

Erstellt mit Hugo
Theme Stack gestaltet von Jimmy
Build: 2026-08-13 17:12 UTC