[vz-users] vzlogger S0 per mqtt senden

Marc Haber mh+volkszaehler-users at zugschlus.de
So Feb 6 19:41:10 CET 2022


On Sun, Feb 06, 2022 at 07:33:02PM +0100, Martin Burnicki wrote:
> ich habe kürzlich einen optischen Lesekopf an meinen Stromzähler gebaut und
> bin dabei auf vzlogger gestoßen, der jetzt auf einem (vorher schon
> vorhandenen) Raspberry Pi läuft.
> 
> Volkszähler-Middleware o.ä. habe ich noch nicht installiert. vzlogger liest
> nur die Werte vom Stromzähler per sml und sendet sie einfach per mqtt an
> einen Broker (mosquitto), der auf meinem PC läuft.
> 
> Die Datei vzlogger-sml.log im Anhang enthält einen Ausschnitt der Log-Datei
> mit Einträgen bezüglich der Aussendung per [mqtt].
> 
> Das funktioniert also perfekt, und ich kann mir auf einem beliebigen Gerät
> im Netzwerk z.B. per mosquitto_sub die Werte des Stromzählers ansehen.
> 
> 
> Nun habe ich versucht, über einen Reedkontakt und vzlogger/S0 ebenfalls die
> Impulse des Gaszählers auszulesen, um sie per mqtt zu senden, aber es werden
> scheinbar überhaupt keine mqtt-Nachrichten für den S0-Eingang ausgesendet.
> 
> Die Pegelwechsel am GPIO, an den der Reed-Kontakt angeschlossen ist, werden
> von einem einfachen Script erkannt, und auch in der Log-Datei von vzlogger
> sieht man eine Reaktion auf die Impulse, siehe vzlogger-s0.log im Anhang
> (Das sml-Meter wurde für den Test deaktiviert).
> 
> Die komplette vzlogger.conf habe ich ebenfalls angehängt.
> 
> Werden mqtt-Nachrichten für S0 von vzlogger nicht unterstützt, gibt es bei
> mir einen Denkfehler, oder fehlt etwas in der S0-Konfiguration?

Danke dass Du Dir das angeschaut hast. Ich habe meinen vzlogger auch an
MQTT hängen und habe mir bisher nur theroretische Gedanken gemacht wie
man mit S0-Zählern umgehen sollte. Irgendwo muss man den Zählerstand
speichern und ihn nach einem Impuls hochzählen. Das könnte entweder im
vzlogger geschehen (dann müsste der vzlogger State speichern, was er
bisher noch nicht tut), oder man müsste das innerhalb des MQTT machen.
Dan müsste sichergestellt sein, das MQTT keine einzelnen Impulsmeldungen
verliert und man bräuchte eine Komponente, die den State speichert und
den Zählerstand wieder per mqtt veröffentlicht.

Ich bin da unschlüssig wie es am wenigsten unschön ist.

Nach meinem Bauchgefühl wäre es am schönsten, am allgemeingültigsten und
am wenigsten von vzlogger ein neues API "exec" zu haben, das quasi als
Gegenstück zum Metertyp "exec" bei jedem Impuls ein externes Executable
aufruft. Auf diese Weise könnte man den State selbst mitführen und den
Wert selbst per MQTT veröffentlichen (oder über ein zweites Meter mit
Typ "exec" wieder in den vzlogger einzulesen). Aber mein Bauchgefühl
deckt sich relativ selten mit der hiesigen Meinung.

Grüße
Marc

-- 
-----------------------------------------------------------------------------
Marc Haber         | "I don't trust Computers. They | Mailadresse im Header
Leimen, Germany    |  lose things."    Winona Ryder | Fon: *49 6224 1600402
Nordisch by Nature |  How to make an American Quilt | Fax: *49 6224 1600421


Mehr Informationen über die Mailingliste volkszaehler-users