Eigenentwicklung · ESP8266 · MQTT · Home Assistant
eGateM –
SML Stromzähler in Home Assistant
Ich habe eGateM entwickelt, um SML-Stromzähler direkt und ohne Cloud
in Home Assistant einzubinden. Ein Wemos D1 Mini, ein IR- oder TTL-Kopf —
und der Zähler meldet sich per MQTT automatisch in HA an.
eGateM ist fester Bestandteil meines eHEMS-Systems
und auch einzeln als Bausatz erhältlich.
Wie es funktioniert
Vom Zähler in Home Assistant
Der eGateM sitzt direkt am Zähler, liest den SML-Datenstrom aus und publiziert die Werte per MQTT. Home Assistant erkennt das Gerät automatisch über MQTT Discovery — kein manuelles Konfigurieren.
SML Datenstrom
9600 Baud
ESP8266 D1 Mini
JSON Telemetrie
Auto-Discovery
Warum eGateM
Das macht den Unterschied
- Zähler-Profile (JSON) — Jeder Zählertyp hat ein eigenes OBIS-Profil, einfach austauschbar über die Web-UI
- IR- und TTL-Kopf — Beide Kopftypen unterstützt, per Profil konfigurierbar (invert true/false)
- MQTT Auto-Discovery — Home Assistant erkennt Leistung, Bezug und Einspeisung automatisch
- Kein Cloud-Zwang — Alles lokal, MQTT Broker im eigenen Netz
- Web-UI — Konfiguration, Status, Console und OTA-Update im Browser
- Command-System — Gleiche Befehle über Web-Console, MQTT und Serial
- AP-Modus — Ersteinrichtung ohne Router-Zugang, Captive Portal
- Field-Proven — Läuft produktiv in meinem eigenen eHEMS-System
Kompatibilität
Unterstützte Zähler
Jeder Zähler wird über ein JSON-Profil beschrieben — OBIS-Sequenzen, Offsets, Scaler und Kopftyp. Neue Zähler lassen sich ohne Firmware-Update über die Web-UI einbinden.
Bezug (1.8.0) + Leistung (16.7.0)
Bezug + Einspeisung + Leistung
Bezug + Leistung
Bezug + Leistung
Bezug + Einspeisung
Technische Daten
Hardware & Firmware
| Eigenschaft | Wert |
|---|---|
| Mikrocontroller | ESP8266 (Wemos D1 Mini, 4 MB Flash) |
| SML-Eingang | GPIO14 (D5), SoftwareSerial, 9600 Baud, 8N1 |
| Kopftyp | IR-Kopf (invert: false) oder TTL-Kopf (invert: true) — per Profil |
| Kommunikation | WLAN 802.11 b/g/n, MQTT (PubSubClient) |
| MQTT Topics | <topic> · <topic>/stat · <topic>/cmnd · <topic>/LWT · <topic>/raw |
| HA Discovery | Automatisch (Power, Bezug, Einspeisung) |
| Telemetrie-Format | JSON mit Zeitstempel, Zählername, OBIS-Werten |
| Telemetrie-Intervall | 5–3600 s (konfigurierbar, Standard: 15 s) |
| Zähler-Profile | JSON-Dateien auf LittleFS, Upload über Web-UI |
| OTA-Update | ArduinoOTA + Web-Upload (.bin) |
| Firmware | PlatformIO, Arduino Core 3.x, v1.4.0 |
| Stromversorgung | 5 V USB (Micro-USB) |
Integration
MQTT Telemetrie-Format
Jede Messung wird als JSON auf das konfigurierte Topic publiziert. Home Assistant liest die Werte per MQTT Discovery automatisch ein.
{
"Time": "2026-07-05T11:00:00",
"Meter": "ED300L",
"Total_in": 12345.6789,
"Power": 546.0,
"SML": "OK"
}
Varianten & Preise
Bausatz – direkt von mir
| Artikel | Beschreibung | Preis (inkl. MwSt.) |
|---|---|---|
| eGateM-IR | Bausatz mit IR-Kopf (für Hauptzähler, eHZB, MT681, ZPA) | ab 59 € |
| eGateM-TTL | Bausatz mit TTL-Kopf (für ED300L Wärmepumpe, ED300M PV) | ab 59 € |
| eGateM-PROF | Zusätzliches JSON-Profil für weiteren Zählertyp (auf Anfrage) | auf Anfrage |
Alle Preise inkl. der gesetzlichen MwSt., zzgl. Versandkosten.
eGateM ist Teil von eHEMS
In meinem Home Energy Management System (eHEMS) nutze ich eGateM zur Erfassung von Wärmepumpen- und PV-Zählern. Mehr dazu auf der eHEMS-Seite.
eHEMS kennenlernen