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.
Tipp: Statt einem USB-Lesekopf haben wir HIER eine Lösung mit WIFI IR-Adapter beschrieben. Wer den Wasserzähler smart machen möchte, sollte HIER vorbeischauen.
Was benötigen wir für das automatische Auslesen des Smartmeters?
- Einen IR-Lesekopf, der auf den Smartmeter gesetzt wird und mit einem USB-Kabel an einen Rechner angeschlossen werden kann
- 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.
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.
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
-
Synology D3NS1866L-4G 4GB DDR3 RAM Modul88,03 €
-
Synology DS223j NAS Gehäuse für 2 DD 3.5/2.5p 1.4GHz QuadCore 1GB LAN GbE USB 3....198,39 €
-
Synology DS223j NAS Gehäuse für 2 DD 3.5/2.5p 1.4GHz QuadCore 1GB LAN GbE USB 3....198,39 €
-
Synology DS223j NAS Gehäuse für 2 DD 3.5/2.5p 1.4GHz QuadCore 1GB LAN GbE USB 3....198,39 €
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.
Ich habe eeeeeewig nach dem Fehler gesucht, warum der IR Kopf an meiner Synology nicht funktioniert……. Danke!
Bin auch gerade auf diese Seite gestoßen.
erst einmal vielen Dank für’s teilen der infos.
Bleiben noch 2 Fragen:
Meine installation läuft unter Proxmox. per VM Kann ich de USB-Schnittstelle einfach durchreichen?
Ich suche jetzt nach einer Ewigkeit, um die Geschichte vernünftig zu visualisieren.
Hat jemand einen Tipp für mich?
Gruß,
Mathias
Ja, der USB-Anschluss muss beim Starten der VM angegeben/durchgereicht werden.
Wir visualisieren die Stunden und Tagesverbräuche in einem Balkendiagramm.
Mit DSM 7 hat Synology die USB-Anschlüsse gesperrt. Gibt es zwischenzeitlich evtl. eine Möglichkeit, den Lesekopf via WLAN in ioBroker einzulesen?
Der Lesekopf kann weiterhin problemlos mit DSM 7 genutzt werden, eine Beschreibung haben wir hier erstellt: https://www.smarthomejetzt.de/iobroker-mit-docker-auf-einer-synology-diskstation-mit-dsm-7-update-und-usb-devices-conbee-ii-cc2531/
Das liest sich super, Danke für die schnelle und gute Rückinfo. Nun muss ich nur noch einen Weg finden, wie ich den USB-Anschluss der Synology zum entfernten Zählerkasten bringen kann (Verkabelung dorthin leider nicht bzw. nur sehr „un-elegant“ möglich).
Die Alternative zur Verkabelung wäre ein ioBroker-Slave mit einem kleinen RPi, sind aber je nach Stromanschluss nicht weniger Kabel. ;-)
Ich würde den Lesekopf per ESP8266 zur Synology funken und dort per ESPHome einbinden.
Ich habe mir den Weidmann Kopf per USB gekauft, habe ihn an einen Raspberry angeschlossen. Die PIN Freischaltung habe ich am Zähler vorgenommen, bin mir allerdings nicht sicher oder diese Einstellung gespeichert wurde, am Zähler stand zwar „in“ aber aktuell erkenne ich nichts weitere am Zähler. Am Raspberry habe ich den Smartmeter für Iobroker installiert, dort werden mir folgende Schnittstellen angezeigt: 1. /dev/serial/by-id/usb-FTDI_FT230X_Basic_UART_D201033S-if00-port (/dev/ttyUSB0); 2. /dev/ttyS0; 3./dev/ttyAMA0; 4.Benutzerdefinierten Namen für die serielle Schnittstelle angeben. Bislang alle Port durchprobiert ohne Verbindung zum Adapter. Gruß Michael