Lesegerät für die NetzOÖ Smartmeter Kundenschnittstelle
Der AMIS Lesekopf ist ein kostengünstiger, autonomer, Cloud-free Lesekopf auf ESP8266 Basis, um den NetzOÖ Smartmeter Siemens TD-3511/TD-3512 per WLan auszulesen. (Zählwerke, aktueller Verbrauch/Einspeisung)
Dies ist für Hausautomatisierungen oder PV geregelte Verbrauchssteuerungen (Eigenverbrauchsoptimierung; E-Auto laden; Nulleinspeisung) sehr hilfreich, oder auch nur, um den aktuellen Leistungsbezug in Echtzeit abzufragen.
Es steht ein Webinterface mit allen wichtigen Werten und zur Parametereinstellung zur Verfügung, per REST API können die aktuellen Zähler- und Verbrauchsdaten im JSON-Format abgerufen werden, per MQTT an einen Broker weitergegeben, per Modbus/TCP abgerufen werden oder an ThingSpeak hochgeladen werden. Die grafische Ansicht der historischen ThingSpeak Daten ist über einen Menüpunkt im Webinterface möglich (Anleitung).
Der NetzOÖ Smartmeter gibt Daten im Sekundentakt aus, somit stehen jede Sekunde neue Daten (Zählerstände Verbrauch und Einspeisung, aktueller Bezug/Einspeisung, Saldo aus Bezug-Einspeisung) zur Verfügung.
Der Amis Lesekopf benötigt eine 5V Spannungsversorgung (max. 0,13A, typ. 0,075A; Leistungsaufnahme < 1W) durch ein Micro-USB Netzteil und wird magnetisch durch 3 Magnete, die an der Platinenunterseite angeklebt sind, an der optischen Kundenschnittstelle des Siemens Smartmeter gehalten.
Für die Integration in IOBroker, Loxone, HomeAssistent, OpenHAB3, FHEM und Domoticz können Vorlagen verwendet werden, die mir freundlicherweise von Amis Benutzern zur Verfügung gestellt wurden.
Ab Firmware 1.2.7 emuliert der AMIS Lesekopf auch einen Fronius Smartmeter (nur Einspeisepunkt Adresse 1) per Modbus/TCP für einen Fronius Symo (ab Datamanager Version 3.28.1-3) oder Gen24 Wechselrichter. (Anleitung)
Ab Firmware 1.3.0 kann eine (Tasmota) Wifi-Steckdose oder Shelly Schalter per http-Aufruf aufgrund von PV Überschuss ein- bzw ausgeschaltet werden. z.B.: "Ein" < -500Watt Saldo; "Aus" > 30Watt Saldo.
Für die Hardwareversion V1 ist kein Gehäuse verfügbar.
Hinweis zu Opt-Out: Wurde bei NetzOÖ die Option Opt-Out gewählt, kommen keine Daten über die IR-Kundenschnittstelle des Siemens Smartmeter.
Beim Stromlieferantenwechsel wird fallweise ein neuer MBUS Key ausgestellt, den man neu im Amis Lesekopf hinterlegen muss.
Hardwareversion V1 (ab 2019):
(Rückansicht V1)
Eine neue Hardwarevariante (V2; ab 2023) ist einfacher automatisiert zu fertigen, es sind nur die optoelektronischen Bauteile und drei Magnete auf der Leiterplattenunterseite. Der Stromversorgungsstecker ist nun schräg unten rechts, die Oben-Position ist mit einem Pfeil gekennzeichnet:
Webinterface:
Zur Anzeige der aktuellen Daten und um Einstellungen (zB Wifi, IP-Adresse, MBUS Key, MQTT,...) vorzunehmen.
Rest-API-Schnittstelle:
Der Entwickler Herr Gottfried Prandstetter (vielen Dank an dieser Stelle) möchte den Schaltplan und Quellcode als Open Source zur Verfügung stellen. Ich übernehme diese Aufgabe gerne. Der Lesekopf kann somit von euch nachgebaut werden, fallweise verkaufe auch ich gebrauchte bzw Prototyp-Hardware.
Bei Fragen stehe ich gerne per E-Mail zur Verfügung.
FAQ Smartmeter
Auf der FAQ Seite der NetzOÖ werden bereits sehr viele Fragen geklärt, bitte schaut auch dort vorbei.
Auch der NetzOÖ Smartmeter saldiert, d.h. die Summe des Bezugs (1.7.0) minus der Summe der Einspeisung (2.7.0) zählt das entsprechende Zählwerk (1.8.0 oder 2.8.0) hoch. Die Leistung eines Balkonkraftwerks muss nicht an der gleichen Phase verbraucht werden.
Folgende Daten gibt der NetzOÖ Smartmeter sekündlich aus:
Datum/Uhrzeit, 1.8.0 (Energie A+ Zählwerk), 2.8.0 (Energie A- Zählwerk), 3.8.1 (Energie R+ Zählwerk), 4.8.1 (Energie R- Zählwerk), 1.7.0 (Wirkleistung P+), 2.7.0 (Wirkleistung P-), 3.7.0 (Blindleistung Q+), 4.7.0 (Blindleistung Q-), 1.128.0 (Inkassozählwerk).
Der AMIS Lesekopf ist nur als Auslesegerät gedacht. Er bietet zwar ein Webinterface der aktuellen Daten, es erfolgt keine Datenaufzeichnung. Für eine Aufzeichnung kann der Clouddienst thingspeak.com verwendet werden. Zur Steuerung bzw Regelung von Verbrauchern ist weitere Hardware notwendig, oftmals wird HomeAssistent, IoBroker, Loxone oder ein ähnliches System verwendet. Meist wird das MQTT Protokoll für die Datenübertragung zwischen AMIS Reader und Automatisierungssystem verwendet. Ich selbst nutze aber die Rest API und die Modbus/TCP Schnittstelle.
Addon #1: 3D-Druck Gehäuse
Für die Hardwareversion V2 hat uns Florian seine 3D Druckgehäusedatei und auch ein Muster-Gehäuse mit Fake-Jumper zur Verfügung gestellt. Die Leds sind durchs Gehäuse sichtbar. Das Gehäuse muss an der Leiterplatte angeklebt werden.
Dieses Gehäuse eignet sich nicht, wenn der Amis Lesekopf in heißen Umgebungen eingesetzt wird, z.B. von der Sonne erhitzten Außenverteilern. Florian hat mir eine höhere 3D Druckgehäusedatei (sende auf Wunsch die stl Datei zu; ASA Filament empfohlen) zur Verfügung gestellt. Damit ist es möglich auf dem ESP einen 15x9x5mm Kühlkörper aufzukleben und dann das Case auf der Leiterplatte anzukleben.
(Case für V2 mit Option LED-Loch mit Heißkleber-Sichtfenster)
Addon #2: Externe Antenne
In seltenen Fällen ist es notwendig, die Wlan Antenne außerhalb des Verteilerschrankes zu platzieren um den Wlan AP zu erreichen.
Robert hat uns Infos und Fotos seines Umbaus zur Verfügung gestellt. Es müssen zwei Leiterbahnen (rote Markierung siehe erstes Foto) großzügig durchtrennt werden und dann an der äußeren Leiterbahn der Schirm und an der inneren Leiterbahn der Antenneninnenleiter angelötet werden. Robert hat diese Antenne verwendet und gute Erfahrungen gemacht. Er hat das Maximum von 20dBm bei RF-Power eingestellt.
Eine Alternative wäre einen Wlan Range Extender zwischen Schaltschrank und AP zu installieren.
Ich habe testweise das Innenleben einer 2,4GHz Rundstrahlantenne angelötet und konnte ein um 8dB besseres Empfangssignal feststellen. Damit ist auch innerhalb des Schaltschranks eine Verbesserung der Wifi Verbindung möglich. Das geringe Gewicht der Antenne wird auch noch von den Magneten gehalten.
Ebenso erreichte ich mit 31mm (=Lamda/4) Draht eine Verbesserung um 8dB:
Use case #1: Energiemonitoring und -steuerung
Sehr weit verbreitet sind die Systeme von ioBroker, Home Assistant und Solaranzeige.de. Per MQTT Schnittstelle werden Amis Lesekopf Daten zyklisch an das HomeAutomation System gesendet und könnten dort für umfangreiche Auswertungen bzw Regelsysteme verwendet werden.
Ich selbst nutze so ein System (mit Domoticz) um Verbraucher per Wifi Steckdosen (Gosund SP111 mit Tasmota und Delock 11826) und das dynamische E-Auto Überschussladen zu steuern. Auch meine AC-PV-Batterie regelt auf Lesekopf-Daten.
mein Raspberry Pi 3; Raspberry Pi OS und Domoticz laufen auf einer SSD | Energy-Dashboard |
Use case #2: PV Speicherbatterie (ESS)
Wenn du schon eine PV Anlage hast, kannst du mit dem Amis Lesekopf und ein paar weiterer Komponenten (einem Victron Multiplus II 48/3000, einer oder mehrerer Pylontech US2000/3000/5000 Batterien, einem Raspberry Pi mit Lan und zwei freien USB Ports, einem Victron MK3, einem Waveshare USB auf RS485 Konverter) und dem Projekt von Martin eine hochwertige und kostengünstige PV Speicherbatterie aufbauen.
Dieses technisch anspruchsvolle DIY Projekt habe ich mit zwei Pylontech US5000 Batterien (Summenkapazität 9kWh Netto) um ca 4600€ mit einem gebrauchten Multiplus II umgesetzt. Du solltest für Anpassungen ein wenig Python programmieren können. Mein Aufbau hat zwei notstromfähige Steckdosen. Mehr dazu in meinem Blogeintrag vom Mai 2023.
Willst du so ein Projekt umsetzen, hier die aktuellen DIY-Projektpreise Nov 2024:
5kWh... ca 2000€
10kWh... ca 3250€
Use case #3: Wallbox Ansteuerung zum Überschussladen
Christian Kaiser hat in seiner preiswerten Android App "e-Car Charger Control / Wallbox-Steuerung" die Abfrage des AMIS Lesers eingebunden. Nähere Infos auf seiner Website.
Auch in das Projekt EVCC ist die ModbusTCP Abfrage des AMIS Lesekopfes integrierbar.
Ich selbst nutze eine Wallbox mit PhoenixContact EM-CP-PP-ETH Controller und steuere diese von meiner Hausautomation (Domoticz auf Raspi3) an.
Use case #4: Ersetzt den Fronius Smartmeter für Symo und Symo Gen24 Wechselrichter
Benutze den AMIS Lesekopf mit der Einstellung "Smartmeter Emulation aktiv" um per Modbus/TCP Daten für Fronius Wechselrichter bereitzustellen. Hier gibt es die Anleitung dazu.
Volle Solarweb Integration ohne Fronius Smartmeter.
Use case #5: Heizstabansteuerung
Mit einem ESP32 4 Kanal-Relaisboard, einem Dallas DS18B20 1wire Temperatursensor und einem 20x4Zeichen I2C LCD habe ich auf Basis ESPHome eine einfache 3-phasige Heizstabansteuerung (z.B. für 3x1kW) realisiert. Bis zum Erreichen einer eingestellten Puffertemperatur (z.B. 55°C; einmal in der Woche höher wegen Legionellen; Schalthysterese einstellbar) werden die drei Heizstäbe je nach PV Überschuss einzeln angesteuert, also 1,2 oder 3kW. Der Amis Lesekopf wird alle fünf Sekunden abgefragt, um den Smartmeter Saldo zu erhalten.
Zu einer fix programmierten Zeitspanne (18-21Uhr) wird der Puffer bis zu einer einstellbaren Mindesttemperatur (z.B. 45°C) geheizt, wenn der PV Ertrag nicht ausreichend war. Das Projekt hat ein Webinterface zur Übersicht und zum Einstellen von diversen Parametern (Schwellwerten), am LCD ist der Smartmeter Saldo (SM), die Puffertemperatur (T) und die Stati der vier Relais sichtbar.
Für wenig Geld ist somit eine einfache Warmwasseraufbereitung mit PV Strom möglich.
Meine Demo/Use_at_your_own_risk/no_support - yaml Datei ist als Download verfügbar.
Das Projekt ist erfolgreich seit 07/2024 bei einem Bekannten im Einsatz.
Use case #6: Hoymiles Nulleinspeisung
Danke Tom für deine Bemühungen zusammen mit dem Entwickler hinter dem Python Projekt Hoymiles Nulleinspeisung - der AMIS Lesekopf wurde direkt integriert. Damit ist es möglich, eine Hoymiles Nulleinspeisung mittels einer AHOY / OpenDTU Kommunikation aufzubauen.
Danke Jarek für den Tipp: Auch das Projekt OpenDTU-OnBattery kann einfach mit dem AMIS Lesekopf kombiniert werden. Einfach den Stromzählertyp "HTTP(S) + JSON", bei URL http://[IP-AdresseAmisLeser]/rest und bei JSON Pfad "saldo" eingeben.
Inbetriebnahme
Der Amis-ESP8266 läuft normalerweise im Station-Mode, d.h. der ESP8266 verbindet sich als Client mit einem Wlan Router/AP. Dazu muss er aber erst einmal die SSID und das Wlan Passwort kennen. Daher wird der ESP8266 zur Einrichtung in den AP-Mode (Access-Point) versetzt. Das geschieht, indem man mit gesetztem Jumper (Steckbrücke) bootet.
Mit einem Handy, Tablett oder Notebook kann man das WiFi-Netz "ESP8266_AMIS" verbinden. Nach dem Verbinden einen Web-Browser starten und als Adresse http://192.168.4.1 eingeben. Menü / Wifi wählen und Netzwerkeinstellungen vornehmen, wir empfehlen dem AMIS Lesekopf eine fixe IP-Adresse zu geben, damit ist er immer mit der gleichen IP in deinem Netzwerk erreichbar. Gateway- und Namenserver-IP Adresse sind u.a. für Thingspeak notwendig.
Ev. auch gleich den AMIS/MBUS-Schlüssel vom NetzOÖ Portal eingeben, auf Allgemein "ThingSpeak/Highcharts aktiv" vorläufig nicht aktivieren. Jumper/Steckbrücke nun öffnen/abziehen und rebooten, nun sollte der Amis Lesekopf über die gewählte IP erreichbar sein. Erzeugt er wieder das Wlan Netz "ESP8266_AMIS", obige Schritte wiederholen, vielleicht wurden Daten falsch eingegeben.
Der Amis Lesekopf muss mit dem USB Port nach oben bzw schräg rechts unten (je nach Version) an den richtigen (AMIS/MBUS Key) Siemens TD3511 magnetisch angeheftet werden.
RFPower ermöglicht die Kontrolle über die Sendeleistung, wobei weniger Sendeleistung anzuraten ist. 0dBm ist 1mW, was für kleinere Entfernungen genügt. Maximal 20dBm.
Sind die Einstellungen (vor allem der MBUS Key aus dem NetzOÖ Portal) korrekt, dann sollten unter Zähler Werte angezeigt werden. Wenn die Entschlüsselung der Daten unplausible Daten erzeugt, wird dies durch eine Meldung "falscher MBUS Key" angezeigt. Es dauert 1-2 Minuten bis Zähler und ESP synchron sind. Die Leds für TxD (nur Hardware V1) und RxD blinken dann im Sekundentakt.
Diese Anleitung gibts auch als PDF.
Einbindung in Hausautomationen / Steuerungen
Abfrage der Daten von http://[IP-AdresseAmisLeser]/rest
MQTT
oder
Modbus/TCP Port 502, Modbus Adresse egal, Abfrage der Register 40071, Länge 58, auf Register 40098 aktuelle Leistung/Saldo. Die Zählerstände mit Register 40129, Länge 32 abfragen: Register 40130 Einspeisezähler, 40138 Bezugszähler. Per Modbus/TCP kann ein Fronius Smartmeter emuliert werden.
ThingSpeak/Highcharts
In https://thingspeak.com kann ein kostenloser Account erstellt werden. Erstellen Sie einen Channel, zB „AMIS“. Definieren Sie Field1 als Energie A+, Field2 als Energie A-, Field3 als Energie R+, Field4 als Energie R-, Field5 als Mom.Wirk. P+, Field6 als Mom.Wirk. P- , Field7 als Blind. Q+ und Field8 als Blind. Q-.
Die Daten ChannelID, Write API Key und Read API Key tragen Sie bei Allgemein im Amis Lesekopf ein. Intervall 30sec.
Unter Grafik können Sie nun grafische Datendiagramme einsehen. Daten bis 14 Tage zurück sind anzeigbar.
Check Hardware
Wenn es Probleme mit Hardware, Darstellung des Webinterface oder der Verbindung gibt, prüfe bitte:
- Verwende testweise ein anderes Micro-USB-Netzteil
- Starte den Wlan Access Point neu; öffne die Schaltschranktüre, um Wlan Verbindungsabbrüche zu verringern.
- Browsercache löschen
- Jumper anstecken, mit dem Wlan ESP8266_AMIS verbinden und die Seite http://192.168.4.1 öffnen, Einstellungen prüfen
- Test IR Sendediode auf der Platinenunterseite:
Mit einem Browser die AMIS Seite öffnen und die Konsole öffnen (F12) : mit dem Befehl websock.send('{"command":"test"}') werden Daten über die IR Sendediode ausgegeben. Bei Hardware V1 leuchtet nun die rote TX Led. Mit einer Kamera, die IR-Wellenlängensignale nicht rausfiltert, ist die Funktion der IR Sendediode überprüfbar. - Test IR Empfangsdiode auf der Platinenunterseite:
Mit angestecker Stomversorgung. Mit einer TV-IR Fernbedienung auf die Platinenunterseite mit ca 1-2cm Abstand IR Signale schicken, indem man irgendeine Taste der Fernbedienung dauerhaft drückt. Die grüne RX Led auf der Oberseite muss jetzt flackern.
Schaltplan/Leiterplatte
Hier könnt ihr den Schaltplan als PDF oder Eagle SCH-Datei, Leiterplatte BRD-Datei (Platine/PCB) und die Stückliste/BOM herunterladen.
Hier gibts eine Anleitung zum Flashen des AMIS Lesekopf mittels USB/TTL Programmer.
Firmware/Quellcode
Diese Firmware funktioniert nur bei NetzOÖ Smartmeter TD3511/TD3512 - auch baugleiche Siemens TD3511 anderer Netzbetreiber geben die Daten in einem anderen Format aus.
Hinweis zum Update:
In seltenen Fällen kann es vorkommen, das der Amis Lesekopf nach einem Software Update nicht mehr erreichbar ist bzw nicht mehr funktioniert. In so einem Fall kann der AMIS Lesekopf mit einem USB/TTL Programmer neu geflashed werden - hier gibt es die Anleitung dazu.
Download der aktuellen Firmware 1.3.0 (Stand Oktober 2024) ist hier möglich, hier die Versionsinfo.
(Update von 1.2.x: Einstellungen per Screenshot oder Config Backup sichern; nach dem Update der Firmware.bin neu starten, dann alle weiteren Dateien (nicht aber littlfs.bin) einzeln hochladen und nochmals neu starten. Einstellungen sollten wie vor dem Update sein.)
Der aktuelle Quellcode ist via Github zugänglich, ich freue mich auch über deine Mitarbeit am Projekt.
Sale
Ich biete folgende voll funktionsfähige, gebrauchte, mit der aktuellen Firmware programmierten Amis Lesekopf Hardware als Privatverkauf an:
1 Stk Amis Lesekopf V2 für 22€
(5V Stromversorgung per Micro USB Stecker erforderlich, zB altes Handyladekabel + Hutschinensteckdose im Schaltschrank)
Anfragen per Mail an gerhard<at>mitterbaur.at
Du bist HTL Schüler oder (FH-) Student und möchtest einen kostenlosen Lesekopf für dein Forschungsprojekt? Schreib mir eine Anfrage.