Der PowrPilot …leistungsfähiges Stromzähler/Smartmeter-Interface für die Hausautomation

, ,

Warum diese Entwicklung?

Der Auslöser für dieses Projekt war bei mir die Installation meiner Photovoltaik-Anlage, die einherging mit der notwendigen Installation eines neuen Stromzählers. Dabei kommen heute nicht mehr die alten Ferrariszähler mit Drehscheibe zur Anwendung sondern neue digitale Stromzähler/Smartmeter, die nicht nur  die Energie bzw. den Stromverbrauch in beide Richtungen (Strombezug und Stromabnahme)  zählen sondern auch die aktuelle Leistung erfassen.

Gerade die Leistung ist eine wichtige Kenngröße, um in Verbindung mit der Hausautomation die richtige und insbesondere stromsparende Aktion möglichst automatisch auszulösen. Das kann die Einschaltung der besonders stromfressenden Hausgeräte zur richtigen Zeit sein aber auch die Aufladung von eigenen Energiespeichern oder Elektroautos mit gerade nicht für „wertvollere Zwecke“ verwendeter Energie. Ich verwende beispielsweise einen 300l-Warmwasserspeicher, um diesen mit „überflüssiger“ Solarenergie aufzuheizen. Das ist für mich sinnvoller, als die elektrische Energie für das aktuelle geringe Entgelt ins Stromnetz zurück zu speisen. Zu diesem Thema werde ich demnächst meine aktuelle Installation mit der intelligenten Steuerung des WW-Speichers hier vorstellen.

Entscheidend für die Nutzung der vielen kleinen Einsparmöglichkeiten im Haus ist aber, die Informationen des Stromzählers in der Hausautomation verfügbar zu haben. Wie das genau  funktioniert zeigt dieser Beitrag.

Was können digitale Stromzähler/Smartmeter?

Leider ist die Frage nicht so einfach zu beantworten, weil die Bandbreite der technischen Eigenschaften bei digitalen Stromzählern und Smartmetern recht groß ist.

Da gibt es die einfachen Wechselstromzähler (ein oder mehrphasig meistens im Hutschienenformat), welche die elektrische Energie und Leistung messen und im LCD-Display anzeigen. Ausgelesen werden die Daten meistens als Impulsfrequenz an einer IR-LED oder als sog. S0-Ausgang. Die Messwerte stehen für die Weiterverarbeitung in der Hausautomation nur als Impulsfrequenz (x Imp/kWh) zur Verfügung. Für die Auswertung ist immer ein Impulszähler notwendig, wie das mit dem 4-kanaligen PULSECOUNTER 2 sehr gut möglich ist.

Die Energieversorger setzen seit einiger Zeit anstelle des altbekannten Ferraris-Zähler (Drehscheibe) auch digitale Energiezähler ein. Die Ausgabe der Messwerte erfolgt meistens mit der bereits genannten IR-LED als Impulsfolge und kann dann ebenfalls mit dem PULSECOUNTER 2 ausgewertet werden. Unten im Beitragsbild ist so ein IR-LED-Ausgang sichtbar. In diesem Fall gibt der Stromzähler 10000 Imp/kWh an deiner IR-LED aus. An diesem Ausgang kann aber nur ein Signal ausgegeben werden, was meistens die verbrauchte Gesamtenergie ist. Wenn aber mehrere zusätzliche Messwerte erfasst werden (wie z.B. Nachtstromenergie,  Solar-Rückspeisung, Leistung etc.), dann funktioniert die Methode mit der IR-LED nicht mehr. Für diesen Fall gibt es eine bidirektionale IR-Schnittstelle (im Bild oben rechts), über die die Daten mit dem jetzt Smartmeter genannten Energiezähler bidirektional ausgetauscht werden können. Für die Verwendung in der Hausautomation ist aber nur das Auslesen der Daten über die IR-Schnittstelle interessant. Eine Steuerung des Stromzählers kann/soll in der Regel ja nicht erfolgen.

Das Format der ausgegebenen Daten ist zwar grundsätzlich standardisiert, aber innerhalb der Standards gibt es leider riesige Spielräume, die den Smartmeter-Herstellern und den Energieversorgern eigene Datenvariationen erlauben. Man ist sprachlos, wenn man sich in das Thema etwas tiefer einarbeitet. Hier ist z.B. eine Tabelle der gebräuchlichen Smartmeter  Datenformate. 

Gerade bei der verwirrenden Vielzahl von verschiedenen Smartmetern und Datenformaten muß man sich leider etwas tiefer in das Thema einarbeiten, um für seinen individuellen Zähler herauszufinden, wie man die Daten „anzapft“. Hilfreich sind insbesondere diese Websites:
https://www.volkszaehler.org/
https://www.msxfaq.de/sonst/bastelbude/smartmeter_d0_sml.htm

Das per IR-LED ausgegebene Datentelegramm hat eine Grundkodierung im D0 oder SML-Format bei verschiedenen Baudraten. Um alle Formate beim Auslesen abzudecken, ist eine äußerst komplizierte Einstellung notwendig. Ich habe mich deshalb aktuell nur auf das SML-Datenformat beschränkt, welches mit 9600Bd arbeitet. Dieses Datenformat ist aktuell bei den meisten neuen Stromzählern sehr verbreitet.

Wie werden die Daten gelesen?

Für die Auslesung der Daten wird ein IR-Lesekopf verwendet, der die Lichtimpulse in Spannungssignale umsetzt.  Obwohl es solche Leseköpfe zu kaufen gibt, habe ich bewusst einen eigenen Lesekopf zum Selbstbau entwickelt. Dieser Lesekopf ist besonders flach (wichtig bei wenig tiefen Zählerschränken) und hat eine Anzeige-LED (wichtig!), mit der man einfach erkennen kann, ob an dem eigenen Stromzähler überhaupt Daten ausgegeben werden. Darüber hinaus ist damit sehr gut  eine Justage und Funktionskontrolle möglich. Weiterhin ist das Schaltungslayout dahin optimiert, daß die Zuleitung zum IR-Lesekopf recht lang sein kann (ca. 10 bis 15m habe ich erprobt!).

Für die Auswertung des Datentelegramms bei Smartmetern befestigt man den Lesekopf sehr einfach mit dem Ringmagneten an der entsprechenden Stahlplatte. Meistens ist die IR-Sendediode rechts, so daß der Kabelabgang des Lesekopfes ebenfalls rechts ist.

Wie kommen die Daten in die Hausautomation?

Zur Übertragung der Daten wird das normale 2,4Ghz-WLAN verwendet, weil damit hohe Datenraten möglich sind, um insbesondere die Information der Stromleistung ausreichend häufig bzw. zeitnah zu übertragen.  Bei Systemen mit Übertragung über die 868Mhz-Frequenz ist eine schnelle Datenübertragung kaum möglich, weil gesetzliche Rahmenbedingungen nur 1%-Sendezeit zulassen. Der sog. duty cycle würde bei einer zu häufigen Übertragung leicht an die Grenze geraten!

Zur Übertragung der Daten in die Hausautomation wird ein modernes WLAN-Modul Wemos D1 mini (ESP8266) mit integrierter USB-Schnittstelle verwendet. Die Stromzählerinformationen vom IR-Lesekopf werden damit ausgewertet und übersichtlich auf einer eigenen Webseite dargestellt. Gleichzeitig sendet das Modul die Daten automatisch (im Hintergrund!)  zur Homematic-CCU oder alternativ als JSON-Datentelegramm zu anderen Hausautomations-Systemen. Die Einstellung der jeweiligen Funktion erfolgt komfortabel mit integrierten Befehlen und wird entsprechend auf der Webseite des PowrPilot dargestellt.

Die technischen Daten des PowrPilot:

  • IR-Lesekopf mit Magnethalter zur Auslesung des Stromzählers
  • Betriebsarten: Zweirichtungs-Zähler, Eintarif-Zähler und Zweitarif-Zähler
  • Geeignet für moderne Stromzähler mit SML-Protokoll und 9600Bd (nicht D0-Protokoll !!)
  • OBIS-Kennzahlen einstellbar
  • RGB-LED-Anzeige für Leistungsanzeige (Rot = Strombezug, Grün = Stromabgabe)
  • einfache WLAN-Einbindung ins Heimnetz
  • WLAN-Zugangsdaten werden einmalig im Hotspotmodus eingegeben
  • Vergabe einer festen IP-Adresse optional möglich 
  • „Anlernen“ an die Homematic mit einem „Klick“  oder manuell CCU-Systemvariablen anlegen
  • sehr einfach Updatefähig über WLAN, kein Zugang zum Modul notwendig!
  • automatische zyklische Messwertübertragung an die Homematic oder andere Homeserver
  • Übersichtliche Messwertdarstellung auf eigener Webseite mit Browser
  • Integrierte Datenloggerfunktion der Verbräuche stündlich, täglich und monatlich
  • komfortabler Download der Verbräuche als Excel csv-File
  • alternativ zur CCU ist Datenausgabe auch im JSON-Format möglich
  • Stromverbrauch ca. 200mA  bei 5V,  „gutes“ Micro-USB-Netzteil mit mindestens 1A empfohlen

Die Datenübertragung erfolgt mit dem hauseigenen WLAN. Die Datenübertragung speziell zur Homematic arbeitet völlig automatisch im Hintergrund, indem die Daten auf entsprechende CCU-Systemvariable abgebildet werden. Für die Verwendung in Verbindung mit ioBroker oder anderen Hausautomationssystemen kann der PowrPilot anstatt zur CCU auch JSON Daten an eine programmierbare Serveradresse im Heimnetz versenden. Und natürlich kann man den PowrPilot auch ganz ohne Hausautomation verwenden: dafür hat der PowrPilot  seine eigene Webseite, womit die Messdaten im Heimnetz mit jedem üblichen Browser einfach dargestellt werden können. So  hat man die aktuellen Verbrauchsdaten jederzeit auch auf dem Tablet oder Smartphone im Blick. Das Erscheinungsbild könnte man zwar mit einer App graphisch aufpeppen, aber der Aufwand war mir einfach zu groß. Schließlich steht die Funktionalität an erster Stelle und die ist mit der aktuellen Webseite voll erfüllt. Wer das komplette „Mäusekino“ mag, der kann mit NodeRed oder IoBroker die Daten komfortabel für Smartphone oder Tablet aufbereiten.

In blauer Schrift oben sind die Links zu den verschiedenen Webseiten des PowrPilot. Darunter sind die Befehle aufgelistet, mit denen man das Modul komfortabel konfigurieren kann. Darunter sind die IP-Adressen des Moduls und der CCU angezeigt. Im unteren Bereich der Webseite sind schließlich die aktuellen Verbrauchswerte. In rot sind die Namen der CCU-Systemvariablen aufgeführt, auf die die Verbrauchdaten automatisch repliziert werden.

Die Daten werden automatisch auf die entsprechenden CCU-Systemvariablen repliziert oder aber (wenn man keine Homematic hat) per JSON an beliebige andere IoT-Systeme verschickt. Die Versendung der CCU-Daten erfolgt im festen Zeitraster oder aber sofort, falls sich die Daten nennenswert geändert haben. Das wird deshalb so gemacht,  um die CCU oder andere nachfolgende Server nicht zu überlasten.

Die stündlich, täglich und monatlich akkumulierten Verbrauchswerte werden auf weiteren  Webseiten Tag , Monat und Jahr tabellarisch dargestellt. Das folgende Bild zeigt  beispielsweise die Darstellung des stündlichen Verbrauches über den aktuellen Tag:

Der Zeitstempel zeigt genau den Zeitpunkt bei der Erstellung des jeweiligen Datensatzes an. Mit dem Button „export csv-file“ kann man die Messdaten auch als Excel csv-Datei exportieren und nach eigenen Wünschen auswerten und grafisch anzeigen.

Eine sehr komfortable Möglichkeit zur grafischen Anzeige und Analyse der Daten ist mit Historian möglich. Diese kostenlose Software läuft auf dem PC oder Raspberry und holt sich die Daten von der CCU.

Nachbau leicht gemacht

Den PowrPilot gibt es nur als Bausatz. Der Nachbau ist auch für den weniger versierten Elektroniker möglich, denn mit dem angebotenen  Bausatz   muß man eigentlich nur die wenigen Bauteile verlöten und die Module verbinden.  Aber man sollte schon etwas Erfahrung mit dem Zusammenbau und Inbetriebnahme von elektronischen Modulen haben! Mit der detaillierten aktuellen  Bauanleitung   kann eigentlich  wenig „schief “ gehen, wenn man sorgfältig alle Schritte ausführt, über etwas Löterfahrung und ein Multimeter verfügt. Hier die Bauteile mit den verschiedenen Gehäuseteilen im 3D-Druck:

Und so sieht der fertige PowrPilot aus:

Und so sieht beispielhaft die Montage im Stromschrank aus.

Wichtig ist, dass mit der räumlichen Trennung von Lesemodul und WLAN-Modul die Platzierung des WLAN-Moduls außerhalb des metallischen und dementsprechend abschirmenden Schaltschrankes erfolgen kann. So ist die manchmal schwierige WLAN-Verbindung leichter herzustellen. Bei schwierigen Verbindungsproblemen zum Router kann man auch die Verbindungsleitung zwischen Lesekopf und WLAN-Modul bis etwa  10m verlängern, um das WLAN-Modul näher an den Router zu bringen.

6 Programmierung und Einstellung

Der PowrPilot verwendet als Mikrocontroller mit WLAN den WeMos D1 mini mit integrierter USB-Schnittstelle. Der WeMos ist vorprogrammiert, lediglich die für das WLAN notwendigen Zugangsdaten für den heimischen Router müssen eingegeben werden. Dies kann sehr komfortabel erfolgen, indem man den PowrPilot zur Einstellung als Hotspot arbeiten läßt.  Auf der eigenen Hotspot-Webseite des PowrPilot (IP: 192.168.4.1) kann man dann die notwendigen Daten und Einstellungen mit einem normalen Browser durchführen. Dafür sind keinerlei Programmierkenntnisse notwendig, also alles sehr einfach. Die folgenden Schritte zeigen kochrezeptartig das Vorgehen:

1.RESET-Minitaster seitlich am WeMos mini kurz drücken. Wenn man innerhalb der dann folgenden 5 Sekunden (die RGB-LED leuchtet blau)  den Reset-Taster nochmals kurz betätigt, dann startet sofort der sog. Hotspot-Modus und die RGB-LED leuchtet dauerhaft in violett (die blaue LED auf dem WeMos-Modul blinkt jetzt)

2. Mit dem Smartphone oder besser Laptop  nach einem Hotspot mit dem Namen „wiffi“ suchen und die Verbindung herstellen. Da es eine gesicherte Verbindung ist, muß beim ersten Zugang das Kennwort „wiffi1234“ eingegeben werden. Danach müsste, wenn alles richtig funktioniert, eine gesicherte Verbindung zum „wiffi“ vorhanden sein.

3. Auf dem so im WLAN eingeloggten Smartphone oder Tablet mit der Adresszeile des Browsers die Hotspot-Webseite des PowrPilot  aufrufen mit: 192.168.4.1/?
Die Antwort sieht dann so aus:

4. Jetzt die notwendigen Eingaben in der Adresszeile des Browsers machen. Das macht man mit folgenden Befehlen, die immer mit einem Doppelpunkt(!) abgeschlossen werden:
Achtung:
SSID und PWD dürfen zwar Tiefstriche aber keinen Doppelpunkt, Leerzeichen, Sonderzeichen oder äöüß  enthalten! Das gibt sonst mit vielen Wifi-Chips und auch mit der Homematic nur Ärger und schwierige Fehler.  Bitte keine Email an mich wegen entsprechender Änderungen; das bleibt so wegen meiner schlechten Erfahrungen mit diesem Thema!

192.168.4.1/?ssid:my_ssid:  dabei ist „my_ssid“ die SSID des eigenen Routers , am Schluss aber den Doppelpunkt nicht vergessen!)

192.168.4.1/?pwd:my_pwd:  dabei ist „my_pwd“ das Router-Passwort des eigenen Routers

192.168.4.1/?ccu:my_ccu:  dabei ist  „my_ccu“ die  IP der eigenen CCU.  Wenn alle drei Daten richtig eingegeben sind und auf der Webseite auch richtig angezeigt werden , dann ist der AirSniffer startbereit und kann mit dem Befehl:

192.168.4.1/?reset: oder der Druck auf den RESET-Taster (am WeMos)  startet das Modul neu. Nach 5sec blauer RGB-LED leuchtet die RGB-LED solange gelb  bis das WLAN-Modul sich im heimischen WLAN eingeloggt hat. Danach leuchtet die RGB-LED in rot (Energie wird verbraucht) oder in grün (Energie wird abgegeben) oder hell violett (keine Daten vom IR-Lesekopf).

Jetzt kann die Webseite des PowrPilot im Heimnetz aufgerufen werden. Dazu schaut man im Router nach, welche IP der PowrPilot bekommen hat und ruft dann einfach diese IP auf, indem man diese IP in die Adresszeile des Browsers eingibt. Oder man schreibt einfach in die Adresszeile: http//:powrpilot.local.  Allerdings kann diese letzte Methode u.U. in einigen Heimnetzen nicht erfolgreich sein. Ich persönlich verwende immer die IP, dann hat man eine eindeutige Zuordnung. Deshalb stellt man dann auch sinnvollerweise den Router so ein, dass er dem PowrPilot immer diese gleiche IP zuteilt. Die Antwort auf den Browseraufruf der IP ist im folgenden Bild dargestellt.

7 Anlernen an die CCU

Zum Anlernen an die CCU müssen vorher die Firewall-Einstellungen der CCU richtig eingestellt werden. Bei der CCU2 stellt man alles auf Vollzugriff. Bei der CCU3 ist mit dem Sicherheitassistenten die Einstellung  „relaxed“ auszuwählen.
Die automatische Verbindung zur CCU wird über Systemvariablen hergestellt, deren Namen von mir vorgegeben sind (in rot im Bild oben). Allerdings lassen sich mit dem name-Befehl auch beliebige andere Namen für die Systemvariablen  definieren. Im ersten Schritt sollte man diese Vorgabe erst mal behalten! Daneben werden auf der PowrPilot-Webseite die aktuellen Zählerstände und Leistungen  dargestellt.  Diese Werte werden alle 60sec in einem festen Zeitraster aktualisiert, um das Datenaufkommen für die Signalübertragung zu begrenzen. Erst durch Aktualisierung der Webseite oder Klick auf den Link Aktualisierung der Messwerte kann auch außerhalb des Zeitrasters die Anzeige jederzeit aktualisiert werden.

Das Anlernen des PowrPilot an die CCU ist sehr einfach, weil für jede Messgrösse nur eine korrespondierende Systemvariable angelegt wird. Entsprechend der Vorgabe (rote Namen) werden  Systemvariablen in der CCU manuell oder automatisch angelegt.

Automatisch kann man mit dem Befehl setvar die u.a. CCU-Systemvariablen  auf der CCU anlegen lassen. Dazu die Befehlsliste aufrufen und einfach den setvar-Link anklicken. Dann  bis zu  60sec warten bis alle notwendigen Systemvariablen auf der CCU angelegt sind und das Modul neu gestartet ist. Danach in der CCU nachschauen, ob alle Systemvariablen auch wirklich angelegt wurden.

Wenn man andere Namen als die hier verwendeten Namen benutzen möchte, dann kann man die Namen mit dem name-Befehl neu festlegen. Also wenn die Systemvariable pp_counter_1 jetzt pp_counter_4711 heißen soll, dann gibt man ein: <powrpilot_ip>/?name:11:counter_4711:    Aber bitte erst umbenennen, wenn alles unproblematisch läuft ;))

Weitere Infos zu diesem Thema:
>> Die Aktualisierung aller genannten  Systemvariablen erfolgt automatisch, aber nur wenn sich die Messwerte ändern. Dadurch wird vorteilhafterweise der Datenfluss stark reduziert.
>> Die oben genannten Systemvariablen sind „normale“ CCU-Systemvariablen, deren Zahl nicht wie bei den HM-Skriptvariablen auf  200 begrenzt ist !

Firewall-Einstellungen:
Zum Anlernen an die CCU müssen vorher die Firewall-Einstellungen der CCU richtig eingestellt werden:

  • Bei der CCU2 stellt man alles auf Vollzugriff.
  • Bei der CCU3 und bei der RaspberryMatic reichen folgende Einstellungen:

… und kein Häkchen bei Authentifizierung!

8 Befehlsliste des PowrPilot

Auf der Befehlsliste-Seite sind Befehle dargestellt, mit denen bestimmte Eigenschaften des PowrPilot bei Bedarf geändert werden können. Normalerweise ist dies aber nicht notwendig. Nur bei speziellen Bedürfnissen wie Änderung der Namen für die CCU-Systemvariablen oder Verwendung eines anderen Zeitservers  etc. sollte man diese Befehle anwenden. Bei den als Link blau gekennzeichneten Befehlen reicht es zum Ausführen einfach darauf zu klicken.

Einige Erklärungen sind noch für den setip-Befehl notwendig. Damit kann man die Vergabe der IP-Adresse regeln. Standarmässig  ist DHCP eingestellt, wobei der Router dem Modul eine IP-Adresse zuteilt.  Wenn man dem Modul aber eine bestimmte IP zurteilen möchte, dann kann das mit dem setip-Befehl folgendermassen geschehen:

setip:192.168.178.61: >>setzt die IP 192.168.178.61 und DNS ist 192.168.178.1 und Gateway ist 192.168.178.1 und Subnet ist 255.255.255.0

setip:192.168.178.61:3:5: >>setzt die IP 192.168.178.61 und DNS ist 192.168.178.3 und Gateway ist 192.168.178.5 und Subnet ist 255.255.255.0

setip: >> setzt zurück auf DHCP bzw der Standardeinstellung

Die IP-Einstellungen bleiben auch bei Komplett-Updates erhalten. Lediglich beim Werksreset wird auf die Grundeinstellung DHCP zurückgesetzt und die SSID, PWD gelöscht.

9 Einstellungen im Expertenmodus

Im sog. Expertenmodus. sind zur Erstinstallation ggf. einige Parameter einzustellen. Dies macht man mit dem param-Befehl. Um den IEC-Stromzählertyp beispielsweise auf Zweirichtungszähler einzustellen, gibt man einfach ein: <powrpilot_ip>/?param:6:3:  ein.

Die param 9, 10 und 7 werden erst mal wie auf dem Bild eingestellt. Dies sind die sog. OBIS-Kennzahlen für die Bezugs-Energie(Z1), die abgegebene Energie (Z2) und die aktuelle Leistung. Was das mit den sog. OBIS-Kennzahlen genau auf sich hat, wird nachfolgend beschrieben.

Die Einstellung mit OBIS-Kennzahlen

Das Datentelegramm, welches vom Smartmeter über den IR-Lesekopf abgegeben wird, ist einige hundert Bytes lang. Um daraus die wenigen für die Hausautomation wichtigen Daten wie bezogene Energie in kWh, aktuelle Leistung in kW und bei Solarbesitzern die abgegebene Energie „herauszufischen“ sind die sog. OBIS-Kennzahlen wichtig. Diese Kennzahlen sind im Datentelegramm den jeweiligen Messwerten vorangestellt und helfen, die genaue Position der wichtigen Bytes im Datentelegramm zu finden. Die Eingabe der Kennzahlen erfolgt auf der Expertenseite des PowrPilot als param 9, 10 und 7. In der großen Gesamtmenge der OBIS-Kennzahlen sind für die Auslesung der im Privat-Haushalt verwendeten digitalen Stromzähler/Smartmeter nur folgende Kennzahlen wichtig:

Bei vielen Stromzählern werden die verwendeten OBIS-Kennzahlen auch im LCD-Display neben den jeweiligen Messwerten angezeigt

Update des PowrPilot

Ein Update des PowrPilot kann ohne Demontage bzw. Geräteöffnung komplett über das WLAN erfolgen. Dabei ist der PowrPilot vorher im Heimnetz über WLAN eingeloggt und seine Webseite ist mit der vom Router vergebenen IP-Adresse aufrufbar.

Aktuelles Update Zip-Archiv von der Webseite stall.biz runterladen, den  *.bin File entpacken und auf dem PC speichern. Achtung nicht das Zip-Archiv zum Update verwenden, das beschädigt u.U. den PowrPilot.

Die Update-Seite des PowrPilot aufrufen (nächstes Bild). Dort werden drei Alternativen eines Updates angeboten:

  • beim Teil-Update wird nur die Firmware aktualisiert
  • beim Komplett-Update werden Firmware und Parameter upgedatet
  • beim Werksreset werden Firmware, Parameter und WLAN-Zugangsdaten in den Auslieferungszustand versetzt

Das Komplett-Update beispielsweise mit Klick auf den Link Komplett-Update starten. Danach sieht man das folgende Fenster, in dem man aufgefordert wird, nach frühestens 15sec den Link Update-Explorer auszulösen.

Nach kurzer Zeit öffnet sich der Browser mit folgendem Fenster. Dort per „Durchsuchen“ den neuen update *.bin File einzugeben und dann mit dem Update-Firmware-Button den Vorgang zu starten:


Nach einigen Sekunden wird in diesem Fenster ein erfolgreiches Update kurz  bestätigt und das Modul neu mit der upgedateten Firmware neu gestartet:

Update der Firmware über USB

Ein Update über USB ist etwas komplizierter als über WLAN. Aber wenn beispielsweise ein neues Ersatz-WeMos-Modul verwendet werden soll, dann ist  ein Update über USB die einzige Lösung. Manchmal ist auch ein neues Flashen sinnvoll, weil z.B. die Firmware durch Hardwarefehler „zerschossen“ wurde und das WLAN nicht mehr richtig funktioniert.

Hier die Anleitung mit dem Tool ESP Easy Flasher:

  • ESP Easy Flasher Tool runterladen, in ein Verzeichnis ESPEasyFlasher entpacken
  • Für den WeMos ggf. den notwendigen USB-Treiber installieren: windows 32&64bit
  • USB-Kabelverbindung PC <>  WeMos Modul herstellen
  • Den für das Flashen  notwendigen  aktuellen Firmware-Update-bin-File in das Unterverzeichnis ESP_Easy_Flasher-master/BIN speichern
  • Die Factory-bin-Files des WeMos  hier runterladen und entpacken und beide bin-Files ebenfalls in das Unterverzeichnis ESPEasyFlasher/BIN speichern
  • Mit ESP EASY Flasher.exe das Flash-Programm jetzt starten und es zeigtsich folgendes Fenster:

  • In der obersten Zeile mit dem grünen Refresh-Button den verfügbaren com-Port einstellen.
  • In der Zeile darunter den File „blank_4MB.bin“ auswählen, der zuvor in das BIN-Unterverzeichnis gespeichert wurde
  • sonst nichts eingeben und jetzt nur noch den Button Flash ESP Easy FW drücken; danach blinkt die blaue LED auf dem WeMos während des Flashvorganges
  • nach ca, 7 Minuten (!) wird ein erfolgreicher Flashvorgang mit „DONE!“ bestätigt.
  • Wenn man den WeMos in den Fabrik-Zustand versetzen möchte, dann jetzt den zweiten File „ESP_8266_BIN0.92.bin“  flashen (dauert ca. 1 Minute) oder …
  • jetzt den aktuellen Firmware-Update-bin-File nach gleicher Methode flashen (Dauer ca. 1 Minute)
  • Dann mit dem Button Open serial monitor das Ausgabefenster der seriellen Ausgabe öffnen (wenn das nicht funktioniert HTerm ( serial 115200bd, Newline at „CR+LF“ ) verwenden )
  • Nach dem Reset am WeMos-Modul kommt die  Meldung „In den nächsten 5 Sekunden kann mit Terminaleingabe ‚p‘ das eeprom auf Werkseinstellung gesetzt werden
  • Nun sofort p eingeben  und warten auf die Meldung, dass das eeprom gelöscht ist. Dann nochmal den Reset-Taster drücken
  • Danach das Modul in die Controllerplatine einsetzen und …
  • im Hotspot-Modus auf IP 192.168.4.1 wie oben beschrieben die eigenen Router.Zugangsdaten eingeben.

Hier einige typische Startmeldungen des WeMos im Fenster des Terminalprogramms HTerm:

13 Hier die neuesten Firmware-Updates zum runterladen:

Zum Update das ZIP-Archiv runterladen und entpacken. Zum Update nur die *.bin-Datei aus dem zip-Archiv verwenden.
Jedes Update ist immer ein vollständiges Update, so dass man auch wieder auf alte Softwarestände zurück „updaten“ kann. Nach den Updates immer die Parameterliste überprüfen, weil die Parameter beim insbesondere beim Komplett-Update auf veränderte Standardeinstellungen gesetzt werden!

Hinweis: Bei größeren Versionssprüngen immer ein Komplett-Update machen und nach dem Update noch ein Factory-Reset machen, um die EEPROM-Daten zu aktualisieren. Danach sind natürlich die Router-Zugangsdaten im Hotspotmodus neu einzugeben.

30.06.2022: Update  powrpilot_9  Fehler im JSON-Telegramm korrigiert

27.09.2022: Update  powrpilot_11  Umfangreiches Update: Bezeichnungen der Systemvariablen geändert. Schaltausgang D0 für Schalt/Steueraufgaben aktiviert, um abhängig von der rückgespeisten Leistung (neuer param 11) elektrische Verbraucher zu schalten.
Nach dem Komplett-Update zuerst mit dem Befehl „factory“ ein factory-reset machen. Wenn Modul wieder läuft, dann mit „setvar“ die veränderten Namen der CCU-Systemvariablen setzen.

14 Den PowrPilot mit ioBroker verwenden

Ich selbst habe von ioBroker keine Ahnung, deshalb hoffe ich, hier alles richtig zu beschreiben. Die Integration in ioBroker erfolgte zuerst für den WIFFI-wz mit Auswertung des JSON-Datentelegramms, welches vom PULSECOUNTER anstatt zur CCU auch an jede beliebige IP mit jedem beliebigen Port geschickt werden kann. Dazu muß man mit dem ccu-Befehl die entsprechende IP-Adresse ändern und mit dem param-Befehl den entsprechenden Betriebsmodus einstellen.  Hier wird am Beispiel des WIFFI-wz  beschrieben, wie man einen ioBroker-Adapter erstellt. Die ioBroker-Adapter Entwicklung im Allgemeinen ist hier beschrieben .

Zur Darstellung der Verbrauchsdaten mit Grafana ist hier eine hilfreiches „Kochrezept“ 

15 Den PowrPilot mit Node-Red  abfragen

Ein User  des WEATHERMAN hat einen entsprechenden Adapter für das leistungsfähige Node-Red entwickelt. Sicher kann man dieses Beispiel auch auf den PowrPilot übertragen. Weitere Informationen zur RedMatic hier.

16 Den PowrPilot mit IPSymcon  abfragen

Das entsprechende Modul mit einer guten ausführlichen Beschreibung findet man hier:  github.com/demel42/IPSymconPulsecounter

 

#####  Fragen, Empfehlungen, Tipps  #####

1. Die rssi-Werte sind gut, aber trotzdem sind manchmal Abbrüche, Was tun?
Die rssi-Werte alleine sagen nur etwas aus über die Empfangsfeldstärke, nicht aber, ob andere WLAN-Stationen ebenfalls auf der Frequenz arbeiten und ggf. stören. Deshalb sollte man mit entsprechenden Apps mit dem Smartphone direkt an der Wetterstation die Empfangssituation prüfen und ggf. im Router den Kanal auf einen freien Bereich wechseln. Die automatische Kanalsuche des Routers optimiert die WLAN-Funksituation für den Router-Standort, nicht für den WM-Standort.

Passable rssi-Werte sind zwischen -50dB und -70dB. Es funktioniert aber manchmal auch sogar mit -90dB, aber dann ist die Wahrscheinlichkeit für Abbrüche/Hängern hoch.

2. Welches Netzteil soll ich nehmen?
Für die Stromversorgung reichen 1A bei 5V. Die Netzteile haben aber eine oft sehr sehr schlechte Impulsunterdrückung, was man ihnen leider nicht ansehen kann. Das kann zu “Hängern” oder sogar Beschädigungen der Firmware führen. Dann muß man über USB wie oben beschrieben die Firmware neu “flashen”.

3. Das Modul ist im Hospotmodus (192.168.4.1) oder im WLAN plötzlich nicht mehr “sichtbar”. Was kann man tun?
Vermutlich  ist der WeMos beschädigt (Überspannung, Verpolung, etc) und muß ausgetauscht werden. Es kann aber auch nur die Firmware beschädigt sein und dann kann man wie oben beschrieben über USB den WeMos neu programmieren (flashen).

4. Gibt’s ein Forum oder Diskussionen  zu dem Thema PowrPilot ?
Ja, hier !

5. Manchmal ist das Modul nicht mehr per Browser sichtbar oder ist “eingefroren”?
Das kann mehrere Ursachen haben:
– Der Router kann möglicherweise dem Modul im Betrieb oder beim Neustart eine andere IP-Adresse zuweisen, weil er im sog. DHCP-Modus arbeitet.. In so einem Fall im Router nachschauen, ob das Modul ggf. unter einer anderen IP vorhanden ist. Der Name des Moduls fängt meist mit ESP… an.
Man kann diese Situation verbessern, indem man dem Modul mit dem Befehl “setip” eine im Router noch nicht vergebene Adresse im Nummernbereich des Heimnetzes fest zuweist.
– Wenn das Modul aus dem Internet keine Zeitinformation per ntp holen kann oder das Internet “wackelig” ist, dann kann bei erfolglosen Zeithol-Versuchen das Modul “hängenbleiben”. Das kann man dann nur durch einen Neustart per Reset-Taster oder Spannungslos machen erreichen. Abhilfe ist, die Zeitinformation anstatt per Internet-ntp direkt vom Router (bei der Fritzbox einstellbar!)  oder anderen Zeitservern im Heimnetz zu holen.

6. Kann man mit einer externen WLAN-Antenne die Kommunikation mit dem Router verbessern?
Ja unbedingt! Natürlich kann man durch Optimierung der Modul-Position bzw. -Ausrichtung  die auf der Expertenseite angezeigte WLAN-Konnektivität verbessern. Aber wenn die Entfernung zu groß oder die Wände zu dick sind, dann hilft nur noch ein Repeater oder eine externe WLAN-Antenne. Dazu kann man beim verwendeten WeMos die Platinenantenne abtrennen und eine externe Antenne anschalten. 

Es geht aber auch einfacher, indem man einen Lolin D1 mini pro kauft. Dieses Modul hat einen Antennenanschluß, an dem man ein sog. Pigtail-Kabel mit einer RP-SMA-Antennenbuchse anschalten kann. Das Vorgehen in wenigen Schritten:

 

Wichtiger Hinweis zum Schluß

Die hier beschriebene Vorgehensweise funktioniert bei meinem Stromzähler MT681-D4A52 von Iskraemeco einwandfrei. Ich gehe davon aus, daß die Methode auch bei allen neuen Stromzählern mit SML-Protokoll und 9600Bd ebenfalls funktioniert. Ausprobieren kann ich das leider nicht! Bei der Unzahl an verschiedenen Zähler- und Einstellungsvarianten der verschiedenen Energieversorger kann ich eine sichere Funktion leider nicht versprechen!!
Das D0-Datenprotokoll wird aktuell (noch) nicht unterstützt!
Um das Thema wirklich zu verstehen, verweise ich nochmals auf die anfangs verlinkten Informationsquellen.

… und wo kann man den Bausatz bekommen?

Für den Nachbauer habe ich PowrPilot Bausätze   zusammengestellt. Diese  können bei mir bezogen werden:

Haftungs- und Sicherheitshinweise

Beim Nachbau müssen natürlich alle wichtigen einschlägigen Sicherheitsvorschriften für den Umgang mit gefährlichen Spannungen  eingehalten werden. Fundierte theoretische und praktische Fachkenntnisse der Elektrotechnik und für den Umgang mit gefährlichen Spannungen sind unverzichtbar!! Durch eine unsachgemäße Installation gefährden Sie ihr Leben und das Leben ihrer Mitmenschen! Darüber hinaus riskieren Sie erhebliche Sachschäden , welche durch Brand etc. hervorgerufen werden können ! Für alle Personen- und Sachschäden durch falsche Installation etc. ist nicht der Hersteller sondern nur der Betreiber verantwortlich. Ich verweise hier unbedingt auf  die  „Sicherheitshinweise und Haftungsausschluss„-Seite dieses Blogs.

 

Fähigkeiten

Gepostet am

29. Mai 2022