Wer in einem relativ neuem Haus wohnt oder wer bereits einen neuen Smartmeter-Stromzähler getauscht bekommen hat, kann über den Smartmeter viel mehr Informationen aus dem Smartmeter lesen, als das Gerät in der Standard-Anzeige darstellt.

Erste Hürde: Der Smartmeter ist mit einer PIN gesichert und zeigt im Standard nur den Zählerstand an. Die Anzeige lässt sich ohne PIN nicht verändern. Doch wo ist der PIN meines Smartmeters? In den meisten Fällen hilft nur ein Anruf beim Grundversorger und das Durchhangeln durch viele Ansprechpartner, bis man die PIN, eine vierstellige Zahl, erhält.

Zweite Hürde: Um den Smartmeter „freizuschalten“ wird die PIN-Eingabe benötigt, Tasten haben die Smartmeter allerdings nicht, dafür eine Fotodiode. Über eine handelsübliche Taschenlampe (!) wird die PIN kodiert, nämlich über ein und ausschalten der Taschenlampe. Hierüber lässt sich die erweiterte Anzeige des Display aktiviere, z.B. Nachkommastellen im Zählerstand oder aktuelle Leistungsbezug in Watt. Hat man dies geschafft, können die Daten auch automatisch über eine IR-Schnittstelle ausgelesen werden.

Was benötigen wir für das automatische Auslesen des Smartmeters?

  1. Einen IR-Lesekopf, der auf den Smartmeter gesetzt wird und mit einem USB-Kabel an einen Rechner angeschlossen werden kann
  2. Ein System, wie z.B. ioBroker, das die Daten regelmäßig aufzeichnet und protokolliert

Mit ioBroker ist die Aufzeichnung des Stromverbrauchs sehr einfach umzusetzen. Wir benötigen hierfür eine laufende ioBroker-Instanz, den Adapter „Smartmeter devices support“ und den IR-Lesekopf.

Der IR-Lesekopf wird an das System, auf dem ioBroker läuft, per USB angeschlossen, der Lesekopf magnetisch auf der IR-Schnittstelle des Smartmeters platziert, der Adapter installiert und dann entsprechend konfiguriert. In den meisten Fällen ist der IR-Lesekopf über die Schnittstelle /dev/ttyUSB0 ansprechbar.

Smartmeter Adapter für ioBroker, Einstellungen

Smartmeter Adapter für ioBroker, Einstellungen

Wichtig ist außerdem das „Daten Abfrageintervall“. Der Stromzähler aktualisiert alle ca. 3 Sekunden die Werte, mit dieser Einstellung können wir steuern, wie häufig die Werte durch den Adapter an ioBroker übertragen und aufgezeichnet werden.

Smartmeter Adapter für ioBroker, Objekte ausgelesen

Smartmeter Adapter für ioBroker, ausgelesene Objekte in ioBroker

Herausforderung ioBroker auf Synology-Docker

Läuft die ioBroker-Instanz in einem Docker-Container auf einer Synology DiskStation hat man leider Probleme auf den an der Synology angeschlossenen Lesekopf zuzugreifen. Der Zugriff muss über den Docker-Container auf die ioBroker-Instanz weitergegeben werden.


Produktempfehlungen für Synology


Häufig kommt es zu diesem Fehler:

46x  - warn: smartmeter.XXX    Message CRC-Check invalid -> no data available
28x  - warn: smartmeter.XXX    Error while parsing SML message
40x  - warn: smartmeter.XXX    No or too long answer from Serial Device after last request.

Dies liegt an einer fehlenden Datenweitergabe von der Synology DiskStation zum Docker-Container und kann behoben werden: Hierzu müssen direkt auf der Synology-Station, Zugang über SSH muss in den Einstellungen der Synology DiskStation erst aktiviert werden, folgende Befehle im Terminal eingegeben werden:

sudo insmod /lib/modules/usbserial.ko
sudo insmod /lib/modules/ftdi_sio.ko

Danach kann man den Docker-Container und ioBroker neu starten und direkt auf den IR-Lesekopt über den Adapter zugreifen.

Leider gehen die Einstellungen mit dem Neustart der Synology DiskStation wieder verloren, hier hilft folgendes Script, damit die Befehle automatisch bei Neustart auch übernommen werden:

SH-Script anlegen:

sudo vi /usr/local/etc/rc.d/startup.sh

Einfügen und speichern:

sudo insmod /lib/modules/usbserial.ko
sudo insmod /lib/modules/ftdi_sio.ko
sudo chmod 777 /lib/modules/usbserial.ko
sudo chmod 777 /lib/modules/ftdi_sio.ko

Rechte anpassen:

chmod 700 /usr/local/etc/rc.d/startup.sh

Danach sollte auch nach einem Neustart der Synology DiskStation der IR-Lesekopf einwandfrei ausgelesen werden können.