DD3-Stromzähler in openHAB einbinden

Vor kurzem wurde unser Stromzähler auf ein digitales Modell umgestellt. Klar, Ablesen kann ich den Verbrauch (bzw. auch als Bezug bezeichnet) genau so wie beim alten Zähler ablesen. Interessant wird es aber durch die integrierte Schnittstelle, denn dadurch lassen sich Veränderungen des eigenen Verbrauchs ablesen und die Wirksamkeit einschätzen. Die Einrichtung in openHAB hat länger gedauert als gedacht, obwohl es am Ende ganz einfach ist.

Moderne Messeinrichtungen verfügen über mehrere Leuchtdioden (und teilweise auch elektrische Schnittstellen) zum Auslesen der Verbrauchsdaten. Eine Diode leuchtet nur im Verbrauchstakt. Interessanter ist die Schnittstelle mit Infrarot-Sende-/Empfangsdiode. Diese ist auch mit einem Metallring versehen, damit Leseköpfe magnetisch befestigt werden können. Diese Schnittstelle soll im Folgenden verwendet werden.

Einfaches Setup

Ich habe mir bei eBay einen USB-Lesekopf gekauft. Es gibt auch Modelle, die im Lesekopf ein WiFi-Modul wie den ESP enthalten, allerdings sollen diese in geschlossenen Zählerschranken Probleme mit dem Empfang haben. Desewegen wollte USB2-Kabel sind in ihrer Länge lt. Spezifikation auf fünf Meter beschränkt, was für mein Setup absolut ausreichend ist. Für länger Verbindungen müsste hier sonst ein aktives Kabel oder eine Übersetzung auf RJ45-Leitungen umgesetzt werden. Einfaches Setup meint hier, dass der Zähler nicht freigeschaltet wird (die Erläuterung/Verwendung entsprechend im Erweiterten Setup).

Lt. Handbuch gibt es mehrere Protokolle, wie die Daten an der LED kodiert sind. Welches Protokoll euer Stromzähler verwendet, lässt sich an der Bezeichnung, genauer gesagt an den letzten vier Zeichnen, ablesen. ODZ1 bedeutet D0 (ASCII-Zeichen), SMZ1 nutzt SML (Binärdaten). Außerdem gibt es noch Geräte mit Funk-Übertragung. Mein Modell verwendet D0-Kodierung. Wichtig: Im Handbuch sind auch 9600 Baud und Formate (letztere werden aber automatisch in openHAB behandelt, nur die Baud-Rate muss konfiguriert werden) genannt. Wenn der Leser auf dem Stromzähler platziert und der USB-Anschluss an ein Linux-System angeschlossen wird, kann die Funktion bereits mit folgendem Befehl überprüft werden (ggf. natürlich das Device anpassen):

screen /dev/ttyUSB0 9600

Die Daten sind mangels Format nicht vollständig lesbar, aber zumindest die Zählernummer sollte im Text auftauchen.

Einrichtung in openHAB

In openHAB wird das Smartmeter-Binding zum Auslesen verwendet. Als Standard wird vom Binding SML angenommen. Bei Angabe von D0-Kodierung wird die Baud-Rate aber auf 2400 gesetzt. Diese Werte müssen je nach eingesetztem Stromzähler definiert sein. Wenn die Informationen korrekt und der Lesekopf weiterhin korrekt platziert ist, werden die Channels automatisch erzeugt. Die verschiedenen Datentypem werden im Handbuch unter 6 Datenschnittstellen erläutert. Meine Binding-Konfiguration sieht wie folgt aus:

smartmeter:meter:Stromzaehler "Stromzaehler" [
  port="/dev/ttyUSB0",
  mode="D",
  baudrate=9600
] {

  Type 1-0_1-8-0_255 : 1-0_1-8-0_255 // Zaehlerzustand zu +A, tariflos
  Type 1-0_2-8-0_255 : 1-0_2-8-0_255 // Zaehlerzustand zu -A, tariflos

  Type 1-0_16-7-0_255 : 1-0_16-7-0_255 // Leistung, Gesamt
  Type 1-0_36-7-0_255 : 1-0_36-7-0_255 // Leistung, Phase L1
  Type 1-0_56-7-0_255 : 1-0_56-7-0_255 // Leistung, Phase L2
  Type 1-0_76-7-0_255 : 1-0_76-7-0_255 // Leistung, Phase L3

}

In der einfachen Konfiguration wird nur der erste Block der Channels (ohne Nachkommastellen) ausgegeben. Wenn euch das nicht genügt oder der Momentanverbrauch interessant ist (und erst dadurch wird es wirklich spannend), müsst ihr den nächsten Abschnitt befolgen.

Erweiterte Konfiguration

Um die vollständigen Daten auslesen zu können, muss der Zähler freigeschaltet werden. Dazu benötigt ihr eine vierstellige PIN, die euch von eurem Netzbetreiber anhand der Zählernummer mitgeteilt wird. Manche Anbieter verwenden hierfür bereits Web-Portale, das ist aber sehr unterschiedlich. Die Pin muss, wie im Handbuch beschrieben, in die Lese-LED geleuchtet werden. Dazu muss der Lesekopf natürlich temporär entfernt werden. Aus nicht ersichtlichen Gründen ist wird im Handbuch zwar zwischen einfachen und vollständigen Daten unterschieden, das Freischalten aber nicht erläutert. Hierzu gibt es z. B. von den Stadtwerken Velbert eine Anleitung, wie nach Freischalten durch den Zähler navigiert wird. Sobald ihr im Menü „INF“ seid, müsst ihr die LED lang anleuchten, um den Modus auf ON zu schalten. Nun werden die Daten auch in openHAB inkl. Nachkommastellen angezeigt. Außerdem stehen alle Kanäle zur Verfügung.

Ich hoffe, ich kann jemandem mit dieser Anleitung helfen. Viel Spaß beim Optimieren eures Verbrauchs!

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert