PULSECOUNTER-LAN2 …Verbräuche von Strom, Gas und Wasser komfortabel messen

, , ,
Print Friendly, PDF & Email

Hinweis: Den PULSECOUNTER gibt es auch als WLAN-Version!

Das WLAN-Modell des PULSECOUNTER2 wird  bereits von vielen Usern erfolgreich eingesetzt. Da aber der PULSECOUNTER oft im Keller und/oder in Stromkästen mit schlechter WLAN-Funkanbindung installiert werden muß, ist eine  Kabelanbindung für einige Anwender von Vorteil.  Deshalb wurde schon vor einiger Zeit die Variante PULSECOUNTER2-LAN mit Ethernet-LAN Anbindung entwickelt. Der Bausatz für dieses Modul war sehr umfangreich und der Zusammenbau recht anspruchsvoll. Mit dieser hier vorgestellten Variante PULSECOUNTER-LAN2 steht nun eine verbesserte und gleichzeitig vereinfachte Lösung zur Verfügung. Dabei wurde aus Platzgründen auf ein optionales Display verzichtet undr das komplette Modul in nur einem schmalen Hutschienengehäuse untergebracht. Zusätzlich können jetzt wie auch beim WLAN-Modul die aktuellen digitalen Stromzähler (Smartmeter) mit SML-Datenprotokoll ausgewertet werden.

1 Warum diese Entwicklung?

Die mir bekannten Zählermodule sind für mich nicht so überzeugend. Sie zählen zwar die Impulse von den Verbrauchszählern, aber zur halbwegs praktikablen Nutzung und Auswertung der Daten  müssen noch umfangreiche Skripte auf der CCU dauernd laufen. Und wenn dann mal die CCU abgeschaltet oder neu aufgesetzt werden muß (was ja auch nicht so selten ist!), dann müssen ggf. Einstelldaten neu eingegeben werden usw. Komfortable Nutzung sieht anders aus!

Aber ein Hauptmanko haben alle mir bekannten Zähler: sie nutzen nicht die Möglichkeit, aus dem Zeitabstand der laufenden Impulse die aktuelle Verbrauchsleistung zu berechnen. Gerade die aktuelle Leistung (die KW) und nicht die verbrauchten KWh sind für die Beurteilung des zeitlich veränderlichen Verbraucherverhaltens von Heizung, Haushalt usw. besonders interessant. Deshalb kam schon früh der Wunsch nach einem mindestens 3-kanaligen Zähler (Strom, Gas, Wasser) auf, der möglichst unabhängig von der Homematic oder anderen Smarthome-Systemen zuverlässig (keine Batterien!!) und komfortabel (eigene Modul-Webseite zur Administration) seinen Dienst tut. Darüber hinaus sollte auch eine komfortable Loggerfunktion der stündlichen, täglichen und  monatliche Verbräuche integriert sein

Versuche mit nur einem Mikrocontroller vom Typ ESP8266 waren nicht erfolgreich, weil bei insbesondere bei mehreren Impulskanälen und gleichzeitiger Abruf der Webseite leider die Zählimpuls-Erkennung über Interrupt nicht ausreichend zuverlässig war. Die aktuelle wirklich sehr brauchbare Lösung verwendet deshalb zusätzlich zum verwendeten ESP8266 noch einen zweiten Mikrocontroller ATTINY84 für die zuverlässige Zählfunktion für insgesamt 4 Kanäle.

2 Der PULSECOUNTER-LAN2  ist sehr vielseitig

Die Bedienung und Administration des Moduls erfolgt über normale Browser, die Anbindung des Moduls an das Heimnetz mittels Ethernet-LAN.

Technische Daten:

  • 4 Zählereingänge/Impulskanäle  mit LED zur Statuserkennung oder alternativ …
  • 2 Zählereingänge/Impulskanäle plus ein Eingang für Auslesung digitaler Stromzähler mit SML-Datenprotokoll
  • jeder Zähler verwendbar als Stromzähler, Gaszähler, Ölzähler oder Wasserzähler 
  • Schmitt-Trigger-Eingänge für bessere Störsicherheit
  • Impulsrate bis über 10000 Imp/KWh oder Einheit und Impulsdauer > 1ms
  • Leistungsmessung durch Auswertung der Pulsfrequenz
  • Differenzzähler integriert beispielsweise für Solaranlagen
  • Zählerinput flexibel verwendbar: Reedschalter, S0-Ausgang, Open-Kollektor, Impulsgeber …
  • integrierter Impulsgenerator zum Test der Impulseingänge
  • 1Gbit/s- Ethernet-LAN-Einbindung ins Heimnetz
  • 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-Hotspot
  • automatische zyklische Messwertübertragung an die Homematic-CCU oder andere Homeserver
  • Übersichtliche Messwertdarstellung auf eigener Webseite mit Browser
  • Loggerfunktion der Verbräuche stündlich, täglich und monatlich
  • komfortabler Download der Verbräuche als Excel csv-File
  • Mini-USV mit großem Elko
  • bei Stromausfall werden Verbrauchsdaten automatisch im EEPROM gesichert 
  • optional ist zur Datenspeicherung ein FRAM-Speichermodul erhältlich 
  • alternativ zur CCU ist Datenausgabe auch im JSON-Format möglich
  • Stromverbrauch ca. 200mA  bei 5V,  „gutes“ Netzteil 5V/1A empfohlen 

Die Datenübertragung erfolgt mit dem hauseigenen Ethernet-LAN. Die Datenübertragung zur Homematic-CCU arbeitet völlig automatisch im Hintergrund, indem die Daten auf entsprechende CCU-Systemvariable automatisch abgebildet werden. Für die Verwendung in Verbindung mit anderen Hausautomationssystemen kann der PULSECOUNTER anstatt zur CCU auch JSON Daten an eine programmierbare Serveradresse im Heimnetz versenden. Und natürlich kann man den Impulszähler auch ganz ohne Hausautomation verwenden: dafür hat der Impulszähler  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 PULSECOUNTERSs. 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 berechneten Verbrauchswerte der einzelnen Impulszähler. In rot sind die Namen der CCU-Systemvariablen aufgeführt, auf die die Verbrauchdaten automatisch repliziert werden.

Wenn die beiden Zähler 1 und Zähler 2  als Stromzähler konfiguriert sind, dann werden (im folgenden Bild unten) automatisch zusätzlich die Differenzverbräuche und Leistungen angezeigt. Dies ist insbesondere für Solarbesitzer interessant, weil dann beispielsweise die Differenz von verbrauchtem und eingespeistem Strom angezeigt wird. Zusätzlich ist auch die Differenzleistung verfügbar, welche idealerweise als Kriterium für die Steuerung eigener Verbraucher verwendet werden kann, um möglichst nur eigenen Solarstrom zu verwenden.

Zusätzlich ist noch eine hilfreiche Stromunterbrechungserkennung integriert. Damit wird festgestellt, ob der PULSECOUNTER evtl. einen Stromausfall hatte und dann der angezeigte Zählerstand u.U. nicht mehr mit den Zählerständen der realen Zähler synchron ist.

Wenn der PULSECOUNTER für die Auslesung von digitalen Stromzählern mit SML-Datenprotokoll konfiguriert wird, dann ist die Haupseite für die Darstellung der Messwerte etwas modifiziert und sieht folgendermaßen aus:

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.

Und hier noch ein Bild vom „Innenleben“ des PULSECOUNTER2-LAN2 bestehend aus Basisplatine, dem WeMos D1 mini und dem aufgesteckten W5500-LAN-Modul:

Die Zählimpulse für den PULSECOUNTER können aus verschiedenen Quellen stammen. Die Inputs sind so gestaltet, daß sowohl einfache Reedschalter von Wasser- und Gaszählern als auch „richtige“ Impulssignale von Stromzählern (S0-Ausgang) oder entsprechenden impulsgebern für die Ferrarisscheibe ausgewertet werden können. Das folgende Bild zeigt die typischen Alternativen. Mehr Details weiter unten:

3 Analyse der Messdaten

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. Das folgende Diagramm zeigt beispielhaft die Auswertung meines Strom- und Gaszählers über 24h.

Man sieht bei den Verbräuchen KWH bei Strom und m3 bei Gas) sehr schön die Anstiege der Zählerstände über den Tag. Interessant sind aber die errechneten Leistungsverläufe. Hier erkennt man genau, wie und wann beispielsweise die Heizung arbeitet und erkennt auch gut die hohe Leistungsspitze bis 30KW, wenn zusätzlich das Warmwasser auf Temperatur gebracht wird. Mit diesen Diagrammen habe ich selbst, die möglichen Einstellparameter der Heizung recht gut optimieren können.

Also Verbrauch messen ist „ganz nett“, aber das eigentlich Interessante ist, die verschiedenen Leistungen über den Tag zu beobachten. Dabei ist zu beachten, daß die Leistung immer nur aus dem Zeitabstand zweier aufeinander folgenden Impulsen berechnet werden kann. Wenn also bei Abschaltung eine Verbrauchers plötzlich gar keine Impulse mehr kommen, dann bleibt die Leistung theoretisch auf dem Wert der letzten beiden Impulse stehen. Um diesen „Schönheitsfehler“  zu vermeiden, wird rechnerisch die Leistung aus dem Zeitabstand vom letzten Impuls bis zum aktuellen Augenblick berechnet. Das Ergebnis ist, daß die Leistung langsam abklingt, obwohl sie in Wirklichkeit natürlich schlagartig abgeschaltet ist. Das ist leider nicht vermeidbar und eben physikalisch vorgegeben. Das Verhalten ist so ähnlich wie die Aussteuerungsanzeige bei Tonaufzeichnungsgeräten (Schleppzeiger) .

4 Nachbau leicht gemacht

Den PULSECOUNTER2_LAN2 gibt´s ausschließlich(!)  als Bausatz. Der Nachbau ist auch für den weniger versierten Elektroniker möglich, denn mit dem angebotenen  Bausatz   muß man eigentlich nur die mitgelieferte Platine bestücken und sauber verlöten. Der Mikrocontroller WeMos mini und der ATTINY84 werden komplett programmiert geliefert, so daß man sich nicht mit der Arduino-Entwicklungsumgebung oder sonstigen Programmierarbeiten „auseinander setzen“ muß.  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 und über etwas Löterfahrung und ein Multimeter verfügt.

5 Anschluss von Zählersensorik

Die verschiedenen Signalquellen werden dann nach folgendem Schema angeschlossen, dabei sind alle Zähleingänge gleich, d.h. die verschiedenen Geber können beliebig an einen der vier Eingänge geschaltet  werden.

Gaszähler

Als Zählersensorik kann man verschiedene auf dem Markt verfügbare Module verwenden. Am einfachsten ist die Erfassung des Gasverbrauches, weil fast alle gängigen Gaszähler einen rotierenden Magneten im Zählwerk  besitzen, dessen Bewegung einfach mit einem Reedkontakt erfasst werden kann. Für die Homematic wird so ein Modul vom Hersteller angeboten: ES-Gas und ES-Gas 2, Das folgende Bild zeigt hierfür oben die Anschlusskonfiguration Die Pinbelegung des alten Impulsgebers ES-Gas (8pol.-Stecker) und des neuen ES-Gas 2 (6pol-Stecker) ist m.W. gleich geblieben.

Alternativ kann man einen einfachen Magnetschalter/Reedschalter, wie er als Fenstersensor angeboten an den Gaszähler in der richtigen Position ankleben.

Wer einen Gaszähler von Pipersberg, Itron, Actaris, Elster, Kromschröder hat, der hat gute Chancen, daß meine hier beschriebene einfache Selbstbaulösung nutzbar ist.
Den Schaltplan und die Anwendung zeigen die folgenden Bilder: Die einfachste Möglichkeit benötigt einfach nur den Magnetschalter und einen Schutzwiderstand :

Der Impulsgeber wird von unten seitlich gekippt links zuerst eingesteckt und dann eingeklipst. Je nach Toleranzen des für die Gehäuseherstellung verwendeten 3D-Druckers hält der Sensor eigenständig; falls nicht, dann mit Klebeband o.ä. ggf. fixieren. Der 100nF-Keramikkondensator ist nur notwendig, wenn der Magnetkontakt prellt oder die Leitung zu lang ist oder andere Störquellen vorhanden sind.  Angeschlossen werden kann der Impulsgeber an einen der vier Impulseingänge. Als Anschlusskabel habe ich in diesem Fall LiYY-Kabel mit 4×0,14 Litzen verwendet, weil dieses Kabel recht weich ist und einfach zu verlegen.

Empfehlen möchte ich aber die folgende Lösung mit einer in den Impulsgeber integrierten LED. Man sollte als LED möglichst die modernen „super oder  ultra bright“ LEDs verwenden, weil wegen der verwendeten Vorwiderstände sonst die Helligkeit zu gering ist.

Stromzähler

Bei den Stromzählern ist der Anschluss in der Regel komplizierter, weil es mittlerweile sehr verschiedene Systeme zur Erfassung des Stromverbrauches gibt. Die konventionelle Methode ist der Stromzähler mit der sog. Ferrarisscheibe. Diese entsprechend der Stromleistung mehr oder weniger schnell drehende Scheibe hat eine rote Markierung, die optisch abgetastet werden kann, um den Stromverbrauch zu zählen.

Die bei der Homematic verwendete Lösung ES-Fer kann leider beim PULSECOUNTER nicht verwendet werden, weil die Belichtungssteuerung vom Zählmodul HM-ES-TX-WM erfolgt. Für den PULSECOUNTER wurde eine Stand-Alone-Lösung entwickelt, die einen Standard-S0-Ausgang hat, der zukunftssicher für viele Auswertesysteme verwendbar ist. Es gibt mit dem Impulsgeber 2.0 eine komfortable Variante mit eigenem Mikrocontroller .

Mittlerweile gibt es auch Stromzähler, die anstelle der Ferrarisscheibe eine Infrarot-LED haben, die entsprechend dem Stromverbrauch mehr oder weniger schnell blinkt. Entsprechende Sensoren sind ebenfalls im Markt erhältlich. Das folgende Bild zeigt die Anschlussmöglichkeit mit dem Homematic Modul ES-LED. Wegen des hochohmigen Schaltungslayouts ein einfacher Transistor zur Ansteuerung des PULSECOUNTERs notwendig.

Update: Man kann zur Sensierung des IR-Impulssignales auch meinen IR-Lesekopf für Stromzähler verwenden.  Dieser Geber kann ohne Zusatzbeschaltung direkt an der PULSECOUNTER-Zählereingang geschaltet werden. Die mechanische Positionierung und Fixierung an die IR-LED des individuellen Stromzählers muß man leider selbst machen, da da Thema m.W. leider nicht genormt ist.

Digitale Stromzähler /Smartmeter

Üblicherweise werden heutige digitale Stromzähler mit einem Infrarot-Lesekopf ausgelesen. Leider gibt es viele Normen und Datenvarianten für das ausgelesene Datentelegramm. Allerdings hat sich bei modernen digitalen Zähler das sog. SML-Datenprotokoll mit 9600Bd ziemlich durchgesetzt. Dieses Protokoll wird aktuell vom PULSECOUNTER-LAN2 auch unterstützt und dekodiert. Der optional erhältliche  IR-Lesekopf wird einfach auf die entsprechende Position des digitalen Stromzählers magnetisch angesteckt und das Datenkabel angeschlossen, wie in der aktuellen Bauanleitung beschrieben. Danach muß nur noch ein Parameter (param 14) auf der Expertenseite des Moduls eingestellt werden.

Mehr zu diesem Thema hier.

Wasserzähler

Ein sehr schwieriges Thema. Die beste Lösung ist sicher die Verwendung einer Wasseruhr mit integriertem Reedkontakt. Die Auswertung kann dann wie beim Gaszähler mit Magnetkontakt erfolgen. Aber viele Wasserwerke lassen eine Verwendung von Zählern mit Reedkontakt als Hauszähler nicht zu. Man müßte alse eine zweite Wasseruhr hinzufügen, um elektronisch zu messen.

In meinem Webshop ist ein optischer Impulsgeber für Wasseruhren verfügbar, aber dieser sollte nur in sog. Trockenläufern verwendet werden. Der Grund ist mögliche Algenbildung durch die Lichtbestrahlung. Dies kommt zwar selten vor kann aber nicht grundsätzlich ausgeschlossen werden. Deshalb auch die Anwendung nur bei Trockenläufern, wo gar kein Wasser im Uhren-Zifferblatt vorhanden ist.

 

 6 Programmierung und Einstellung

Der PULSECOUNTER verwendet als Mikrocontroller einen bereits vorprogrammierten  WeMos D1 mini mit integrierter USB-Schnittstelle. Für den ersten Test kann die Spannungsversorgung über die USB-Schnittstelle erfolgen. Später ist die Spannungsversorgung über die Schraubklemmen unbedingt notwendig, weil so nur die Spannungsausfall-Erkennung funktioniert. Mit einem LAN-Kabel wird eine Ethernet-Verbindung zum heimischen Router hergestellt.

Jetzt kann die Webseite des PULSECOUNTER im Heimnetz aufgerufen werden. Dazu schaut man im Router nach, welche IP der PULSECOUNTER vom Router per DHCP 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//:pulscounter.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, daß er dem PULSECOUNTER 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 bzw. für die Inbetriebnahme sollte man diese Vorgabe aber unbedingt behalten! Daneben werden auf der PULSECOUNTER-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 PULSECOUNTER an die CCU ist sehr einfach, weil für jedes Sensorsignal eine korrespondierende Systemvariable angelegt wird. Entsprechend der Vorgabe (rote Namen) werden  Systemvariablen in der CCU manuell oder automatisch angelegt.

Automatisch kann kann man mit dem Befehl setvar die u.a. CCU-Systemvariablen automatisch auf der CCU anlegen lassen. Dazu die Befehlsliste aufrufen und einfach den setvar-Link anklicken. Dann  ca. 60sec warten bis alle notwendigen Systemvariablen auf der CCU angelegt sind. Danach in der CCU nachschauen, ob alle Systemvariablen auch wirklich angelegt wurden. Wenn dieses Verfahren nicht erfolgreich ist, dann müssen die Systemvariablen manuell entsprechend folgender Liste angelegt werden:

w_counterIP  vom Typ „Zeichenkette“
w_counter1 
vom Typ „Zahl“, 0 bis 999999
w_power1 vom Typ „Zahl“, 0 bis 50000
w_counter2  vom Typ „Zahl“, 0 bis 999999
w_power2 vom Typ „Zahl“, 0 bis 50000
w_counter3  vom Typ „Zahl“, 0 bis 999999
w_power3 vom Typ „Zahl“, 0 bis 50000
w_counter4  vom Typ „Zahl“, 0 bis 999999
w_power4 vom Typ „Zahl“, 0 bis 50000
w_counter1_2  vom Typ „Zahl“, -50000 bis 999999
w_power1_2 vom Typ „Zahl“, -50000 bis 50000

Wenn man andere Namen als die hier verwendeten Namen benutzen möchte, dann man man die Namen mit dem name-Befehl und prefix-Befehl neu festlegen. Der prefix-Befehl ist hilfreich bei Verwendung von mehreren PULSECOUNTERn. Also wenn alle Systemvariablen mit „w_“ anfangen sollen, dann gibt man i der Adresszeile des Browsers ein:  <pulsecounter_ip>/?prefix:w_:  

Den Restnamen kann man mit dem name-Befehl ändern: Wenn als Beispiel die Systemvariable counter_1 jetzt counter_4711 heißen soll, dann gibt man ein: <pulsecounter_ip>/?name:11:counter_4711:    Aber bitte erst umbenennen, wenn alles unproblematisch läuft ;))

Weitere Infos zu diesem Thema:
>> Es müssen nur diejenigen Systemvariablen definiert werden, die man auch benutzen möchte!
>> Die Aktualisierung aller genannten  Systemvariablen erfolgt automatisch, aber nur wenn sich die Messwerte ändern oder eine bestimmte Zeit erreicht ist. 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 PULSECOUNTER2_LAN

Auf der Befehlsliste-Seite sind Befehle dargestellt, mit denen bestimmte Eigenschaften des PULSECOUNTER 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.

Wichtig ist noch zur Inbetriebnahme die Zähler auf die wirklichen aktuellen Zählerstände zu setzen. Das macht man mit dem counter-Befehl.  Im Bild ist beim counter-Befehl das Beispiel einer entsprechenden Befehlssequenz dargestellt.

Einige Erklärungen sind noch für den setip-Befehl notwendig. Damit kann man die Vergabe der IP-Adresse regeln. Standardmässig  ist DHCP eingestellt, wobei der Router dem Modul eine IP-Adresse zuteilt.  Wenn man dem Modul aber eine bestimmte IP selbst zuteilen möchte, dann kann das mit dem setip-Befehl folgendermaßen 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

Wichtig: nach jeder neuen IP-Festlegung wird das PULSECOUNTER-Modul neu gestartet.

Die IP-Einstellungen bleiben auch bei Komplett-Updates erhalten. Lediglich beim Werksreset (factory-Befehl) wird auf die Grundeinstellung DHCP zurückgesetzt.

9 Einstellungen im Expertenmodus

Im sog. Expertenmodus. sind zur Erstinstallation einige Parameter einzustellen. Dies macht man mit dem param-Befehl. Um den Zählereingang Z1 beispielsweise auf Stromzähler-Betrieb einzustellen, gibt man einfach ein: <pulsecounter_ip>/?param:31:0:  ein.

Jeder Zähler hat 3 Parameter, welche die Zählerfunktion individuell festlegen.

  • Der Parameter „zaehlmodus“ legt fest, welche Funktion der Zähler haben soll. Alternativen sind Stromzähler (0), Gaszähler(1) , Wasserzähler(2) und Frequenzzähler(3).
  • Der Parameter „imp_pro_einheit“ ist der sog. Impuls-Kennwert. Bei Stromzählern ist dies normalerweise die Anzahl der Impulse pro KWh. Bei Gaszählern die Anzahl der Impulse pro m3. Für die Umrechnung in KWH benötigt man noch den Brennwert des Gases (param 22) , den man der Rechnung des Gaslieferanten entnehmen kann. Bei Wasserzählern ist dieser Wert die Anzahl der Impulse pro m3.
  • Der Parameter „teiler_faktor“ sollte normalerweise immer 1 sein, falls der Impulskennwert kleiner gleich 100Imp/Einheit ist. Bei Werten bis 1000Imp/Einheit sollte der Teilerfaktor  aberauf 10 gestellt werden. Dementsprechend  muß man dann den Impulskennwert durch 10 teilen . Also ein Impuls-Kennwert von 1000 führt zu einem Parameter „imp_pro_einheit“ von 100 und zu einem „teiler_faktor“ von 10. Der Impuls-Kennwert ist immer das Produkt von „imp_pro_einheit“ und „teiler_faktor“. Entsprechend führt ein Impulskennwert von 10000 zu einem Parameter „imp_pro_einheit“ von 100 und zu einem „teiler_faktor“ von 100.  Der Parameter  „imp_pro_einheit“ sollte 10000 nicht übersteigen!

10 Update des PULSECOUNTER2-LAN

Das Update der Firmware erfolgt nicht über LAN sondern drahtlos über direkten WLAN-Funk zwischen einem Notebook/Smartphone/Tablet und dem im PULSECOUNTER verwendeten WeMos-Mikrocontroller.

Zur Vorbereitung des Updates ist das aktuelle Update-Zip-Archiv von der Webseite stall.biz runterzuladen. Daraus muß man den  *.bin File entpacken und auf einem Notebook/Smartphone  speichern. Achtung nicht das Zip-Archiv zum Update verwenden, das beschädigt u.U. den PULSECOUNTER.

Die folgenden Schritte zeigen kochrezeptartig das Vorgehen für ein Komplett-Update, wenn man direkten Zugang zum Reset-Taster des WeMos hat (geöffnetes Gehäuse):

1.) RESET-Minitaster seitlich am WeMos kurz drücken. Danach leuchtet die blaue LED auf dem WeMos etwa 5sec auf.
Wenn während dieser Leuchtzeit der Reset-Taster nochmals kurz gedrückt wird, dann startet der WeMos im Hotspot- bzw. Update-Modus neu. Nach etwa 3sec blinkt die blaue LED sehr schnell, was den Update-Modus signalisiert.

2.) Mit den WLAN-Einstellungen des Smartphone oder besser Laptop  nach einem WLAN-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üßte, wenn alles richtig funktioniert, eine gesicherte Verbindung zum „wiffi“ vorhanden sein.

3.) Auf dem so im WLAN des WeMos (nicht im WLAN des heimischen Routers!)  eingeloggten Smartphone oder Notebook mit der Adresszeile des Browsers die Update-Webseite des PULSECOUNTER  aufrufen mit: 192.168.4.1/update

4. Nach kurzer Zeit öffnet sich im Browser die folgende Webseite mit der Möglichkeit per „Durchsuchen“ den neuen update *.bin File einzugeben und dann mit dem Update-Button den Vorgang zu starten:


Nach einigen Sekunden wird ein erfolgreiches Update bestätigt und der PULSECOUNTER neu mit der upgedateten Firmware gestartet:

.

Alternatives Updateverfahren: Falls man ein Teil- oder Komplett-Update machen möchte, dann ist nachfolgend eine entsprechende Möglichkeit beschrieben:

a.) Die Update-Seite des PULSECOUNTER aufrufen (siehe nächstes Bild). Dort werden zwei Alternativen eines Updates angeboten: beim Komplett-Update werden Firmware und Parameter (nicht die Zähler) upgedatet, beim Teil-Update wird nur die Firmware aktualisiert, die möglicherweise individuell veränderten Parameter und/oder Systemvariablen-Namen bleiben erhalten..

b.) Mit einem Klick auf den Link Teil-Update oder Komplett-Update die gewünschte Funktion auslösen.

c.) Dann startet der WeMos im Hotspot- bzw. Update-Modus neu. Der weitere Vorgang ist wie oben unter 2. bis 4. beschrieben.

11 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 
  • Nur beim PULSECOUNTER-LAN2: die Schraubklemme IO13 (IR-Geber) darf für das Update nicht angeschlossen sein.
    Alternativ kann man den WeMos alleine (ohne Basisplatine) programmieren
  • USB-Kabelverbindung PC <>  WeMos Modul herstellen (WeMos alleine, ohne Basisplatine !)
  • 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 zeigt sich 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 9600bd, 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

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

12 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 daß man auch wieder auf alte Softwarestände zurück „updaten“ kann. Nach den Updates immer die Parameterliste überprüfen, weil die Parameter beim Update u.U 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. 

21.09.2022: counter_LAN29   Basis Firmware 

22.01.2023: counter_LAN29a   Funktion von param 1  (Betrieb ohne CCU) repariert

05.03.2023: counter_LAN32   Umfangreiches Komplett-Update, um die Robustheit bei LAN-Unterbrechungen zu verbessern, Änderungen bei der Darstellung der Loggerdaten, Watchdog integriert, interner Impulsgenerator jetzt auf 0,5Hz eingestellt.

27.08.2023: counter_LAN34   Verbesserte Kommunikation zwischen ATTINY84 und ESP8266

17.12.2023: counter_LAN35   Excel-Ausgabe korrigert

04.01.2024: counter_LAN36   mögliche Verwendung als Ölzähler integriert

13 Den PULSECOUNTER 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“ 

14 Den PULSECOUNTER 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 PULSECOUNTER übertragen. Weitere Informationen zur RedMatic hier.

15 Den PULSECOUNTER mit IPSymcon  abfragen

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

16 praktische Tipps von Usern

https://smart-wohnen.org/homematic-wasserzaehler-auswerten/

17 Integrierter Impulsgeber für Funktionstest

Es gibt schon mal Schwierigkeiten mit der Qualität der von den verschiedenen Impulsgebern dem PULSECOUNTER2_LAN zur Verfügung gestellten Impulse. Da sind manchmal Störimpulse, Impulspreller und ähnliche Störungen auf dem Signal, die zu einer fehlerhaften Zählfunktion führen können.  Dann ist es oft schwierig den Verursacher zu finden, ob es an der Qualität der Impulsgeber liegt oder ob der PULSECOUNTER nicht ordnungsgemäß funktioniert. Aus diesem Grunde ist im PULSECOUNTER ein einfacher Impulsgeber integriert.  Dieser Impulsgeber erzeugt periodische Impulse  am Port IO0 des WeMos bzw. an der entsprechenden Schraubklemme. Die Periodendauer der Impulse ist fest auf 1sec eingestellt.  Um damit einen Zählerport Z01 bis Z04 zu testen, kann man mit einem Drähtchen den Port IO0 mit dem zu testenden Zählerport verbinden.

in dieser Betriebsart leuchten die vier blauen LEDs etwa 1x pro Sekunde. Die Werte für die Leistungen (nicht die Zählerstände!) müßten nach einigen Minuten etwa so wie auf dem folgenden Bild sich darstellen. Falls das so ist, dann ist mit dem PULSECOUNTER alles o.k. bzw. der Selbsttest erfolgreich.

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

1. 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”.

2. Das Modul ist im Hotpotmodus (192.168.4.1) 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).

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

4. 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 Zeitholen-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.
– Zum Testen kann man das Modul am USB-Port betreiben und auch mit Strom versorgen. Aber im Dauerbetrieb ist das insofern kritisch, weil in diesem Modus die Spannungsüberwachung ausgeschaltet ist und durch irgendwelche Daten aus dem PC der PULSECOUNTER sich resettet  oder sich aufhängt. Also nie dauerhaft den USB-Port verwenden und die 5V-Spannungsversorgung immer über die Schraubklemmen!

Hinweis: Seit den letzten Updates ist die Verwendung des Firefox-Browsers problematisch. Deshalb wird die Verwendung von anderen Browsern empfohlen. 

… und wo kann man den Bausatz bekommen?

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

PULSECOUNTER2-LAN  und der detaillierten aktuellen  Bauanleitung.

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überhinaus 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

Skills

Posted on

21. September 2022