Hi Christian,

so ist das eben bei Impulsen: entweder damit leben, dass man zum aktuellen
Zeitpunkt keine Aussage treffen kann, oder zusätzliche, unphysikalische
Daten generieren.

2 Vorschläge:

1) Den Kanal im vzlogger doppelt anlegen, mit und ohne send_zero. Der ohne
loggt zur MW, der mit wird nur für Push verwendet (api: null).
Experimentell, hab noch nicht versucht ob vzlogger das mit S0-Kanälen kann.

2) Timeout im ESP: wenn die letzte MQTT-Message länger als ein paar
Sekunden zurück liegt, Anzeige auf 0 setzen.

Die Leistungsberechnung für die Push-Daten kommt von der Middleware, nicht
vom vzlogger. Die Middleware kennt natürlich auch den Zeitpunkt des vorigen
Impulses. vzlogger liefert weiterhin nur rohe Impulse.

Grüße
Frank

Am 16.08.2018 3:18 nachm. schrieb "Christian Wulff" <christianwu...@gmx.de>:

Moin Frank,



aha, interessant!

Ja, habe ich probiert….hmm.

Was ich sehen konnte ist, dass dann nicht mehr nur noch „1“ geloggt werden,
sondern zusätzlich auch noch „0“.

Die bräuchte ich nur über den Push Server, aber nicht in der Datenbank.
Oder meinetwegen in der Datenbank wieder nach 1 Stunde oder 1 Tag wieder
gelöscht (…..ob das gut für die Datenbank und den Speicher ist, wenn man so
viele Daten ständig erzeugt und wieder löscht?!).

Außerdem: Wie berechnet der vzlogger eine Durchflussrate, wenn er nur einen
Puls bekommen hat? Kann das nicht alles zwischen Null und unendlich sein?!
Mir fehlt fürs Verständnis die Zeit zwischen zwei Pulsen, durch die ich die
Durchflussmenge teilen könnte.

Lieben Gruß,
Chris





*Von:* Frank Richter [mailto:frank.richte...@gmail.com]
*Gesendet:* Donnerstag, 16. August 2018 03:09
*An:* volkszaehler.org - users
*Betreff:* Re: [vz-users] Wasserdurchflussanzeige



Hallo Christian,



probier's mal mit "send_zero": true in der vzlogger.conf.



Grüße

Frank



Christian Wulff <christianwu...@gmx.de> schrieb am Do., 16. Aug. 2018,
02:17:

Moin,

ich habe eine S0 Wasseruhr.
Die wird über den vzlogger geloggt, dieser pusht die Daten über nodeRED auf
einen MQTT Broker und den lese ich mit einem ESP8266 aus und bringe den
Wert zur Anzeige.

Am ESP8266 kommen ein timestamp in Millisekunden sowie die Durchflussrate
in L/h an.
Das habe ich bereits durch 60 geteilt, und erhalte so die Durchflussrate
L/min.

So weit, so gut.

Jetzt gibt es aber folgendes Problem:
Die S0 Wasseruhr gibt einen Impuls pro 0,5l aus.
Teilt man die Impulse durch die Zeit, so erhält man die Durchflussrate.
Die Durchflussrate wird übertragen.
Wenn nun kein neuer Impuls kommt, so wird die Durchflussrate nicht mehr
aktualisiert und bleibt somit stehen.
Beispiel: Wenn man eine Durchflussrate von 2 L/min hat und schließt den
Hahn, dann wird kein neuer Impuls mehr erfasst und die Durchflussrate nicht
mehr aktualisiert. In der Anzeige stehen also immer noch 2 L/min. Das ist
natürlich falsch.

Wenn man den Hahn ganz langsam zudrehen würde, dann würde die Anzeige auch
runter gehen, aber nie auf Null, denn Null wird ja nie gemessen, weil dann
kein Impuls mehr kommt.

Fragen: Wie kriegt man denn jetzt eine Anzeige hin, die Null Durchflussrate
anzeigt, wenn nichts fließt?



Außerdem: Wie berechnet der vzlogger eine Durchflussrate, wenn er nur einen
Puls bekommen hat? Kann das nicht alles zwischen Null und unendlich sein?!
Mir fehlt fürs Verständnis die Zeit zwischen zwei Pulsen, durch die ich die
Durchflussmenge teilen könnte.




Lieben Gruß,
Chris

Antwort per Email an