✅ Einleitung
In dieser Anleitung zeige ich dir Schritt für Schritt, wie du deinen BitShake SmartMeterReader (ESP32-C3) mit vorinstallierter Tasmota-Firmware erfolgreich auf ESPHome umstellst, um deinen Landis+Gyr E220 Stromzähler via SML-Protokoll auszulesen – inkl. Integration in Home Assistant.
Diese Anleitung ist für dich geeignet, wenn:
- du den BitShake IR-Kopf verwendest (z. B. SmartMeterReader Air),
- dein Zähler das SML-Protokoll spricht (wie der Landis+Gyr E220),
- du von Tasmota auf ESPHome wechseln willst.
🧰 Was du brauchst
- ✅ BitShake SmartMeterReader (ESP32-C3 mit USB-C)
- ✅ USB-C-Kabel
- ✅ Home Assistant (empfohlen)
- ✅ ESPHome Dashboard (z. B. als Add-on in Home Assistant)
- ✅ ESPHome-Flasher
🔄 1. Aktuelle Tasmota-Konfiguration sichern
Falls du noch Tasmota nutzt:
- Rufe die Weboberfläche deines BitShake auf.
- Gehe zu Konfiguration → Konfiguration sichern
- Speichere das Backup lokal
Deine Tasmota-Konfiguration sieht typischerweise so aus:
1
{"NAME":"ESP32","GPIO":[0,0,0,0,1,0,0,0,0,32,0,0,0,0,0,0,0,0,0,0,0,0],"FLAG":0,"BASE":18}<br>
💡 Wichtig: Der IR-Empfänger ist bei BitShake standardmäßig an GPIO5 angeschlossen!
🔌 2. ESPHome per USB-C mit ESPHome-Flasher flashen
Da OTA-Updates auf dem ESP32-C3 oft instabil sind und der Flashspeicher knapp ist, empfehlen wir den einmaligen USB-Flash mit dem ESPHome-Flasher – sicher, einfach, schnell.
📦 Voraussetzungen
- Ein einfaches USB-C-Kabel
- Zugriff auf die BOOT-Taste am BitShake-Gerät
- ESPHome-Flasher für Windows/macOS/Linux
🛠 Schritt-für-Schritt Anleitung
- ESPHome-Firmware kompilieren
- Home Assistant → ESPHome → Gerät bearbeiten → „Installieren“
- Wähle: Manuell → Legacy Format (.bin)
- Speichere die Datei (z. B.
stromzahler.bin
)
- Gerät in Flash-Modus versetzen
- Halte die BOOT-Taste gedrückt
- Stecke das USB-C-Kabel an deinen Computer
- Nach wenigen Sekunden loslassen
- ESPHome-Flasher starten
- Öffne das Tool
- Wähle den angezeigten Port (z. B. COM4 oder
/dev/ttyUSB0
) - Wähle die
.bin
-Datei - Klicke auf „Flash ESP“
- Verbindung erfolgreich
- Nach dem Neustart erscheint das Gerät in Home Assistant → ESPHome
⚙️ 3. ESPHome YAML-Konfiguration für Landis+Gyr E220
Hier die vollständige Konfiguration für deinen BitShake SmartMeterReader + E220 Zähler:
1
esphome:<br> name: stromzahler<br> friendly_name: Stromzähler<br><br>esp32:<br> board: esp32-c3-devkitm-1<br> framework:<br> type: esp-idf<br><br>logger:<br> level: INFO<br> logs:<br> sml: DEBUG<br><br>api:<br><br>ota:<br><br>wifi:<br> ssid: "DEIN_SSID"<br> password: "DEIN_PASSWORT"<br> manual_ip:<br> static_ip: 192.168.178.128<br> gateway: 192.168.178.1<br> subnet: 255.255.255.0<br><br> ap:<br> ssid: "Stromzähler Setup"<br> password: "setup1234"<br><br>captive_portal:<br><br>uart:<br> id: uart_bus<br> rx_pin: GPIO5 # BitShake verwendet GPIO5<br> baud_rate: 9600<br><br>sml:<br> id: mysml<br> uart_id: uart_bus<br><br>sensor:<br> - platform: sml<br> name: "Gesamtverbrauch"<br> icon: mdi:meter-electric<br> sml_id: mysml<br> obis_code: "1-0:1.8.0"<br> server_id: "0a014c475a0004e7b605"<br> unit_of_measurement: kWh<br> accuracy_decimals: 3<br> device_class: energy<br> state_class: total_increasing<br> filters:<br> - multiply: 0.0001<br><br> - platform: sml<br> name: "Eingespeist"<br> icon: mdi:meter-electric<br> sml_id: mysml<br> obis_code: "1-0:2.8.0"<br> server_id: "0a014c475a0004e7b605"<br> unit_of_measurement: kWh<br> accuracy_decimals: 3<br> device_class: energy<br> state_class: total_increasing<br> filters:<br> - multiply: 0.0001<br><br> - platform: sml<br> name: "Leistung aktuell"<br> sml_id: mysml<br> obis_code: "1-0:16.7.0"<br> server_id: "0a014c475a0004e7b605"<br> unit_of_measurement: W<br> accuracy_decimals: 0<br> device_class: power<br> state_class: measurement<br><br> - platform: internal_temperature<br> name: "ESP Temperatur"<br><br> - platform: wifi_signal<br> name: "WLAN Signal"<br> update_interval: 60s<br><br> - platform: uptime<br> name: "Betriebszeit"<br><br>text_sensor:<br> - platform: sml<br> name: "Zählernummer"<br> sml_id: mysml<br> obis_code: "1-0:96.1.0"<br> format: hex<br><br>binary_sensor:<br> - platform: gpio<br> pin: GPIO9<br> name: "SmartMeter Taste"<br> device_class: power<br> on_press:<br> - logger.log: "Button wurde gedrückt – Neustart"<br> - delay: 2s<br> - button.press: restart_button<br><br>button:<br> - platform: restart<br> name: "Neustart"<br> id: restart_button<br>
🧪 4. Live-Daten prüfen
Nach dem Flash:
- Öffne die Logs des Projekts im ESPHome Addon oder öffne das Projekt im Browser:
http://stromzahler.local
oder IP
1
[D][sensor:104]: 'Gesamtverbrauch': Sending state 51.16360 kWh<br>[D][sensor:104]: 'Eingespeist': Sending state 12.34560 kWh<br>[D][sml:084]: (0a014c475a0004e7b605) 1-0:96.1.0<br>
Falls du keine Daten siehst: Zähler prüfen, IR-Kopf sitzt fest? Warte bis zu 1 Minute.
🏠 5. Integration in Home Assistant Energy Dashboard
- Gehe zu Einstellungen → Energie
- Wähle:
Gesamtverbrauch
→ als StrombezugEingespeist
→ als Rückspeisung
- Fertig – das Gerät ist eingebunden! 🎉
🧠 FAQ
Warum sehe ich bei der Zählernummer ein 0x
davor?
→ Das liegt an format: hex
. Wenn du das 0x
entfernen willst, nutze einen zusätzlichen template
-Textsensor.
OTA funktioniert nicht?
→ Kompiliere eine kleinere Firmware (ohne Webserver), oder verwende erneut den USB-Flash.
Der Zähler liefert keine Daten?
→ Prüfe:
- Ist
GPIO5
korrekt eingestellt? - IR-Kopf sauber auf dem Zählerkopf?
- SML-Protokoll aktiv (beim E220 standardmäßig vorhanden)?
✅ Fazit
Mit dieser Anleitung kannst du deinen BitShake SmartMeterReader Air schnell und zuverlässig von Tasmota auf ESPHome umstellen – und den Landis+Gyr E220 vollständig in Home Assistant integrieren.