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

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

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

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. Allerding 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 mit Magnet einfach auf die entsprechende Position des digitalen Stromzählers angesteckt und das Datenkabel entsprechend obigem Bild angeschlossen. Danach muß nur noch ein Parameter (param 14) auf der Expertenseite des Moduls eingestellt werden.

Mehr zu diesem Thema hier.

 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:

.

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 

 

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.

… 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

Stromzähler/Smartmeter mit dem PULSECOUNTER 2 auslesen

Stromzähler/Smartmeter mit dem PULSECOUNTER 2 auslesen

Was können digitale Stromzähler/Smartmeter?

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

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

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

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

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

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

Wie werden die Daten gelesen?

Für die Auslesung der Daten wird ein IR-Lesekopf verwendet, der die Lichtimpulse in Spannungssignale umsetzt.  Obwohl es solche Leseköpfe zu kaufen gibt, habe ich bewusst einen eigenen Lesekopf zum Selbstbau entwickelt. Dieser Lesekopf ist besonders flach (wichtig bei wenig tiefen Zählerschränken) und hat eine Anzeige-LED(wichtig!), mit der man einfach erkennen kann, ob an dem eigenen Stromzähler überhaupt Daten ausgegeben werden. Darüber hinaus ist damit sehr gut  eine Justage und Funktionskontrolle möglich. Das folgende Bild zeigt die wirklich einfache Herstellung des Lesekopfes, Ein Bausatz ist hier verfügbar.

Diesen Lesekopf kann man nicht nur zum Lesen des Datentelegramms verwenden, sondern kann ihn auch zur Auswertung der IR-Impuls-LED in Verbindung mit dem normalen Zähleingang des PULSECOUNTER 2 verwenden. Leider ist aber bei den meisten Smartmetern für die Anbringung des Lesekopfes keine Metallplatte vorhanden, an die man den Lesekopf anklipsen kann.  Man muß sich deshalb mit Klebepads oder dergleichen behelfen.

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

Der Anschluß des Lesekopfes an den PULSECOUNTER 2 erfolgt mit nur drei Leitungen wie im folgenden Bild rechts:

Als Eingang für die Daten wird der Impulsausgang (IO13) des WeMos genommen. Dieser Ausgang kann je nach Parameter-Konfiguration der Firmware  zum Testen des PULSECOUNTERS als Ausgang für den eingebauten Impulsgenerator verwendet werden oder aber alternativ hier als neuer Eingang für die Anbindung des IR-Lesekopfes.

Konfiguration des PULSECOUNTER 2

Wenn man ein Smartmeter mit dem PULSECOUNTER 2 auslesen will, dann verwendet man entweder Zähler Z1 und je nach Zählertyp auch noch Z2. Ist das Smartmeter ein einfacher Eintarif-Stromzähler, dann ist nur ein Zähler im PULSECOUNTER 2 dafür belegt. Wenn aber ein Zweitarif-Zähler (z.B. für Nachtstrom) zu Anwendung kommt, dann werden zwei Zähler Z1 und Z2 belegt. Bei Solaranlagen liegt meist ein sog. Zweirichtungszähler vor. Dann sind ebenfalls zwei Zähler Z1 und Z2 für die Anzeige von verbrauchter und rückgespeister Energie notwendig.

Am Beispiel des Zweirichtungszählers wird nachfolgend die Einstellung des PULSECOUNTER 2 dargestellt:

Zuerst wird param 2 auf 0 gestellt, was die Messung über den IR-Lesekopf am Impulseingang aktiviert. Mit dem param 6 auf 3 gesetzt ist ein Zweirichtungszähler (Solaranlage!) aktiviert.  Die param 9, 10 und 7 werden erst mal wie auf dem Bild eingestellt. Dies sind die sog. OBIS-Kennzahlen für die Bezugs-Energie(Z1), die abgegebene Energie (Z2) und die aktuelle Leistung. Was das mit den sog. OBIS-Kennzahlen genau auf sich hat, wird weiter unten beschrieben.

Wenn man die Parameter für seinen individuellen Smartmeter richtig eingestellt hat, dann werden die Messwerte wie auf folgendem Bild dargestellt:

Die Daten werden natürlich automatisch auf die entsprechenden CCU-Systemvariablen repliziert oder aber (wenn man keine Homematic hat) per JSON an beliebige andere IoT-Systeme verschickt. Aktualisiert wird die Webseite etwa alle 15sec, die Versendung der CCU-Daten erfolgt im Minutenraster, um die CCU oder andere nachfolgende Server nicht zu überlasten.

Die Einstellung mit OBIS-Kennzahlen

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

Wichtiger Hinweis zum Schluß

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

… und wo kann man den Bausatz bekommen?

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

PULSECOUNTER-2 im Hutschienen- Format

IR-Lesekopf für Stromzähler

Haftungs- und Sicherheitshinweise

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

Verbräuche Strom, Wasser, Gas, Solar komfortabel messen mit dem PULSECOUNTER2-LAN

Verbräuche Strom, Wasser, Gas, Solar komfortabel messen mit dem PULSECOUNTER2-LAN

Hinweis: Den PULSECOUNTER2 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 mit dieser Variante PULSECOUNTER2-LAN eine Ethernet-LAN Anbindung entwickelt. Ein Umrüst-Bausatz für die bisher ausschließlich verkaufte WLAN-Variante des PULSECOUNTERS wird demnächst ebenfalls verfügbar sein. 

Neue Smartmeter mit bidirektionalen seriellen IR- Datenausgängen können mit dem PULSECOUNTER-2 aktuell (noch) nicht ausgewertet werden. Es gibt zwar bezüglich des Datenformates eine Norm, aber innerhalb dieser Norm sind doch noch erhebliche Variationen möglich, die von den verschiedenen Energie-Versorgungsunternehmen(EVUs) leider ausgenutzt werden. Für den Entwickler war bisher mit erträglichem Aufwand eine Anpassung an die verschiedenen Datenformate der vielen Energieversoger bisher leider nicht möglich. 

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 PULSECOUNTER2-LAN  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
  • 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
  • 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.

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.

Und hier noch ein Bild PULSECOUNTER2-LAN mit  dem bereits fertigen W5500-LAN-Moduls, welches über ein konfektioniertes Flachbandkabel mit dem Hauptcontroller verbunden ist.

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_LAN 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 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 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 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 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 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:

.

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
  • 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:

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. 

16.12.2020: counter_LAN24   Basis Firmware 

10.01.2022: counter_LAN25   Fehler beim JSON-Datenabruf korrigiert .

27.01.2022: counter_LAN26   Zeitangabe im Datenlogger korrigiert .

16.09.2022 counter_LAN27  Das optionale OLED-Display kann über einen Button auf der Hauptseite ein- und ausgeschaltet werden. Damit können bei OLED-Displays im Dauerbetrieb entstehende „Einbrenneffekte“ reduziert werden. Wer eigenes Basteln nicht scheut, kann parallel über einen Taster in Reihe mit einem 330Ohm-Widerstand zwischen Masse und IO02 des WeMos ebenfalls das Display ein- und ausschalten.

27.09.2022: Test-Update counter_LAN30   Auswertung von digitalen Stromzählern mit SML-Datenprotokoll möglich. Weitere Infos in der aktuellen Bauanleitung

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 IO13 des WeMos bzw. an der entsprechenden Schraubklemme. Die Periodendauer der Impulse ist fest auf 0,36s eingestellt.  Um damit einen Zählerport Z01 bis Z04 zu testen, kann man mit einem Drähtchen den Port IO13 mit dem zu testenden Zählerport verbinden.

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.

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

… 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 Haftungsausschluss„-Seite dieses Blogs.

 

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

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

Hier gibt’s weitere  Informationen zur Verwendung des PULSECOUNTER 2 für die Auslesung von digitalen Stromzählern/Smartmetern

Das Vorgängermodell der PULSECOUNTER-1 wurde 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. Insbesondere 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.

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

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 Produktfamilie 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 oder alternativ …
  • 2 Zählereingänge/Impulskanäle plus ein Eingang für Auslesung digitaler Stromzähler mit SML-Datenprotokoll
  • 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 
  • 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
  • Ab Firmware 130 kann können zusätzlich mittels IR-Lesekopf viele übliche
    digitale Stromzähler/Smartmeter
    ausgelesen werden 

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 den den jeweils gültigen Bauanleitungen:

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.

Update: Man kann zur Sensierung des IR-Impulssignales mittlerweile 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.

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 die Datenausgabe mit festgelegten mehr oder weniger umfangreichen 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.

Update: Ab Firmware 130 ist es möglich, auch bestimmte digitale Stromzähler/Smartmeter mit dem IR-Lesekopf auszulesen. Mehr zur konkreten Anwendung gibt es 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 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, Sonderzeichen oder äöüß  enthalten! Das gibt sonst mit vielen Wifi-Chips und auch mit der Homematic nur Ärger und schwierige Fehler.  Bitte keine Email an mich wegen entsprechender Änderungen; das bleibt so wegen meiner schlechten Erfahrungen mit diesem Thema!

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

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

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

192.168.4.1/?reset: oder der Druck auf den RESET-Taster (am WeMos)  startet das Modul neu. Nach 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!

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. 

Basis Firmware 12.10.2020:  counter_106   

Update Firmware 21.12.2020:  counter_107  Bei Zähler Z4 die Anzeige für den Frequenzmodus korrigiert.

Update Firmware 17.01.2021:  counter_112  Die Überwachung der Versorgungsspannung wurde verbessert und die Speicherung der Zählerwerte ins EEPROM verschnellert. Insgesamt wurde das Zahlenformat der Zähler von 32bit auf 64bit vergrößert, so daß jetzt mindestens 8 Vorkommastellen eingestellt werden können.
Impuls-Kennwerte (Impulse pro Einheit) sind nun bis 10000 möglich, wenn die  Pulsdauer im Betrieb mindestens 30ms beträgt.
Im Expertenmodus wird zusätzlich die Versorgungsspannung an den Schraubklemmen angezeigt.
Komplett-Update notwendig und die Zählerstände müssen erneut eingegeben werden, da das Zahlenformat für die Zähler geändert wurde.

Update Firmware 11.03.2021:  counter_113  Optionale Verwendung des 16kbit-FRAM-Speicherbausteins FM24CL16B. Damit werden minütlich die Zählerstände dauerhaft gespeichert, so daß bei Stromausfall nahezu keine Zählimpulse verloren gehen.

Update Firmware 28.03.2021:  counter_114  Anzeige auf der Expertenseite, wenn ein FRAM beim Start erkannt wurde.

Update Firmware 17.04.2021:  counter_115  Resetprobleme bei Verwendung von eigenen und längeren (>14 Zeichen) Systemvariablen-Namen beseitigt. Wenn die Standardnamen verwendet werden, ist ein Update nicht notwendig!

Update Firmware 02.05.2021:  counter_119  Vermeidung von selten auftretenden sporadischen Einbrüchen der Leistungswerte. Der integrierte Impulsgeber ist standardmäßig abgeschaltet, kann mit param 2 zugeschaltet werden. Komplett-Update!

Update Firmware 04.05.2021:  counter_120  Funktionalität des eingebauten Impulsgebers für Testzwecke verbessert. Für die normale Funktion ohne Bedeutung!

Update 27.08.2021 counter_121  Darstellung im Browser verschnellert, Favicon integriert

Update 09.11.2021:  counter_122  Link auf Update-Webseite korrigiert, mit neuem param 5 kann jetzt die WLAN-Betriebsart eingestellt werden:
param 5 = 1 : Tx 802.11b, CCK 11Mbps,    P OUT=+17dBm Rx -80dBm Stromverbrauch Tx 170mA, Rx 50mA
param 5 = 2 : Tx 802.11g, OFDM 54Mbps, P OUT =+15dBm Rx -70dBm Stromverbrauch Tx 140mA, Rx 56mA
param 5 = 3 : Tx 802.11n, MCS7 65Mbps, P OUT =+13dBm Rx -65dBm Stromverbrauch Tx 120mA, Rx 56mA

Update 14.03.2022 counter_124  Prefix für Verwendung mehrerer PULSECOUNTER eingeführt, Favicon-Fehler beseitigt

Update 24.04.2022 counter_132  Umfangreiches Komplett-Update! Auswertung von Smartmetern mit IR-Lesekopf integriert

Update 13.06.2022 counter_135  Im Smartmeter-Modus wird auf der Help-Seite ein Auszug des empfangenen Smartmeter-Datentelegramms dargestellt. Universelle SML-Daten-Dekodierung

Update 27.09.2022 counter_137  Das optionale OLED-Display kann über einen Button auf der Hauptseite ein- und ausgeschaltet werden. Damit können bei OLED-Displays im Dauerbetrieb entstehende „Einbrenneffekte“ reduziert werden. Wer eigenes Basteln nicht scheut, kann parallel über einen Taster in Reihe mit einem 330Ohm-Widerstand zwischen Masse und IO02 des WeMos ebenfalls das Display ein- und ausschalten.

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 .

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

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 einfacher 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ählerport Z01 bis Z04 zu testen, kann man mit einem Drähtchen den Port IO13 mit dem zu testenden Zählerport verbinden. Ich verwende zur Verbindung nicht die Schraubklemme, sondern setze für die Messung einfach eine 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.

Seit Firmware 119 ist der Impulsgeber mit param 2 = 0 standardmäßig abgeschaltet. Er läßt sich für Testzwecke mit param-Werten zwischen 100 und 60000 über einen automatischen Neustart einschalten. Im normalen Zählbetrieb wird allerdings empfohlen, den interrupt-getriebenen Impulsgeber abzuschalten, um Störeinflüsse auf andere Interrupt-Funktionalitäten(I2C-Kommuniklation, WLAN) zu vermeiden.

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

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

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

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

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

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

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

6. Beim WLAN-Netz mit UNIFY-Router verliert das Modul häufig die Verbindung zum Router?
Die Ursachen sind falsche Einstellungen im UNIFY-Router. Ein User hat hier die richtigen Einstellungen gepostet.

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

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

 

… und wo kann man den Bausatz bekommen?

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

PULSECOUNTER-2 im Hutschienen- Format und den  jeweils gültige Bauanleitungen:

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.

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

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

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.

Translate »