Smartmeter D0, SML Tasmota

Inhaltsverzeichnis
  1. Tasmota und SML
  2. Weitere Links

Diese Seite beschreibt mein aktuelles Setup (Nov 2023) zum Auslesen von zwei Smartmetern durch einen ESP8266 mit Hichi-Lesekopft und Tasmota 13.1. Meine eigenen Versuche mittels der gleichen Technik die Daten per UDP im Netzwerk bereitzustellen (Siehe SML Smartmeter Code) verfolge ich nicht weiter.

Tasmota und SML

Die "Tasmota"-Firmware für ESP8266/ESP32 sollte jedem Bastler bekannt sein, weil Sie damit eigene IoT-Projekte fast ohne eigene Entwicklung rein durch Parametrisierung aufsetzen können. Es gibt aber nicht die eine Tasmota-Firmware, sondern mehrere Varianten, die unterschiedliche Ziele verfolgen. Das ist auch dem beschränktem Speicherplatz auf dem EXP8266 geschuldet, auf dem einfach nicht alle Module gleichzeitig genutzt werden können. Zudem gibt es Tasmota in unterschiedlichen Sprachen und sogar genau passend für gewisse Fertiggeräte aus dem Baumarkt oder Internet.

Leider gehört die Version mit SML-Support nicht zu den automatisch generierten Paketen. Sie können die angepasster Firmware selbst erstellen.

Oder sie finden einen Downloads eines Nutzers, der das schon gemacht hat, z.B.

Tasmota Firmware
https://ottelo.jimdofree.com/stromz%C3%A4hler-auslesen-tasmota/#Downloads

Natürlich "vertrauen" Sie damit der Person, die das Binärfile bereitstellt, dass er z.B. nicht ihre WLAN-Zugangsdaten oder MQTT-Daten ausleitet.

Schade, dass eine SML-Version nicht ebenfalls zu den automatisch generierten Versionen gehört.

Ich habe zwei ISKRA MT681-D4A52-K0p Smartmeter und zwei Hichi TTL-Leseköpfe und den RxD-Anschluss, über den der Lesekopf die vom Zähler empfangen Daten bereitstellt an die Ports Port D5(GPIO14) und D6(GPIO12). 

Denken Sie daran, dass beim Wemos die Ports RxD/TxD durch den USB/Seriell-Adapter belegt sind und auch GPIO 0,2,15 sollte man meiden, da sie mehrere Funktionen haben. Aber es gibt ja noch genug, z.B. D5 = GPIO14 oder GPIO4, GPIO12, GPIO13 .

TxD habe ich nicht angeschlossen, da ich nichts senden will. In weiser Voraussicht wurde eine Steckdose im Schrank mit installiert, so dass ich ein einfache IKEA-Netzteil verwenden konnte, welches nicht groß aufträgt.

Das ganze System ist in einer Verteilerdose im Schaltschrank verschwunden. Über dem Rundsteuerempfänger ist ausreichend Platz.

Wenn Sie von vorne auf den Hichi TTL-Lesekopf schauen, dann erkennen Sie ein helle und eine dunkle LED in den Öffnungen.

Der dunkle Kunststoff der empfangenden LED schirmt das Tageslicht ab. Mit eine Smartphone-Kamera können meist prüfen, welche LED am Zähler dann sendet. Meist ist es die rechte LED. So setzen Sie den Lesekopf dann richtig aus.

Wenn Sie den TxD-Eingang des Lesekopf nicht beschalten, dann kann die Sende-LED "flackert" und der Zähler interpretiert dies als versuchte PIN-Eingabe. Wer nichts zum Zähler senden will, sollte die helle LED einfach mit IR-Licht undurchlässigem Klebeband abdecken. Ich habe dazu einfach ein Stück Isolierband genutzt.

In der Tasmota-Konfiguration habe ich unter Skript dann folgende Konfiguration eingetragen. In der Tasmota-Konfiguration muss der GPIO-Port hinterlegt werden und nicht die D0-D8-Numerierung.

>D
>B
=>sensor53 r 
>M 2
+1,14,s,0,9600,StromWP
1,77070100010800FF@1000,1.8.0 WPSumme,kWh,Total,0
1,77070100010801FF@1000,1.8.1 HT,kWh,Total_HT,0
1,77070100010802FF@1000,1.8.2 NT,kWh,Total_NT,0
+2,12,s,0,9600,StromLi
2,77070100010801FF@1000,1.8.0 Bezug,kWh,Total_In,0
2,77070100020800FF@1000,2.8.0 Einspeisung,kWh,Total_Out,0
#

Wenn bei ihnen keine Werte ankommen, dann können Sie auf der Tasmota Konsole unter http://192.168.178.xxx/cs? einfach den Befehl "sensor53 d 1" oder "sensor53 d 2" eingegeben um die eingehenden Rohdaten zu sehen. Der Dump zeigt, dass im Abstand von ca. 1,3 Sekunden ein komplettes Datagramm gesendet wird, welches mit "77 01" beginnt, ein paar Daten zum Zähler (unkenntlich) liefert und dann die sechs Zählwerke mit ihrem dem aktuellen Stand sendet.

Wenn sie gar nichts empfangen, ist die Verkabelung, der Lesekopf oder die Konfiguration (z.B. Baudrate) zu prüfen. Wenn Sie dem Bild ähnliche Werte sehen, dann können Sie diese dem SML-Decoder vorwerfen:

Das ist mein Zweirichtungszähler, der neben den beiden relevanten Werten 1.8.0 und 2.8.0 auch noch die Unterwerte 1.8.1/1.8.2 und sogar 2.8.1/2.8.2 ausliefert.

Vergessen Sie aber nicht, das Debugging wieder mit "sensor53 d0" abzuschalten.

Wenn die Konfiguration passt, dann sehen Sie auf der Tasmota Startseite direkt die ermittelten Werte:

Damit steht dann einer Weiterverarbeitung in anderen Systemen nichts mehr im Weg.

Weitere Links