[vz-users] Anleitung: VZLogger als MQTT-Subscriber

Frank Richter frank.richter83 at gmail.com
Di Mär 31 17:02:20 CEST 2020


Hi Sirko,

danke für die Anleitung!

Im Fall von Tasmota könnte man auch HTTP und curl verwenden:
http://IP/cm?cmnd=status 8 liefert ebenfalls die Energie-Messwerte. Damit
ließe sich sogar das minimale MQTT-Intervall von Tasmota (10s?) umgehen ;-)

Viele Grüße
Frank

Sirko <mail_ist at nurfuerspam.de> schrieb am Di., 31. März 2020, 16:07:

> Hi,
>
> da sich bei mir einige Geräte im Heimnetz tummeln, die sich per MQTT
> mitteilen, wollte ich diese möglichst einfach in VZ speichern lassen (bzw.
> in eine InfluxDB).
> Z.B. gibt es ein paar Steckdosen, auf denen Tasmota läuft und die so ihre
> Werte per MQTT (JSON) übertragen:
>
>
> {"Time":"2020-03-31T10:12:36","ENERGY":{"TotalStartTime":"2020-02-27T20:27:49","Total":24.950,"Yesterday":0.766,"Today":0.332,"Period":0,"Power":77,"ApparentPower":86,"ReactivePower":39,"Factor":0.89,"Voltage":226,"Current":0.380}}
>
> Da mein MQTT Server auf einem Raspberry neben dem vzlogger läuft (incl.
> mosquitto_sub Kommando), dachte ich mir, man kann sicher das exec Protokoll
> dafür nutzen.
> Für die DB brauche ich nur "Power", also reicht
>
> mosquitto_sub -C 1 -t /SmartHome/Topic/ZumGeraet/SENSOR | jq -r
> '.ENERGY.Power'
>
> -C 1 läßt das Kommando einfach warten, bis 1 Antwort zurück kommt.
>
> Hier die Konfiguration aus vzlogger.conf (influxdb ist optional):
>
>     { // MQTT subscriber
>       "enabled": true,
>       "allowskip": true,
>       "interval": 10,        //Achtung: alle 10 Sekunden, eventuell
> erhöhen
>       "aggtime": -1,
>       "aggfixedinterval": false,
>       "channels": [
>         {
>           "api": "volkszaehler",
>           "uuid": "96e43280-1234-1122-aabb-g527bd5f1607",
>           "identifier": "",
> //          "middleware": "http://127.0.0.1/middleware.php"
> <http://127.0.0.1/middleware.php>,
>           "middleware" : "http://127.0.0.1:8080" <http://127.0.0.1:8080>,
>           "aggmode": "none",
>           "duplicates": 0
>         },
>         {  // nochmal in die InfluxDB, ACHTUNG: das ist komplett optional
> und für die meisten unnötig
>           "api": "influxdb", // use the InfluxDB api
>           "uuid": "96e43280-1234-1122-aabb-g527bd5f1607",
>           "identifier" : "",
>           "host": "127.0.0.1:8086",                           // This
> assumes that InfluxDB is running on localhost
>           "database": "volkszaehler",                         // Optional:
> make sure this database exists in InfluxDB
>           "measurement_name": "data",                         // Optional:
> It is recommended that all your meters have the same InfluxDB measurement
> name
>           "tags": "title=Gefrierschrank,type=powersensor",    // Optional:
> Additional tags to append when inserting data
>           "username": "username",                             // Optional:
> When InfluxDB Auth is enabled you need to set the correct user and password
>           "password": "password",
>           //"max_batch_inserts": 4500,                        // Optional:
> Max number of measurements per request. No need to change this
>           //"max_buffer_size": 450000,                        // Optional:
> Max number of measurements to be cached when InfluxDB is not available
>           //"timeout": 30,                                    // Optional:
> Time in seconds after which requests to InfluxDB time out
>           //"send_uuid": false,                               // Optional:
> Disables the sending of the UUID to the InfluxDB server
>           //"ssl_verifypeer": false,                          // Optional:
> Disables the certificate verification for https connections
>           "aggmode" : "none"
>         }
>       ],
>       "*protocol": "exec",*
>       *"command": "mosquitto_sub -C 1 -t **/SmartHome/Topic/ZumGeraet/SENSOR
> | jq -r '.ENERGY.Power'",*
>       //"format": "$v"
>     },
>
>
> Funktioniert sehr gut so weit.
>
> Viele Grüße
> Sirko
>
-------------- nächster Teil --------------
Ein Dateianhang mit HTML-Daten wurde abgetrennt...
URL: <http://demo.volkszaehler.org/pipermail/volkszaehler-users/attachments/20200331/3e28b6c4/attachment-0001.html>


More information about the volkszaehler-users mailing list