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

Stefan Bauer spam at stefan-bauer.net
Do Feb 24 21:53:20 CET 2022


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-micha at 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.schuetze at 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.
-------------- nächster Teil --------------
Ein Dateianhang mit HTML-Daten wurde abgetrennt...
URL: <http://demo.volkszaehler.org/pipermail/volkszaehler-users/attachments/20220224/3554d8de/attachment-0001.html>


Mehr Informationen über die Mailingliste volkszaehler-users