Der PULSECOUNTER-1… 4-fach Zählermodul für Strom, Gas, Wasser und Solar

, , ,
Print Friendly, PDF & Email

Wichtiger Hinweis: Mittlerweile gibt es eine neue Version PULSECOUNTER-2

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überhinaus sollte auch eine komfortable Loggerfunktion der stündlichen, täglichen und  monatliche Verbräuche integriert sein

Mehrere erste Versuche mit nur einem Mikrocontroller vom Typ ESP8266 waren nicht erfolgreich, weil bei gleichzeitiger Benutzung der Webseite leider die Zählimpuls-Erkennung über Interrupt nicht ausreichend zuverlässig war. Die aktuelle Lösung verwendet deshalb zusätzlich zum verwendeten ESP8266 noch zwei ATTINY85 Mikrocontroller für die zuverlässige Zählfunktion für insgesamt 4 Kanäle.

Der PULSECOUNTER ist in zwei Verschiedenen Formfaktoren erhältlich:

2 Der PULSECOUNTER ist sehr vielseitig

Der PULSECOUNTER gehört zu der Produkfamilie der WIFFIs. Die Bedienung und Administration des Moduls erfolgt über normale Browser, die Anbindung des Moduls an das Heimnetz mittels WLAN. Ein LAN-Variante ist geplant, aber noch in der frühen Testphase.

Technische Daten:

  • 4 Zählereingänge/Impulskanäle  mit LED zur Statuserkennung
  • Impulsrate bis 1000 Imp/KWh oder Einheit
  • Leistungsmessung durch Auswertung der Pulsfrequenz
  • Differenzzähler integriert beispielsweise für Solaranlagen
  • Zählerinput flexibel verwendbar: Reedschalter, S0-Ausgang, Open-Kollektor, Impulsgeber …
  • Entprellzeiten hardwareseitig einstellbar von 1ms bis 100ms
  • integrierter Impulsgenerator zum Test der Impulseingänge
  • optionales Mini-OLED-Display 0.96“ 128×64
  • 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
  • automatische zyklische  Messwertübertragung an die Homematic oder andere Homeserver
  • Übersichtliche Messwertdarstellung auf eigener Webseite mit Browser
  • Einstellung und Administration auf Webseite mit Browser
  • sehr einfach Updatefähig über WLAN, kein Zugang zum Modul notwendig!
  • 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 
  • alternativ zur CCU ist Datenausgabe auch im JSON-Format möglich
  • optionales OLED-Display zur Anzeige der Zählerstände
  • Controller mit zwei Formfaktoren erhältlich:  50x50mm  oder 2-C Hutschienengehäuse
  • Stromverbrauch ca. 100mA  bei 5V,  „gutes“ Netzteil 5V/1A empfohlen 

Die Datenübertragung erfolgt mit dem hauseigenen WLAN. Die Datenübertragung zur Homematic arbeitet völlig automatisch im Hintergrund, indem die Daten auf entsprechende CCU-Systemvariable abgebildet werden. Für die Verwendung in Verbindung mit ioBbroker oder anderen Hausautomationssystemen kann der PULSECOUNTER anstatt zur CCU auch JSON Daten an eine programmierbare Serveradresse 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. Aber vielleich findet sich in der Community ein „App-Experte“, der aus der eine alternative Darstellungsmöglichkeit für Smartphone oder Tablet schafft.

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 und zur Kontrolle wird auch die Verbindungsqualität des WLAN angezeigt. Im unteren Bereich der Webseite sind schließlich die berechneten Verbrauchswerte der einzelenen Impulszähler. In rot sind die Namen der CCU-Systemvariablen aufgeführt, auf die die Verbrauchdaten automatisch alle 2min 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.

Ab 05/2020 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.


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.

Mit dem optionalen 0.96′-Mini-Display ist auch eine Anzeige der aktuellen Zählerstände und Leistungen direkt am PULSECOUNTER-Modul möglich. Dieses Modul wird einfach auf den WeMos-Controller aufgesteckt. Hier die Lösung bei der 50x50m2 Controllerplatine:

Und hier die alternative Lösung im Hutschienengehäuse:

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 mann 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.

4 Nachbau leicht gemacht

Den PULSECOUNTER-Controller gibt´s nur als Bausatz. Der Nachbau ist auch für den weniger versierten Elektroniker möglich, denn mit dem angebotenen  Bausatz als 50x50m2 Controller   oder im Hutschienengehäuse muß man eigentlich nur die mitgelieferte Platine bestücken und sauber verlöten. Der Mikrocontroller WeMos mini und die beiden ATTINY85 werden  bereits 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  Bauanleitung für den PULSECOUNTER im 50x50mm2- Format  und der Bauanleitung für den PULSCOUNTER im Hutschienenformat   kann eigentlich  wenig „schief “ gehen, wenn man sorgfältig alle Schritte ausführt, über etwas Löterfahrung und ein Multimeter verfügt.

Das Modul baut man nun in ein geeignetes Gehäuse möglichst mit transparentem Deckel ein. Ich verwende ein preiswertes Gehäuse 115x90x55 von Reichelt RND 455-00240, was noch reichlich Platz für die Drahtinstallation bietet. Ein Lüsterklemmenleiste ist ganz hilfreich, wenn mehrere Massekabel angeschlossen werden sollen. Beim Stecker-Netzteil (5V/1A) sollte man auf ordentliche  Qualität achten, da bei billigen Netzteilen oft Störimpulse  zu seltsamen Fehlern führen können. Mehr Details in der Bauanleitung.

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 angeboten, man kann aber auch mit einem einfachen preiswerten Fensterkontakt die Impulse zählen. Das folgende Bild zeigt die Anschlusskonfiguration beider Alternativen für den PULSECOUNTER:

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  und eine preiswerte Variante mit manueller Trimmpoti-Einstellung.

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.

Mittlerweile gibt es im Markt sog. Smartmeter zur Messung des Stromverbrauches. Diese Geräte geben die Daten ebenfalls per Infrarot-LED aus, Aber hier erfolgt über zwei IR-LED ein bidirektionaler Datenaustausch mit festgelegten Datentelegrammen. Es gibt zwar Normen bezüglich des Datenformates, aber leider kocht jeder Hersteller immer noch sein „eigenes Süppchen“, damit man die Auswertegeräte dann auch nur von diesem Hersteller kauft. Es is geplant, auch für den PULSECOUNTER ein entsprechendes Interface zu entwickeln.

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. Nachrüstbare optische Abtastungen sind nur etwas für Bastler, die auch eine entsprechende „Feinmotorik“ haben, um die optische Abtastung an der Wasseruhr zu platzieren.
Anregungen und Lösungsvorschläge zu diesem Thema:
https://www.stall.biz/project/impulsgeber-fuer-den-wasserzaehler-selbst-gebaut
https://homematic-forum.de/forum/viewtopic.php?t=35461

 6 Programmierung und Einstellung

Der PULSECOUNTER 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 PULSECOUNTER zur Einstellung als Hotspot arbeiten läßt.  Auf der eigenen Webseite des PULSECOUNTER (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 drücken. Einige Sekunden  warten bis die rote LED (ab 05/2020 die blaue LED auf dem Wemos-Modul) auf der Platine alle 1sec blinkt (dabei versucht der PULSECOUNTER sich ins WLAN einzuloggen, was natürlich wegen des Fehlens der Zugangsdaten noch nicht geht!).

2. Dann den PROG-Taster (der Taster neben dem WeMos) etwa 2sec drücken bis die rote LED(ab 05/2020 die blaue LED auf dem Wemos-Modul)   im 0,5sec-Takt blinkt. Jetzt ist der PULSECOUNTER im Hotspot-Modus.

3. 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üßte, wenn alles richtig funktioniert, eine gesicherte Verbindung zum „wiffi“ vorhanden sein.

4. Auf dem so im WLAN eingeloggten Smartphone oder Tablet mit der Adresszeile des Browsers die Hotspot-Webseite des PULSECOUNTER  aufrufen mit: 192.168.4.1/?
Die Antwort müßte genauso aussehen wie das folgende Bild vom PULSECOUNTER:

:

5. Jetzt die notwendigen Eingaben in der Adresszeile des Browsers machen. Das macht man mit folgenden Befehlen, die immer mit einem Doppelpunkt abgeschlossen werden:
192.168.4.1/?ssid:my_ssid:  dabei ist „my_ssid“ die SSID des eigenen Routers  (Achtung, die SSID selbstdarf keinen Doppelpunkt enthalten!), am Schluss aber den Doppelpunkt nicht vergessen!
192.168.4.1/?pwd:my_pwd:  dabei ist „my_pwd“ das Router-Passwort des eigenen Routers (Achtung, das PWD selbst darf keinen Doppelpunkt enthalten!), am Schluss aber den Doppelpunkt nicht vergessen!
192.168.4.1/?ccu:my_ccu:  und „my_ccu“ ist die feste (!) IP der eigenen CCU1 oder CCU2 Wenn alle drei Daten richtig eingegeben sind und auf der Webseite auch richtig angezeigt werden , dann ist der PULSECOUNTER startbereit und kann mit dem Befehl:
192.168.4.1/?reset: oder dem Druck auf den RESET-Taster (am WeMos)  neu gestartet werden. Nach einigen Sekunden blinkt die LED  (ab 05/2020 die blaue LED auf dem Wemos-Modul)  solange im 2sec Takt bis der PULSECOUNTER sich im heimischen WLAN eingeloggt hat. Danach sind nur sehr kurze LED-Lichtblitze vorhanden. Diese signalisieren eine erfolgreiche WLAN-Verbindung.

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!

Jetzt kann die Webseite des PULSECOUNTER im Heimnetz aufgerufen werden. Dazu schaut man im Router nach, welche IP der PULSECOUNTER 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 sollte man diese Vorgabe erst mal 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 RAINYMAN an die CCU ist sehr einfach, weil für jedes Sensorsignal nur 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 auch 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_counter_ip  vom Typ „Zeichenkette“
w_counter_1 
vom Typ „Zahl“, 0 bis 999999
w_power_1 vom Typ „Zahl“, 0 bis 50000
w_counter_2  vom Typ „Zahl“, 0 bis 999999
w_power_2 vom Typ „Zahl“, 0 bis 50000
w_counter_3  vom Typ „Zahl“, 0 bis 999999
w_power_3 vom Typ „Zahl“, 0 bis 50000
w_counter_4  vom Typ „Zahl“, 0 bis 999999
w_power_4 vom Typ „Zahl“, 0 bis 50000
w_counter_1_2  vom Typ „Zahl“, 0 bis 999999
w_power_1_2 vom Typ „Zahl“, 0 bis 50000

Wenn man andere Namen als die hier verwendeten Namen benutzen möchte, dann man man die Namen mit dem name-Befehl neu festlegen. Also wenn die Systemvariable w_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. 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 PULSECOUNTER

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

Wichtig: nach jeder neuen IP-Festlegung muß der WeMos hardwareseitig resettet werden. Dazu entweder den seitlichen Taster am WeMos-Modul tasten oder die Versorgungsspannung einige Sekunden unterbrechen.

Die IP-Einstellungen bleiben auch bei Komplett-Updates erhalten. Lediglich beim Werksreset wird auf die Grundeinstellung DHC 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.
Analog dazu müssen die Parameter 22 bis 25 und Parameter 31 bis 34 gesetzt werden. Die anderen Parameter läßt man normalerweise unverändert.

Die mit Widerständen auf der Controllerplatine  festgelegten Entprellzeiten der ATTINY85-Zähler werden ausgelesen und auf dieser Webseite zur Information unten dargestellt. Üblicherweise liegen die Werte bei ca 100ms. Wer kürzere Zeiten benötigt, der sollte sich den Schaltplan ansehen und ggf. Widerstände ändern. Normalerweise ist bei normalen Impulsraten von typischen Zählern hier nichts zu tun!

10 Rückstellen in Werkszustand

Manchmal kann es notwendig sein, die im EEPROM abgelegten Daten zu löschen und den PULSECOUNTER in den Auslieferungszustand zu versetzen. Hierfür wird durch 1sec-Drücken des PROG-Tasters zuerst der Hotspot-Modus eingestellt, was durch 1sec- Blinken der roten LED ( (ab 05/2020 die blaue LED auf dem Wemos-Modul) angezeigt wird. Danach hält man den PROG-Taster  solange gedrückt, bis die rote LED (ab 05/2020 die blaue LED auf dem Wemos-Modul) dauerhaft leuchtet. Jetzt werden die EEPROM-Daten gelöscht. Läßt man die PROG-Taste wieder los, dann startet PULSECOUNTER neu und geht automatisch in den Hotspot-Modus, um so wieder neu an den Router angelernt zu werden. Achtung: nie den PROG- und RESET-Taster am WeMos-Modul gleichzeitig drücken, da das Modul dann in den Programmiermodus geht und u.U. die Firmware beschädigt wird.

11 Update des PULSECOUNTER

Ein Update des PULSECOUNTER kann ohne Demontage bzw. Geräteöffnung komplett über das WLAN erfolgen. Dabei ist der PULSECOUNTER 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 PULSECOUNTER.

Die Update-Seite des PULSECOUNTER aufrufen (siehe nächstes Bild). Dort werden zwei Alternativen eines Updates angeboten: das Komplett-Update nur wenn das bei den Informationen zum Update-File ausdrücklich angemerkt ist und das normalerweise verwendete Teil-Update.

Das Teil-Update mit Klick auf den Link Teil-Update auslösen und mindestens 15sec warten und erst dann den Link Update-Explorer auslösen.

Nach kurzer Zeit öffnet sich der Browser 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:

.

12 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 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. 

Update 15.04.17:  wiffi_counter_8   Basis-Firmware

Update 25.04.17:  wiffi_counter_9   Verwendung mehrere Zähler gleichen Typs aber mit unterschiedlichen Impulsfaktoren. Experteneinstellungen dazu geändert.

Stable Update 07.06.17:  wiffi_counter_10  Impulskennwerte verändert (statt 10x jetzt 1x) , JSON-Ausgabe für Wasserzähler korrigiert,

Stable Update 05.11.18:  wiffi_counter_17  Impulsgeber integriert zum Test der Zähleingänge, Fehler beim LED-Blinken korrigiert, delete-Befehl ergänzt.

Beta Update 03.12.18: wiffi_counter_20  Impulsgeber für Test der Zähleingänge einstellbar und Jitter deutlich verringert, zusätzlichen Differenzzähler integriert, Webseiten-„Kosmetik“.

Beta Update 11.12.18: wiffi_counter_21  0.96′ Mini-Display Anzeige integriert

Beta Update 21.12.18: wiffi_counter_25  USV-Spannungsausfall-Erkennung verschnellert, Watchdog integriert,  bei Ausfall der WLAN-Verbindung zählen die Impulszähler eine gewisse Zeit weiter,

Beta Update 01.01.19: wiffi_counter_27  

Beta Update 04.01.19: wiffi_counter_29  EEPROM-Nutzung verbessert, Update Vorgang verändert, SA und SU-Zeiten herausgenommen

Stable Update 13.08.19:  wiffi_counter_33   Datenlogger verwendet nicht mehr durchgehend MEZ sondern im Sommer MESZ und im Winter MEZ,  Behandlung favicon Browserabfrage, Datenvolumen bei Übertragung des JSON-Telegramms  optimiert.

Beta Update 10.12.19:   wiffi_counter_39 
Zeitserver-Management verbessert, Empfehlung bei Fritzbox als Router: in „Netzwerkeinstellungen“ den Fritzbox-Zeitserver einschalten und fritz.box als Zeitserver einschalten.
Dem Modul kann jetzt mit dem neuen Befehl setip eine feste IP-Adresse zugewiesen werden (Erklärung oben!). Der Update-Server startet jetzt auch mit dieser festen Adresse.

Beta Update 21.01.20:   wiffi_counter_44     Teil-Update zur Beseitigung kleinerer Formfehler., Update-Webseite verbessert.

Beta Update 01.03.20:   wiffi_counter_45  Umschaltung Sommer/Winterzeit korrigiert

Update 23.03.20:   wiffi_counter_46  Stabilitätsverbesserungen bei schnellem Webseitenwechsel

Beta Update 23.03.20:   wiffi_counter_47  Netzwerkeinstellungen bei fester IP verbessert

Beta Update 24.04.20:   wiffi_counter_48   Zahlenformat für Datensendungen an die CCU mit 3 Nachkommastellen

Beta Update 16.05.20:   wiffi_counter_51   Spannungsausfall-Erkennung integriert, LED Blinkschema verändert, Prozessortakt von 80 auf 160Mhz erhöht,

Beta Update 19.05.20:   wiffi_counter_52  ntp-Zeitserver-Synchronisation insbesondere bei fester IP-Adresse verbessert, 160Mhz-CPU-Taktfrequenz

Beta Update 01.06.20:   wiffi_counter_53   Kleiner Fehler bei der „Vortagsberechnung“ korrigiert

Update 03.07.2020 wiffi_counter_60_1  Keine Funktionsveränderung , Webseiten-Speichermanagement komplett überarbeitet, dadurch bessere Stabilität. WLAN-Konnektivität wird auf Expertenseite angezeigt.

 Update 2810.2021 counter_66  Firmware in vielen Details aktualisiert, die Kondensator-USV ist jetzt abschaltbar mit param 4

14 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 .

15 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.

16 Den PULSECOUNTER mit IPSymcon  abfragen

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

17 praktische Tipps von Usern

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

18 Integrierter Impulsgeber für Funktionstest

Es gibt schon mal Schwierigkeiten mit der Qualität der von den verschiedenen Impulsgebern 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 ab Firmware 18 ein hochgenauer Impulsgeber im PULSECOUNTER integriert.  Dieser Impulsgeber erzeugt periodische Impulse  am Port IO13 des WeMos. Die Periodendauer der Impulse ist mit dem param 2 in ms-Schritten einstellbar zwischen 100ms und 60s.  Um damit einen Zählport Z01 bis Z04 zu testen, kann man mit einem Drähtchen den Port IO13 mit dem zu testenden Zählport verbinden. Der Impulsausgang IO13 ist im Bild erkennbar als das dritte Buchsenloch in der oberen Buchsenleiste des WeMos. Das nächste Bild zeigt die Verschaltung am Beispiel des Zählports 01:

Jetzt muß man für den zu testenden Zähleingang (hier Z01) noch die richtigen Parameter im Expertenmodus einstellen. Ich konfiguriere dafür immer den Eingang als Stromzähler (param 31 = 0) und setze die Impulse pro Einheit auf 360 (param 23 = 360). Mit dieser Einstellung und einer Puls-Periodendauer von 1000ms (param 2) stellt sich dann nach einiger Zeit eine Leistung von ca. 10KW ein. Nach einer Stunde Betrieb ist dann sinngemäß ein Verbrauch von 10kWh erreicht. Wenn das so der Fall ist, dann funktioniert der PULSECOUNTER ordnungsgemäß und die Ursachen für mögliche Falschmessungen sind bei den Impulsgebern zu suchen.

Das folgende Bild zeigt den Testaufbau bei der Hutversion des PULSECOUNTERS. Der Ausgang des internen Impulsgebers wird in diesem Beispiel an alle Impuleingänge geschaltet:

Wenn man dann die CCU-Messsignale einige Zeit beispielsweise mit dem Historian aufzeichnet, dann ergibt sich mit der Standardeinstellung der Impulsparameter folgendes Bild:

Oben sieht man die 4 ansteigenden Zählerstände und unten die entsprechenden  Leistungen. Der Peak am Ende war eine kurzzeitige manuelle Unterbrechung des Impulssignals.

… und wo kann man den Bausatz bekommen?

Für den Nachbauer habe ich 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ü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 Haftungsausschluss„-Seite dieses Blogs.

Skills

Posted on

15. April 2018