Benutzer-Werkzeuge

Webseiten-Werkzeuge


software:controller:vzlogger

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 [2015/08/08 20:37] – [Meters & Protocols] udo1software:controller:vzlogger [2022/06/17 08:15] (aktuell) – [vzlogger] typo boenki
Zeile 1: Zeile 1:
 ====== vzlogger ====== ====== vzlogger ======
 +
 +This description is also available in [[/software/controller/vzlogger/overview_en|english]].
  
 **vzlogger**... **vzlogger**...
-  * is a tool to read and log measurements of a wide variety of smartmeters and sensors to the volkszaehler.org middleware+  * ist ein Werkzeug zum Lesen der Messwerte von Sensoren und Smartmeter um sie an die volkszahler.org Middleware weiterzureichen 
-  * can run as a daemon in background or via cron. +  * unterstützt auch [[https://www.mysmartgrid.de/|MySmartGrid]] und [[https://en.wikipedia.org/wiki/InfluxDB|InfluxDB]] 
-  * includes a tiny onboard HTTPd to serve realtime readings to the AJAX web frontend.+  * läuft als daemon im Hintergrund 
 +  * enthält einen kleinen eingebauten httpd um Echtzeitwerte als AJAX-Frontend bereitzustellen 
 +  * liefert die Daten auch über einen zweiten, zusätzlichen Push-Kanal aus.
  
 ===== Features ===== ===== Features =====
-  * evaluates middleware return code +  * wertet den Return Code der Middleware aus 
-  * buffering readings in case of:  +  * puffert die Werte (im RAM) im Falle von:  
-    * network timeout +    * Netzwerktimeout 
-    * invalid middleware return code/exception or misconfiguration +    * ungültigem Middleware Return Code, Fehlern oder Fehlkonfigurationen 
-  * "local interfaceonboard HTTPd ([[http://bugs.volkszaehler.org/view.php?id=9|[9] ]]) +  * "lokales Interfaceeingebauter httpd 
-  * easily extendable with new sensor/meter protocols +  * einfach um weitere Sensoren oder SmartMeter Protokolle zu erweitern 
-  * runs on embedded devices (Plug-ComputersRoutersFluksos etc..) +  * auf Embedded Systemen lauffähig (Mini-Computer, [[/howto/raspberry_pi_image|Raspberry Pi]], Router, Flukso, etc..) 
-  * portable (conforms to POSIX standards)+  * portierbar (entspricht POSIX Standards)
  
 ===== Installation ===== ===== Installation =====
  
-vzlogger is hosted at [[https://github.com/volkszaehler/vzlogger]].+Vzlogger wird über Github bereitgestellt [[https://github.com/volkszaehler/vzlogger]].
  
-==== installation ==== +==== Installationsanleitung ==== 
-for installing the current version, refer to  [[/software/controller/vzlogger/installation_cpp-version]].+Die Anleitung findet ihr auf einer getrennten Seite: [[/software/controller/vzlogger/installation_cpp-version]].
  
  
-===== Meters Protocols =====+===== Zähler Protokolle =====
  
-The following table contains an overview of the existing protocols supported by vzlogger:+Die folgende Tabelle enthält eine Übersicht der von vzlogger unterstützen Protokolle: 
 + 
 +^ID^Beschreibung^Status^Beispiel & Anwendung^Links & Referenzen^ 
 +|''file''|lesen von Datei oder fifo|**implemented**|[[http://owfs.org/|OWFS]], ''/proc/'' Dateisystem|[[http://linux.die.net/man/3/exec|read(3)]]| 
 +|''exec''|Programmausagben parsen|**untested**|[[http://www.digitemp.com/|digitemp]]|[[http://linux.die.net/man/3/exec|exec(3)]]| 
 +|''sml''|SML wie von  EDL-21, eHz and SyM<sup>2</sup> Zählern genutzt|**implemented**| |[[software:sml|SML]]| 
 +|''s0''|S0-Zähler an UART, GPIO oder indirekt über USB angeschlossen|**implemented**|[[/hardware/controllers/raspberry_pi_erweiterung_mit_schaltausgaengen_rev.1|Rpi-Erweiterung Rev.1]] oder [[/hardware/controllers/raspberry_pi_erweiterung_klein|klein]]| 
 +|''d0''|DLMS/D0 zeilenbasiertes Textformat|**implemented**| | [[development:standards|DIN EN 62056-21]]| 
 +|''w1therm''| 1Wire-Sensoren basierend auf DSxxxxx|**implemented**| |1Wire Busmaster DS2482 ist Voraussetzung| 
 +|''ocr''|OCR (Bilderkennung) z.B. über USB-Cam|**implemented**| |[[http://wiki.volkszaehler.org/meterocr_konfigurieren]]| 
 +|''random''|Zufallsgenerator für Werte via [[http://en.wikipedia.org/wiki/Random_walk|random walk]]|**implemented**|für Test- und Demonstrationszwecke| | 
 +|''oms''|Open Metering System, based on M-Bus communication|**implemented**| |[[development:standards#oms_group|OMS Group]]| 
 +|''fluksov2''|auslesen des Flukso onboard SPI fifo|**implemented**| | 
 +|''fluksousb''|USB-Adapterplatine für S0 und Stromwandler auslesen|**planned**|[[hardware:controllers:fluksousb|]]|[[https://github.com/comsound/flukso|'Bart's Protokoll']]| 
 +|''vsm103''|Voldcraft VSM-103 Drehstromzähler|**planned**| |[[hardware:channels:meters:power:vsm-103|VSM-103]]| 
 +|''kd302''|Energiekostenmessgerät KD 302|**planned**| |[[hardware:channels:meters:power:kd_302|KD 302]]| 
 +|''ccost''|Wetterstation vergleichbar mit kommerziellen SmartMeter Systemen|**planned**| |[[http://www.currentcost.co.uk/powermeter/|CurrentCost]], [[http://umweltsuende.wordpress.com/2010/09/16/klein-aber-fein/|Umweltsünde]], [[http://www.jibble.org/currentcost/|Jibble]]| 
 +|''tweetawatt''|KillAWatt mod mit XBee wireless Kommunikation|**planned**| |[[https://github.com/adafruit/Tweet-a-Watt|Sourcecode]], [[http://www.ladyada.net/make/tweetawatt/|Blog]]| 
 +|''ansi''|ANSI Standard der ein Protokoll beschreibt wie es für Zweiwegekommunkation mit Stromzählern in Nordamerika genutzt wird.|**planned**| |[[development:standards#ansi|ANSI C12]]|
  
-^ID^Description^Status^Example & Usecases^Links & References^ 
-|''file''|Read from file or fifo|<html><span style="color: green">implemented</span></html>|[[http://owfs.org/|OWFS]], ''/proc/'' Filesystem|[[http://linux.die.net/man/3/exec|read(3)]]| 
-|''exec''|Parse program output|<html><span style="color: orange">untested</span></html>|[[http://www.digitemp.com/|digitemp]]|[[http://linux.die.net/man/3/exec|exec(3)]]| 
-|''sml''|SML as used by EDL-21, eHz and SyM<sup>2</sup> meters|<html><span style="color: green">implemented</span></html>| |[[software:sml]]| 
-|''s0''|S0-meter directly or indirectly (USB)  connected to UART or GPIO|<html><span style="color: green">implemented</span></html>|Quick and dirty method|[[/hardware/controllers/s0-an-rs232]]| 
-|''d0''|DLMS/D0 linebased cleartext|<html><span style="color: green">implemented</span></html>| | [[development:standards|DIN EN 62056-21]]| 
-|''w1therm''| Support 1Wire-Sensors based on DSxxxxx|<html><span style="color: green">implemented</span></html>| |1Wire Busmaster DS2582 ist Voraussetzung| 
-|ocr|OCR (image processing/recognizing) with USB-Cam|<html><span style="color: green">implemented</span></html>| | | 
-|''random''|Generate random values with a [[http://en.wikipedia.org/wiki/Random_walk|random walk]]|<html><span style="color: green">implemented</span></html>|Testing and demonstration | | 
-|''fluksov2''|Read from Flukso's onboard SPI fifo|<html><span style="color: green">implemented</span></html>| | 
-|''fluksousb''|[[hardware:controllers:fluksousb|]]|<html><span style="color: red">planned</span></html>| |[[https://github.com/comsound/flukso|'Bart's Protokoll']]| 
-|''vsm103''|Voldcraft VSM-103 Drehstromzähler|<html><span style="color: red">planned</span></html>| |[[hardware:channels:meters:power:vsm-103|VSM-103]]| 
-|''kd302''|Energiekostenmessgerät KD 302|<html><span style="color: red">planned</span></html>| |[[hardware:channels:meters:power:kd_302|KD 302]]| 
-|''ccost''|Weatherstation alike commercial smart metering system|<html><span style="color: red">planned</span></html>| |[[http://www.currentcost.co.uk/powermeter/|CurrentCost]], [[http://umweltsuende.wordpress.com/2010/09/16/klein-aber-fein/|Umweltsünde]], [[http://www.jibble.org/currentcost/|Jibble]]| 
-|''tweetawatt''|KillAWatt mod with XBee wireless communication|<html><span style="color: red">planned</span></html>| |[[https://github.com/adafruit/Tweet-a-Watt|Sourcecode]], [[http://www.ladyada.net/make/tweetawatt/|Blog]]| 
-|''ansi''|ANSI standard that describes a protocol used for two-way communications with an electricity meter, mostly used in North American markets.|<html><span style="color: red">planned</span></html>| |[[development:standards#ansi|ANSI C12]]| 
-|''oms''|Open Metering System, based on M-Bus communication|<html><span style="color: green">implemented</span></html>| |[[development:standards#oms_group|OMS Group]]| 
  
 ===== APIs ===== ===== APIs =====
  
-Vzlogger is able to push the gathered data to different backend systems for further processing or storageThis is done via the `api` parameter that is configured per channel. Vzlogger's default backend api is volkszaehler, which is the volkszaehler middleware. Additonal options are mysmartgrid and a 'null' api.+Vzlogger ist in der Lage die erfassten Daten an verschiedene Endsysteme, zur weiteren Verabeitung oder Speicherung, zu schickenDas geschieht über den `api` Parameter, der für jeden channel konfiguriert wird. 
 +Vzloggers Standard-Endsystem ist die Middleware eines volkszaehler. Weitere Endsysteme sind MySmartGridInfluxDB und eine 'null' API.
  
-===== Configuration ===== 
  
-The vzlogger configuration is done with a file containing JSON encoded settingsGeneral settings also can be set via the [[#command_line_parameters|command line]]. You must have at least one meter in your configuration. Channels are optional. meter can have more channels. Ex. if you want to log to multiple middleware servers.+===== Konfiguration ===== 
 +<note>Die Standardkonfiguration ist nicht funktional, die ''meter'' sind alle deaktiviert</note> 
 +Die Konfiguration erfolgt über eine Datei die nach JSON kodierte Einstellungen enthältÜberlicherweise zu finden unter ''/etc/vzlogger.conf''. Einige grundlegende Parameter lassen sich auch über [[#Kommandozeilenparameter|Kommandozeile]] bestimmen. 
 +Es sind ein oder mehr meter in der Konfiguration erforderlich. Channels sind optional. Ein meter kann mehrere channel enthalten und damit auch mehrere Middlewares bedienen.
  
-All meter protocols have own propertiesWe do not describe them here in detailJust take a look at the example configuration. It contains a meter for every protocol.+Alle Zählerprotokolle haben gesonderte Eigenschaften die hier im Detail nicht weiter beschrieben werdenZu jedem Protokoll gibt es eine kommentierte BeispielkonfigurationEinzusehen bei github: https://github.com/volkszaehler/vzlogger/blob/master/etc/
  
-A detailed example configuration is included in the distribution, +Die einzelnen Parameter sind hier im Wiki nochmal in deutsch beschrieben[[software/controller/vzlogger/vzlogger_conf_parameter]] 
-see https://github.com/volkszaehler/vzlogger/blob/master/etc/vzlogger.conf+Konfigurationen diverser Nutzer finden sich im Bereich [[//howto|HowTo]]. Spezifische Beispiele für einzelne Zähler  im Bereich [[/hardware/channels/meters/power/edl-ehz]].
  
-You can also find different user's configurations in the [[//howto]] section.+Als Unterstützung bei der Syntax dient der [[http://volkszaehler.github.io/vzlogger/|vzlogger.conf-Editor]].
  
-You can also use these script: [[http://volkszaehler.github.io/vzlogger/|vzlogger.conf-editor]]+==== Identifier ==== 
 +Je nach Zähler oder Sensor stehen ein oder mehre Werte zur Verfügung. Um diese den Channels zuordnen zu können sind eindeutige Identifier notwendig. Diese werden zum Teil vom Protokoll oder auch durch die Hardware bestimmt. 
 +^ Meter ^ Identifier ^ Bemerkung ^ 
 +| SML, D0 | [[software:obis|Obis-Codes]] z.B1-0:1.8.0 | Welche Obis-Codes/Identifier gesendet werden ist abhängig vom Gerät | 
 +| OMS | [[software:obis|Obis-Codes]] 1.8.0, 2.8.0, 1.7.0, 2.7.0 | max. die 4 Obis-Codes, abhängig vom Gerät | 
 +| S0 | "Impulse" und "Impulse_neg" | Anzahl Impulse (pro Sekunde) | 
 +| S0 | "Power" und "Power_neg" | Impulse pro Zeiteinheit umgerechnet in "Leistung" (per Parameter resolution) | 
 +| 1Wire | ID des 1-Wire-Sensors | Pro gefundenem Sensor ein Identifer mit Temp. als Wert | 
 +| FluksoV2 | 2 pro Channel mittels ChannelId und -ChannelId | Consumption = -ChannelId, Power = +ChannelId | 
 +| File, Exec | (leer) oder per $i erkannter Identifier | z.B. $i = $v => Temperatur = 10 => Identifier "Temperatur", Value = 10 | 
 +| OCR | konfigurierbar | siehe Config Option "identifier"
 +| Random |  | kein Identifier Name, nur Wert und Zeit |
  
  
-===== Command line parameters ===== +===== Kommandozeilenparameter ===== 
-^parameter^^example (default)^description+^Parameter^^Beispiel (Default)^Beschreibung
-^long^short| | | +^lang^kurz| | | 
-|%%--%%config|-c|/etc/vzlogger.conf|configuration file+|%%--%%config|-c|/etc/vzlogger.conf|Konfigurationsdatei
-|%%--%%log|-o|/var/log/vzlogger.log|log file| +|%%--%%log|-o|/var/log/vzlogger/vzlogger.log|Logfile
-|%%--%%daemon|-d|//off//|run as daemon+|%%--httpd%%|-l|//off//|lokales Interface aktivieren (kleiner httpd für Echtzeitwerte)| 
-|%%--httpd%%|-l|//off//|activate local interface (tiny HTTPd which serves live readings)| +|%%--httpd-port%%|-p|8081|TCP-Port des httpd
-|%%--httpd-port%%|-p|8080|TCP port for HTTPd+|%%--%%help|-h| |Kurzhilfe
-|%%--%%help|-h| |show short help+|%%--%%verbose|-v//level//|0|tiefe der Ausgabe erhöhen (0-15; 0 = log_alert, 1 = log_error, 3 = log-warning, 5 = log_info, 10 = log-debug, 15 = log_finest)| 
-|%%--%%verbose|-v//level//|0|enable verbose output (0-20)| +|%%--%%version|-V| |Version des vzlogger ausgeben| 
-|%%--%%version|-V| |show version of vzlogger|+ 
 +===== Exit-Codes ===== 
 +Da vzlogger als Hintergrunddienst konzipiert ist wird primär über das Logfile diagnostiziert. In Fällen bei denen dies nicht möglich ist werden Standard Exit-Codes ausgegeben.\\ 
 +Z.B. bei Aufruf von ''systemctl status vzlogger'' in der Form: ''Main process exited, code=exited, status=1/FAILURE'' 
 +^Code^Text^Bedeutung^ 
 +|1|FAILURE|generischer Fehler, dieser tritt auch auf wenn die Konfiguration unlogisch ist und vzlogger ohne definierte Aufgaben (Beispielconfig im git) beendet wird| 
 +|64|USAGE|Kommandozeilenargument war nicht ausführbar| 
 +|71|OSERR|die Verschiebung in den Hintergrund (daemon) schlug fehl| 
 +|73|CANTCREAT|vzlogger hat nicht die nötigen Rechte das Logfile an der konfigurierten Stelle zu schreiben| 
 +|78|CONFIG|Syntaxfehler in der Konfiguration oder Datei nicht vorhanden|
  
 ===== Links ===== ===== Links =====
-  * [[https://github.com/volkszaehler/vzlogger/|Sourcecode]] on github.com+  * [[https://github.com/volkszaehler/vzlogger/|Quellcode]] auf github.com
   * [[https://github.com/volkszaehler/libsml|libsml]]   * [[https://github.com/volkszaehler/libsml|libsml]]
- 
-===== Generate Debian packages for your favorite platform ===== 
- 
-<note important>Package source seems to be defunct!</note> 
- 
-<code> 
-$ sudo echo "deb-src http://packages.0l.de/debian/ squeeze main non-free" >> /etc/apt/sources.list 
-$ sudo apt-get update 
-$ apt-get source vzlogger 
-$ cd vzlogger-<version> 
-$ sudo apt-get install debhelper 
-$ dpkg-buildpackage -b 
-</code> 
  
software/controller/vzlogger.1439059060.txt.gz · Zuletzt geändert: 2015/08/08 20:37 von udo1