Benutzer-Werkzeuge

Webseiten-Werkzeuge


software:controller:vzlogger:vzlogger_conf_parameter

Unterschiede

Hier werden die Unterschiede zwischen zwei Versionen angezeigt.

Link zu dieser Vergleichsansicht

Beide Seiten der vorigen RevisionVorhergehende Überarbeitung
Nächste Überarbeitung
Vorhergehende Überarbeitung
software:controller:vzlogger:vzlogger_conf_parameter [2020/11/15 09:11] – [sml] use_local_time im Codeschnipsel jausoftware:controller:vzlogger:vzlogger_conf_parameter [2023/05/31 19:44] (aktuell) – [channels] narc-ontakac2
Zeile 3: Zeile 3:
  
 Formatiert ist sie nach [[https://de.wikipedia.org/wiki/JavaScript_Object_Notation|JSON]]; kompakt, manuell lesbar und einfach zu parsen. Entgegen dem Standard unterstützt vzlogger auch Kommentare **/*...*/** oder **%%//%%** innerhalb der Konfigurationsdatei.\\ Formatiert ist sie nach [[https://de.wikipedia.org/wiki/JavaScript_Object_Notation|JSON]]; kompakt, manuell lesbar und einfach zu parsen. Entgegen dem Standard unterstützt vzlogger auch Kommentare **/*...*/** oder **%%//%%** innerhalb der Konfigurationsdatei.\\
-Korrekte Kommata und Klammerung ist zwingend. Der [[http://volkszaehler.github.io/vzlogger/|vzlogger.conf-Editor]] hilft dabei. Er bietet auch eine meter- und channel-Vorauswahl und blendet dann Schlüssel aus die nicht benötigt werden.\\ +Korrekte Kommata und Klammerung sind zwingend. Der [[http://volkszaehler.github.io/vzlogger/|vzlogger.conf-Editor]] hilft dabei. Er bietet auch eine meter- und channel-Vorauswahl und blendet dann Schlüssel aus die nicht benötigt werden.\\ 
-Zeichenketten (String) müssen in Klammern gesetzt werden, Ganzzahlen (Integer) und Logische Ausdrücke (Bool) dürfen nicht. Gruppen **{}** und Schlüssel dürfen in root nur einmalig verwendet werden, in Arrays **[]** aber mehrmals.\\+Zeichenketten (String) müssen in Anführungszeichen gesetzt werden, Ganzzahlen (Integer) und Logische Ausdrücke (Bool) hingegen nicht. Gruppen **{}** und Schlüssel dürfen in root nur einmalig verwendet werden, in Arrays **[]** aber mehrmals.\\
  
 Bestimmte Schlüssel bekommen, wenn sie nicht explizit genannt werden, bei Bedarf einen Standardwert (Default) zugewiesen. Bestimmte Schlüssel bekommen, wenn sie nicht explizit genannt werden, bei Bedarf einen Standardwert (Default) zugewiesen.
Zeile 13: Zeile 13:
 { {
   "retry": 0,   "retry": 0,
-  "daemon": true, 
   "verbosity": 0,   "verbosity": 0,
-  "log": "/var/log/vzlogger.conf",+  "log": "/var/log/vzlogger/vzlogger.log",
 </code> </code>
  
Zeile 23: Zeile 22:
 ^ Wert | 0-? | ^ Wert | 0-? |
 ^ Empfehlung | 0 | ^ Empfehlung | 0 |
- 
-=== daemon === 
-Betreibt vzlogger als Dienst (daemon) in den Hintergrund.\\ 
-Bedingt durch einen Fehler im Code werden bei ''false'' die erfassten Daten nicht versendet, es taugt daher leider nur für Tests. 
-^ Typ | Bool | 
-^ Wert | true/false | 
-^ Empfehlung | true | 
  
 === verbosity === === verbosity ===
Zeile 49: Zeile 41:
 ^ Typ | String | ^ Typ | String |
 ^ Wert | Muss eine vorhandenes Verzeichnis sein auf dem schreibender Zugriff erlaubt ist. | ^ Wert | Muss eine vorhandenes Verzeichnis sein auf dem schreibender Zugriff erlaubt ist. |
-^ Empfehlung | "/var/log/vzlogger.log" im Regelfall |+^ Empfehlung | "/var/log/vzlogger/vzlogger.log" im Regelfall |
 ^ ::: | "" wenn S0-Impulse in schneller Folge geloggt werden da Schreibzugriffe auf SD-Karte das loggen stören können | ^ ::: | "" wenn S0-Impulse in schneller Folge geloggt werden da Schreibzugriffe auf SD-Karte das loggen stören können |
  
Zeile 83: Zeile 75:
   "local": {   "local": {
     "enabled": false,     "enabled": false,
-    "port": 8080,+    "port": 8081,
     "index": false,     "index": false,
     "timeout": 0,     "timeout": 0,
Zeile 100: Zeile 92:
  
 === port === === port ===
-Der [[https://de.wikipedia.org/wiki/Port_(Protokoll)|Port]] an dem der Dienst auf Anfragen hört. Wenn auf der selben Maschine bereits ein httpd arbeitet ist darauf zu achten das der Port nicht doppelt verwendet wird! Für HTTP ist der Standard-Port 80.+Der [[https://de.wikipedia.org/wiki/Port_(Protokoll)|Port]] an dem der Dienst auf Anfragen hört. Wenn auf der selben Maschine bereits ein httpd arbeitet ist darauf zu achten das der Port nicht doppelt verwendet wird! Für HTTP ist der Standard-Port 80, PPM bieten wir üblicherweise auf 8080 an.
 ^ Typ | Integer | ^ Typ | Integer |
 ^ Wert | ? | ^ Wert | ? |
-^ Empfehlung | 8080 |+^ Empfehlung | 8081 |
  
 === index === === index ===
-Normal sollte die Anfrage die UUID des gewünschten ''channel'' enthalten, wird der Index aktiviert werden alle ''channel'' dargestellt.+Normal sollte die Anfrage auch die UUID des gewünschten ''channel'' enthalten, z.B.: ''http://localhost:8081/c673b290-fdac-11e0-a470-1d9351203a00''. Wird der Index aktiviert werden auf Anfrage ''http://localhost:8081/'' alle ''channel'' ausgegeben.
 ^ Typ | Bool | ^ Typ | Bool |
 ^ Wert | true/false | ^ Wert | true/false |
Zeile 124: Zeile 116:
  
 ---- ----
 +
 +====== mqtt ======
 +Hier kann die Verbindung zum einem MQTT-Broker (Server) eingetragen werden. Die in ''meters''  angegebenen Kanäle werden dann in das entsprechende MQTT-Topic übertragen.
 +<note important>Diese Funktion ist standardmäßig nicht im vzlogger enthalten und muss [[/software/controller/vzlogger/installation_cpp-version?s[]=mqtt#build_von_hand|beim Kompilieren aktiviert werden]].</note>
 +
 +<code>
 +  "mqtt": {
 +    "enabled": false,
 +    "host": "test.mosquitto.org",
 +    "port": 1883,
 +    "id": "vzlogger",
 +    "cafile": "",
 +    "capath": "",
 +    "certfile": "",
 +    "keyfile": "",
 +    "keypass": "",
 +    "keepalive": 30,
 +    "topic": "vzlogger/data",
 +    "id": "",
 +    "user": "",
 +    "pass": "",
 +    "retain": false,
 +    "rawAndAgg": false,
 +    "qos": 0,
 +    "timestamp": false
 +  }
 +</code>
 +
 +=== enabled ===
 +MQTT an- oder abstellen.
 +^ Typ | Bool |
 +^ Wert | true/false |
 +^ Standard | false |
 +^ Empfehlung | true |
 +
 +=== host ===
 +Server-Adresse des MQTT-Brokers.
 +^ Typ | String |
 +^ Wert | eine gültige URL |
 +^ Standard | test.mosquitto.org |
 +
 +=== port ===
 +Port des MQTT-Brokers.
 +^ Typ | Integer |
 +^ Wert | 1883 (unverschlüsselt), 8883 (verschlüsselt), 8884 (verschlüsselt mit Zertifikat) |
 +^ Standard | 1883 |
 +
 +=== cafile ===
 +Optionaler Dateiname der Server CA
 +^ Typ | String |
 +^ Wert | Dateiname |
 +^ Standard | |
 +
 +=== capath ===
 +Optionaler Pfad für Server CAs
 +^ Typ | String |
 +^ Wert | Pfad |
 +^ Standard | |
 +
 +<note important>Es sollten entweder ''cafile'' oder ''capath'' verwendet werden. Weitere Informationen sind in der Datei ''mosquitto.conf'' des MQTT-Brokers</note>
 +
 +=== certfile ===
 +Optionaler Dateiname des Client-Zertifikats (z.B. ''client.crt'')
 +
 +=== keyfile ===
 +Optionaler Pfad zum privaten Schlüssel des Client-Zertifikats (z.B. ''client.key'')
 +^ Typ | String |
 +^ Wert | Dateiname |
 +^ Standard | |
 +
 +=== keypass ===
 +Optionales Passwort des privaten Schlüssels
 +^ Typ | String |
 +^ Wert | Passwort |
 +^ Standard | |
 +
 +=== keepalive ===
 +Optionales Angabe der Sekunden zur Aufrechterhaltung der Verbindung (Keepalive)
 +^ Typ | Integer |
 +^ Wert | 0-? |
 +^ Standard | 30 |
 +
 +=== topic ===
 +Optionale Angabe des MQTT-Topics, in welches die Werte der verschiedenen ''meters'' geschrieben werden sollen. Im angegebenen Topic werden die ''meter'' durch ein Unter-Topic ''chnX'' unterschieden. Der erste ''meter'' ist im Unter-Topic ''chn0'', der zweite ''meter'' im Unter-Topic ''chn1'' usw. zu finden.
 +^ Typ | String |
 +^ Wert | MQTT-Topic |
 +^ Standard | vzlogger/data |
 +
 +<note important>Das Topic darf nicht mit ''$'' beginnen und nicht mit ''/'' enden.</note>
 +
 +=== id ===
 +Optionale statische Client-ID. Bei Nichtangabe wird eine Client-ID nach dem Muster ''vzlogger_<pid>'' verwendet.
 +^ Typ | String |
 +^ Wert | Client-ID |
 +^ Standard | vzlogger_<pid> |
 +
 +=== user ===
 +Optionaler Benutzername zur Anmeldung an den MQTT-Broker.
 +^ Typ | String |
 +^ Wert | Benutzername |
 +^ Standard | |
 +
 +=== password ===
 +Optionales Password zur Anmeldung an den MQTT-Broker.
 +^ Typ | String |
 +^ Wert | Passwort |
 +^ Standard | |
 +
 +=== retain ===
 +Optionale Anweisung zum Zwischenspeichern der MQTT-Nachricht, um bei Neuverbindung sofort darauf zugreifen zu können (Retain-Flag). Bei der Angabe von ''false'' ist der Wert erst sichtbar, wenn der Wert an den MQTT-Broker gesendet wird.
 +^ Typ | Boolean |
 +^ Wert | true/false |
 +^ Standard | false |
 +
 +=== rawAndAgg ===
 +Optionale Veröffentlichung der Rohdaten selbst wenn der Zusammenfassungs-Modus (''aggmode'') verwendet wird.
 +^ Typ | Boolean |
 +^ Wert | true/false |
 +^ Standard | false |
 +
 +=== qos ===
 +Optionale Angabe des Quality of Service.
 +^ Typ | Integer |
 +^ Wert | 0/1 |
 +^ Standard | 0 |
 +
 +=== timestamp ===
 +Optionale Angabe, ob ein Zeitstempel im Payload mit angegeben werden soll.
 +^ Typ | Boolean |
 +^ Wert | true/false |
 +^ Standard | false |
  
 ====== meters ====== ====== meters ======
Zeile 159: Zeile 282:
  
 === aggtime === === aggtime ===
-Vzlogger kann Messwerte sammeln und zusammenfügen (aggregieren) bevor sie an die MW gesendet werden. Hier wird die Sammelzeit in Sekunden definiert. Es ist darauf zu achten, dass die aggtime nicht kürzer ist als ''interval''.+Vzlogger kann Messwerte sammeln und zusammenfügen (aggregieren) bevor sie an die MW gesendet werden. Hier wird die Sammelzeit in Sekunden definiert. Es ist darauf zu achten, dass die aggtime nicht kürzer ist als ''interval''.\\ 
 +''aggtime'' arbeitet zusammen mit ''aggmode''.
 ^ Typ | Integer | ^ Typ | Integer |
 ^ Wert | 0-? | ^ Wert | 0-? |
-^ ::: | -1 deaktiviert die Funktion sicher |+^ ::: | -1 deaktiviert die Funktion sicher (Bitte auch ''aggmode'' auf "none" setzen, um undefiniertes Verhalten zu vermeiden) |
 ^ Standard | -1 | ^ Standard | -1 |
 ^ Empfehlung | -1 | ^ Empfehlung | -1 |
Zeile 247: Zeile 371:
 ^ ::: | "mysmartgrid" vzlogger kann auch [[https://www.mysmartgrid.de|mySmartGrid]] mit Daten beliefern | ^ ::: | "mysmartgrid" vzlogger kann auch [[https://www.mysmartgrid.de|mySmartGrid]] mit Daten beliefern |
 ^ ::: | "influxdb" vzlogger kann auch [[https://en.wikipedia.org/wiki/InfluxDB|InfluxDB]] mit Daten beliefern | ^ ::: | "influxdb" vzlogger kann auch [[https://en.wikipedia.org/wiki/InfluxDB|InfluxDB]] mit Daten beliefern |
-^ ::: | "null" wenn die Werte nur über den integrierten ''httpd'' oder ''push'' bereitgestellt werden sollen |+^ ::: | "null" wenn die Werte nur über den integrierten ''httpd''''push'' oder ''mqtt'' bereitgestellt werden sollen |
 ^ Standard| "volkszaehler" | ^ Standard| "volkszaehler" |
 ^ Empfehlung | "volkszaehler" | ^ Empfehlung | "volkszaehler" |
 +Achtung: Der Wert ist ggfs. "null", nicht null.
  
 === middleware === === middleware ===
Zeile 281: Zeile 406:
 === scaler === === scaler ===
 Faktor für die Werte, nur für mySmartGid-''api'' Faktor für die Werte, nur für mySmartGid-''api''
-^ Typ | String |+^ Typ | Integer |
 ^ Wert | 0-? | ^ Wert | 0-? |
  
Zeile 290: Zeile 415:
  
 === aggmode === === aggmode ===
-Mathematische Art der Aggregation die der vzlogger vornehmen soll. Nur wirksam in Verbindung mit ''aggtime'' größer als 0.+Mathematische Art der Aggregation die der vzlogger vornehmen soll. Nur wirksam in Verbindung mit ''aggtime'' größer als 0.\\ 
 +Wenn ''aggtime'' auf -1 steht (deaktiviert), dann bitte auch ''aggmode'' auf "none" setzen, um undefiniertes Verhalten zu vermeiden.
 ^ Typ | String | ^ Typ | String |
 ^ Wert | "avg" Durchschnitt, zu verwenden bei Aktualwerten wie Strom, Spannung oder Temperatur | ^ Wert | "avg" Durchschnitt, zu verwenden bei Aktualwerten wie Strom, Spannung oder Temperatur |
Zeile 351: Zeile 477:
  
 === resolution === === resolution ===
-Impulse/kWh, wird bei ''api'':mysmartgrip benötigt.+Impulse/kWh, wird bei ''api'':mysmartgrip und ''identifier'':Power benötigt.
 ^ Typ | Integer | ^ Typ | Integer |
 ^ Wert | 1-? | ^ Wert | 1-? |
 ^ Standard | 1000 | ^ Standard | 1000 |
-^ Empfehlung | Entsprechend den Angaben auf dem Zähler |+^ Empfehlung | Entsprechend der Angabe auf dem Zähler |
  
 === send_zero === === send_zero ===
Zeile 566: Zeile 692:
 ^ Beispiel | '$t: $i = $v' für Ausgaben wie '1559656949: Gesamtenergie = 23294' | ^ Beispiel | '$t: $i = $v' für Ausgaben wie '1559656949: Gesamtenergie = 23294' |
  
-  * $t: timestamp+  * $t: timestamp (in Sekunden)
   * $i: identifier (beliebiger String, taucht im Channel unter ''identifier'' wieder auf)   * $i: identifier (beliebiger String, taucht im Channel unter ''identifier'' wieder auf)
   * $v: value   * $v: value
software/controller/vzlogger/vzlogger_conf_parameter.1605427878.txt.gz · Zuletzt geändert: 2020/11/15 09:11 von jau