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

,
Print Friendly, PDF & Email

Das Vorgängermodell der PULSECOUNTER-1 wird schon von vielen Usern verwendet, um mit einem Messmodul nahezu alle Energieverbräuche im Smarthome zu messen. Der neue PULSECOUNTER-2 ist nochmal verbessert worden. Inbesondere kann er jetzt auch moderne Stromzähler mit hohen Impulsraten bis 100 000 Imp/KWh auswerten. Die Berechnung der Leistung aus dem zeitlichen Abstand der letzten beiden Impulse ist verfeinert worden, indem der Zeitabstand nicht in Millisekunden sondern in Mikrosekunden ausgewertet wird. Das erhöht die Genauigkeit insbesondere bei hohen Impulsraten/Impulsfrequenzen. Darüber hinaus ist jetzt als zusätzliches „Schmankerl“ eine Frequenzmessung bis etwa 100Hz möglich, um beispielsweise auch Windmesser mit Impulsausgang auszuwerten. Und letztlich auch sehr wichtig: Die Eingänge sind jetzt hochohmig mit Schmitt-Trigger-Eingängen, um möglichst viele verschiedene Signalquellentypen  auswerten zu können.

Smartmeter mit seriellen Datenausgängen werden mit dem PULSECOUNTER-2 nicht ausgewertet. Die Vielzahl der Varianten ist so groß, daß mit erträglichem Aufwand eine Anpassung an die verschiedenen Datenformate der vielen Energieversoger leider nicht möglich ist.

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 einen ATTINY84 Mikrocontroller für die zuverlässige Zählfunktion für insgesamt 4 Kanäle.

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
  • 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
  • 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
  • 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
  • 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
  • Stromverbrauch ca. 200mA  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 ioBroker oder 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.


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.

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 abklinkt, 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 PULSECOUNTER-Controller gibt´s 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 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  Bauanleitung   kann eigentlich  wenig „schief “ gehen, wenn man sorgfältig alle Schritte ausführt, ü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 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 .

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.  Ursprünglich war geplant, auch für den PULSECOUNTER solch ein Interface zu entwickeln, aber die aktuellen Rahmenbedingungen sind die Vorausetzungen für unendliche Varianten. Obwohl es bezüglich Datenformat eine Norm gibt, so haben doch innerhalb dieser Norm viele Smartmeter-Hersteller und Energieversorger ihre eigene „Interpretation“ umgesetzt, so daß es jedesmal ein neues „Erlebnis“ ist, ein Smartmeter anzupassen. Also warten, bis sich bestimmte „Normen“ zu diesem Thema durchsetzen.

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 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 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 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:
Achtung:
SSID und PWD dürfen zwar Tiefstriche aber keinen Doppelpunkt, Leerzeichen 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 einigen Sekunden blinkt die blaue LED  solange im Sekundentakt, bis der AirSniffer sich im heimischen WLAN eingeloggt hat.

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.

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 (parm 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“ ist normalerweise immer 1, falls der Impulskennwert kleiner gleich 100 ist . Bei Werten bis 1000 sollte der Teilerfaktor  auf 10 gestellt werden. Dann muß man auch 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 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 blauen LED auf dem Wemos-Modul angezeigt wird. Danach hält man den PROG-Taster  solange gedrückt, bis 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.

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: beim Komplett-Update werden Firmware und Parameter (nicht die Zähler) upgedatet, beim Teil-Update wird nur die Firmware aktualisiert.

Das Teil-Update mit Klick auf den Link Teil-Update starten. Danach sieht man ein neues Fenster, in dem man aufgefordert wird, nach frühestens 15sec den Link Update-Explorer auszulö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!

Basis Firmware 12.10.2020:  counter_106   

 

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 im PULSECOUNTER ein  Impulsgeber integriert.  Dieser Impulsgeber erzeugt periodische Impulse  am Port IO13 des WeMos bzw. an der entsprechenden Schraubklemme. 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. Ich verwende zur Verbindung nicht die Schraubklemme, sondern setze für die Messung einfach euine Stiftleiste oben in den WeMos ein so wie auf dem folgenden Bild:

Bei den standardmässigen Parametereinstellungen ( bitte vorher alle Parameter wie oben im Expertenmodus einstellen!) leuchten in dieser Betriebsart die vier blauen LEDs etwa 3x 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.

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.

Fähigkeiten

Gepostet am

12. Oktober 2020

Translate »