Hallo Stefan,
 
danke für den Hinweis das vzlogger auch nur als MQTT Client agieren kann. Deine Vorgehensweise via exec aus vzlogger ist ja analog zu der von Matthias. Ich bin nicht sicher ob ich das hinbekomme. Was ich dazu gestern abend im Wiki gelesen habe erschien mir sehr kompliziert. Magst du mal ein Beispiel aus deiner vzlogger.conf senden?
 
Den timestamp aus vzlogger und die Pufferfunktion bekommt man nur mittels Abfrage mittels exec. Dann speichert vzlogger das Datum mit timestamp der Abfrage zwischen - korekt?
 
Da middleware und vzlogger bei mir auf dem selben Raspi laufen werden beide aber nur zeitgleich nicht erreichbar sein.
 
Grüße
 
Micha
 
Gesendet: Donnerstag, 24. Februar 2022 um 21:53 Uhr
Von: "Stefan Bauer" <s...@stefan-bauer.net>
An: "volkszaehler.org - users" <volkszaehler-users@demo.volkszaehler.org>
Betreff: Re: [vz-users] Leistungsdaten vom Shelly an VZ-DB senden
Nein, der vzlogger ist kein MQTT Client, sondern kann auch nur die Daten via MQTT versenden.
Ich habe etliche Tasmota-Sensoren, von denen ich auch die „Zählerstände“ auslese. Ich mache das jedoch mittels exec-Kommando aus dem vzlogger raus. Ich persönlich halte es hierbei für besser, wenn der Timestamp vom vzlogger genutzt wird. Ist damit für alle Geräte gleich und sollte die middleware mal nicht erreichbar sein, werden die Daten mit korrektem Timestamp gepuffert…
 
Stefan
 
Von meinem iPad gesendet
 
Am 24.02.2022 um 20:01 schrieb Michael Hartmann <hartmann-mi...@web.de>:
 
Hallo,

das sieht interessant aus, aber auch kompliziert (der http-Request). Ich schau mir dein Beispiel an. Evtl. verstehe ich es und kann es auf meine Anwendung übertragen.

NodeRed (MQTT ?) wäre auch ein Weg. Ich habe verstanden, das vzlogger als MQTT client Daten von einem entsprechenden Server abrufen kann. Bzgl. Haus-Automation bin ich aber noch ganz am Anfang. Daher macht das ggf. später Sinn.

Grüße

Micha
 
Am 24. Februar 2022 18:56:24 MEZ schrieb "Matthias Schütze" <matthias.schue...@web.de>:
Hallo,

bei mir werden solcherart JSON Ausgaben über ein "exec-Meter" mit dem vzlogger
ausgelesen. Als Beispiel hier die Ausgabe meines Fronius-Wechselrichters. Auszug
aus der meters-Konfiguration in /etc/vzlogger.conf:

{
            "enabled": true,
            "allowskip": true,
            "protocol": "exec",
            "command": "curl -s 'http://fronius/solar_api/v1/GetPowerFlowRealtimeData.fcgi' | jq . | sed -n 's/[^A-Z0-9.:;_-]//gi;s/:/ = /;/SOC/p;/P_Akku/p;/P_PV/p;/P_Grid/p;/P_Load/p'",
            "format": "$i = $v",
            "interval": 30,
            "aggtime": -1,
            "channels":  [
                {
                    "api": "volkszaehler",
                    "uuid": "29a2c6a0-08bb-11eb-90ee-XXXXXXXXXXXX",
                    "identifier": "SOC",
                    "middleware": "http://localhost/volkszaehler.org/htdocs/middleware.php",
               }, {
                    "api": "volkszaehler",
                    "uuid": "6e2b7280-08e2-11eb-a17d-XXXXXXXXXXXX",
                    "identifier": "P_Akku",
                    "middleware": "http://localhost/volkszaehler.org/htdocs/middleware.php",
               }, {
                    "api": "volkszaehler",
                    "uuid": "cafffec0-08e2-11eb-98e9-XXXXXXXXXXXXX",
                    "identifier": "P_Grid",
                    "middleware": "http://localhost/volkszaehler.org/htdocs/middleware.php",
               }, {
                    "api": "volkszaehler",
                    "uuid": "fb2d5140-0d1d-11eb-9783-XXXXXXXXXXX",
                    "identifier": "P_Load",
                    "middleware": "http://localhost/volkszaehler.org/htdocs/middleware.php",
               }, {
                    "api": "volkszaehler",
                    "uuid": "dc944600-08e3-11eb-a00b-XXXXXXXXXXX",
                    "identifier": "P_PV",
                    "middleware": "http://localhost/volkszaehler.org/htdocs/middleware.php",
                }

           ]
        }

Die curl-Ausgabe liefert die JSON-Daten,
jq formatiert diese
und mit sed wird jongliert, um das Format "Identifier = Value" (also "$i = $v") für
die gewünschten Werte zu erhalten.
Es ist nicht zu erkennen, dass dies den Raspi irgendwie überfordern würde.

Gruß
Matthias




Am Donnerstag, 24. Februar 2022, 17:27:35 CET schrieb Michael Hartmann:
Hallo,



ich nutze einen Shelly 1PM um die von einem Lüftungsgerät (KWL) aufgenommene
Leistung zu messen. Dazu habe ich ein Phyton-Skript das mir via http-Request
die Leistungsdaten vom Shelly abholt, indem es die JSON payload auswertet.



Das Skript führe ich jede Minute via Cronjob aus. Das ist bzgl. Auflösung
für die weitgehend konstante Leistungsaufnahme der KWL ausreichend. Wäre per
Cronjob ja auch nicht schneller machbar.



Ist das minütliche Ausführen des Cronjobs bzgl. Performance für einen Raspi
3B+ ok?

Neben den Leistungsdatum kann ich vom Shelly noch den UNIX-Timestamp dazu
bekommen. Macht es Sinn das Leistungsdatum inkl. Timestamp an die Middleware
zu senden. Aktuell lasse ich die Middleware den Timestamp dazu anlegen.



Grüße



Micha





 




 
--
Diese Nachricht wurde von meinem Android-Gerät mit K-9 Mail gesendet.

Antwort per Email an