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

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

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

Warum diese Entwicklung?

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

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

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

Was können digitale Stromzähler/Smartmeter?

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

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

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

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

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

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

Wie werden die Daten gelesen?

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

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

Wie kommen die Daten in die Hausautomation?

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

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

Die technischen Daten des PowrPilot:

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

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

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

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

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

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

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

Nachbau leicht gemacht

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

Und so sieht der fertige PowrPilot aus:

Und so sieht beispielhaft die Montage im Stromschrank aus.

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

6 Programmierung und Einstellung

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

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

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

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

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

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

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

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

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

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

7 Anlernen an die CCU

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

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

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

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

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

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

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

… und kein Häkchen bei Authentifizierung!

8 Befehlsliste des PowrPilot

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

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

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

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

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

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

9 Einstellungen im Expertenmodus

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

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

Die Einstellung mit OBIS-Kennzahlen

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

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

Update des PowrPilot

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

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

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

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

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

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


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

Update der Firmware über USB

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

Hier die Anleitung mit dem Tool ESP Easy Flasher:

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

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

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

13 Hier die neuesten Firmware-Updates zum runterladen:

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

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

30.06.2022: Update  powrpilot_9  Fehler im JSON-Telegramm korrigiert

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

14 Den PowrPilot mit ioBroker verwenden

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

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

15 Den PowrPilot mit Node-Red  abfragen

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

16 Den PowrPilot mit IPSymcon  abfragen

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

 

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

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

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

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

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

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

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

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

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

 

Wichtiger Hinweis zum Schluß

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

… und wo kann man den Bausatz bekommen?

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

Haftungs- und Sicherheitshinweise

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

 

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.

Ersatz-Windrad und Ersatz-Windfahne für W132 selber bauen

Ersatz-Windrad und Ersatz-Windfahne für W132 selber bauen

Beim WEATHERMAN wird der Windmesser W132 der käuflichen Wetterstation Ventus W177 verwendet. Diese Aussenstation W132 gibt es als preiswertes Ersatzteil, weshalb es für den Einsatz im WEATHERMAN ideal ist. Mittlerweile gibt es aber nur noch die komplette Wetterstation W177; als Ersatzteil ist der einzelne Windmesser W132 kaum noch zu haben. Deshalb wird demnächst ein neuer Windmesser verfügbar sein, der einerseits die Nachteile des W132 beheben soll und andererseits die Abhängigkeit von der begrenzten Lieferbarkeit beseitigt.

Aber der Auslöser für dieses „Projektchen“ war ein handfester Wintersturm, der bei meinem WEATHERMAN die W132_Aussenstation ziemlich beschädigt hat. Dabei wurden das filigrane Windrad aus Kunststoff und auch die etwas stabiler gebaute Windfahne so beschädigt, daß eine Reparatur mit Kleben o.ä. aussichtslos war. Deshalb wurden neue Teile mit dem 3D-Drucker angefertigt, aber gleichzeitig auch die empfindlichen Stellen verstärkt.

Auf dem Bild oben sieht man das Ergebnis. Das Windrad wurde vergrößert, auch wenn damit der Eichfaktor anders ist, als bei der originalen W132. Man kann ja beim WEATHERMAN mit dem param 15  (wind_faktor) das entsprechend korrigieren, so dass das eigentlich kein Problem sein sollte. Der Vorteil einer stabileren Konstruktion gleicht diesen Nachteil m.E. mehr als aus!

Hier sind die Teile, welche man für die Herstellung braucht:

  • Messingstange 3mm Durchmesser aufgeteilt in 4 Teilstücke :  10cm und 3x 6,5cm
  • 2 rostfreie Blechschrauben 2,9X10
  • 4mm Magnet aus dem alten (defekten) Windrad
  • 3D-Ausdrucke  (hier die stl-Files)
  • 2-Komp.-Kleber und ggf. Sprühlack

Nicht vergessen, aus dem defekten originalen W132-Windrad den 4mm Rundmagneten herausnehmen und in das neue Windrad einsetzen! Wenn man die 3D-Teile lackiert, dann ist der Wetterschutz deutlich besser, als mit der rauen Oberfläche aus dem 3D-Drucker.

Hier die 3D-Teile für das Windrad:

Hier die 3D-Teile für die Windfahne:

 

 

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.

 

AirSniffer-CO2 …die CO2-Ampel für Wohnräume

AirSniffer-CO2 …die CO2-Ampel für Wohnräume

Hinweis:
Es gibt eine Serie von verschiedenen AirSniffern, die teilweise unterschiedliche Sensorik haben, aber alle die gleiche Basis-Firmware verwenden :

  • Der AirSniffer ist die „voll ausgebaute“ Basisversion mit Sensorik für die Luftqualität  (BME680) und für den Feinstaubgehalt (PMS5003).
  • Der AirSniffer-mini ist die „kleine Version“ des AirSniffer. Unterschied ist der Verzicht auf die Partikelmessung und ein kleineres Gehäuse.
  • Der AirSniffer-CO2  ist speziell auf eine genaue CO2-Messung  (MH-Z19)  entwickeltes Modul.

1. Motivation

Für die Luftüberwachung gibt es verschiedene Messgeräte zu kaufen, aber alle messen eben nur und warnen ggf. bei zu schlechter Luftqualität. Leider sind die wichtigen Aktionen wie Fenster öffnen und Lüftung einschalten nicht enthalten. Deshalb ist die Integration eines  Luftgütemessers in das Smarthome mit den vielen abgestuften Steuerungs- und Warnmöglichkeiten von besonderem Interesse.

Gerade in Zeiten von Corona ist die Information über die Luftqualität von besonderer Bedeutung für die Gesundheitsvorsorge/Lüftung  in geschlossenen Räumen. Zur Anwendung kommt hier ein hochwertiger CO2-Sensor MH-Z19, der nach dem NDIR-Verfahren arbeitet. Damit ist der CO2-Gehalt mit hoher Genauigkeit unabhängig von anderen Gasen messbar. Deshalb kann das hier vorgestellte Modul in Verbindung mit anderen Smarthome-Komponenten eine Belüftungssteuerung für Wohnräume ermöglichen und damit einen wertvollen Beitrag zur Minderung des Ansteckungsrisikos leisten. Hier mehr zu diesem Thema.

2. Das kann der AirSniffer-CO2

Der AirSniffer-CO2 ist ein weiteres sehr leistungsfähiges Modul einer Reihe von Sensor- und Aktor-Modulen, die hauptsächlich zur  Erweiterung  und  Ergänzung der Hausautomation mit der Homematic konzipiert sind.  Diese Module sind allesamt Funkmodule , die das in nahezu jedem Haushalt vorhandene gesicherte WLAN-Funknetz verwenden, um mit der Homematic-CCU  oder anderen Smarthome-Systemen zu kommunizieren. Im AirSniffer-CO2 sind modernste intelligente Sensoren integriert, die das Modul zu einer  leistungsfähigen Raumsonde für alle Räume im Haus macht .Damit sind eine Vielzahl von Automatisierungsaufgaben im Haus in Kombination mit der Homematic aber natürlich auch mit anderen Smarthome-Systemen möglich.

 Für die Heizung- und Klimasteuerung

  • Messung der Lufttemperatur
  • Messung der relativen  und absoluten Feuchte
  • Messung der Tautemperatur zur  Erkennung von Schimmelbildung
  • Messung des Luftdrucks mit Trendberechnung zur Wettervorhersage

Für die hochwertige Überwachung der Raumluftqualität 

  • Messung CO2-Konzentration mit hochwertigem NDIR-Verfahren
  • Berechnung des Luftqualtätsindex IAQ qualitativ (sehr gut bis ungenügend)
  • Messung des Luftqualitätsindex quantitativ (Wert von 0 bis 500)
  • Sonstige Funktionalitäten
  • Einbindung ins Heimnetz über WLAN
  • komfortable Eingabe der WLAN-Zugangsdaten mit Browser
  • Einfache Update-Möglichkeiten über integrierte Webseite
  • Ampelanzeige der Luftqualität 
  • einfache Integration in das Homematic-System
  • JSON-Datenausgabe an beliebigen Server im Heimnetz
  • optionale 4stellige LED-Anzeige

Die Datenübertragung erfolgt mit dem hauseigenen WLAN. Die Datenübertragung zur Homematic arbeitet völlig automatisch im Hintergrund, indem die Daten kontinuierlich auf entsprechende CCU-Systemvariablen abgebildet werden. Für die Verwendung in Verbindung mit ioBbroker oder anderen Hausautomationssystemen kann der AirSniffer anstatt zur CCU auch JSON Daten an eine programmierbare Serveradresse im Heimnetz versenden. Und natürlich kann man den AirSniffer auch ganz ohne Hausautomation verwenden: dafür hat das Modul seine eigene Webseite, womit die Messdaten im Heimnetz mit jedem üblichen Browser einfach dargestellt werden können. So hat man die aktuellen Zustandsdaten des Wohnraumes jederzeit auch auf dem Tablet oder Smartphone im Blick. Das sieht dann so aus wie auf folgendem Bild:

Das Webseiten-Erscheinungsbild könnte man zwar mit einer App graphisch aufpeppen, aber der Aufwand ist mir einfach zu groß. Schließlich steht die Funktionalität an erster Stelle und die ist mit der aktuellen Webseite voll erfüllt. Wer doch lieber das „Mäusekino“ möchte, der kann über IObroker oder NodeRed sich wunderschöne grafische Anzeigen zusammenstellen.

Oben auf der Webseite sind die blauen Links zu den verschiedenen Webseiten des AirSniffer. Darunter sind die Befehle aufgelistet, mit denen man das Modul komfortabel konfigurieren kann und weiter unten die IP-Adressen des Moduls und der CCU. Im unteren Bereich der Webseite sind die umfangreichen Sensordaten dargestellt. Die Aktualisierung im Browser erfolgt  automatisch im Minutentakt oder manuell durch Anklicken des „manuellen Messwert Refresh“-Links.  In rot sind die Namen der entsprechenden CCU-Systemvariablen aufgeführt, mit denen die Messdaten automatisch synchronisiert werden. Die Replizierung erfolgt intelligent nach verschiedenen Kriterien, damit einerseits eine sehr schnelle Aktualisierung möglich ist und andererseits die Datenrate klein bleibt.

3. Der AirSniffer-CO2 …  Nachbau relativ einfach!

Damit der Nachbau auch für den weniger versierten Elektroniker möglich ist, wurde ein Komplettbausatz entwickelt. Dabei wurde Wert darauf gelegt, daß die zu verlötenden Bauelemente möglichst nur große Standard-Bauteile sind. Der „vielbeinige“ Controller ist bereits auf einer fertigen Modulplatine verlötet und schon programmiert , so daß bei diesem wichtigsten Bauteil keine Probleme auftreten können.  Sorgfalt und der fachgerechte Umgang mit dem Lötkolben sind aber schon erforderlich!  Eine umfangreiche bebilderte Bauanleitung  ohne LED-Anzeige  und mit LED Anzeige macht den Nachbau auch für „Nicht-Nerds“ gut machbar. Nachfolgend das Funktionsschema  des Airsniffer-CO2:

Das Controller-Board holt die Messwerte von den sehr leistungsfähigen Sensoren:

Da ist zuerst der CO2-Sensor MH-Z19. Dieses Modul misst per Infrarot den CO2-Gehalt der Luft nach dem aufwändigen  aber recht genauen NDIR-Verfahren. Das Messsignal wird vom PWM-Ausgang dieses Moduls an den Eingang D0 des WeMos geführt und dort ausgewertet. bt den CO2-gehalt der Luft als sog. Pulsweitensignal (PWM) aus. Versorgt wird der MH-Z19 mit 5V aus dem WeMos. Zur Spannungsglättung ist noch ein 220uF Elko eingebaut.

Luftdruck, Temperatur und Feuchte werden mit dem BOSCH-BME280 gemessen. Dieser ist über den sog. I2C-Bus mit dem WeMos-Controller verbunden.

Und so sieht das Ganze im verlöteten Zustand aus. Mit einer Stromversorgung über ein USB-Kabel aus einem einfachen 5V/1A-USB-Steckernetzteil sind keine Batterien notwendig. Das macht auch Sinn, weil ja im Wohnraum eh Steckdosen vorhanden sind und regelmäßiger Batteriewechsel nur nervt!

Eingebaut wird die Controllerplatine in ein spezielles Gehäuse, das im 3D-Druck hergestellt wird. Die Sensoren und der Controller werden ohne spezielle Werkzeuge einfach nur in das fertige Gehäuse eingeschoben.  Alle Teile und alle zu verlötenden oder steckbaren Sensoren sind beim Bausatz schon dabei. Das Netzteil wird allerdings nicht mitgeliefert. Benötigt wird ein 5V/1A USB-Steckernetzteil.  Dabei sollte man beim Netzteil auf gute Qualität achten, weil diese ja immerhin im Dauerbetrieb arbeiten.  Die einschlägigen Elektronikhändler bieten hier genügend Alternativen an.

Die Luftqualität wird beim AirSniffer-CO2 mit  einer Ampelanzeige (RGB-LED) ähnlich wie auf folgendem Bild beim Airsniffer angezeigt:

4. Programmierung und Einstellung

Der AirSniffer 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 einmalig eingegeben werden. Dies kann sehr komfortabel erfolgen, indem man den AirSniffer zur Einstellung als Hotspot arbeiten läßt.  Auf der eigenen Webseite des AirSniffer (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-Modul drücken oder Versorgungsspannung einschalten. Nach einigen Sekunden blinkt die blaue LED  auf dem WeMos-Modul oder die RGB-LED blau im Sekundentakt . Dabei versucht der AirSniffer sich ins WLAN einzuloggen, was natürlich wegen des Fehlens der Zugangsdaten noch nicht geht!

2. Dann den PROG-Taster etwa 2sec drücken bis die blaue LED im 2Hz-Takt blinkt. Jetzt ist der AirSniffer im Hotspot-Modus (192.168.4.1).

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 ist, wenn alles richtig funktioniert, eine gesicherte Verbindung zum „wiffi“ -Hotspot (AirSniffer) vorhanden.

4. Auf dem so im WLAN eingeloggten Smartphone oder Tablet mit der Adresszeile des Browsers die Hotspot-Webseite des AirSniffer aufrufen mit: 192.168.4.1/?
Die Antwort im Browser ist wie im folgenden Bild:



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 AirSniffer im Heimnetz aufgerufen werden. Dazu schaut man im Router nach, welche IP der AirSniffer bekommen hat (der Name im Router fängt oft mit ESP-… an) und ruft dann einfach diese IP auf, indem man diese IP in die Adresszeile des Browsers eingibt.

Alternativ kann man mit http://airsniffer.local auch die Webseite des Airsniffer aufrufen, aber das funktioniert nicht mit allen Browsern. Die Antwort auf den Browseraufruf mit der AirSniffer-IP ist im folgenden Bild dargestellt:

5. Anlernen an die CCU

Die automatische Verbindung zur CCU wird über Systemvariablen hergestellt, deren Namen vorgegeben sind (in rot im Bild oben). Diesen Namen wird beim AirSniffer noch ein Prefix vorangestellt. Bei mehreren AirSniffern in verschiedenen Räumen kann man damit eine raumspezifische Unterscheidung der Namenskreise machen.  Für das Wohnzimmer wählt man als Prefix z.B. „wz_“ und beim Schlafzimmer „sz_“ . In diesem Beispiel habe ich als Prefix einfach „as_“ gewählt, damit die Systemvariablen des AirSniffer später in der Auflistung der CCU-Systemvariablen immer vorn stehen, aber der Prefix ist eben beliebig! Wie man den Prefix mit dem prefix-Befehl ändert, ist weiter unten bei den Befehlen beschrieben.

Im ersten Schritt sollte man die Namensvorgabe erst mal behalten! Daneben werden auf der AirSniffer-Webseite die aktuellen Sensorwerte  dargestellt.  Diese Werte werden ca. alle 60sec in einem festen Zeitraster im Browser aktualisiert, um das Datenaufkommen für die Signalübertragung zu begrenzen. Durch Aktualisierung der Webseite oder Klick auf den Link manueller Messwert-Refresh kann auch außerhalb des Zeitrasters die Anzeige jederzeit aktualisiert werden.

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. Das eigentliche Anlernen des AirSniffer 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 CCU-Systemvariablen auf der CCU „in einem Rutsch“ 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 richtig angelegt wurden.

Wenn dieses Verfahren nicht erfolgreich ist, dann müssen die Systemvariablen mit dem name-Befehl entsprechend folgender Liste (hier mit dem prefix as_ ) manuell angelegt werden:

as_ip  vom Typ „Zeichenkette“
as_temp
 vom Typ „Zahl“, -50 bis 50 °C
as_taupunkt  vom Typ „Zahl“, -50 bis 50 °C
as_feuchte vom Typ „Zahl“,  0 bis 100 %
as_feuchte_abs  vom Typ „Zahl“, 0 bis100 g/m³
as_baro  vom Typ „Zahl“, 0 bis 1300 hPa
as_luftdrucktrend  vom Typ „Zeichenkette“
as_iaq_rr0_value  vom Typ „Zahl“,  0 bis 1
as_co2_equ  vom Typ „Zahl“,  0 bis 5000
as_iaq_co2  vom Typ „Zahl“,  0 bis 500
as_pm1_0  vom Typ „Zahl“,  0 bis 100
as_iaq1_0   vom Typ „Zahl“,  0 bis 500
as_pm2_5  vom Typ „Zahl“,  0 bis 100
as_iaq2_5   vom Typ „Zahl“,  0 bis 500
as_pm10  vom Typ „Zahl“,  0 bis 100
as_iaq10   vom Typ „Zahl“,  0 bis 500
as_iaq_max  vom Typ „Zahl“,  0 bis 500
as_IAQ_max_note  vom Typ „Zeichenkette“

Wenn man andere Namen als die hier verwendeten Namen benutzen möchte, dann man man die Namen mit dem name-Befehl neu festlegen. 
Will man anstelle des vorgegebenen  prefix  as_  beispielsweise das Prefix wz_ verwenden, dann gibt man in die Browserzeile ein:  <airsniffer_ip>/?prefix:wz_:
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, entweder im festen Zeitraster oder 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!

6. Befehlsliste des AirSniffer-CO2

Auf der Befehlsliste-Seite sind Befehle dargestellt, mit denen bestimmte Eigenschaften des AirSniffer 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 sollte man diese Befehle anwenden. Bei den als Link blau gekennzeichneten Befehlen reicht es, zum Ausführen einfach darauf zu klicken. Die Funktion der einzelnen Befehl ist dem folgenden Bild zu entnehmen:

Beim AirSniffer muß  aber auf jeden Fall im Raum mit sauberer Luft zur ersten Kalibrierung  der calair –Befehl einmalig ausgeführt werden .  Die anderen Befehle sollte man sich ansehen, damit man einen Überblick über die Möglichkeiten hat.

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 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 immer 255.255.255.0

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

Wichtig: nach jeder neuen IP-Festlegung wird der WeMos automatisch resettet.

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

7. Einstellungen im Expertenmodus

Im sog. Expertenmodus. sind zur Erstinstallation einige Parameter einzustellen. Dies macht man mit dem param-Befehl. Um beispielsweise die eigene Ortshöhe (bei mir 186m) einzugeben, lautet der Befehl: <airsniffer_ip>/?param:20:186:  Analog dazu können  nach eigenen Erfordernissen die  anderen Parameter gesetzt werden. Aber bitte nur, wenn man genau weiß, was man damit macht!

Wichtig ist das besondere Verhalten des BOSCH BME680 Moduls zu beachten.  In diesem Sensor ist ein beheiztes Substrat, dessen Widerstand sich bei Schadgas-Einwirkung verändert. Die Toleranzen bei diesem Sensor sind sehr groß. Deshalb ist es notwendig,  nach dem ersten Einschalten des AIRSNIFFERS mindestens 1h zu warten und dann bei frischer Luft im Raum mit dem Befehl <IP>/?calair: einen Nullabgleich durchzuführen. Dieser Nullabgleich ist nach mehreren Betriebstagen zu wiederholen. Aber vorher den Raum immer gut durchlüften, weil damit die Referenz für „gute Luft“ festgelegt wird!

Die Temperaturanzeige des BME680 ist nicht kalibriert!! Es können Abweichungen von mehreren °C vorliegen. Mit dem param 4 kann  eine Kalibrierung erfolgen.  Wird beispielsweise die Temperatur 3°C zu hoch angezeigt, dann gibt in der Adresszeile des Browsers ein: <IP>/?param:4:-30:

8. Rückstellen in Werkszustand

Manchmal kann es notwendig sein, die im EEPROM abgelegten Daten zu löschen und den AirSniffer in den Auslieferungszustand zu versetzen. Hierfür wird durch 1sec-Drücken des PROG-Tasters zuerst der Hotspot-Modus eingestellt, was durch 2Hz- Blinken der blauen LED angezeigt wird. Danach hält man den PROG-Taster  solange gedrückt, bis die blaue LED dauerhaft leuchtet. Jetzt werden die EEPROM-Daten gelöscht, was zum Abschluss mit schnellem Blinken der blauen LED signalisiert wird.  Dann startet der AirSniffer neu und geht automatisch in den Hotspot-Modus, um so wieder neu an den Router angelernt zu werden.

Man kann zusätzlich  auch mit dem factory-Befehl den Werkszustand wieder herstellen, aber das funktioniert nur, wenn auch die Befehlsliste im Browser aufrufbar ist. .

9. Update des AirSniffer

Ein Update des AirSniffer kann ohne Demontage bzw. Geräteöffnung komplett über das WLAN erfolgen. Dabei ist der AirSniffer 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 AirSniffer.
> Die Update-Seite des AirSniffer 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  oder Komplett-Update auslösen. Dann öffnet dieses Fenster:

Jetzt 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 AirSniffer neu mit der upgedateten Firmware gestartet:

.

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

11. Hier die neuesten 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!

Es gibt keine speziellen Updates für den AirSniffer-CO2. Es können die aktuellen Updates des Standard-AirSniffer verwendet werden. 

12. Luftqualität und CO2-Gehalt der Luft

Die Bewertung der CO2-Konzentration in der Raumluft mit einem sog. AirQualityIndex (AQI) ist meines Wissens leider nicht weltweit genormt. Es gibt viele nationale Ansätze, die zwar ähnlich sind, sich aber wertemäßig etwas unterscheiden. In der Auswertesoftware des Airsniffer habe ich eine Bewertungsskala entsprechend folgendem Diagramm umgesetzt. Dies ist keine offizielle Bewertung sondern von mir nach dem Vergleich verschiedener Quellen so festgelegt: 

13. Verwendung mit ioBroker

Der ioBroker-Adapter für den WIFFI-wz ist hier: https://github.com/t4qjXH8N/ioBroker.wiffi-wz

Eine Anpassung für den AirSniffer ist noch nicht erfolgt bzw. müßte man mit der o.a,. Vorlage selbst machen.

Die ioBroker-Adapter Entwicklung im Allgemeinen ist hier beschrieben  https://github.com/ioBroker/ioBroker/wiki/Adapter-Development-Documentation

14. Integration in IP-Symcon

Viele Homematic-User verwenden IP-Symcon zur erweiterten Visualisierung und Steuerung. Hier im IP-Symcon-Forum werden die Grundlagen für die Einbindung und Verwendung  des WIFFI-wz diskutiert und erläutert. Eine konkrete und  sehr hilfreiche Anwendungsbeschreibung beschreibt auch dieser Artikel hier : WIFFI-WZ Multisensor mit IP-Symcon betreiben.

Hier hat ein aktiver User ein Modul für den WIFFI 3.0 geschrieben.

15. Node-Red  verwenden

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

16. Den WIFFI mit Home Assistant nutzen

Hier sind die entsprechen Informationen.

#####  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. 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:  AirSniffer-CO2-Bausatz. Wer vorher einen Blick in die Bauanleitung werfen möchte,
bitteschön: Bauanleitung ohne LED-Anzeige und Bauanleitung mit LED-Anzeige 

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 WEATHERMAN-2 … die ideale Wetterstation für die Hausautomation

Der WEATHERMAN-2 … die ideale Wetterstation für die Hausautomation

Hier wird die nächste Generation meiner Wetterstation WEATHERMAN-2 beschrieben. Viele Erfahrungen von meiner ersten Wetterstation sind in dieser Entwickung berücksichtigt worden. Herausgekommen ist eine Wetterstation, die alle für die Hausautomation wichtigen Meßgrößen erfasst und die Daten über WLAN  an den Browser und/oder den jeweiligen Hausautomations-Server überträgt. Da ich selbst die Homematic verwende wurde das System entsprechend ausgelegt. Mit der Möglichkeit, ein standardisiertes JSON-Datentelegramm an einen beliebigen Server im Heimnetz zu versenden, können natürlich auch andere Hausautomationssysteme wie IObroker oder RedNode mit Wetterdaten versorgt werden.

1  Warum eine besondere Wetterstation für die Hausautomation ?

Ursprünglich wollte ich ja gar keine Wetterstation selber bauen, sondern wollte die für die Homematic vorgesehene Wetterstation nehmen oder ggf. andere Wetterstationen anpassen. Aber nach dem Studium der technischen Daten kam doch etwas Enttäuschung auf: Einerseits war der Preis ganz schön hoch und andererseits fehlten den typischen Wetterstationen wesentliche Eigenschaften, die insbesondere für die Hausautomation wichtig sind.

Das geht schon beim Regenmesser los: Verwendet wird meist ein sog. Regenmengenmesser mit einem Trichter und einer Messwippe. Beim Durchlaufen von Wasser gibt diese Einrichtung Impulse ab, die dann ausgewertet werden. Bei Beginn eines Regenschauers kann das aber u.U. einige Minuten dauern, bis die Wippe schaltet. In dieser Zeit ist die Markise schon nass, bevor sie automatisch eingefahren werden kann. Auch ein zu lange geöffnetes Dachfenster kann zu unangenehmen Wasserschäden führen. Fazit: Für die Hausautomation braucht man einen sehr schnell reagierenden Regenmelder („one drop only“), der zur Zeit nur mit besonderen zusätzlichen externen Modulen (>>50€) darstellbar ist. Gleiches „Elend“ bei der Erkennung, ob Sonne scheint oder nicht. Die meist verwendeten Helligkeitssensoren auf Basis von Fotowiderständen  haben eine viel zu geringe Dynamik, um störsicher sowohl im dunklen Winter als auch im hellen Sommer eindeutig den Sonnenschein zu erkennen. Ein moderner hochdynamischer Helligkeitssensor  ist hier viel besser geeignet. Und natürlich ist es für die Hausautomation wichtig, nicht alleine zu wissen, ob die Sonne scheint oder nicht, sondern wo genau die Sonne am Himmel steht. Nur so kann man dann erkennen, ob beispielsweise Fenster besonnt sind, die dann ggf. automatisch abgeschattet werden können. Deshalb ist eine Berechnung der Sonnenposition unverzichtbar! 

Wetterstationen, die nicht für die Homematic konzipiert sind, können prinzipiell natürlich auch verwendet werden, aber man hat das Problem, die Daten in die Homematic zu bekommen. Zudem sind üblicherweise kein schneller Regenmelder und auch kein Sonnensensor enthalten. Und für mich besonders störend ist die meistens verwendete  Batterie-Stromversorgung. Das ist schon deshalb negativ, weil man üblicherweise eine leistungshungrige Beheizung für den Regenmelder unbedingt braucht.  All diese Argumente führten mich schließlich zum Selbstbau meiner eigenen Wetterstation WEATHERMAN-2.

2  Das kann der WEATHERMAN

Der WEATHERMAN-2 ist die Fortsetzung einer Reihe von Sensor- und Aktor-Modulen ( die WIFFIs), die hauptsächlich zur  Erweiterung  und  Ergänzung der Hausautomation mit der Homematic konzipiert sind. Diese Module sind allesamt Funkmodule , die das in nahezu jedem Haushalt vorhandene gesicherte WLAN-Funknetz verwenden, um mit der Homematic-CCU zu kommunizieren.

Der WEATHERMAN hat eine Vielzahl von Sensoren, mit denen folgende Wettersignale messbar sind:

  • Windgeschwindigkeit mittel in km/h
  • Windgeschwindigkeit spitze in km/h
  • Windstärke in Bft
  • Windrichtung als Text und in Grad
  • Aussentemperatur in °C
  • Aussentemperatur gefühlt in °C
  • Taupunkt-Temperatur in °C
  • rel. Luftfeuchte in %
  • abs. Luftfeuchte in g/m3
  • Luftdruckmessung bez. auf N.N. in mb
  • Luftdruck-Trend zur Erkennung von Wetteränderungen 
  • Regenmelder  (one drop only!) mit einstellberer Empfindlichkeit
  • Regenmengenmesser  mit mm/h und mm/24h
  • Sonnen-/Helligkeitssensor mit einstellbarer Schaltschwelle
  • Sonnenstunden gestern und heute
  • Berechnung Sonnenstand Azimut
  • Berechnung Sonnenstand Elevation
  • Datenlogger 24h und 28Tage integriert
  • optional Temperatur und Feuchte mit dem SHT21
  • optional Himmelstemperatur mit MLX90614 Chip
  • optional UV-Index mit VEML6070 Chip
  • optional separate Temperaturmessung mit DS18B20

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/synchronisiert  werden. Für die Verwendung in Verbindung mit ioBbroker oder anderen Hausautomationssystemen kann der WEATHERMAN anstatt zur CCU auch JSON Daten an eine programmierbare Serveradresse versenden. Und natürlich kann man die Wetterstation auch ganz ohne Hausautomation verwenden: dafür hat der WEATHERMAN sogar seine eigene Webseite, womit die Wetterdaten im Heimnetz mit jedem üblichen Browser einfach angesehen werden können. So  hat man die aktuellen Wetterdaten jederzeit auch 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 gerne eine graphisch „aufgepeppte“ Anzeige haben möchte, der kann dies einfach mit IObroker oder NodeRed machen. Unten sind entprechenden Hinweise dazu. 

Der integrierte Datenlogger zeichnet die Daten der letzten 24h im Stundentakt auf und speichert diese Daten im EEPROM, so daß sie auch bei Spannungsausfall nicht verloren gehen. Darüber hinaus werden täglich um 24h bestimmte Daten gespeichert und sind im Datenlogger für die letzten 28 Tage gespeichert. Das erlaubt sehr komfortabel, sich einen Überblick über die Wetterdaten des letzten Monat zu verschaffen. Mit einem Klick auf den csv-export-Link  kann man sogar die Daten im Excel-csv-Format herunterladen und auf dem heimischen PC ansehen bzw. verarbeiten. Die folgenden Bilden zeigen die entsprechenden Webseiten des WEATHERMAN-Datenloggers. Hier die Daten der letzten 24h:

 und das Wetter der letzten 28 Tage:

3  Nachbau leicht gemacht

Eine sehr gute einfache Lösung bietet sich mit der preiswerten Verfügbarkeit eines Windmessers W132 an, der als Ersatzteil für die komplette Wetterstation W155 oder W177 angeboten wird. Dieses Teil W132 hat einen relativ robusten Windmesser mit einer Windfahne für die Windrichtung. Ebenfalls eingebaut ist ein Temperatur- und Feuchtigkeitssensor mit einer eigenen Elektronik, welche  die Daten normalerweise mittels 433Mhz-Sender an die hier nicht verwendete Basisstation sendet. Im folgenden Bild ist das Modul direkt am Mast befestigt.

Insgesamt besteht der WEATHERMAN aus den im Bild gezeigten Modulen, wobei der Regenmengenmesser und das W132 Ersatzteil fertig gekauft werden. Der WEATHERMAN-Controller kann als Bausatz in meinem Webshop gekauft werden. In der ausführlichen umfangreichen  Bauanleitung wird genau beschrieben, wie die Wetterstation zusammen gebaut wird. Zum Überblick hier nur die wesentlichen Schritte:

Das W132-Modul wird mit einem Kabel modifiziert, so daß die Daten vom WEATHERMAN-Controller verarbeitet werden können. Normalerweise werden die W132-Messdaten intern an den 433Mhz-Sender geschickt und dort ausgesendet. Der WEATHERMAN hört diese Daten einfach ab und dekodiert diese. Die übliche Versorgung des W132 mittels Batterien entfällt, da  das Teil vom WEATHERMAN mit 3,3V versorgt wird. Die dafür notwendige Modifikation des W132 ist relativ einfach: nur drei(!) Leitungen sind für den Anschluss des W132 notwendig. In der Bauanleitung ist detailliert beschrieben, wie die Modifikation des W132 erfolgt. Das folgende Bild zeigt die geöffnete Box des W132 mit den drei verzinnten Leitungen, über die das Modul von aussen mit 3V-Spannung versorgt und das Datentelegramm „angezapft“ wird.

Der WEATHERMAN-Controller ist in einem robusten wassergeschützten kompakten Standard-Gehäuse untergebracht (Bild unten). Dieses Gehäuse nimmt auch den Regensensor (vergoldete Platine) , den Helligkeitssensor mit dem Lichtleiter und im Innenraum den Barometersensor auf. 

Hier ein Eindruck vom Innenleben des Hauptgehäuses mit aufgeklappter Ober- und Unterschale:

Den WEATHERMAN-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 wird  bereits komplett programmiert geliefert, so daß man sich nicht mit der komplexen Arduino-Entwicklungsumgebung „auseinander setzen“ muß.  Aber man sollte schon Erfahrung mit dem Zusammenbau und Inbetriebnahme von elektronischen Modulen haben! Mit der detaillierten umfangreichen Bauanleitung  kann eigentlich  wenig „schief “ gehen, wenn man sorgfältig alle Schritte ausführt, über etwas Löterfahrung und ein Multimeter verfügt.

Der neu entwickelte Regensor ist ein besonderes „Schmankerl“! Dafür wurde eine von unten beheizte Platine mit vergoldeten (Korrosionsschutz!)  Leiterbahnen konzipiert. Ausgewertet wird sowohl die Widerstands- als auch Kapazitätsänderung, wenn ein Regentropfen auf das Messgitter tropft. Damit ist in gewissen Grenzen nicht nur  eine analoge Intensitätsmessung möglich sondern mit einer individuellen Schwellenvorgabe  auch die Schaltempfindlichkeit des Regenmelders einstellbar. Insgesamt ist die Reaktion des Regenmelders inkl. Übertragung zur CCU im Bereich von 1 bis 5sec !!.

Wichtig für eine gute Funktion ist, daß die Sensorfläche fettfrei ist. Sinnvollerweise reinigt man bei der Inbetriebnahme den Sensor mit Spiritus oder dergleichen.

Für den Nachbau habe ich hier die Einkaufsliste mit Bezugsquellen zusammengestellt. Die zugehörigen aktuellen Preise zeigen, daß der Selbstbau des WEATHERMAN relativ preiswert ist. Mal abgesehen davon, daß die Funktionalität insbesondere im Hinblick auf die Nutzung mit der Hausautomation überragend ist.

4 Programmierung und Einstellung

Der WEATHERMAN verwendet als Mikrocontroller mit WLAN den WeMos 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 WEATHERMAN zur Einstellung als Hotspot arbeiten läßt.  Auf der eigenen Webseite im Hotspotmodus des WEATHERMAN (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 bei geöffnetem WEATHERMAN-Controller Gehäuse:

1.RESET-Taster seitlich am WeMos mini drücken. Einige Sekunden  warten bis die blaue LED auf dem WeMos alle 1sec blinkt (dabei versucht der WEATHERMAN sich ins WLAN einzuloggen, was natürlich wegen des Fehlens der Zugangsdaten noch nicht geht!).

2. Dann den PROG-Taster (der Taster auf der Hauptplatine) etwa 2sec drücken bis die blaue LED im 0,5sec-Takt blinkt. Jetzt ist der WEATHERMAN 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 vom Router zum „wiffi“ vorhanden sein.

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

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 darf keinen Doppelpunkt enthalten!)
192.168.4.1/?pwd:my_pwd:  dabei ist „my_pwd“ das Router-Passwort des eigenen Routers (Achtung, das PWD darf keinen Doppelpunkt enthalten!) 192.168.4.1/?ccu:my_ccu:  und „my_ccu“ ist die feste (!) IP der eigenen CCU.
Wenn alle drei Daten richtig eingegeben sind und auf der Webseite auch richtig angezeigt werden , dann ist der WEATHERMAN 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 blaue LED  solange im 2sec Takt ,bis der WEATHERMAN sich im heimischen WLAN eingeloggt hat. 

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 WEATHERMAN im Heimnetz aufgerufen werden. Dazu schaut man im Router nach, welche IP der WEATHERMAN 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://weatherman.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 WEATHERMAN immer diese gleiche IP zuteilt.

Die Antwort auf den Browseraufruf ist im folgenden Bild dargestellt.

Das ist eigentlich schon alles. Für besondere individuelle Anforderungen gibt es noch mehr Befehle, die oben im Bild oder in der „Befehlsliste“ aufgelistet sind. Diese Befehle sind aber nur für besondere Anwendungen und werden weiter unten erklärt.

5 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). Allerdings lassen sich mit dem name-Befehl beliebige andere Namen für die Systemvariablen  definieren. Im ersten Schritt sollte man diese Vorgabe erst mal behalten! Darunter werden auf der WEATHERMAN-Webseite die Sensorsignale der Wetterstation 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 WEATHERMAN an die CCU ist sehr einfach, weil für jedes Sensorsignal nur eine korrespondierende Systemvariable angelegt wird. Entsprechend der Vorgabe (rote Namen) sind folgende Systemvariablen entweder manuell oder automatisch in der CCU anzulegen:

w_ip vom Typ „Zeichenkette“
w_temperatur vom Typ „Zahl“ mit Maßeinheit „°C“
w_windchill vom Typ „Zahl“ mit Maßeinheit „°C“
w_taupunkt  vom Typ „Zahl“ mit Maßeinheit „°C“
w_himmeltemperatur  vom Typ „Zahl“ mit Maßeinheit „°C
w_feuchte_rel vom Typ „Zahl“ mit Maßeinheit „%“
w_feuchte_abs vom Typ „Zahl“ mit Maßeinheit „g/m3″
w_regensensor_wert vom Typ „Zahl“
w_regenmelder vom Typ „Logikwert“
w_regenstunden_heute vom Typ „Zahl“ mit Maßeinheit h
w_regenstaerke vom Typ „Zahl“ mit Maßeinheit mm/h
w_regen_letzte_h vom Typ „Zahl“ mit Maßeinheit mm 
w_regen_mm_heute vom Typ „Zahl“ mit Maßeinheit mm
w_regen_mm_gestern vom Typ „Zahl“ mit Maßeinheit mm
w_barometer vom Typ „Zahl“ mit Maßeinheit mb
w_barotrend vom Typ „Zeichenkette“
w_wind_mittel vom Typ  Zahl mit Maßeinheit m/s
w_wind_spitze vom Typ  Zahl mit Maßeinheit m/s
w_windstaerke vom Typ  Zahl mit Maßeinheit bft
w_windrichtung vom Typ „Zeichenkette“
w_wind_dir vom Typ  Zahl mit Maßeinheit °
w_lux vom Typ „Zahl“ mit Maßeinheit „lux“
w_uv_index vom Typ „Zahl“ 
w_sonne_scheint vom Typ „Logikwert“
w_sonnenstunden_heute vom Typ „Zahl“ mit Maßeinheit „h“
w_elevation vom Typ  Zahl mit Maßeinheit °
w_azimut vom Typ  Zahl mit Maßeinheit °
w_minuten_vor_sa vom Typ „Zahl“ mit Maßeinheit „min“
w_minuten_vor_su vom Typ „Zahl“ mit Maßeinheit „min“

Die oben genannten Systemvariablen sind „normale“ CCU-Systemvariablen, deren Zahl nicht wie bei den HM-Skriptvariablen auf  200 begrenzt ist !

Manuell kann man diese Systemvariablen auf der CCU anlegen wie jede andere Systemvariablen auch. Wichtig ist die exakte Schreibweise, weil sonst die Daten nicht synchronisiert werden.  Es müssen nur diejenigen Systemvariablen definiert werden, die man auch benutzen möchte!

Empfohlen wird aber das automatische Anlegen der Systemvariablen. Dazu einfach den setvar-Befehl eingeben oder noch einfacher den setvar -Link auf der Webseite „Befehlsliste“ anklicken und dann ca. 60sec warten. Damit entfällt das manuelle Eingeben der Systemvariablen!

Die Aktualisierung aller genannten  Systemvariablen erfolgt automatisch, aber nur wenn sich die Messwerte ändern oder in einem vorgegebenen Zeitraster. Dadurch wird vorteilhafterweise der Datenfluss stark reduziert.

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!

 

6 Befehlsliste des WEATHERMAN

Auf der Befehlsliste-Seite sind Befehle dargestellt, mit denen bestimmte Eigenschaften des WEATHERMAN 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 Löschung der Router Zugangsdaten etc. sollte man diese Befehle anwenden.

Die Zeit holt sich  der WEATHERMAN von einem öffentlichen Zeitserver z.B. „pool.ntp.org“ aus dem Internet. Diese Zeitserver sind temporär manchmal überlastet und dann versucht der WEATHERMAN erfolglos die Zeit zu holen. Das kann zu Instabilitäten führen. Abhilfe ist die Verwendung des in vielen Routern eingebauten Zeitservers. Beispielsweise kann man bei der Fritzbox den Zeitserver aktivieren und dann als ntp-Adresse einfach die IP der Fritzbox mit dem im WEATHERMAN verfügbaren ntp-Befehl verwenden.

Einige Erklärungen sind noch für den setip-Befehl notwendig. Damit kann man die Vergabe der IP-Adresse regeln. Standardmäßig  ist DHCP eingestellt, wobei der Router dem Modul eine IP-Adresse zuteilt.  Wenn man dem Modul aber eine bestimmte IP 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

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

7 Einstellungen im Expertenmodus

Das Gleiche gilt für den sog. Expertenmodus. Normalerweise ist  keine Einstellung notwendig!!!!! Einstellungen sollten auch nur dann vorgenommen werden, wenn man wirklich weiß, was man verändert. Im ungünstigen Fall kann der WEATHERMAN irreparabel beschädigt werden. Hier ist diese Einstellungsseite:

8 Optionale Überwachung der WLAN-Verbindung

Wenn man mit den Messwerten des WEATHERMAN in der CCU wichtige Aktoren schalten möchte (Fenster, Markisen etc.) , dann kann es hilfreich sein, eine regelmässige Überwachung der Datenverbindung zwischen WEATHERMAN und CCU zu haben. Mit der regelmässigen Übertragung der WEATHERMAN-IP (ca. alle 5min)  zur CCU lässt sich mit den folgenden zwei einfachen WebUI-Programmen nun erkennen, ob regelmässig Messdaten vom WEATHERMAN in der CCU ankommen. Damit ist auf der CCU-Seite eine grundsätzliche „alive“-Erkennung des WEATHERMAN selbst als auch der WLAN-Strecke zum Router möglich. Für diese beiden WebUI-Programme ist lediglich eine neue Systemvariable w_connect als Logikwert mit den Zuständen Ja/Nein zu definieren:

Die Zeitsteuerung beim zweiten Programm ist auf zyklische Auslösung alle 5min eingestellt. und bei beiden  Programmen das Retrigger-Häkchen beachten!

Und wer wie ich dauernd Probleme mit der CCU-Zeitsteuerung hat, der sollte den Timer von CuxD verwenden, so wie im folgenden Bild:

9 Rückstellen in Werkszustand

Manchmal kann es notwendig sein, die im EEPROM abgelegten Daten zu löschen und den WEATHERMAN 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 angezeigt wird. Danach hält man den PROG-Taster  solange gedrückt, bis die blaue LED dauerhaft leuchtet. Jetzt werden die EEPROM-Daten gelöscht. Läßt man die PROG-Taste wieder los, dann startet WIFFI neu und geht automatisch in den Hotspot-Modus, um so wieder neu an den Router angelernt zu werden. 

10 Update des WEATHERMAN

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

Das Update des WEATHERMAN kann ohne Demontage bzw. Geräteöffnung komplett über das WLAN erfolgen. Dabei ist der WEATHERMAN vorher im Heimnetz über WLAN eingeloggt und die folgende Update-Webseite ist aufrufbar.  Dort werden verschiedene Alternativen zum Updaten des Moduls  angeboten:

 Nach dem Auslösen beispielsweise eines Komplett-Updates kommt dieses Bild:

Jetzt erst 15sec warten, weil der Update-Server gestartet wird und dann erst (nach ca. 15sec)  mit einem Klick auf den Link den sog. Update-Explorer auslösen, welcher folgendes Bild anzeigt. Damit wird der Update-File ausgesucht und mit dem Update-Button das Update gestartet: 

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

Manchmal wird der Update-Server nicht automatisch im Browser sichtbar. Dann eingeben: <IP>/update  (ohne Fragezeichen !)

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 oder der vorhandene WeMos sich „seltsam verhält“, 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  oder ggf. diesen hier bei anderen USB-Chips  
  •  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 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, dann  HTerm verwenden mit serial 115200bd, Newline at „CR+LF“ )
  • 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 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 10.08.2020: wm2_2   Basis-Software

Stable-Update 19.08.2020: wm2_5   Zusätzlicher Befehl „settime:hh.mm.DD.MM.YY:“, mit dem man  die Modulzeit einstellen kann. Dabei wird der standardmäßig automatische Zeitabgleich per ntp/Internet abgeschaltet. Danach ist kein Internet-Zugang für das Modul mehr notwendig! Das kann hilfreich sein, wenn die Internet-Zeitserver nicht sicher verfügbar sind und dadurch „Aufhänger“ des Modul entstehen. Eine gute WLAN-Verbindung ist trotzdem immer notwendig!! Mit „settime“ ohne Argument wird wieder auf die standardmäßige automatische Zeitsynchronisation per ntp zurück geschaltet. 

Update 12.09.2020 WM2_9_2  Schärferer  Bewertungsmassstab für die WLAN-Konnektivität.
Bei der SHT21-Option wurde die Heizung aktiviert: bei Feuchte > 80% wird die Heizung alle 30min für 1 Minute eingeschaltet. Die Temperatur- und Feuchtemessung  ist dabei um ca. 3 Minuten ausgesetzt.  Achtung die SHT-Messwerte sind nach dem Reset frühestens nach 3 Minuten vorhanden! 

Update 01.10.2020 WM2_12_2  Datentransfer zur CCU abschaltbar mit param 3, wenn keine CCU verwendet wird. Berechnung regen_letzte_h korrigiert. 

Update 20.10.2020 WM2_14_2  keine Funktionsänderungen, aber mit neuem Compiler übersetzt >> schneller, aber Firefox macht manchmal Probleme, Chrome ist sehr gut! Rückmeldungen im Forum erwünscht!

Beta-Update 27.10.2020 WM2_15_2  Mit zusätzlicher Einstellmöglichkeit param 24 = 9 kann ein Betrieb ohne Windmesser W132 aktiviert werden. Damit ist quasi ein RAINYMAN-2 realisierbar, der aber unbedingt einen  externen Temperatur/Feuchtesensor (Option SHT21) benötigt. 

Update 26.01.2021 WM2_17_2  Verbesserte Erkennung des optionalen Temperatursensors DS18B20 

Update 10.07.2021 WM2_18_2  Anstelle des BME280 kann jetzt auch ein BMP280 an den I2C-Bus angeschlossen werden

Update 24.08.2021 WM2_20_2  alternativ zum SHT21 kann ein AHT15 verwendet werden. Die erkannten I2C-Module werden im Expertenmodus angezeigt.

Update 26.08.2021 WM2_21_2  Darstellung im Browser verschnellert, Favicon integriert.

Update 01.09.2022 WM2_25_2  Luxmessung Korrektur eingeführt, mit param 32 mit/ohne Korrektur einschalten , Komplett-Update !

13 Den WEATHERMAN 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 WEATHERMAN 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

Eine weitere aktuelle Anleitung findet man hier.

14 Den WEATHERMAN mit Node-Red  abfragen

Ein User des WEATHERMAN hat einen entsprechenden Adapter für das leistungsfähige Node-Red mit einer ausführlichen sehr guten Beschreibung erstellt . Weitere Informationen zur RedMatic hier.

15 Den WEATHERMAN in IP-Symcon verwenden

Hier ist eine sehr gute Beschreibung, wie man den WEATHERMAN in IP-Symcon einbindet:

16 Die Wetterdaten an Wunderground senden

Im Homematic-Forum hat der User MartinBr ein sehr hilfreiches HM-Skript veröffentlicht, mit dem man Sonnen-Strahlungsleistung abschätzt und alle wichtigen Wetterdaten  zu Wunderground senden und dort veröffentlichen kann.  Sehr schön!

17 Die Wetterdaten an OpenWeatherMap senden

Im Homematic-Forum hat User Sailor79 eine sehr schönes HowTo geschrieben, wie man die Wetterdaten zu OpenEWeatherMap hochladen kann 

… und wo kann man den Bausatz bekommen?

Für den Nachbauer  habe ich Bausätze zusammengestellt. Diese  können bei mir bezogen werden:  WEATHERMAN-Controller Bausatz Wer vorher einen Blick in die Bauanleitung werfen möchte, bitteschön: 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.

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

1. Was ist der beste Aufstellungsort?
Das ist nicht grundsätzlich und allgemein zu sagen. Für die Windmessung sollte der WM so hoch wie möglich aufgestellt werden. Für die Temperaturmessung möglichst im Schatten des Hauses auf der Nordseite. Und für die Regenmengenmessung möglichst niedrig und einfach erreichbar, um ggf. Verschmutzungen etc. im Regentrichter zu entfernen. Für die gute Erreichbarkeit im häuslichen WLAN ist besonders die Nähe zum nächsten WLAN-Hotspot wichtig…
Das alles zeigt, es gibt also nicht den richtigen Aufstellort!!

Ich empfehle einen Aufstellort, an dem man leicht an den WM gelangen und auch leicht etwas reparieren kann. Und eben möglichst nahe am WLAN-Hotspot, denn je weiter, umso schlechter ist die Kommunikation und umso häufiger können Abstürze entstehen. Wichtig ist auch, daß man die Versorgungsspannung schaltbar macht, um ggf. mit kurzer Unterbrechung den WM neu zu resetten. 

2. Die rssi-Werte des WM 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.

3. Welches Netzteil soll ich nehmen?
Für die Stromversorgung des WM reichen 1A bei 5V. Die Netzteile haben aber eine oft sehr sehr schlechte Impulsunterdrückung, was man ihnen leider nicht andsehen kann. Beim WM2 ist zwar durch einen 220uF-Elko das Risiko minimiert, kann aber nicht ausgeschlossen werden. 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“.

4. Der WM 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). 

5. Bei direkter Sonne ist die gemessenen Temperatur viel zu hoch!
Der Temperatursensor ist im W132-Gehäuse an der Rückseite an den Lüftungsschlitzen eingebaut. Wenn die Sonne länger auf das Gehäuse scheint, dann läßt sich innendrin trotz Lüftungsschlitz eine Temperaturerhöhung nicht verhindern. Entweder man nimmt dieses hin und freut sich, daß die Sonne so scheint oder man macht erhebliche „Klimmzüge“, um richtig zu messen. Da kann man einen weiteren SHT21-Temperatursensor in ein externes Wetterschutzgehäuse wie beim WM1 einbauen, aber auch damit läßt sich eine gewisse Fehlmessung bei längerer Sonneneinstrahlung nicht verhindern. Die Lösung wäre die Verwendung eines sehr geräumigen belüfteten Wetterhause wie bei professionellen Wetterstationen, eine aktive Belüftung mit Ventiklator oder die völlig getrennte Temperaturmessung auf der Nordseite des Hauses. Für den Genauigkeitsfanatiker ist das ein Riesenfeld, wo er sich austoben kann. Ist aber nichts für mich 😉

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

7. Manchmal ist der WM nicht mehr per Browser sichtbar oder ist „eingefroren“?
Das kann mehrere Ursachen haben:
– Der Router kann möglicherweise dem WM 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 der WM ggf. unter einer anderen IP vorhanden ist. Der Name des WM fängt meist mit ESP… an.
Man kann diese Situation verbessern, indem man dem WM mit dem Befehl „setip“ eine im Router noch nicht vergebene Adresse im Nummernbereich des Heimnetzes fest zuweist. 
– Wenn der WM 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. 

8. Wie schließt man den optionalen externen Temperatursensor SHT21 an?
Der SHT21 verwendet zum Anschluß den I2C-Bus. Deswegen schließt man seine vier Anschlusspins SCL, SDA, GND und VIN einfach paralell zu den gleich bezeichneten Pins des BME280 oder MAX44009 an.

9. Wie schließt man den optionalen externen Temperatursensor DS18B20?
Der optionale 1Wire Temperatursensor zeichnet sich durch hohe Temperaturgenauigkeit aus. Zusätzlich kann er als gekapselte Version relativ einfach in schattigen Bereichen montiert werden. Ein Anschluß ist möglich an der nicht bestückten Grove-Buchse J4 an den Anschlüssen SCLIO2, GND und 3.3V. Zusätzlich muß man einen 4k7-Pullup-Widerstand von SCLIO2 nach +3,3V einlöten (Schaltplan ansehen!). Diese Temperatur hat die höchste Priorität und wird als Aussentemperatur angezeigt.

10. Von welchem Temperatursensor wird die Außentemperatur genommen ? 
Im WM2 sind je nach Konfiguration mehrere Temperatursensoren vorhanden. Die Außentemperatur wird mit der folgenden Priorität übernommen:
– wenn der Windmesser vorhanden ist, dann wird die Temperatur und Feuchte von dieser Station genommen (niedrigste Priorität).
– wenn der BME280 als externer Sensor aktiviert ist (param 9 = 3) , dann wird diese Temperatur und Feuchte als Außentemperatur genommen.
– wenn der SHT21 beim Start erkannt wird, dann wird dessen Temperatur und Feuchte als Außentemperatur genommen.
– wenn der DS18B20 beim Start erkannt wird, dann wird dessen Temperatur und Feuchte als Außentemperatur genommen (höchste Priorität).

11. Kann man das Modul auch ohne Windmesser betreiben?
Ab Firmware-Update WM2_15_2 ist ein Betrieb quasi als „RAINYMAN“ möglich, wenn im „Expertenmodus“ der  param 24  = 9 gesetzt wird. Damit in dieser Konstellation auch die Außentemperatur verfügbar ist,  muß man dazu die Option SHT21 (externer Temperatursensor montiert unter dem Modulgehäuse) verwenden. 

12. Kann man mit einer externen WLAN-Antenne die Kommunikation mit dem Router verbessern?
Ja unbedingt! Natürlich kann man durch Optimierung der WM-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:

 

 

 

 

WIFFI-pump-4 …energiesparende Steuerung der Zirkulationspumpe und Heizungsüberwachung

WIFFI-pump-4 …energiesparende Steuerung der Zirkulationspumpe und Heizungsüberwachung

Der WIFFI-pump-4 ist ein hardwaremäßig überarbeiteter  WIFFI-pump-2. Hauptunterschied zu den vorhergehenden Versionen ist die Verwendung eines hochgenauen Temperatursensors DS18B20 für die Messung der Vorlauftemperatur. anstelle des bisher verwendeten NTC-Thermosensors.  Möglich war der Einsatz dieses Temperatursensors an dieser regelungstechnisch wichtigen Stelle nur mit speziellen Softwareanpassungen, die eine ausreichend schnelle Temperaturmessung mit diesem Sensor möglich machten. 

Die Vorgeschichte

Ich verwende meine  intelligente Steuerung für die  Trinkwasser-Zirkulationspumpe schon seit Jahren. Dafür habe ich eine Lösung mit einem Mikrocontroller Attiny entwickelt , die sehr gut als preiswerte standalone-Lösung funktioniert. Mit einem zusätzlichen Aktor mit allerdings zusätzlichen Kosten ist die Steuerung auch in die Homematic-Hausautomation integrierbar. Diese Lösung wird als Bausatz in meinem Webshop angeboten, weil sie kostengünstig und einfach ist. Zirkulationspumpensteuerung Attiny

Das neue  WIFFI_pump-4  Konzept eröffnet aber viel mehr Möglichkeiten, die über die Funktionalität der „alten“ Zirkulationspumpen-Steuerung weit hinausgehen. Mit dem WIFFI-pump-4 wird wie bisher die intelligente Steuerung der WW-Zirkulationspumpe erreicht aber mit der jetzt verfügbaren WLAN-Anbindung ist ein Datenaustausch sowohl mit der Homematic als auch mit anderen Servern  einfach möglich. Darüberhinaus  lassen sich beim WIFFI-pump-4  zwei hochgenaue Temperatursensoren vom Typ DS18B20 anschließen, um beispielsweise  die Vor- und Rücklauftemperatur zu messen und an die Homematic zu übertragen. Zusätzlich ist sogar für das  kompakte Hutschienengehäuse ein lichtstarkes OLED-Minidisplay optional verfügbar. So kann man zusätzlich auch die Funktion der Heizung überwachen und mit diesen Informationen mit der Homematic  geeignete Aktionen auslösen. 

1 Grundsätzliche Aspekte

Eine Warmwasser-Zirkulation ist ein in der Hausinstallation heute oft eingesetztes Komfortmerkmal, um an allen Zapfstellen im Haus nahezu sofort nach Aufdrehen des Wasserhahnes warmes Wasser verfügbar zu haben. Dazu verwendet man eine Ringleitung, in der eine kleine sog. Zirkulationspumpe  das warme Wasser dauernd oder nur zu bestimmmten Tagesabschnitten im Kreis pumpt. Im Hinblick auf Energieeinsparung kommt schnell der Gedanke auf, durch „intelligentere“ Steuerung das System zu verbessern.

Der erste Gedanke ist meist die Verringerung des Verbrauchs von elektrischer Leistung durch die Zirkulationspumpe. In einem typischen Einfamilienhaus hat die heute meist nur 5W. Das heißt im Dauerbetrieb verbraucht diese Pumpe übers Jahr ganze 44KWh, also mit 25ct/KWH macht das etwa 11€. Allerdings wird  meist eine Schaltuhr  verwendet, die vielleicht 12h schaltet und demnach die Verbrauchskosten auf 6€/Jahr halbiert. Für 6€/Jahr lohnt sich wohl keine  „intelligentere“ Steuerung als eine einfache Schaltuhr! Also warum denn hier was machen?? Der Grund liegt darin, dass die eigentlichen Verluste nicht elektrisch sind, sondern die erheblichen Wärmverluste der Ringleitung. Dazu habe ich Messungen gemacht, die hier auf der Webseite nachgelesen werden können: zirkulationspumpe-warmebedarfsgerecht-geschaltet Das Ergebnis kann man mit wenigen Kennzahlen trendmässig beschreiben: – Elektrische Verluste  der Zirkulationspumpe:  5W   >> Jahreskosten 11€ – Wärmeverluste  der Ringleitung ohne Schwerkraftzirkulation:  60W   >>  Jahreskosten 132€    (mit einem Absperrhahn im Rücklauf wurde die natürliche Zirkulation abgeschaltet ) – Wärmeverluste der Ringleitung mit Schwerkraftzirkulation: 128W   >>  Jahreskosten 282€ !! – Wärmeverluste der Ringleitung mit 12h/Tag laufender Zirkulationspumpe : 562W   >>  Jahreskosten 616€ !!! Ohne jetzt das nur als „Hausnummer“  zu wertende Ergebnis weiter im Einzelnen zu diskutieren, wird eines klar: Eine intelligente Steuerung der Zirkulationspumpe ist nicht wegen der elektrischen Energieeinsparung sinnvoll, sondern hauptsächlich wegen der damit möglichen Reduzierung der Verlustwärme !!

2 Intelligentes Steuerungskonzept

Optimal ist danach, daß die Zirkulationspumpe auch nur dann läuft, wenn auch irgendwo im Haus warmes Wasser möglichst ohne Wärmeverzug gezapft werden soll. Dazu gehört erst mal eine Strategie, um den Nutzerwunsch nach warmem Wasser zu erkennen. Denkbar wäre  ein Bewegungssensor im Badezimmer oder ein  Geräuschmelder in den „Wasserräumen“. Aber oftmals geht man in diese Räume, ohne den Warmwasserhahn zu betätigen . Also doch vielleicht einen Taster in Wasserhahnnähe installieren, den man anstößt, wenn warmes Wasser benötigt wird ? Das widerspricht aber einer „intelligenten“ automatischen Bedienung! Also vielleicht einen Sensor installieren, der den Durchfluss mißt? Zu teuer und das erfordert   einen geeigneten Sensor und einen Eingriff in die Installation… Nein, lieber nicht! Die Lösung ist einfach und auch nicht neu: Am Vorlauf-Ausgang des Warmwasserspeichers wird einfach mit einem Temperatursensor die Temperatur gemessen. Wenn dann warmes Wasser gezapft wird, dann erhöht sich schlagartig dort die Temperatur. Diese Temperaturerhöhung wertet man mit einer Elektronik entsprechend aus und schaltet umgehend die Zirkulationspumpe ein. Diese schiebt nun das warme Wasser schnellstens in die Ringleitung, so dass bereits nach relativ kurzer Zeit  das warme Wasser an der Zapfstelle ist.  Und spätestens jetzt wird klar, daß hierfür eine Pumpe mit möglichst hoher Leistung viel besser geeignet wäre, als die heute mit Schaltuhr eingesetzten Kleinleistungs-Typen. Abgeschaltet wird die Pumpe entweder nach 3 bis 4 Minuten ( wenn die Ringleitung gut und komplett durchspült ist) oder wenn im Rücklauf am Warmwasserspeicher die Temperatur angestiegen ist. Dazu würde allerdings noch ein zweiter Temperatursensor benötigt. Nach mehreren Versuchen mit und ohne zweiten Temperatursensor im Rücklauf wurde die einfache Lösung mit nur einem Temperatursensor im Vorlauf praktisch umgesetzt. Die Vorteile mit einem zweiten Sensor wären nur sehr gering! Die erste Steuerung war analog mit wenigen Bauelementen umgesetzt (siehe Link oben) und hat ein Jahr problemlos gelaufen. Allerdings hatten einige Nachbauer mit Bauteiltoleranzen der analogen Steuerung zu kämpfen, so daß der Wunsch nach einer robusteren digitalen Lösung aufkam, die zudem optional in meine Homematic-Haussteuerung gut integriert werden kann. Damit meine ich, daß die Homematic sowohl die Zirkulationspumpe einschalten kann, als auch bei selbsttätiger Einschaltung die Homematic über den Schaltzustand rückinformiert wird. (bidirektionale Einbindung). Vielleicht wird der eine oder andere Leser die Frage stellen, warum denn nicht gleich die Zirkulationspumpe mit der Homematic steuern? Die Antwort ist einfach, weil die aktuell verfügbaren Homematic-Temperatursensoren mit Aktualisierungsintervallen von 3 und mehr Minuten  viel zu langsam sind!

3 Technische Daten

Mit Verwendung des WeMos D1 mini Controllermoduls mit dem  hochintegrierten Wifi-Chip ESP8266 eröffnen sich ganz neue Möglichkeiten für die kompakte Realisierung eines Steuerungsmoduls im praktischen Hutschienengehäuse. Dabei wird nicht nur die intelligente Steuerung der Zirkulationspumpe nach oben beschriebenen Steuerungsprinzip möglich sondern zusätzlich werden mit dem Modul auch zwei hochgenaue Temperatursensoren abgefragt, deren Meßsignal an die Homematic-CCU übertragen und auf einem optionalen OLED-Minidisplay angezeigt wird. Hier die wesentlichen Eigenschaften des WIFFI-pump-4:

  • schnelle Temperaturmessung am Warmwasser (WW)-Ausgang mit genauem Temperatursensor und …
  • Einschalten der Zirkulationspumpe in Abhängigkeit vom WW-Temperaturanstieg im Auslauf
  • Einschalten der Zirkulationspumpe in Abhängigkeit vom WW-Temperaturabfall (Sonderfunktion)
  • Einschalten mit integrierter Internet-Wochenzeitschaltuhr mit 10 Schaltzeiten
  • beliebiges Einschalten der Zirkulationspumpe auch von der Homematic-CCU direkt
  • zusätzliche Messung von zwei Heizungstemperaturen mit optionalen DS18B20-Sensoren (z.B. Vorlauf- und Rücklauftemperatur )
  • optionales lichtstarkes OLED-Minidisplay zur Anzeige  der Temperaturen
  • kompaktes Hutschienengehäuse nur 2TE
  • einfache Einstellung auf eigenen Webseiten mit dem Browser
  • WLAN-Kommunikation mit dem heimischen Router
  • automatische Kommunikation mit  der Homematic-CCU  oder unabhängiger Standalone-Betrieb
  • Einfaches Update über WLAN  auch im verbauten Zustand
  • JSON-Datentelegramm abrufbar für die Integration in andere Systeme der Hausautomation

4 Elektronische Schaltung

Die gesamte Schaltung konnte auf einer so kleinen Platine realisiert werden, daß sie in ein 2TE Hutschienengehäuse paßt. Auf der einen Seite werden die 5V-Spannungsversorgung (externes 5V-Netzteil mit mindestens  0,5A)  an die Schraubklemmen geschaltet. Auf der anderen Netzspannungsseite ist der Einschaltkontakt für die Zirkulationspumpe verfügbar. Die Statusanzeige erfolgt mit einer LED, die im Betrieb durch ein Schraubklemmenloch erkennbar ist. Diese LED-Anzeige benötigt man nur zum Anlernen und oder zur Funktionskontrolle.  Die gesamte Verschaltung des Moduls zeigt das folgende Bild. Der Temperaturfühler Z mißt die WW-Auslauftemperatur und schaltet bei schnellen Temperaturerhöhungen am WW-Auslauf das Relais zum Einschalten der Zirkulationspumpe. Danach bleibt die Zirkulationspumpe für etwa 4min eingeschaltet, damit das warme Wasser in der WW-Zirkulationsleitung verteilt wird. Die Einschaltzeit von 4min kann an die individuellen Bedürfnisse  im sog. Expertenmodus angepasst werden. Wie das geht, ist weiter unten beschrieben. Aber die gewählten 4min sind für typische Zirkulationsleitungen ein guter Wert. Darüberhinaus können wie im Bild dargestellt sog. 1wire Temperatursensoren  DS18B20 angeschaltet werden, mit denen ohne Eichung eine recht genaue Temperaturmessung möglich ist. Ich verwende diese Sensoren für die Messung der Vorlauftemperatur im Kesselkreis und zur Messung der Vorlauftemperatur für die Fussbodenheizung (nach dem Mischer). Aber was man letztlich damit macht,  kann man flexibel nach eigenen Bedürfnissen anpassen.

 Anmerkung zu den 1Wire-Temperatursensoren mit dem DS18B20:
Die Sensoren werden teilweise mit unterschiedlichen Farben der Anschlussdrähte geliefert. Ich kenne aktuell folgende Versionen:
SCHWARZ = gnd,   GELB = data,  ROT = +3.3V    oder …
SCHWARZ = gnd,   BLAU = data,  ROT = +3.3V    oder …
GELB         = gnd,   GRÜN = data,  ROT = +3.3V     

5 Nachbau leicht gemacht

Den WIFFI-pump-4 gibt´s nur als Bausatz. Der Nachbau ist auch für den weniger versierten Elektroniker möglich, denn mit dem angebotenen   Bausatz des WIFFI-pump4  muß man eigentlich nur die mitgelieferte Platine bestücken und sauber verlöten. Der Mikrocontroller WeMos mini wird 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 Bauanleitung für den WIFFI-pump4   kann eigentlich  wenig „schief “ gehen, wenn man sorgfältig alle Schritte ausführt, über etwas Löterfahrung und ein Multimeter verfügt.

Den Bausatz gibt es optional auch mit den zusätzlich verwendbaren  zwei  1wire-Temperatursenoren vom Typ DS18B20. Diese Sensoren sind schon fertig mit einem 1m Kabel konfektioniert, wobei der Sensor in einer Edelstahlhülse sitzt. Darüberhinaus gibt es optional ein OLED-Minidisplay, das auch nachträglich einfach hinzugefügt werden kann. Nur das Displaymodul aufstecken, die Software erkennt automatisch das Modul. Damit das auch alles sehr professionell aussieht gibt´s zum Display einen passenden Kunststoffrahmen und eine Blende im 3D-Druck für das Hutschienengehäuse dazu.

wiffi_pump2_1

Die Steuerung sollte in einem Installationsgehäuse an einem trockenen Platz in der Nähe der Heizung untergebracht sein. Leitungslängen für die Messsignale sollten möglichst nicht länger als 3m sein. Bei den Signaleitungen sollte man immer Netzleitungen und Signalleitungen getrennt verlegen. Dazu sind alle entsprechenden Sicherheitsregeln für den Umgang mit Netzspannungen unbedingt zu berücksichtigten. Ohne entsprechende Fachkenntnisse muß die Installation unbedingt von Fachpersonal  durchgeführt werden. Siehe auch nochmal meine Warnhinweise hierzu: Warnhinweise

6 Programmierung und Einstellung

Der WIFFI-pump 4 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 WIFFI-pump 4 zur Einstellung als Hotspot arbeiten läßt.  Auf der eigenen Webseite des WIFFI-pump 4 (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 auf der Platine alle 1sec blinkt (dabei versucht der WIFFI-pump 4 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 im 0,5sec-Takt blinkt. Jetzt ist der WIFFI-pump 4 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 WIFFI-pump 4  aufrufen mit: 192.168.4.1/?
Die Antwort müßte genauso aussehen wie das folgende Bild:

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 CCU. Wenn alle drei Daten richtig eingegeben sind und auf der Webseite auch richtig angezeigt werden , dann ist der WIFFI-pump 4 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  solange im 2sec Takt bis der WIFFI-pump 4 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 WIFFI-pump 4 im Heimnetz aufgerufen werden. Dazu schaut man im Router nach, welche IP der WIFFI-pump 4 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://wiffi_pump.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 WIFFI-pump 4 immer diese gleiche IP zuteilt. Die Antwort auf den Browseraufruf der IP ist im folgenden Bild dargestellt.

Dabei ist zu beachten, daß die Messwerte nur beim Aktualisieren der Webseite oder Bedienen des Buttons „Aktualisierung Messwerte“ auch aktuell sind; eine permanente Aktualisierung der Anzeige erfolgt wegen Minimierung des Datenverkehrs nicht!

7 Einstellen der CCU

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 WIFFI-pump 4-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 WIFFI-pump 4 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 angelegt wurden. Wenn dieses Verfahren nicht erfolgreich ist, dann müssen die folgenden Systemvariablen manuell entsprechend folgender Liste angelegt werden:

wiffi_pump_ip  vom Typ „Zeichenkette“
wiffi_temp_A 
  vom Typ „Zahl“, -50 bis 100

wiffi_temp_B  vom Typ „Zahl“, -50 bis 100
wiffi_temp_Z  vom Typ „Zahl“, -50 bis 100
wiffi_pump  vom Typ „Logikwert“, 

Wenn man unbedingt 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 wiffi_temp_A  jetzt vorlauftemperatur heißen soll, dann gibt man ein: <wiffi_ip>/?name:2:vorlauftemperatur:    Aber bitte erst umbenennen, wenn alles unproblematisch läuft ;)). Ich selbst würde nichts umbenennen, weil bei späteren Komplett-Updates jedesmal die geänderten Namen neu eingegeben werden müssen. 

Weitere Infos zu diesem Thema:
>> Die Aktualisierung aller genannten  Systemvariablen erfolgt automatisch, meist nur wenn sich die Messwerte ändern. Dadurch wird vorteilhafterweise der Datenfluss 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:
  • Bei der CCU3 und bei der RaspberryMatic reichen folgende Einstellungen:

… und kein Häkchen bei Authentifizierung!

Das Modul holt sich die Zeit aus dem Internet von den gängigen Zeitservern. Standardmässig ist pool.ntp.org  als ntp-Zeitserver voreingestellt. Wegen der tageszeitabhängig manchmal schlechten Verfügbarkeit dieser Server wird empfohlen, den Zeitserver z.B. in der Fritzbox (mit der Adresse der Fritzbox)  zu verwenden. Vorher muss diese Funktion allerdings in der Fritzbox freigeschaltet werden: >>Heimnetz > Netzwerk > Netzwerkeinstellungen > Zeitsynchronisation

8 Befehle 

Im WIFFI-pump 4 sind eine Reihe von Befehlen integriert, mit denen der WIFFI nach den eigenen individuellen Bedürfnissen eingestellt werden kann (… aber nicht muß!). Dazu sind mehrere Webseiten vorhanden, die durch Anklicken der blauen Schrift-Buttons aufgerufen werden. Die Seite automatische Messwertanzeige   zeigt die Messwerte , alle relevanten Statusinformationen und die möglichen Browser-Befehle.  Mit Anklicken des EIN/AUS-Buttons kann man die Zirkulationspumpe manuell dauerhaft schalten.

Folgende Befehle können aktuell per Browsereingabe verwendet werden (Achtung nie den abschließenden Doppelpunkt vergessen !) .

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 wird der WeMos hardwareseitig resettet .  Die IP-Einstellungen bleiben auch bei Komplett-Updates erhalten. Lediglich beim Werksreset wird auf die Grundeinstellung DHC zurückgesetzt.

9 Internet-Schaltuhr

Seht praktisch ist eine integrierte Schaltuhr mit 10 Schaltzeiten, die sich automatisch mit der aktuellen Internetzeit setzt. Die Schaltuhr kann hilfreich sein, wenn man beispielsweise in der Heizung feste Zeiten für die Desinfektion eingestellt hat. An diesen festen Zeiten kann man dann automatisch auch die Zirkulationspumpe einschalten. Zwar könnte man das auch über die Homematic machen, aber das Gerät soll auch ohne Homematic komfortabel funktionieren. Die Anwendungsmöglichkeiten einer integrierten Schaltuhr sind sicher vielfältig und müssen nicht näher erläutert werden. Mit der Webseite „Schaltzeiten“ können insgesamt 10 Schaltsequenzen gesetzt werden. Das folgende Bild zeigt die Einstellseite:

 Gesetzt werden die Schaltzeiten mit dem time-befehl in der Adresszeile des Browsers. Will man beispielsweise mit der Schaltzeit 1 die Zirkulationspumpe am Samstag (Wochentag 7) um 7h15 bis 8h15 einschalten, dann erfolgt dies mit dem Befehl in der Adresszeile des Browsers:: <ip-wiffi>/?time:1:7:0715:0815: Weitere Erklärungen ergeben sich sicher aus dem obigen Bild der Webseite.

10 Experten-Modus

Als dritte Webseite ist der Expertenmodus vorhanden. Normalerweise sind hier keine Veränderungen durchzuführen. Und man sollte dies auch nur dann tun, wenn man weiß was man da einstellt. Ansonsten kann das Gerät u.U. danach nicht mehr funktionieren. Veränderungen von Kennwerten sind mit dem param-Befehl möglich. Wenn man beispielsweise die Laufzeit der Zirkulationspumpe von den eingestellten 240sec auf 300sec vornehmen will, dann macht man das mit dem Befehl:  <IP-wiffi>/?param:7:300:

11 Rückstellen in Werkszustand

Manchmal kann es notwendig sein, die im EEPROM abgelegten Daten zu löschen und den WIFFI-pump 4 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 LED angezeigt wird. Danach hält man den PROG-Taster  solange gedrückt, bis die LED dauerhaft leuchtet. Jetzt werden die EEPROM-Daten gelöscht. Läßt man die PROG-Taste wieder los, dann startet WIFFI-pump 4 neu und geht automatisch in den Hotspot-Modus, um so wieder neu an den Router angelernt zu werden. 

12 Update des Controllermoduls

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

Die Update-Seite des WIFFI-pump 4 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 WIFFI-pump 4 neu mit der upgedateten Firmware gestartet:

.

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

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

06.07.2020:  wiffi_pump_4.8   Basis-Firmware

Update 18.08.2020: wiffi_pump_4_9   Zusätzlicher Befehl „settime:hh.mm.DD.MM.YY:“, mit dem man  die Modulzeit einstellen kann. Dabei wird der standardmäßig automatische Zeitabgleich per ntp/Internet abgeschaltet. Danach ist kein Internet-Zugang für das Modul mehr notwendig! Das kann hilfreich sein, wenn die Internet-Zeitserver nicht sicher verfügbar sind und dadurch „Aufhänger“ des Modul entstehen. Eine gute WLAN-Verbindung ist trotzdem immer notwendig!! Mit „settime“ ohne Argument wird wieder auf die standardmäßige automatische Zeitsynchronisation per ntp zurück geschaltet. 

Update 28.09.2020 wiffi_pump4_11  Datentransfer zur CCU abschaltbar mit param 1, wenn keine CCU verwendet wird

Update 26.01.2021 wiffi_pump4_14  Auswertung der Temperatursensoren  DS18B20 verbessert. 

Update 07.05.2021 wiffi_pump4_15  mit param 2 ist Schaltlogik wählbar: 0 >> Schalten bei Temperaturanstieg, 1 >> Schalten bei Temperaturabfall

Update 26.08.2021 wiffi_pump4_16  Darstellung im Browser verschnellert, Favicon integriert.

Update 27.09.2022 wiffi_pump4_18  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.

15 Schalten der Zirkulationspumpe mit der Homematic

Eigentlich braucht man die Zirkulationspumpe nicht von der CCU schalten, da sie ja vom WIFFI-pump 4 automatisch in Abhängigkeit von der Temperaturerhöhung am WW-Auslauf eingeschaltet wird.  Aber aus verschiedenen Gründen ist es dennoch sinnvoll, die Zirkulationspumpe zu bestimmten Zeiten einzuschalten. Beispielsweise wenn die Heizung zur Legionellendesinfektion zu einem bestimmten Zeitpunkt die Temperatur im WW-Speicher hochfährt, dann macht ein gleichzeitiges Spülen der Ringleitung durchaus Sinn. Oder wenn man morgens immer zu einer bestimmten Zeit duscht, dann will man nicht warten, bis nach Aufdrehen des Wasserhahnes die Zirkulationspumpe das warme Wasser erst ranbringt. In all diesen Fällen ist ein vorausschauendes zeitgesteuertes Einschalten absolut sinnvoll. Das Einschalten erfolgt mit einem einfachen HM-Skript, das zum gewünschten Zeitpunkt die Pumpe eine bestimmte Zeit einschaltet.

HM_wiffi_prog und hier ist das HM-Skript dazu, das in meinem Beispiel alle 15min zwischen 7h00 und 8h00 aufgerufen wird.

HM-Skript zum Einschalten der Zirkulationspumpe“

!hiermit wird die z_pump  für 300 sec eingeschaltet 
string befehl = "/?trigger:300:";   
string IP = dom.GetObject("wiffi_pump_ip").Value();  !Holt IP_adresse des WIFFI_wz
var send_data = "http://" + IP  + befehl; !Befehl zusammensetzen 
WriteLine(send_data);
string stdout; string stderr;           !und Befehl ausgeben
system.Exec("wget -q -O - '"#send_data#"'", &stdout, &stderr);

Man kann auch einfach mit einem Browser dies ausprobieren, indem man folgenden Befehl eingibt: <ip-wiffi>/?trigger:300:       Danach schaltet die Zirkulationspumpe für 300sec ein. Natürlich kann man solch einen String auch von anderen Rechnern wie Rasberry und Co. abschicken. Somit ist der WIFFI-pump sehr zukunftssicher. Vielleicht mache ich dazu mal eine einfache App . Anregungen dazu nehme ich gerne entgegen!

16 Montage des Temperatursensors

Der Temperatursensor muß am vorlaufseitigen Ausgangsrohr des Wasserspeichers so nah angebracht werden, daß bei Zapfen von warmem Wasser möglichst schnell eine Temperaturerhöhung gemessen wird. Andererseits darf der Sensor nicht zu nah am Wasserspeicher sein, weil sonst die wasserseitige Wärmeausstrahlung das Rohr immer erwärmt. Mein Erfahrungswert für die optimale Leitungsentfernung zwischen Sensor und Speicherausgang ist  etwa 40cm bis 60cm; das hängt vom Leitungsquerschnitt und den räumlichen Gegebenheiten ab. Muß man halt etwas probieren! Test: Wenn die Zirkulationspumpe längere Zeit nicht gelaufen ist, dann sollte der geplante Anbringungsort für den Sensor höchstens handwarm sein! Folie8

Besonders wichtig für eine gute Funktion ist natürlich eine gut entlüftete Ringleitung. Wenn hier sich Luftblasen angesammelt haben, dann ist eine effektive Pumpfunktion nicht möglich. Besonders die Schwerkraftbremse muß einwandfrei funktionieren, damit bei abgeschalteter Zirkulationspumpe auch wirklich kein Wasser zirkuliert. Prüfen kann man das folgendermaßen: Zirkulationspumpe stromlos machen und mindestens 2 Stunden den Kreislauf abkühlen lassen. wenn  danach der Rücklauf  kalt ist und der Vorlauf nur auf dem ersten Meter handwarm, dann ist keine natürliche Zirkulation da und die Schwerkraftbremse ist in Funktion. Danach wird die Zirkulationspumpe eingeschaltet und die Zeit gemessen, bis das warme Wasser am Rücklauf angekommen ist. Wenn nach 2 bis 5 Minuten das warme Wasser im Rücklauf angekommen ist, dann scheint der hydraulische Pumpenkreis wohl in Ordnung zu sein!

17 Hinweise bei Funktionsproblemen

Ein ganz einfacher Funktionstest ist nun möglich, indem man den noch nicht montierten kalten Z-Temperatursensor zwischen den Fingern einige Sekunden anwärmt. Dann muß sofort das Relais einschalten und nach etwa 4min die Zirkulationspumpe wieder abschalten. Wenn das so funktioniert, dann funktioniert der WIFFI-pump 4 richtig! Wenn es nicht funktioniert, dann sind nachfolgend einige mögliche Fehlerursachen aufgelistet:

  • Ist die Leitung des Temperatursensors nicht länger als 3m und liegt möglichst nicht mit anderen Kabeln nah zusammen?
  • Ist das Netzteil in Ordnung ? Sehr oft neigen Billig-Netzteile zu Störungen.
  • Ist der Temperatursensor an einem metallischen Rohr montiert ? Kunststoffrohre funktionieren nicht !
  • Hat der Temperatursensor guten Wämekointakt mit dem Rohr am WW-Auslauf ?
  • Ist der Sensor auch nicht zu nah am WW-Auslauf positioniert, so daß bei  Erwärmung des WW_Speichers die Erwärmung bis in das WW-Auslaufrohr einwirkt.
  • Hat die Zirkulationspumpe eine sog. Schwerkraftbremse ? Bei modernen WW-Pumpen ist das Ventil in der Pumpe. Es gibt aber auch Rückschlagventile, um ein Zirkulation bei abgeschalteter Pumpe zu verhindern.
  • Wenn die Pumpe trotzdem zu häufig schaltet, dann kann in den Experteneinstellungen der Wert param[1] erhöht werden. Typischer Einstellbereich 4 (zu empfindlich)  bis 10 ( unempfindlich). 

Hier noch entsprechende Hinweise von der Help2-Seite des WIFFI-pump 4

18 Daten nach FHEM schicken

Hier ist eine schöne Beschreibung, wie man die Daten zu FHEM schickt und dort auswertet: https://homematic-forum.de/forum/viewtopic.php?f=31&t=32030&start=40#p519715

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

 

 

19 Wo gibt´s den Bausatz ?

Einen kompletten Bausatz des WIFFI-pump 4  kann man in meinem Webshop erwerben:  Bausatz WIFFI-pump 4

 

20 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. Auch die notwendigen Eingriffe in das Heizungssystem dürfen nur von ausgebildeten Fachpersonal durchgeführt werden. Es sind die geltenden Sicherheitsvorschriften und die DVGW-Richtlinien einzuhalten.

 

RAINYMAN … der leistungsfähige Multisensor für Regen, Sonne, Klima, Bodenfeuchte und mehr!

RAINYMAN … der leistungsfähige Multisensor für Regen, Sonne, Klima, Bodenfeuchte und mehr!

1 Der RAINYMAN ist der kleine Bruder des WEATHERMAN

Den WEATHERMAN als leistungsfähige Wetterstation für die Homematic und andere Hausautomationssysteme haben schon viele mit großem Erfolg nachgebaut. Bei einigen Usern kam in letzter Zeit der Wunsch nach einer „abgespeckten“ Variante auf, die ohne den Windmesser arbeitet aber zuverlässig und schnell Regen und Sonne erkennen kann. Mit dem RAINYMAN ist eine besonders robuste, vielseitige und preiswerte  Lösung entstanden, die neben der zuverlässigen Regen- und Sonnenerkennung auch noch das Aussenklima (Temperatur und Feuchte) erfassen kann.  Ein weiteres Highlight ist die optionale Messung der Erdfeuchte, was insbesondere im Sommer hilfreich für die Steuerung der Garten-Bewässerung ist.

Der Rainyman ist deshalb der Sensor wenn es um die Erfassung von Wasser geht; deshalb auch der Name! Wer mehr Details über das Konzept wissen möchte, der sollte hier beim WEATHERMAN nachlesen.

2  Das kann der RAINYMAN

Der RAINYMAN ist die Fortsetzung einer Reihe von Sensor- und Aktor-Modulen ( die WIFFIs), die hauptsächlich zur  Erweiterung  und  Ergänzung der Hausautomation mit der Homematic konzipiert sind. Diese Module sind allesamt Funkmodule und verwenden das in nahezu jedem Haushalt vorhandene gesicherte WLAN-Funknetz für die Kommunikation. Besonderes Augenmerk wurde beim Konzept des RAINYMAN auf eine sehr gute Wetterfestigkeit gelegt, gewissermaßen als Ergebnis vieler eigener „leidvoller“. Erfahrungen mit verschiedenen käuflichen (fertigen) Wetterstationen. Der RAINYMAN kann mit dem 1m-Trägerstab direkt im Garten in ca. 60cm Höhe „eingepflanzt“  werden oder aber mit einem Winkel o,ä. am Haus oder an Gartenpfählen befestigt werden, falls dort auch Regen und Sonneneinstrahlung gut hinkommen.

Der RAINYMAN hat eine Vielzahl von Sensoren, mit denen folgende Wettersignale messbar sind:

  • Regenmelder  (one drop only!) mit einstellbarer Empfindlichkeit
  • Regenmelder automatisch beheizt zur Tau-, Schnee- und Eisvermeidung
  • Thermischer Sonnenmelder zur Erkennung Sonnenschein
  • zusätzlicher Helligkeitssensor mit sehr weitem Dynamikbereich
  • Berechnung Sonnenstand Azimut
  • Berechnung Sonnenstand Elevation
  • Regenmengenmesser  mit mm/h und mm/24h (mit Option Regenmengenmesser)
  • Aussentemperatur in °C (mit Option BME280 Wetterkappe)
  • Aussentemperatur gefühlt in °C (mit Option BME280 Wetterkappe)
  • Taupunkt-Temperatur in °C (mit Option Wetterkappe)
  • Mittlere Tagestemperatur in °C (mit Option Wetterkappe)
  • rel. Luftfeuchte in % (mit Option BME280 Wetterkappe)
  • abs. Luftfeuchte in g/m3 (mit Option BME280 Wetterkappe)
  • Luftdruckmessung bez. auf N.N. in mb (mit Option BME280 Wetterkappe)
  • Luftdruck-Trend zur Erkennung von Wetteränderungen  (mit Option BME280 Wetterkappe)
  • Bodenfeuchte Erkennung  (mit Option Bodenfeuchtesensor)
  • Datenlogger für die letzten 24h und die letzten 28 Tage

Und so sieht der RAINYMAN bei mir im Garten aus. Der Regenmelder im Controllergehäuse ist auf einem Alu-Profilstab befestigt und einfach in den Boden gesteckt. Unterhalb ist die Kleinverteilerdose, in der  bei mir das 5V/1A-Netzteil untergebracht ist. Man kann das Netzteil auch im Haus ans Netz schalten und den Rainyman dann mit einer Leitung für die 5V verbinden. Bei langen Zuleitungen emphiehlt sich, direkt im WEATHERMAN-Controller einen Pufferelko parallel an die 5V-Versorgung zu schalten; 470uf aufwärts sollten dafür schon verwendet werden. Im Kleinverteilergehäuse ist auch die Anschlußmöglichkeit für den Erdfeuchtesensor. welcher möglichst  in der Nähe (1m-Kabel) in den Boden gesteckt werden kann.

Die Kommunikation des Moduls erfolgt über das hauseigene WLAN. Und natürlich kann man die Wetterstation auch ganz ohne Hausautomation verwenden! Dafür hat der RAINYMAN sogar seine eigene Webseite, womit die Wetterdaten im Heimnetz mit jedem üblichen Browser einfach dargestellt werden können. So  hat man die aktuellen Wetterdaten jederzeit auch auf dem Tablet oder Smartphone im Blick. Man gibt dazu im Browser die vom Router vergebene IP des RAINYMAN ein oder einfach rainyman.local und erhält die folgende Webseite, auf der alle Sensorsignale dargestellt werden. Automatisch aktualisiert der Browser die Signale alle 60sec oder aber man klickt auf Aktualisierung. und bekommt die letzten Messwerte sofort dargestellt:

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.

Ein besonderer Vorteil des RAINYMYAN liegt darin, daß er ausgezeichnet mit der Homematic zusammenarbeitet. Dabei erfolgt  die Datenübertragung zur Homematic völlig automatisch im Hintergrund, indem die Daten auf entsprechende CCU-Systemvariable abgebildet werden. Mehr dazu weiter unten. Für die Verwendung in Verbindung mit ioBbroker oder anderen Hausautomationssystemen kann der RAINYMAN anstatt zur CCU auch JSON Daten an die entsprechende programmierbare Serveradresse versenden.

Der integrierte Datenlogger zeichnet die Daten der letzten 24h im Stundentakt auf und speichert diese Daten im EEPROM, so daß sie auch bei Spannungsausfall nicht verloren gehen. Darüber hinaus werden täglich um 24h bestimmte Daten der letzten 28 Tage gespeichert. Das erlaubt sehr komfortabel, sich einen Überblick über die Wetterdaten des letzten Monat zu verschaffen. Mit einem Klick auf den csv-export-Link  kann man sogar die Daten im Excel-csv-Format herunterladen und auf dem heimischen PC ansehen bzw. verarbeiten. Die folgenden Bilden zeigen die entsprechenden Webseiten des WEATHERMAN-Datenloggers.

Hier die Daten der letzten 24h:

Bilder fehlt noch, da Daten noch im Aufbau

und das Wetter der letzten 28 Tage:

Bilder fehlt noch, da Daten noch im Aufbau

3  Nachbau wirklich einfach und preiswert

Für den Nachbau gibt es einen Bausatz für den Aufbau des auch für den RAINYMAN verwendeten Controllers, Der verwendete Mikrocomputer ist schon programmiert, so daß eigentlich nur mit etwas „Lötgeschick“ die Platine zusammengelötet werden muß. Natürlich sind dazu einige Lötkenntnisse notwendig, aber bewußt wurden keine kleinen SMD-Bauteile verwendet, so daß mit etwas Geschick die Module relativ einfach zusammen zu bauen sind. Den besten  Eindruck zum Zusammenbau bekommt man mit dem Studium der umfangreichen Bauanleitung.

Darüberhinaus sind noch einige mechanische Teile wie Gehäuse und Aluprofil etc. notwendig. Hier die Einkaufsliste mit den Bezugsquellen:

Mit Gesamtkosten zwischen 76 und 110€, je nach Ausbaugrad, erhält man einen perfekten Multisensor, der im Vergleich zu entsprechenden käuflichen Fertigprodukten nicht nur deutlich preiswerter sondern funktional auch deutlich vielseitiger und leistungsfähiger ist. Und natürlich hat man mit Selbstbau viel mehr Freude am Hobby und durchschaut seine verwendeten Komponenten viel besser. Mittlerweile haben viele User mit Hilfe der ausführlichen Bauanleitung den Schritt zum Selbstbau eigener Module gewagt und zeigen damit, daß man auch anspruchsvolle Elektronik heutzutage sehr wohl selber bauen kann.

Nachfolgend einige bildliche Impressionen vom Gerät. Ausführlicher steht alles in der Bauanleitung.

Der RAINYMAN ist in einem robusten wassergeschützten Standard-ABS-Gehäuse untergebracht. Dieses Gehäuse nimmt auch den Regensensor, Sonnensensor, Helligkeitssensor und Barometersensor auf.  Hier ein Eindruck vom Innenleben des Hauptgehäuses mit der Ober- und Unterschale:

Den  RAINYMAN gibt´s nur als Bausatz. Der Nachbau ist auch für den weniger versierten Elektroniker möglich, denn mit dem angebotenen  RAINYMAN-Bausatz muß man eigentlich nur die mitgelieferte Platine bestücken und sauber verlöten. Der verwendete Mikrocontroller WeMos D1 mini wird  bereits komplett programmiert geliefert, so daß man sich nicht mit der Arduino-Entwicklungsumgebung „auseinander setzen“ muß.  Aber man sollte schon etwas Erfahrung mit dem Zusammenbau und Inbetriebnahme von elektronischen Modulen haben! Mit der detaillierten  Bauanleitung kann eigentlich  wenig „schief “ gehen, wenn man sorgfältig alle Schritte ausführt, über etwas Löterfahrung und ein Multimeter verfügt.

Das folgende Schaltungschema zeigt die grundsätzliche Funktion. Herzstück ist der Regensensor mit einer rückseitigen Beheizung, die bei Regen und Tau-Neigung stufenlos einsetzt. Ein NTC-Sensor unter einer Lichtkappe erwärmt sich stark bei Sonneneinstrahlung und funktioniert so als thermischer Sonnensensor. darüberhinaus ist noch ein Helligkeitssensor BH1750 mit großem Dynamikumfang unterhalb der Lichtkappe wettergeschützt untergebracht. Optional kann man noch einen Erdfeuchtesensor und einen Regenmengenmesser (Wippenprinzip) anschließen, um im Sommer die Bewässerungsanlage für den Garten zu steueren. Und schließlich kann man mit dem optionalen Sensor BME280 die Aussentemperatur, die relative Luftfeuchte und den Luftdruck messen. Damit das Messergebnis möglichst wenig durch direkte Sonneneinstrahlung verfälscht wird, ist eine belüftete Wetterkappe im 3D-Druck erhältlich. Das notwendige 5V/1A-Netzteil ist nicht im Rainyman-Gehäuse untergebracht, sondern wird entweder im Haus betrieben oder in einem wasserdichten Kleinverteilergehäuse direkt am Rainyman Halterdstab.


Der neu entwickelte Regensor ist ein besonderes „Schmankerl“! Dafür wurde eine von unten beheizte Platine mit vergoldeten (Korrosionsschutz!)  Leiterbahnen konzipiert. Ausgewertet wird sowohl die Widerstands- als auch Kapazitätsänderung, wenn ein Regentropfen auf das Messgitter tropft. Damit ist in gewissen Grenzen nicht nur  eine analoge Intensitätsmessung möglich sondern mit einer individuellen Schwellenvorgabe  auch die Schaltempfindlichkeit des Regenmelders einstellbar. Insgesamt ist die Reaktion des Regenmelders inkl. Übertragung zur CCU im Bereich von 1 bis 5sec !!. Mittig im Regensensor ist eine LED integriert, die das Einschalten des Regenmelders signalisiert. Das folgende Bild zeigt links die Sensorfläche und rechts die Unterseite mit den Kontaktstellen für die Heizwiderstände und die mittige  LED.

Wichtig für eine gute Funktion ist, daß die Sensorfläche fettfrei ist. Sinnvollerweise reinigt man bei der Inbetriebnahme den Sensor mit Spiritus oder dergleichen.

Zusätzlich kann optional  noch ein typischer konventioneller Regenmengenmesser angebaut, dessen Zählimpulse vom RAINYMAN ausgewertet werden. Dieses Gerät ist ein im Internet relativ preiswert verfügbares Modul. Kann man beispielsweise bei Aliexpress mit dem Suchwort „rain gauge“ finden. Das folgende Bild zeigt den Regenmengenmesser am WEATHERMAN, aber die Montage ist beim RAINYMAN genauso.

Ein  Bodenfeuchtesensor kann optional am RAINYMAN angeschlossen werden. Er funktioniert genauso wie der Regenmelder  nach dem Wechselstromprinzip.. Das ist bei der Messung der Bodenleitfähigkeit besonders wichtig,  weil bei Messung mit Gleichströmen auf Dauer erhebliche Korrosion an den Messelektroden entsteht. Mehr dazu hier: robuster-bodenfeuchtesensor-fur-den-ausseneinsatz

Der verwendete Sensor besteht aus zwei rostfreien Fahrradspeichen, die mit Lüsterklemmen kontaktiert werden. Damit die Anschlüsse wettergeschützt sind, wurde ein Anschlussgehäuse im 3D-Druck entwickelt, das man selbst ausdrucken kann oder aber im Rahmen der RAINYMAN Option „Bodenfeuchtesensor“ in meinem Webshop kaufen kann. Die folgenden Bilder zeigen weitere Details des Bodenfeuchtesensors:

 4 Programmierung und Einstellung

Der RAINYMAN 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 RAINYMAN zur Einstellung als Hotspot arbeiten läßt.  Auf der eigenen Webseite des RAINYMAN (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 bei geöffnetem Controller Gehäuse:

1.RESET-Taster seitlich am WeMos mini drücken. Einige Sekunden  warten bis die rote LED auf der Platine alle 1sec blinkt (dabei versucht der RAINYMAN 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 im 0,5sec-Takt blinkt. Jetzt ist der RAINYMAN 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 RAINYMAN  aufrufen mit: 192.168.4.1/?
Die Antwort müßte genauso aussehen wie das folgende Bild vom WEATHERMAN:

:

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 darf keinen Doppelpunkt enthalten!)
192.168.4.1/?pwd:my_pwd:  dabei ist „my_pwd“ das Router-Passwort des eigenen Routers (Achtung, das PWD darf keinen Doppelpunkt enthalten!)
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 RAINYMAN 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  solange im 2sec Takt bis der RAINYMAN 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 RAINYMAN im Heimnetz aufgerufen werden. Dazu schaut man im Router nach, welche IP der RAINYMAN 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://rainyman.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 RAINYMAN immer diese gleiche IP zuteilt. Die Antwort auf den Browseraufruf ist im folgenden Bild dargestellt.

Das ist eigentlich schon alles. Für besondere individuelle Anforderungen gibt es noch mehr Befehle, die oben im Bild aufgelistet sind. Diese Befehle sind aber nur für besondere Anwendungen und werden weiter unten erklärt.

5 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 RAINYMAN-Webseite die aktuellen Sensorsignale der Wetterstation 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) sind folgende Systemvariablen in der CCU anzulegen:

Anmerkung: ab Firmware rainyman 42 kann man mit dem Befehl setvar die u.a. CCU-Systemvariablen auch automatisch auf der CCU anlegen lassen. Einfach den setvar-Link anklicken und ca. 60sec warten. Damit entfällt das folgend beschriebene manuelle Eingeben der Systemvariablen!

w_ip vom Typ „Zeichenkette“
w_rain_activity vom Typ „Zahl“
w_rain_status vom Typ „Logikwert“
w_rain_intensity vom Typ „Zahl“ mit Maßeinheit mm/h (nur bei Option Regenmengenmesser)
w_rain_volume_1 vom Typ „Zahl“ mit Maßeinheit mm/1h (nur bei Option Regenmengenmesser)
w_rain_volume_24 vom Typ „Zahl“ mit Maßeinheit mm/24h (nur bei Option Regenmengenmesser)
w_rain_yesterday vom Typ „Zahl“ mit Maßeinheit mm (nur bei Option Regenmengenmesser)
w_lux vom Typ
„Zahl“ mit Maßeinheit „lux“
w_uv_index vom Typ „Zahl“
w_sun_temp
vom Typ „Zahl“ mit Maßeinheit „°C“
w_diff_temp vom Typ „Zahl“ mit Maßeinheit „°C“
w_sonne_scheint vom Typ „Logikwert“
w_sonne_heute vom Typ „Zahl“ mit Maßeinheit „°h“
w_sonne_gestern vom Typ „Zahl“ mit Maßeinheit „°h“
w_temperature vom Typ „Zahl“ mit Maßeinheit „°C“ (nur bei Option Wetterkappe BME280 )
w_windchill vom Typ „Zahl“ mit Maßeinheit „°C“ (nur bei Option Wetterkappe BME280 )
w_taupunkt  vom Typ „Zahl“ mit Maßeinheit „°C“ (nur bei Option Wetterkappe BME280 )
w_temp_m_gestern vom Typ „Zahl“ mit Maßeinheit „°C“
w_humidity vom Typ „Zahl“ mit Maßeinheit „%“ (nur bei Option Wetterkappe BME280 )
w_hum_abs vom Typ „Zahl“ mit Maßeinheit „g/m3″ (nur bei Option Wetterkappe BME280 )
w_barometer vom Typ „Zahl“ mit Maßeinheit mb (nur bei Option Wetterkappe BME280 )
w_barotrend vom Typ „Zeichenkette“ (nur bei Option Wetterkappe BME280 )
w_elevation vom Typ  Zahl mit Maßeinheit °
w_azimut vom Typ  Zahl mit Maßeinheit °

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.

Anmerkung:
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!

6 Befehlsliste des RAINYMAN

Auf der Help1-Seite sind Befehle dargestellt, mit denen bestimmte Eigenschaften des WEATHERMAN 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 Löschung der Router Zugangsdaten etc. sollte man diese Befehle anwenden.

7 Einstellungen im Expertenmodus

Das Gleiche gilt für den sog. Expertenmodus. Normalerweise ist  keine Einstellung notwendig!!!!! Einstellungen sollten auch nur dann vorgenommen werden, wenn man wirklich weiß, was man verändert. Im ungünstigen Fall kann der RAINYMAN irreparabel beschädigt werden. Hier ist diese Einstellungsseite:

8 Optionale Überwachung der WLAN-Verbindung

Wenn man mit den Messwerten des RAINYMAN in der CCU wichtige Aktoren schalten möchte (Fenster, Markisen etc.) , dann kann es hilfreich sein, eine regelmässige Überwachung der Datenverbindung zwischen RAINYMAN und CCU zu haben. Mit der regelmässigen (alle 5min) Übertragung der RAINYMAN-IP zur CCU lässt sich mit den folgenden zwei einfachen WebUI-Programmen nun erkennen, ob regelmässig Messdaten vom RAINYMAN in der CCU ankommen. Damit ist auf der CCU-Seite eine grundsätzliche „alive“-Erkennung des RAINYMAN selbst als auch der WLAN-Strecke zum Router möglich. Für diese beiden WebUI-Programme ist lediglich eine neue Systemvariable w_connect als Logikwert mit den Zuständen Ja/Nein zu definieren:

Die Zeitsteuerung beim zweiten Programm ist auf zyklische Auslösung alle 5min eingestellt. und bei beiden  Programmen das Retrigger-Häkchen beachten!

Und wer wie ich manchmal Probleme mit der Zuverlässigkeit der CCU-Zeitsteuerung hat, der sollte den Timer von CuxD verwenden, so wie im folgenden Bild:

9 Rückstellen in Werkszustand

Manchmal kann es notwendig sein, die im EEPROM abgelegten Daten zu löschen und den RAINYMAN 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 angezeigt wird. Danach hält man den PROG-Taster  solange gedrückt, bis die rote LED dauerhaft leuchtet. Jetzt werden die EEPROM-Daten gelöscht. Läßt man die PROG-Taste wieder los, dann startet RAINYMAN 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 gleichzeitig drücken, da das Modul dann in den Programmiermodus geht und u.U. die Firmware beschädigt wird.

10 Update des RAINYMAN

Ein Update desRAINYMAN kann ohne Demontage bzw. Geräteöffnung komplett über das WLAN erfolgen. Dabei ist derRAINYMAN 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 und den *.bin File entpacken und auf dem PC speichern. Achtung nicht das Zip-Archiv zum Update verwenden, das beschädigt u.U. den RAINYMAN.

Die Update-Seite des RAINYMAN 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 RAINYMAN neu mit der upgedateten Firmware gestartet:

.

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

17.12.2017: Firmware 35

31.12.2017:  Firmware 42   Befehl setvar hinzugefügt: damit ist automatisches Setzen der für den RAINYMAN relevanten CCU-Systemvariablen möglich (Updaten mit Komplett-Update !!)

13.01.2018:  RAINYMAN 45   „Webseiten-Kosmetik“

13.01.2018: RAINYMAN 52   „Verklemmen“ der Webseiten bei schnellem Wechsel beseitigt

25.03.2018: RAINYMAN 53   Sonnenstandsberechnung bei Sommerzeit korrigiert

02.04.2018: RAINYMAN 54   Sonnenstandsberechnung bei Sommerzeit korrigiert

Stable-Update 07.06.2018: RAINYMAN 57  Bodenfeuchtemessung verbessert. Dafür ist der Kondensator zum Bodenfeuchtesensor von 1nF auf 220uF und der Widerstand R7 von 100k auf 10k zu ändern. Siehe geänderte aktuelle Bauanleitung. Anzahl der Regel-Resets reduziert.

Update 19.08.2018  RAINYMAN_65 neue Messwerte integriert: Tagesmitteltemperatur, Sonnenstunden heute, Sonnenstunden gestern; Minuten vor SA, Minuten nach SU, Messbereich Luxmessung  erweitert JSON-Telegramm mit beliebigen Ports, JSON mit neuem Zeitstempel; optional vergroesserte Datenanzeige
Achtung: Dieses Update entweder als Komplett-Update (mit Neueingabe SSID und PWD) machen oder als Teil-Update und manuell mit name-Befehl die neuen Variablen w_temp_gestern,   w_sonne_heute,  w_sonne_gestern, w_minuten_vor_sa, w_minuten_nach_su  eingeben:
<wm_ip>/?name:29:w_temp_gestern
<wm_ip>/?name:26:w_sonne_heute
<wm_ip>/?name:28:w_sonne_gestern
<wm_ip>/?name:30:w_minuten_vor_sa
<wm_ip>/?name:31:w_minuten_nach_su
Danach auf der CCU auch diese Systemvariablen eingeben oder einfach den setvar -Befehl ausführen.

Update 28.08.2018   RAINYMAN_67
Variable w_minuten_nach_su umbenannt in w_minuten_vor_su,  >> mit name-Befehl ändern:   <wm_ip>/?name:31:w_minuten_vor_su
neuer param 27 Einschaltschwelle fuer einstellbare Heizung  gegen Taubildung  >> mit param-Befehl param 27 auf  Wert 8 einstellen: <wm_ip>/?param:27:8
param 8 zeigt jetzt den Zeitpunkt ddhh des letzten resets an,

Beta-Update 01.12.2018   RAINYMAN_84

Update 19.12.2018   RAINYMAN_88
24h- und 28-Tage-Datenlogger integriert. Update-Prozess verbesssert. Teilweise neue Namen für die CCU-Systemvariablen. Anpassen! Deshalb Komplett-Update notwendig!  Ab RAINYMAN 84 nur Teil-Update notwendig.

Beta-Update 18.01.2019   RAINYMAN_95  der optionale IR-Temperatursensor MLX90614 ist in dieser Version abgeschaltet, weil er zu Instabilitäten geführt hat

Update 20.02.2019   RAINYMAN_98
Regenmelder-Meldeschwellen angehoben,  regen_mm_gestern korrigiert, NTC-Berechnung auf -3°C begrenzt, optionale MLX90614 repariert.

Stable-Update 28.02.2019   RAINYMAN_100
optionale  Verwendung des Helligkeitssensors MAX44009. (der jeweilige Typ BH1750 oder MAX44009 wird automatisch erkannt.), JSON-Datagramm korrigiert, Algortithmus für „sonne_scheint“ verbessert.

Beta-Update 08.032019   RAINYMAN_104
optionale  Verwendung des SHT21. zum Einsatz in der externen Wetterkappe. Parallel kann ein BME odere BMP280 im Hauptgehäuse verwendet werden. Der SHT21 wird automatisch erkannt.

Beta-Update 17.03.2019   RAINYMAN_105 verbesserte Auswertung des Regenmelders / Vermeidung von Fehlmeldungen 

Stable-Update 01.04.2019   RAINYMAN_107 Korrektur Sonnenaufgangs/untergangszeit

Großes Beta-Update 10.08.2019   RAINYMAN_118  Fehler mit „Geister-Niederschlägen“ beseitigt, zusätzliche Verwendung UV-Sensor VEML6070  möglich, Regenmelder-Nullpunkt um 5 auf ca. 0 verschoben, Datenlogger verwendet nicht mehr durchgehend MEZ sondern im Sommer MESZ und im Winter MEZ. Störsignal bei Elevation und Azimut beseitigt. Erkennung BMP/BME280 verbessert.

Beta-Update 18.08.2019   RAINYMAN_122  Fehler bei der Aktualisierung der Sonnenkoordinaten beseitigt, Datenvolumen bei Übertragung des JSON-Telegramms  optimiert: Regenmelderdaten sofort, andere Daten im 1min-Abstand, Bodenfeuchte im Datenlogger ergänzt, Behandlung favicon-Browseranfrage, BME/BMP-Erkennung verbessert.

Beta-Update 28.11.2019   RAINYMAN_127  Anzeigeprobleme mit aktuellem Firefox-Browser beseitigt.

Beta-Komplett-Update 11.01.2020:  RAINYMAN 134 größeres Update mit vielen Detailverbesserungen zur effektiveren Messwertübertragung an die CCU oder zum Datenserver. 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.
Achtung! Der B-Wert (param 26)der älteren Bausätze ist 3000, der neueren 3950. Standardmässig ist 3950 eingestellt.  Wenn also die Sonnentemperatur ziemlich „daneben“ liegt, dann bitte beide B-Werte ausprobieren.

Beta-Update 21.01.2020:  RAINYMAN_135    Update-Webseiten überarbeitet, kleiner optische Veränderungen

Beta-Update 01.03.2020:  RAINYMAN_136    Umschaltung Sommer/Winterzeit korrigiert

Beta-Update 23.03.2020:  RAINYMAN_137    Verbesserung der Stabilität bei schnellem Webseitenaufruf/wechsel

Beta-Update 12.04.2020:  RAINYMAN_138    Netzwerkeinstellungen bei fester IP verbessert

Beta-Update 16.05.2020: RAINYMAN_142  etwas schnellerer Webseitenaufbau durch Erhöhung der CPU-Taktfrequenz  von 80 auf 160Mhz,  ntp Zeitsynchronisation verbessert, verdeckte Darstellung des WLAN-Passwortes

Beta-Update 19.05.2020:  RAINYMAN 145   ntp-Zeitserver-Synchronisation insbesondere bei fester IP-Adresse verbessert, 160Mhz-CPU-Taktfrequenz, watchdog optimiert

Beta-Update 02.06.2020 RAINYMAN 147   Berechnung „Regen_mm_gestern“ korrigiert, Einschaltschwelle für Regenmelderheizung mit param 30 wieder einstellbar

Beta-Update 30.06.2020 RAINYMAN 153  Keine Funktionsveränderung , Webseiten-Speichermanagement komplett optimiert, dadurch bessere Stabilität

Beta-Update 05.07.2020 RAINYMAN 156  Bodenfeuchte-Wert im Datenlogger korrigiert, neuer Kennwert für WLAN-Konnektivität auf der Expertenseite ermöglicht die Erkennung der ausreichenden WLAN-Qualität

Update 17.08.2020:  RAINYMAN 158  Zusätzlicher Befehl „settime:hh.mm.DD.MM.YY:“, mit dem man  die Modulzeit einstellen kann. Dabei wird der standardmäßig automatische Zeitabgleich per ntp/Internet abgeschaltet. Danach ist kein Internet-Zugang für das Modul mehr notwendig! Das kann hilfreich sein, wenn die Internet-Zeitserver nicht sicher verfügbar sind und dadurch „Aufhänger“ des Modul entstehen. Eine gute WLAN-Verbindung ist trotzdem immer notwendig!! Mit „settime“ ohne Argument wird wieder auf die standardmäßige automatische Zeitsynchronisation per ntp zurück geschaltet.

Update 01.10.2020 RAINYMAN 159  Korrektur „regen_letzte_h“ und  Korrektur Mondberechnung

Update 29.09.2021 RAINYMAN 160  alle relevanten Änderungen des WEATHERMAN 2 eingearbeitet

13 Den RAINYMAN 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 RAINYMAN 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

14 Den RAINYMAN mit Node-Red  abfragen

Ein User  des WEATHERMAN hat einen entsprechenden Adapter für das leistungsfähige Node-Red entwickelt. Sicher kann man mit diesem sehr schön beschriebenen Beispiel den Adapter auch auf den RAINYMAN übertragen. Weitere Informationen zur RedMatic hier.

… und wo kann man den Bausatz bekommen?

Für den Nachbauer  habe ich Bausätze zusammengestellt. Diese  können bei mir bezogen werden:  RAINYMAN-Bausatz Wer vorher einen Blick in die Bauanleitung werfen möchte, bitteschön: 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.

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 »