Eine Beschreibung der Konfigurationsdatei von vzlogger, der Übersichtlichkeit halber in Abschnitte aufgeteilt.
Formatiert ist sie nach JSON; kompakt, manuell lesbar und einfach zu parsen. Entgegen dem Standard unterstützt vzlogger auch Kommentare /*…*/ oder // innerhalb der Konfigurationsdatei.
Korrekte Kommata und Klammerung sind zwingend. Der 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 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.
Im Wurzelverzeichnis haben wir die allgemeinen Einstellungen.
{ "retry": 0, "verbosity": 0, "log": "/var/log/vzlogger/vzlogger.log",
Wartezeit in Sekunden nach einer fehlgeschlagenen Anfrage.
Typ | Integer |
---|---|
Wert | 0-? |
Empfehlung | 0 |
Ausführlichkeit des Fehlerlogs.
In der höchsten Detailstufe werden auch alle verfügbaren OBIS-Codes eines SML-Telegramms gelistet.
Typ | Integer |
---|---|
Wert | 0 = Alarme |
1 = Fehler | |
3 = Warnungen | |
5 = Informationen | |
10 = Diagnose | |
15 = Detailinformationen | |
Empfehlung | 15 zu Beginn |
0 wenn alles fehlerfrei läuft |
Speicherort des Fehlerlogs.
Typ | String |
---|---|
Wert | Muss eine vorhandenes Verzeichnis sein auf dem schreibender Zugriff erlaubt ist. |
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 |
Empfangsort des VZ-Push-Servers.
Über den Dienst ist es zum Beispiel möglich Daten an die VZ-Middleware zu schicken die zwar dargestellt, aber nicht gespeichert werden. Es muss parallel dazu der Push-Server der Middleware aktiviert werden.
"push": [ { "url": ""http://127.0.0.1:5582"" }
Typ | Array |
---|---|
Empfehlung | [] - nicht aktiv |
Zielort an dem die Daten in Empfang genommen werden.
Typ | String |
---|---|
Wert | eine gültige URL |
Empfehlung | „http://127.0.0.1:5582“ für VZ |
HTTP-Dienst (httpd) für Daten-Pull.
Stellt die Daten der konfigurierten meter
zu manuellen Kontrolle oder für andere Anwendungen bereit. Erspart einem z.B das Parsen des SML-Telegramms von einem eHz.
Es können alle Werte angezeigt werden für die ein channel
angelegt wurde, auch jene die „api“ : „null“
konfiguriert wurden.
"local": { "enabled": false, "port": 8081, "index": false, "timeout": 0, "buffer": 0 },
Typ | Gruppe |
---|
Aktiviert den httpd.
Typ | Bool |
---|---|
Wert | true/false |
Empfehlung | false |
Der 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 |
---|---|
Wert | ? |
Empfehlung | 8081 |
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 |
---|---|
Wert | true/false |
Empfehlung | false bei Systemen die von öffentlichen Netzwerken aus verfügbar sind |
?
Typ | Integer |
---|---|
Wert | 0-? |
Empfehlung | 0 |
? Größe des Ringspeichers ?
Typ | Integer |
---|---|
Wert | 0-? |
Empfehlung | 0 |
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.
"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 }
MQTT an- oder abstellen.
Typ | Bool |
---|---|
Wert | true/false |
Standard | false |
Empfehlung | true |
Server-Adresse des MQTT-Brokers.
Typ | String |
---|---|
Wert | eine gültige URL |
Standard | test.mosquitto.org |
Port des MQTT-Brokers.
Typ | Integer |
---|---|
Wert | 1883 (unverschlüsselt), 8883 (verschlüsselt), 8884 (verschlüsselt mit Zertifikat) |
Standard | 1883 |
Optionaler Dateiname der Server CA
Typ | String |
---|---|
Wert | Dateiname |
Standard |
Optionaler Pfad für Server CAs
Typ | String |
---|---|
Wert | Pfad |
Standard |
cafile
oder capath
verwendet werden. Weitere Informationen sind in der Datei mosquitto.conf
des MQTT-Brokers
Optionaler Dateiname des Client-Zertifikats (z.B. client.crt
)
Optionaler Pfad zum privaten Schlüssel des Client-Zertifikats (z.B. client.key
)
Typ | String |
---|---|
Wert | Dateiname |
Standard |
Optionales Passwort des privaten Schlüssels
Typ | String |
---|---|
Wert | Passwort |
Standard |
Optionales Angabe der Sekunden zur Aufrechterhaltung der Verbindung (Keepalive)
Typ | Integer |
---|---|
Wert | 0-? |
Standard | 30 |
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 |
$
beginnen und nicht mit /
enden.
Optionale statische Client-ID. Bei Nichtangabe wird eine Client-ID nach dem Muster vzlogger_<pid>
verwendet.
Typ | String |
---|---|
Wert | Client-ID |
Standard | vzlogger_<pid> |
Optionaler Benutzername zur Anmeldung an den MQTT-Broker.
Typ | String |
---|---|
Wert | Benutzername |
Standard |
Optionales Password zur Anmeldung an den MQTT-Broker.
Typ | String |
---|---|
Wert | Passwort |
Standard |
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 |
Optionale Veröffentlichung der Rohdaten selbst wenn der Zusammenfassungs-Modus (aggmode
) verwendet wird.
Typ | Boolean |
---|---|
Wert | true/false |
Standard | false |
Optionale Angabe des Quality of Service.
Typ | Integer |
---|---|
Wert | 0/1 |
Standard | 0 |
Optionale Angabe, ob ein Zeitstempel im Payload mit angegeben werden soll.
Typ | Boolean |
---|---|
Wert | true/false |
Standard | false |
Hier werden die Datenquellen (Zähler, Sensoren) definiert mit denen der vzlogger kommunizieren soll. Jede Quelle ist eine Gruppe von Schlüsseln, es sind also mehrere Meter möglich.
Nicht alle Paramter sind in allen Konfigurationen erforderlich oder sinnvoll. Erst werden die Allgemeinen, dann die speziellen Parameter, in Abhängigkeit von protocol
, beschrieben.
Typ | Array |
---|
"meters": [ { "enabled": false, "allowskip": false, "aggtime": -1, "aggfixedinterval": false, "protocol": "s0", "device": "", "channels": [],
Den betreffenden Meter (z.B. für Diagnosezwecke) an- oder abstellen.
Typ | Bool |
---|---|
Wert | true/false |
Standard | false |
Empfehlung | true |
Schlägt das öffnen des Meter fehl bricht vzlogger ab oder ignoriert ihn und setzt mit dem nächsten konfigurierten Meter fort.
Typ | Bool |
---|---|
Wert | true/false |
Standard | false |
Empfehlung | true - der Meter wird im Fehlerfall übersprungen |
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 |
---|---|
Wert | 0-? |
-1 deaktiviert die Funktion sicher (Bitte auch aggmode auf „none“ setzen, um undefiniertes Verhalten zu vermeiden) |
|
Standard | -1 |
Empfehlung | -1 |
Für eine optisch schönere Darstellung im Frontend ist es möglich alle aggregierten Kanäle dieses Meters mit identischem Timestamp an die Middleware zu senden.
Typ | Bool |
---|---|
Wert | true/false |
Standard | false |
Empfehlung | - |
Das Protokoll mit dem der Meter sendet. Der JSON-Editor hilft bei der korrekten Wahl.
Typ | String | |
---|---|---|
Wert | „s0“ | Impulssignale |
„d0“ | Zeilenbasierter Klartext nach DIN EN 62056-21 | |
„sml“ | SML wie es bei EDL-21, eHz und SyM2 verwendet wird | |
„random“ | Zufallsgenerator | |
„file“ | Auswerten einer bestehenden Datei, wird mittels format weiter parametriert |
|
„exec“ | Programmausgaben parsen | |
„fluksov2“ | Protokoll der Flukso-Meter | |
„ocr“ | Bilderkennung | |
„oms“ | Open Metering System, ein Ableger von M-Bus | |
„w1therm“ | 1-Wire-Temperatursensoren an Busmaster DS2482 | |
Empfehlung | - |
Das Linux-Device über den der Meter angebunden ist.
Typ | String |
---|---|
Wert | „“ oder |
„/dev/ttyUSB0“ und andere gültige Device mit Schreib- und Leserecht. | |
Empfehlung | „/dev/ttyUSB0“ für einen IR-Schreib-Lesekopf mit USB-Ausgang, unnötig bei s0 an GPIO oder d0/sml über TCP/IP. |
So ziemlich die wichtigste Gruppe. Hier erfolgt die Zuordnung der von vzlogger gelesenen Daten zu den Kanälen der Middleware. Es sind mehrere channels
in jedem meter
möglich.
channels
erstmal leer lassen, verbositiy
= 15 setzen und im log
oder dump_file
schauen was für Daten und unter welchen identifier
die meter
zur Verfügung stellen.
"channels": [ { "uuid": "", "identifier": "", "api": "volkszaehler", "middleware": "http://localhost/middleware.php", "host": "127.0.0.1", "secretKey": "", "type": "device", "scaler": 1, "timeout" : 30, "aggmode": "none", "duplicates": 0 }
Über die UUID werden die Kanäle der Middleware identifiziert. Sie wird beim Erstellen eines Kanals von der Middleware generiert.
Typ | String |
---|---|
Wert | z.B. „57acbef0-88a9-11e4-934f-6b0f9ecd95a8“ |
Über diesen String werden die Werte zu diesem channel
aus den Daten des meter
identifiziert.
Wie der String aussieht hängt vom protocol
ab.
Typ | String |
---|
protocol | Wert | |
---|---|---|
s0 | „Impulse“ oder „Impulse_neg“ | für Impulse |
s0 | „Power“ oder „Power_neg“ | dabei werden die Impulse auf Basis der resolution von Arbeit (kWh) in Leistung (W) umgerechnet |
d0 | z.B. „1-0:1.8.0“ | OBIS-Codes |
sml | z.B. „1-0:1.8.0“ | OBIS-Codes |
random | „“ | bleibt immer leer |
file | „“ oder per $i definiert | z.B. $i = $v ⇒ Temperatur = 10 ⇒ Identifier „Temperatur“, Value = 10 |
exec | „“ oder per $i definiert | z.B. $i = $v ⇒ Temperatur = 10 ⇒ Identifier „Temperatur“, Value = 10 |
fluksov2 | z.B. „Consumption“ oder „Power“ | wie bei FlukSo zu -ChannelId und +ChannelId zugewiesen |
ocr | z.B. „wert“ | wie unter meter , identifier parametriert |
oms | z.B. „1.8.0“ | OBIS-Codes |
w1therm | z.B. „28-00000450cbbd“ | ID des Sensors |
Hier wird die Programmierschnittstelle definiert über die der vzlogger Kontakt aufnehmen soll.
Typ | String |
---|---|
Wert | „volkszaehler“ für die VZ-Middleware |
„mysmartgrid“ vzlogger kann auch mySmartGrid mit Daten beliefern | |
„influxdb“ vzlogger kann auch InfluxDB mit Daten beliefern | |
„null“ wenn die Werte nur über den integrierten httpd , push oder mqtt bereitgestellt werden sollen |
|
Standard | „volkszaehler“ |
Empfehlung | „volkszaehler“ |
Achtung: Der Wert ist ggfs. „null“, nicht null.
Die URL über welche die api
zu erreichen ist.
Typ | String |
---|---|
Wert | z.B. „http://localhost/middleware.php“ für eine VZ-Middleware auf der selben Maschine (Raspberry Image) |
z.B. „https://demo.volkszaehler.org/middleware.php“ für den VZ Demo Server | |
Empfehlung | „http://localhost/middleware.php“ |
Die URL über welche die InfluxDB api
zu erreichen ist.
Typ | String |
---|---|
Wert | z.B. „127.0.0.1“ für eine InfluxDB auf der selben Maschine |
Empfehlung | „127.0.0.1“ |
Schlüssel für die Kommunikation mit der mySmartGrid-api
Typ | String |
---|---|
Wert | ? |
Empfehlung | „“ |
Art des meter
, nur für mySmartGid-api
Typ | String |
---|---|
Wert | „device“ |
„sensor“ | |
Empfehlung | „“ |
Faktor für die Werte, nur für mySmartGid-api
Typ | Integer |
---|---|
Wert | 0-? |
Zeit in Sekunden für die Zustellung per Curl nach der die Verbindung als misslungen betrachtet wird.
Typ | Integer |
---|---|
Standard | 30 |
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 |
---|---|
Wert | „avg“ Durchschnitt, zu verwenden bei Aktualwerten wie Strom, Spannung oder Temperatur |
„max“ Maximal, zu verwenden bei Zählerständen | |
„sum“ Summe, zu verwenden bei Impulsen | |
„none“ keine Aggreagtion vornehmen | |
Standard | „none“ |
Empfehlung | „none“ |
Zeit in Sekunden in denen wiederholende, identische Werte (z.B. unveränderte Zählerstände) nicht an die api
weitergeleitet werden sollen.
Typ | Integer |
---|---|
Wert | 0-? |
Empfehlung | 0, insbesondere bei s0 -Impulsen! |
Jedes protocol
hat eine eigene Reihe erforderlicher und optionaler Schlüssel.
"gpio": -1, "mmap": "", "gpio_dir": -1, "configureGPIO": true, "resolution": 1000, "send_zero": false, "debounce_delay": 30, "nonblocking_delay": 100000,
Bestimmt den GPIO am RaspberryPi an dem der Meter angeschlossen ist.
Typ | Integer |
---|---|
Wert | 4, 17, 18, 22, 23, 27, je nach verwendeter Erweiterung und Eingang. |
Empfehlung | - |
Für hochfrequente Impulssignale können die GPIO des RaspberryPi auf Memory-Mapping umgestellt werden. Die Ports müssen manuell als Eingänge konfiguriert werden. Nur für Impulssignale!
Typ | String |
---|---|
Wert | „“ deaktiviert |
„rpi1“ Raspberry A? | |
„rpi2“ Raspberry B? | |
Empfehlung | „“ |
Es kann die Zählrichtung umgekehrt werden.
Typ | Integer |
---|---|
Wert | 0 Zählung positiv |
1 Zählung negativ | |
-1 deaktiviert die Funktion sicher | |
Empfehlung | -1 |
Vzlogger kann die E/A-Konfiguration des GPIO übernehmen.
Typ | Bool |
---|---|
Wert | true/false |
Empfehlung | true |
Impulse/kWh, wird bei api
:mysmartgrip und identifier
:Power benötigt.
Typ | Integer |
---|---|
Wert | 1-? |
Standard | 1000 |
Empfehlung | Entsprechend der Angabe auf dem Zähler |
Wenn keine Impulssignale eintreffen wird der vzlogger auch keinen Datentupel an die MW senden. Ist send_zero aktiv wird jede Sekunde ein Tuple gesendet auch wen keine Impulse registriert wurden. In Verbindung mit aggtime
kann der Zeitraum vergrößert werden.
Typ | Bool |
---|---|
Wert | true/false |
Standard | false |
Empfehlung | false |
Bei mechanischen Impulsquellen (Reedkontakten) kann es zu Kontaktprellen kommen. Hier wird definiert wie viele Millisekunden nachfolgende Signalflanken ignoriert werden.
Typ | Integer |
---|---|
Wert | 0-? |
Standard | 30 |
Empfehlung | 0 für elektronische Signalquellen. 30 oder mehr für mechanische. |
Zeitverzögerung in Nanosekunden bei aktiviertem mmap
.
Typ | Integer |
---|---|
Wert | 0-? |
Standard | 10000 |
Empfehlung | 10000, bei 5000 können auf einem RaspberryPi 2 Impulse mit bis zu 30kHz geloggt werden. |
Manche Zähler senden ihre Daten unaufgeforder alle paar Sekunden (Push), andere müssen dazu aufgefordert werden (Pull). Ob es sich um einen Pull- oder Push-Meter handelt kann mit einer Digitalkamera an der IR-Diode geprüft werden. Vielleicht ist dein Zählertyp aber auch schon im Wiki dokumentiert.
"interval": -1, "host": "", "dump_file": "", "pullseq": "", "ackseq": "auto", "baudrate": 300, "baudrate_read": 300, "parity": "7e1", "wait_sync": "off", "read_timeout": 10, "baudrate_change_delay": 0
Verzögerung zwischen Zugriffen auf Pull-Meter in Sekunden. Es ist darauf zu achten das der Meter genug Zeit hat zu antworten, z.B. wenn er seriell mit nur 300bd sendet.
Typ | Integer |
---|---|
Wert | 0-? |
-1 deaktiviert die Funktion sicher | |
Standard | -1 |
Empfehlung | -1 bei Push-Meter |
Nach Bedarf |
Für Meter die nicht lokal sondern übers TCP/IP-Netz angebunden sind.
Typ | String |
---|---|
Wert | „“ eine gültige URL mit Port |
Empfehlung | „“ |
Das Datentelegramm kann zu Diagnosezwecken zusätzlich in eine Datei ausgegeben werden.
Typ | String |
---|---|
Wert | „“ Muss eine vorhandenes Verzeichnis sein auf dem schreibender Zugriff erlaubt ist. |
Standard | „“ |
Empfehlung | „~/d0-dump.txt“ z.B. Sollte nach der Fehlersuche aber abgestellt werden: „“ |
Initialisierungssequenz für Pull-Meter.
Typ | String |
---|---|
Wert | z.B. „2F3F210D0A“ |
Standard | „“ |
Empfehlung | „“ bei Push-Meter |
„2F3F210D0A“ bei Pull-Meter |
Nach der Initilisierungssequenz antwortet ein Pull-Meter mit einem Einzeiler, um das Datentelegramm zu erhalten ist eine Startsequenz nötig. Ev. wird dabei auch die Baudrate umgestellt. Ist aber stark vom Zähler abhängig.
Typ | String |
---|---|
Wert | „auto“ |
z.B. „063030300d0a“ für 300bd | |
z.B. „063035300d0a“ für 9600bd | |
Standard | „“ |
Empfehlung | „auto“ |
Die serielle Geschwindigkeit mit der der Meter kommuniziert.
Typ | Integer |
---|---|
Wert | 300, 600, 1200, 1800, 2400, 4800, 9600, 19200, 38400, u.A. |
Standard | 9600 |
Empfehlung | 300 |
Pull-Meter erlauben teilweise auch mehr als 300bd. Diese muss in der ackseq
angefordert und hier dem vzlogger mitgeteilt werden.
Typ | Integer |
---|---|
Wert | 300, 600, 1200, 1800, 2400, 4800, 9600, 19200, 38400, u.A. |
Standard | wie unter baudrate eingestellt |
Empfehlung | 300 geht eigentlich immer. Je nach Länge des Datentelegramms kann die zeitliche Auflösung aber zu wünschen übrig lassen weil interval recht groß sein muss. |
Frameformat der seriellen Kommunikation.
Typ | String |
---|---|
Wert | „7e1“, „8n1“, „7o1“, „7n1“ |
Standard | „7e1“ |
Empfehlung | „7e1“ |
Manche Zähler schicken kein Synchronisationssignal „!“ sondern weiter Datentelegramme ohne auf eine pullseq
zu warten.
Typ | String |
---|---|
Wert | „off“ ? |
„end“ ? | |
Standard | „off“ |
Empfehlung | „off“ |
Zeit in Sekunden nach denen der vzlogger die Kommunikation für beendet erachtet. Ist erforderlich falls der Zähler kein Synchronisationssignal sendet, die Startsequenz fehlt schlägt oder sonstwie Zeichen verloren gehen. Die Zeit darf aber nicht zu kurz sein sonst wird mitten im Datentelegramm abgebrochen.
Typ | Integer |
---|---|
Wert | 1-? |
Standard | 10 |
Empfehlung | 10 |
Zeit in ms nach ackseq
bevor die Baudrate auf baudrate_read
umgestellt wird.
Typ | Integer |
---|---|
Wert | 0-? |
Standard | 0 |
Empfehlung | 0, da vor umstellen der Baudrate der UART sowieso geleert wird |
Manche Zähler senden ihre Daten unaufgeforder alle paar Sekunden (Push), andere müssen dazu aufgefordert werden (Pull). Ob es sich um einen Pull- oder Push-Meter handelt kann mit einer Digitalkamera an der IR-Diode geprüft werden. Vielleicht ist dein Zähler aber auch schon im Wiki dokumentiert.
"interval": -1, "host": "", "pullseq": "", "baudrate": 9600, "parity": "8n1", "use_local_time": false
Verzögerung zwischen Zugriffen auf Pull-Meter in Sekunden. Es ist darauf zu achten das der Meter genug Zeit hat zu antworten, z.B. wenn er seriell mit nur 300bd sendet.
Typ | Integer |
---|---|
Wert | 0-? |
-1 deaktiviert die Funktion sicher | |
Standard | -1 |
Empfehlung | -1 bei Push-Meter |
Nach Bedarf |
Für Meter die nicht lokal sondern übers TCP/IP-Netz angebunden sind.
Typ | String |
---|---|
Wert | „“ eine gültige URL mit Port |
Empfehlung | „“ |
Initialisierungssequenz für Pull-Meter.
Typ | String |
---|---|
Wert | z.B. „2F3F210D0A“ |
Standard | „“ |
Empfehlung | „“ bei Push-Meter |
„2F3F210D0A“ bei Pull-Meter |
Die serielle Geschwindigkeit mit der der Meter kommuniziert.
Typ | Integer |
---|---|
Wert | 300, 600, 1200, 1800, 2400, 4800, 9600, 19200, 38400, u.A. |
Standard | 9600 |
Empfehlung | 9600 |
Frameformat der seriellen Kommunikation.
Typ | String |
---|---|
Wert | „7e1“, „8n1“, „7o1“, „7n1“ |
Standard | „8n1“ |
Empfehlung | „8n1“ |
Nutzt zur Erstellung des Timestamp die aktuelle Uhrzeit des Rechners („true“) statt des Zählers („false“).
Die meisten Zähler liefern im Datenstrom die Echtzeit mit. Wenn diese bei der Inbetriebnahme korrekt eingestellt wurde, verwenden wir sie um z.B. mögliche Zeitverschiebungen durch FiFo-Puffer auszuschließen. Sind die Timestamp falsch oder fehlen sogar ganz muss der vzlogger die lokale Rechnerzeit heranziehen.
Typ | Bool |
---|---|
Wert | true/false |
Standard | false |
Empfehlung | false |
—-
Zufallsgenerator
Auswerten einer bestehenden Datei, wird mittels format
weiter parametriert
In einem exec-Kanal wird für jede Abfrage das im Parameter command
angegebene Shellkommando aufgerufen und die Standard-Ausgabe dieses Kommandos geparst. Dabei kann das erwartete Format mit Hilfe des format
Parameters spezifiziert werden.
root
ausgeführt wird. Durch einen Compiler-Parameter lässt sich diese Sicherheitsmaßnahme ausschalten. Es wird allerdings empfohlen, den vzlogger besser nicht als root
auszuführen. In vielen Standard-Images ist dies nicht der Fall.Dieses Kommando wird ausgeführt; seine Ausgabe geparst
Typ | string |
---|---|
Wert | Shell-Kommando |
Beispiel | Siehe Wikiseiten zum Kostal Piko oder zum DZG DVH 4013 Modbus |
Jede Zeile der Ausgabe des command
wird mit diesem Formatstring geparst und für jede Zeile ein eigener Datensatz erzeugt. Somit können sowohl mehrere Werte (z.B. verschiedene Register, die mit einem einzigen Aufruf des command
ausgelesen wurden) als auch Werte unterschiedlicher Zeitstempel (z.B. man fragt die Quelle alle 30 Sekunden ab, möchte aber aus Gründen immer Batches von sechs Werten gleichzeitig in die Datenbank schreiben) mit einem einzelnen Aufruf eingetragen werden.
Typ | string |
---|---|
Wert | Formatstring |
Beispiel | '$t: $i = $v' für Ausgaben wie '1559656949: Gesamtenergie = 23294' |
identifier
wieder auf)Werte ohne identifier-Angabe landen beim Channel mit '„identifier“: „“'.
Weitere Dokumentation könnte man in den Mailinglistenarchiven, z.B. hier ff., finden.
Protokoll der FlukSo-Meter
Bilderkennung
Open Metering System, ein Ableger von M-Bus
Für 1-Wire-Temperatursensoren am Busmaster DS2482 sind keine weiteren Parameter nötig.
Und ganz wichtig: Klammern schließen!
} ] }