[vz-users] Leistungsdaten vom Shelly an VZ-DB senden

Matthias Schütze matthias.schuetze at web.de
Do Feb 24 18:56:24 CET 2022


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







Mehr Informationen über die Mailingliste volkszaehler-users