Benutzer-Werkzeuge

Webseiten-Werkzeuge


software:controller:vzlogger:conf_parameter

Unterschiede

Hier werden die Unterschiede zwischen zwei Versionen angezeigt.

Link zu dieser Vergleichsansicht

Beide Seiten der vorigen Revision Vorhergehende Überarbeitung
software:controller:vzlogger:conf_parameter [2017/11/04 14:25]
jau interner link zum Push-Server
software:controller:vzlogger:conf_parameter [2017/12/14 23:03] (aktuell)
jau verschoben
Zeile 1: Zeile 1:
-======= vzlogger.conf ======= +==== (verschobene seite) ==== 
-Eine Beschreibung der Konfigurationsdatei von [[software:​controller:​vzlogger|vzlogger]],​ der Übersichtlichkeit halber in Abschnitte aufgeteilt.\\ +#redirect ​/software/controller/vzlogger/vzlogger_conf_parameter
- +
-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.\\ +
-Zeichenketten ​(Stringmü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.\\ +
- +
- +
-====== root ====== +
-Im Wurzelverzeichnis haben wir die allgemeinen Einstellungen. +
-<​code>​ +
-+
-  "​retry":​ 0, +
-  "​daemon":​ true, +
-  "​verbosity":​ 0, +
-  "​log":​ "/​var/​log/​vzlogger.conf",​ +
-</​code>​ +
- +
-=== retry === +
-Wartezeit in Sekunden nach einer fehlgeschlagenen Anfrage. +
-^ Typ | Integer | +
-^ Wert | 0-? | +
-^ Empfehlung | 0 | +
- +
-=== daemon === +
-Betreibt vzlogger als Dienst (daemon) in den Hintergrund. +
-^ Typ | Bool | +
-^ Wert | true/false | +
-^ Empfehlung | true | +
- +
-=== verbosity === +
-Ausführlichkeit des Fehlerlogs. +
-^ Typ | Integer | +
-^ Wert | 0 = Alarme | +
-^ ::: | 1 = Fehler | +
-^ ::: | 3 = Warnungen | +
-^ ::: | 5 = Informationen | +
-^ ::: | 10 = Diagnose | +
-^ ::: | 15 = Dateilinformationen | +
-^ Empfehlung | 15 zu Beginn | +
-^ ::: | 0 wenn alles fehlerfrei läuft | +
- +
-  +
-=== log === +
-Speicherort des Fehlerlogs. +
-^ Typ | String | +
-^ Wert | Muss eine vorhandenes Verzeichnis sein auf dem schreibender Zugriff erlaubt ist. | +
-^ Empfehlung | "/​var/​log/​vzlogger.log"​ im Regelfall | +
-^ ::: | ""​ wenn S0-Impulse in schneller Folge geloggt werden da Schreibzugriffe auf SD-Karte das loggen stören können | +
- +
----- +
-  +
-====== push ====== +
-Empfangsort des VZ-[[https://​de.wikipedia.org/​wiki/​Push-Pull-Strategie|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 sollen. Es muss parallel dazu der [[software/​middleware/​push-server|Push-Server der Middleware]] aktiviert werden. +
-<​code>​ +
-  "​push":​ [ +
-    { +
-      "​url":​ ""​http://​127.0.0.1:​5582""​ +
-    } +
-</​code>​ +
- +
-=== push === +
-^ Typ | Array | +
-^ Empfehlung | [] - nicht aktiv | +
- +
-=== url === +
-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 | +
- +
----- +
- +
-====== local ====== +
-HTTP-Dienst (httpd) für Daten-[[https://​de.wikipedia.org/​wiki/​Push-Pull-Strategie|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. +
-<​code>​ +
-  "​local":​ { +
-    "​enabled":​ false, +
-    "​port":​ 8080, +
-    "​index":​ false, +
-    "​timeout":​ 0, +
-    "​buffer":​ 0 +
-  }, +
-</​code>​ +
- +
-=== local === +
-^ Typ | Gruppe | +
- +
-=== enabled === +
-Aktiviert den httpd. +
-^ Typ | Bool | +
-^ Wert | true/false | +
-^ Empfehlung | false | +
- +
-=== 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. +
-^ Typ | Integer | +
-^ Wert | ? | +
-^ Empfehlung | 8080 | +
- +
-=== index === +
-Normal sollte die Anfrage die UUID des gewünschten //channel// enthalten, wird der Index aktiviert werden alle //channel// dargestellt. +
-^ Typ | Bool | +
-^ Wert | true/false | +
-^ Empfehlung | false bei Systemen die von öffentlichen Netzwerken aus verfügbar sind | +
- +
-=== timeout === +
-+
-^ Typ | Integer | +
-^ Wert | 0-? | +
-^ Empfehlung | 0 | +
- +
-=== buffer === +
-? Größe des Ringspeichers ? +
-^ Typ | Integer | +
-^ Wert | 0-? | +
-^ Empfehlung | 0 | +
- +
----- +
- +
-====== meters ====== +
-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 | +
- +
- +
-===== Allgemein ===== +
-<​code>​ +
-  "​meters":​ [ +
-    { +
-      "​enabled":​ false, +
-      "​allowskip":​ false, +
-      "​aggtime":​ -1, +
-      "​aggfixedinterval":​ false, +
-      "​channels":​ [], +
-      "​protocol":​ "​s0",​ +
-      "​device":​ "",​ +
-</​code>​ +
- +
-=== enabled === +
-Den betreffenden Meter (z.B. für Diagnosezwecke) an- oder abstellen. +
-^ Typ | Bool | +
-^ Wert | true/false | +
-^ Empfehlung | true | +
- +
-=== allowskip === +
-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 | +
-^ Empfehlung | true - der Meter wird im Fehlerfall übersprungen | +
- +
-=== 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 das die aggtime nicht kürzer ist als //​interval//​. +
-^ Typ | Integer | +
-^ Wert | 0-? | +
-^ ::: | -1 deaktiviert die Funktion sicher | +
-^ Empfehlung | -1 | +
- +
-=== aggfixedinterval === +
-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 | +
-^ Empfehlung | - | +
- +
----- +
- +
-===== channels ===== +
-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. +
-<​note>​Bei Inbetriebnahme kann man die //​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.</​note>​ +
-<​code>​ +
-      "​channels":​ [ +
-        { +
-          "​uuid":​ "",​ +
-          "​identifier":​ "",​ +
-          "​api":​ "​volkszaehler",​ +
-          "​middleware":​ "​http://​localhost/​middleware.php",​ +
-          "​host":​ "​127.0.0.1",​ +
-          "​secretKey":​ "",​ +
-          "​type":​ "​device",​ +
-          "​scaler":​ 1, +
-          "​aggmode":​ "​none",​ +
-          "​duplicates":​ 0 +
-        } +
-</​code>​ +
- +
-=== uuid === +
-Über die [[https://​de.wikipedia.org/​wiki/​Universally_Unique_Identifier|UUID]] werden die Kanäle der Middleware identifiziert. Sie wird beim [[software:​middleware:​einrichtung#kanaele_im_frontend_anlegen|Erstellen eines Kanals]] von der Middleware generiert. +
-^ Typ | String | +
-^ Wert | z.B. "​57acbef0-88a9-11e4-934f-6b0f9ecd95a8"​ | +
- +
-=== identifier === +
-Ü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 ^ Hinweise +
-| //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"​ | [[software:​obis|OBIS-Codes]] | +
-//sml// |z.B. "​1-0:​1.8.0"​ | [[software:​obis|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"​ | [[software:​obis|OBIS-Codes]] | +
-| //1-wire// | z.B. "​28-00000450cbbd"​ | ID des Sensors | +
- +
-  +
-=== api === +
-Hier wird die [[https://​de.wikipedia.org/​wiki/​Programmierschnittstelle|Programmierschnittstelle]] definiert über die der vzlogger ​Kontakt aufnehmen soll. +
-^ Typ | String | +
-^ Wert | "​volkszaehler"​ für die VZ-Middleware | +
-^ ::: | "​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 | +
-^ ::: | "​null"​ wenn die Werte nur über den integrierten //httpd// oder //push// bereitgestellt werden sollen | +
-^ Empfehlung | "​volkszaehler"​ | +
- +
-=== middleware === +
-Die [[https://​de.wikipedia.org/​wiki/​Uniform_Resource_Locator|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"​ | +
- +
-=== host === +
-Die [[https://​de.wikipedia.org/​wiki/​Uniform_Resource_Locator|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"​ | +
- +
-<​note>​Für InfluxDB gibt es eine Reihe weiterer, optionaler Parameter. Siehe dazu den [[http://​volkszaehler.github.io/​vzlogger/​|vzlogger.conf-Editor]] oder die [[https://​github.com/​volkszaehler/​vzlogger/​blob/​master/​etc/​vzlogger.conf.InfluxDB|Beipielkonfguration im Git]]</​note>​ +
- +
-=== secretKey === +
-Schlüssel für die Kommunikation mit der mySmartGrid-//​api//​ +
-^ Typ | String | +
-^ Wert | ? | +
-^ Empfehlung | ""​ | +
- +
-=== type === +
-Art des //meter//, nur für mySmartGid-//​api//​ +
-^ Typ | String | +
-^ Wert | "​device"​ | +
-^ ::: | "​sensor"​ | +
-^ Empfehlung | ""​ | +
- +
-=== scaler === +
-Faktor für die Werte, nur für mySmartGid-//​api//​ +
-^ Typ | String | +
-^ Wert | 0-? | +
- +
-=== aggmode === +
-Mathematische Art der Aggregation die der vzlogger vornehmen soll. Nur wirksam in Verbindung mit //aggtime// größer als 0. +
-^ 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 | +
-^ Empfehlung | "​none"​ | +
- +
-=== duplicates === +
-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! | +
- +
-=== protocol === +
-Das Protokoll mit dem der Meter sendet. Der [[http://​volkszaehler.github.io/​vzlogger/​|JSON-Editor]] hilft bei der korrekten Wahl. +
-^ Typ | String || +
-^ Wert | "​s0"​ | Impulssignale | +
-^ ::: | "​d0"​ | Zeilenbasierter Klartext nach DIN EN 62056-21 | +
-^ ::: | "​sml"​ | [[software:​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 [[https://​www.flukso.net/​about|Flukso]]-Meter | +
-^ ::: | "​ocr"​ | Bilderkennung | +
-^ ::: | "​oms"​ | Open Metering System, ein Ableger von M-Bus | +
-^ ::: | "​w1therm"​ | 1-Wire-Temperatursensoren an Busmaster DS2482 | +
-^ Empfehlung | - || +
- +
-=== device === +
-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 [[hardware:​controllers:​ir-schreib-lesekopf-usb-ausgang|IR-Schreib-Lesekopf mit USB-Ausgang]],​ unnötig bei s0 an GPIO oder d0/sml über TCP/IP. | +
- +
----- +
- +
-===== protocol-spezifische Schlüssel ===== +
-Jedes //​protocol//​ hat eine eigene Reihe erforderlicher und optionaler Schlüssel. +
- +
-==== s0 ==== +
-<​code>​ +
-      "​gpio":​ -1, +
-      "​mmap":​ "",​ +
-      "​gpio_dir":​ -1, +
-      "​configureGPIO":​ true, +
-      "​resolution":​ 1000, +
-      "​send_zero":​ false, +
-      "​debounce_delay":​ 30, +
-      "​nonblocking_delay":​ 100000, +
-</​code>​ +
- +
-=== gpio === +
-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 | - | +
- +
-=== mmap === +
-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 | ""​ | +
- +
-=== gpio_dir === +
-Es kann zwischen steigender und fallender Flanke unterschieden werden. +
-^ Typ | Integer | +
-^ Wert | 0 fallende Flanke ? | +
-^ ::: | 1 steigende Flanke ? | +
-^ ::: | -1 deaktiviert die Funktion sicher | +
-^ Empfehlung | -1 | +
- +
-=== configureGPIO === +
-Vzlogger kann die E/​A-Konfiguration des GPIO übernehmen. +
-^ Typ | Bool | +
-^ Wert | true/false | +
-^ Empfehlung | true | +
- +
-=== resolution === +
-Impulse/​kWh,​ wird bei //​api//:​mysmartgrip benötigt. +
-^ Typ | Integer | +
-^ Wert | 1-? | +
-^ Empfehlung | Entsprechend den Angaben auf dem Zähler | +
- +
-=== send_zero === +
-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 | +
-^ Empfehlung | false | +
- +
-=== debounce_delay === +
-Bei mechanischen Impulsquellen (Reedkontakten) kann es zu Kontaktprellen kommen. Hier wird definiert wie viele Millisekunden nachfolgende Signalflanken ignoriert werden. +
-^ Typ | Integer | +
-^ Wert | 0-? | +
-^ Empfehlung | 0 für elektronische Signalquellen. 30 oder mehr für mechanische. | +
- +
-=== nonblocking_delay === +
-Zeitverzögerung in Nanosekunden bei aktiviertem //mmap//. +
-^ Typ | Integer | +
-^ Wert | 0-? | +
-^ Empfehlung | 10000, bei 5000 können auf einem RaspberryPi 2 Impulse mit bis zu 30kHz geloggt werden. | +
- +
----- +
-==== d0 ==== +
-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 [[hardware:​channels:​meters:​power:​edl-ehz|im Wiki dokumentiert]]. +
-<​code>​ +
-      "​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 +
-</​code>​ +
- +
-=== interval === +
-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 | +
-^ Empfehlung | -1 bei Push-Meter | +
-^ ::: | Nach Bedarf | +
- +
-=== host === +
-Für Meter die nicht lokal sondern übers TCP/​IP-Netz angebunden sind. +
-^ Typ | String | +
-^ Wert | ""​ eine gültige URL mit Port | +
-^ Empfehlung | ""​ | +
- +
-=== dump_file === +
-Das Datentelegramm kann zu Dignosezwecken zusätzlich in eine Datei ausgegeben werden. +
-^ Typ | String | +
-^ Wert | ""​ Muss eine vorhandenes Verzeichnis sein auf dem schreibender Zugriff erlaubt ist. | +
-^ Empfehlung | "​~/​d0-dump.txt"​ z.B. Sollte nach der Fehlersuche aber abgestellt werden: ""​ | +
- +
-=== pullseq === +
-Initialisierungssequenz für Pull-Meter. +
-^ Typ | String | +
-^ Wert | z.B. "​2F3F210D0A"​ | +
-^ Empfehlung | ""​ bei Push-Meter | +
-^ ::: | "​2F3F210D0A"​ bei Pull-Meter | +
- +
-=== ackseq === +
-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 | +
-^ Empfehlung | "​auto"​ | +
- +
-=== baudrate === +
-Die serielle Geschwindigkeit mit der der Meter kommuniziert. +
-^ Typ | Integer | +
-^ Wert | 300, 600, 1200, 1800, 2400, 4800, 9600, 19200, 38400, u.A. | +
-^ Empfehlung | 300 | +
- +
-=== baudrate_read === +
-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. | +
-^ 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. | +
- +
-=== parity === +
-[[hardware:​controllers:​ir-schreib-lesekopf#​grundlagen|Frameformat]] der seriellen Kommunikation. +
-^ Typ | String | +
-^ Wert | "​7e1",​ "​8n1",​ "​7o1",​ "​7n1"​ | +
-^ Empfehlung | "​7e1"​ | +
- +
-=== wait_sync === +
-Manche Zähler schicken kein Synchronisationssignal "​!"​ sondern weiter Datentelegramme ohne auf eine //pullseq// zu warten. +
-^ Typ | String | +
-^ Wert |  "​off"​ ? | +
-^ ::: | "​end"​ ? | +
-^ Empfehlung | "​off"​ | +
- +
-=== read_timeout === +
-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-? | +
-^ Empfehlung | 10 | +
- +
-=== baudrate_change_delay === +
-Zeit in ms nach //ackseq// bevor die Baudrate auf //​baudrate_read//​ umgestellt wird. +
-^ Typ | Integer | +
-^ Wert | 0-? | +
-^ Empfehlung | 0, da vor umstellen der Baudrate der UART sowieso geleert wird | +
- +
----- +
-==== sml ==== +
-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 [[hardware:​channels:​meters:​power:​edl-ehz|im Wiki dokumentiert]]. +
-<​code>​ +
-      "​interval":​ -1, +
-      "​host":​ "",​ +
-      "​pullseq":​ "",​ +
-      "​baudrate":​ 9600, +
-      "​parity":​ "​8n1",​ +
-      "​use_local_time":​ false +
-</​code>​ +
- +
-=== interval === +
-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 | +
-^ Empfehlung | -1 bei Push-Meter | +
-^ ::: | Nach Bedarf | +
- +
-=== host === +
-Für Meter die nicht lokal sondern übers TCP/​IP-Netz angebunden sind. +
-^ Typ | String | +
-^ Wert | ""​ eine gültige URL mit Port | +
-^ Empfehlung | ""​ | +
-  +
-=== pullseq === +
-Initialisierungssequenz für Pull-Meter. +
-^ Typ | String | +
-^ Wert | z.B. "​2F3F210D0A"​ | +
-^ Empfehlung | ""​ bei Push-Meter | +
-^ ::: | "​2F3F210D0A"​ bei Pull-Meter | +
- +
-=== baudrate === +
-Die serielle Geschwindigkeit mit der der Meter kommuniziert. +
-^ Typ | Integer | +
-^ Wert | 300, 600, 1200, 1800, 2400, 4800, 9600, 19200, 38400, u.A. | +
-^ Empfehlung | 9600 | +
- +
-=== parity === +
-[[hardware:​controllers:​ir-schreib-lesekopf#​grundlagen|Frameformat]] der seriellen Kommunikation. +
-^ Typ | String | +
-^ Wert | "​7e1",​ "​8n1",​ "​7o1",​ "​7n1"​ | +
-^ Empfehlung | "​8n1"​ | +
- +
-=== use_local_time === +
-Nutzt zur Erstellung des Timestamp die aktuelle Uhrzeit des Rechners statt des Zählers.\\ +
-Wenn ein Zähler im Datenstrom eine Uhrzeit mitliefert wird diese verwendet um Zeitverschiebungen durch FiFo-Puffer auszuschließen. Es sind allerdings Zähler im Umlauf bei denen vergessen wurde die Zeit bei Inbetriebnahme einzustellen,​ in diesen Fällen sollte der vzlogger die lokale Rechnerzeit verwenden. +
-^ Typ | Bool | +
-^ Wert | true/false | +
-^ Empfehlung | false | +
----- +
-==== random ==== +
-Zufallsgenerator +
- +
----- +
-==== file ==== +
-Auswerten einer bestehenden Datei, wird mittels //format// weiter parametriert +
- +
----- +
-==== exec ==== +
-Programmausgaben parsen +
- +
----- +
-==== fluksov2 ==== +
-Protokoll der [[https://​www.flukso.net/​about|FlukSo]]-Meter +
- +
----- +
-==== ocr ==== +
-Bilderkennung +
- +
----- +
-==== oms ==== +
-Open Metering System, ein Ableger von M-Bus +
- +
----- +
-==== w1therm ==== +
-Für 1-Wire-Temperatursensoren am Busmaster DS2482 sind keine weiteren Parameter nötig. +
- +
----- +
- +
-===== Schluss ===== +
-Und ganz wichtig: Klammern schließen! +
-<​code>​ +
-     } +
-  ] +
-+
-</​code>​ +
software/controller/vzlogger/conf_parameter.txt · Zuletzt geändert: 2017/12/14 23:03 von jau