<div dir="auto">Hi Sirko,<div dir="auto"><br></div><div dir="auto">danke für die Anleitung!</div><div dir="auto"><br></div><div dir="auto">Im Fall von Tasmota könnte man auch HTTP und curl verwenden: <a href="http://IP/cm?cmnd=status">http://IP/cm?cmnd=status</a> 8 liefert ebenfalls die Energie-Messwerte. Damit ließe sich sogar das minimale MQTT-Intervall von Tasmota (10s?) umgehen ;-)</div><div dir="auto"><br></div><div dir="auto">Viele Grüße</div><div dir="auto">Frank</div></div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">Sirko <<a href="mailto:mail_ist@nurfuerspam.de">mail_ist@nurfuerspam.de</a>> schrieb am Di., 31. März 2020, 16:07:<br></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
  

    
  
  <div>
    <p>Hi,</p>
    <p>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).<br>
      Z.B. gibt es ein paar Steckdosen, auf denen Tasmota läuft und die
      so ihre Werte per MQTT (JSON) übertragen:</p>
    <p><tt>{"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}}</tt></p>
    <p>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.<br>
      Für die DB brauche ich nur "Power", also reicht</p>
    <p><tt>mosquitto_sub -C 1 -t /SmartHome/Topic/ZumGeraet/SENSOR | jq
        -r '.ENERGY.Power'</tt></p>
    <p><tt>-C 1</tt> läßt das Kommando einfach warten, bis 1 Antwort
      zurück kommt.</p>
    <p>Hier die Konfiguration aus vzlogger.conf (influxdb ist optional):</p>
    <p><tt>    { // MQTT</tt><tt> subscriber<br>
      </tt><tt>      "enabled": true,</tt><tt><br>
      </tt><tt>      "allowskip": true,</tt><tt><br>
      </tt><tt>      "interval": 10,</tt><tt>        //Achtung: alle 10
        Sekunden, eventuell erhöhen<br>
      </tt><tt>      "aggtime": -1,</tt><tt><br>
      </tt><tt>      "aggfixedinterval": false,</tt><tt><br>
      </tt><tt>      "channels": [</tt><tt><br>
      </tt><tt>        {</tt><tt><br>
      </tt><tt>          "api": "volkszaehler",</tt><tt><br>
      </tt><tt>          "uuid": "96e43280-1234-1122-aabb-g527bd5f1607",</tt><tt><br>
      </tt><tt>          "identifier": "",</tt><tt><br>
      </tt><tt>//          "middleware":
        <a href="http://127.0.0.1/middleware.php" target="_blank" rel="noreferrer">"http://127.0.0.1/middleware.php"</a>,</tt><tt><br>
      </tt><tt>          "middleware" : <a href="http://127.0.0.1:8080" target="_blank" rel="noreferrer">"http://127.0.0.1:8080"</a>,</tt><tt><br>
      </tt><tt>          "aggmode": "none",</tt><tt><br>
      </tt><tt>          "duplicates": 0</tt><tt><br>
      </tt><tt>        },</tt><tt><br>
      </tt><tt>        {</tt><tt>  // nochmal in die InfluxDB, ACHTUNG:
        das ist komplett optional und für die meisten unnötig<br>
      </tt><tt>          "api": "influxdb", // use the InfluxDB api</tt><tt><br>
      </tt><tt>          "uuid": "</tt><tt><tt>96e43280-1234-1122-aabb-g527bd5f1607</tt>",</tt><tt><br>
      </tt><tt>          "identifier" : "",</tt><tt><br>
      </tt><tt>          "host": "<a href="http://127.0.0.1:8086" target="_blank" rel="noreferrer">127.0.0.1:8086</a>",                      
            // This assumes that InfluxDB is running on localhost</tt><tt><br>
      </tt><tt>          "database": "volkszaehler",                    
            // Optional: make sure this database exists in InfluxDB</tt><tt><br>
      </tt><tt>          "measurement_name": "data",                    
            // Optional: It is recommended that all your meters have the
        same InfluxDB measurement name</tt><tt><br>
      </tt><tt>          "tags":
        "title=Gefrierschrank,type=powersensor",    // Optional:
        Additional tags to append when inserting data</tt><tt><br>
      </tt><tt>          "username": "username",                       
             // Optional: When InfluxDB Auth is enabled you need to set
        the correct user and password</tt><tt><br>
      </tt><tt>          "password": "password",</tt><tt><br>
      </tt><tt>          //"max_batch_inserts": 4500,                   
            // Optional: Max number of measurements per request. No need
        to change this</tt><tt><br>
      </tt><tt>          //"max_buffer_size": 450000,                   
            // Optional: Max number of measurements to be cached when
        InfluxDB is not available</tt><tt><br>
      </tt><tt>          //"timeout": 30,                               
            // Optional: Time in seconds after which requests to
        InfluxDB time out</tt><tt><br>
      </tt><tt>          //"send_uuid": false,                          
            // Optional: Disables the sending of the UUID to the
        InfluxDB server</tt><tt><br>
      </tt><tt>          //"ssl_verifypeer": false,                     
            // Optional: Disables the certificate verification for https
        connections</tt><tt><br>
      </tt><tt>          "aggmode" : "none"</tt><tt><br>
      </tt><tt>        } </tt><tt><br>
      </tt><tt>      ],</tt><tt><br>
      </tt><tt>      "<b>protocol": "exec",</b></tt><tt><br>
      </tt><tt>      <b>"command": "mosquitto_sub -C 1 -t </b></tt><b><tt><tt>/SmartHome/Topic/ZumGeraet/SENSOR</tt>
          | jq -r '.ENERGY.Power'",</tt></b><tt><br>
      </tt><tt>      //"format": "$v"</tt><tt><br>
      </tt><tt>    },</tt><br>
    </p>
    <p><br>
    </p>
    <p>Funktioniert sehr gut so weit.<br>
    </p>
    <p>Viele Grüße<br>
      Sirko<br>
    </p>
  </div>

</blockquote></div>