Sie sind auf Seite 1von 16

VZlogger Installation Anleitung – OpenWB

Mit dieser ausführlichen Anleitung sollte jedem Laien auch ohne Linux Kenntnisse die Installation des VZloggers gelingen.

VZlogger wird als Teil des Volkszähler angeboten. Der VZlogger kann einfach auf einem vorhanden Raspberry installiert
werden. Damit kann der VZlogger zusätzlich neben der OpenWB auf demselben Raspberry installiert werden.
Das macht die Installation zwar etwas aufwändiger, aber man benötigt keinen weiteren Raspberry.
Alternativ kann man den VZlogger auf einem eigen Raspberry installieren. Siehe dazu eine getrennte Anleitung

Quellen
Die Anleitung basiert auf Hinweisen, Tipps und Tricks aus dem Forum den folgenden Quellen:
• Volkszähler: https://github.com/volkszaehler/vzlogger
• Volkszähler: https://wiki.volkszaehler.org/software/controller/vzlogger/installation_cpp-version
• Weidmann: https://shop.weidmann-elektronik.de/index.php?page=product&info=24

Inhalt
• VZlogger Installation Anleitung – Standalone
• Funktionsprinzip
• Lesekopf und Stromzähler einrichten
• PC vorbereiten
• VZlogger auf microSD Karte installieren
• Raspberry in Betrieb nehmen
• Raspberry Pi Grundkonfiguration
• VZlogger einrichten
• VZlogger konfigurieren
• VZ Logger testen
• OpenWB einrichten
• Nützliche Befehle
• Nützliche Anwendungen
Funktionsprinzip
Der VZlogger erlaubt die Daten von Stromzählern mit unterschiedlichen Adaptern auszulesen. Die Daten werden dann über
eine Schnittstelle anderen Anwendungen zur Verfügung gestellt. Damit kann OpenWB auch ohne das EVU Kit die Einspeise-
oder Bezugsleistung ermitteln und entsprechende regeln.
Neben dem VZlogger gibt es in diesem Projekt noch den Volkszähler, der diese Daten speichern und anzeigen kann. Diese
Funktionen werden hier jedoch nicht genutzt.

VZlogger Installation auf der OpenWB


Der VZlogger dient zum Auslesen der Daten Stromzähler. Die Daten werden der OpenWB für die Regelung zur Verfügung
gestellt. Der TWC Manager dient nur als Zugang zum TWC. Die komplette Steuerung erfolgt in der OpenWB.
Der VZlogger läuft auf dem gleichen Raspberry wie die OpenWB. Das macht die Installation etwas aufwändiger. Dafür hat
man weniger HW Komponenten und auch einen geringeren Stromverbrauch.

1. Der Wechselrichter meldet die aktuelle Solarleistung an OpenWB (Mobus TCP).


2. Open WB teilt dem TWC Manager den verfügbaren Strom mit (Netzwerk).
3. Der TWC Manager teilt dem TWC den verfügbaren Strom mit (RS-485).
4. Der TWC meldet dem Auto den verfügbaren Strom (Ladekabel).
5. Das Auto lädt mit dem vorgegebenen Strom.
6. Der TWC teilt dem TWC Manager tatsächliche Ladeleistung und die Fahrgestellnummer (VIN) mit (RS-485).
7. Der TWC Manager sendet Kommandos zum Starten und Beenden der Ladung an Tesla (Internet).
8. Tesla weckt das Auto und startet die Ladung oder stoppt die Ladung (Mobilfunk).
9. Tesla meldet der OpenWB den Ladestand der Batterie (SOC) (Internet).
10. Der Stromzähler wird von VZlogger über einen optischen Lesekopf ausgelesen
OpenWB liest die Zählerwerte von VZlogger (Netzwerk)

VZlogger Hardware
Der VZlogger ist eine Software, die zusätzlich zur OpenWB auf einem kleinen Computer (Rasrberry Pi) installiert wird. Der
Raspberry ist ein winziger Computer auf dem ein komplettes Linux läuft. Den Raspberry kann man einfach im Internet für
wenig Geld kaufen. Die benötigte Software wird aus dem Internet geladen und ist kostenlos. Für Aufbau und Installation
muss man dafür etwas Zeit mitbringen.

Benötigte Fähigkeiten
Um die SW zu installieren sind Basis-PC Kenntnisse erforderlich. Wichtig ist viel Geduld.

Benötigtes Material:
• Raspberry Pi 3 Model B+
Der Raspberry sollte schon vorhanden sein mit OpenWB installiert.
Bitte also zuerst OpenWB installieren und erst dann VZlogger hinterher installieren.
https://www.rasppishop.de/Raspberry-Pi-Model-B-_2
https://www.rasppishop.de/Raspberry-Pi-Zero-W-ARM-SoC-SBC
• Lesekopf
Die Zählerdaten werden vom Zähler kontinuierlich über Lichtimpulse gesendet. Ein Lesekopf wird am Zähler
angebracht und leitet diese Impulse über die USB Schittstelle an den Raspberry weiter. Es gibt einige Anbieter und
auch Selbstbauprojekte.
Weidmann EMlog IR Schreib/Lesekopf
Volkszähler
• MicroSD Karte
16GB sollten ausreichend sein.
• USB-MicroSD Adapter (Optional).
Alternative: PC mit Steckplatz für microSD Karte.
Alternative: PC mit Steckplatz für SD Karte und Adapter microSD auf SD.
• Netzteil für Raspberry
Raspberry ist bzgl. der Stromversorgung empfindlich. Er braucht 5,1 Volt. Am besten Original Netzteil verwenden.
Probleme mit der Stabilität haben ihre Ursache oft in einem schlechten Netzteil.
Lesekopf und Stromzähler einrichten
Moderne Stromzähler erlauben das elektronische Auslesen der Zählerdaten.
Die Kommunikation zwischen Lesekopf und Stromzähler erfolgt optisch. Es ist also kein Eingriff in die Elektrik erforderlich.

Lesekopf am Zähler anbringen


Der Lesekopf wird über einen eingebauten Magneten am Stromzähler befestigt. Der Lesekopf muss korrekt am Zähler
ausgerichtet sein (meist mit dem Kabel nach unten.
Eventuell muss am Lesekopf ein anderes USB Kabel angebracht werden, wenn der Kabelabgang nach unten durch den
Klemmkasten des Zählers behindert wird (z.B. ITRON HZ.3).
Beim verwendeten Lesekopf von Weidmann ist das Kabel über eine miniUSB Buchse angeschlossen.

Zähler vorbereiten
Viele über eine PIN geschützt. Die kann man in der Regel kostenlos vom Netzbetreiber erhalten.

Zähler Typ und Protokoll ermitteln


Die Zähler sind zwar alle ähnlich, unterscheiden sich aber beim Auslesen der Daten untereinander. Dazu sollte man aus dem
Datenblatt des Zählers (Internet) die Details zur Schnittstelle ermitteln. Der VZlogger muss entsprechend konfiguriert
werden.

Lesekopf mit dem Raspberry verbinden


Der Lesekopf wird an einen USB Port des Raspberry angeschlossen.
PC vorbereiten
Für die Einrichtung des VZlogger werden einige Programme auf dem PC benötigt.

Raspberry PI Imager installieren (erforderlich)


Um das Betriebssystem für den Raspberry zu installieren, benutzen wir den Raspberry PI Imager. Damit laden wir das
Betriebssystem aus dem Internet und spielen es auf die microSD-Karte
Software aus dem Internet laden: https://www.raspberrypi.org/software/
Software auf dem PC installieren.

PuTTY installieren (erforderlich)


Mit PuTTY holen wir uns eine Kommandozeile (Konsole) auf den PC. Darüber erfolgt die ganze Installation und
Konfiguration. PuTTY verbindet sich über LAN/WLAN und ssh mit dem Raspberry. Wir können also alle
Konfigurationsschritte bequem vom PC aus machen. Es ist (bei entsprechender Vorbereitung, siehe unten) nicht
erforderlich Bildschirm, Tastatur und Maus and den Raspberry anzuschließen)
Software aus dem Internet laden: https://www.PuTTY.org/
Software auf dem PC installieren.

VNC Viewer installieren (optional)


Der Raspberry kommt mit einer kompletten Linux Oberfläche (wie Windows). Mit dem VNC Viewer können wir uns diese
Oberfläche auch vom PC aus ansehen und bedienen. Der VZlogger kann auch auf einem Raspberry ohne Oberfläche (OS
LITE) installiert werden. Dann ist der VNC Viewer nutzlos.
Software herunterladen: https://www.realvnc.com/de/connect/download/viewer/
Software auf dem PC installieren.

WinSCP installieren (optional)


Der Raspberry hat eine Dateisystem wie Windows. Der WinSCP zeigt und die Verzeichnisstruktur des Raspberry auf dem PC
an (ähnlich wie der Dateiexplorer). Damit kann man leicht Dateien zwischen PC und Raspberry austauschen.
Software herunterladen: https://winscp.net/eng/download.php
Software auf dem PC installieren.

Paragon ExtFS für Windows (optional)


Die microSD Karte wird mit dem Linux Filesystem formatiert. Die Partition auf der Karte ist für Windows nicht sichtbar /
verwendbar. Für den Zugriff muss ein Dateisystemtreiber installiert werden.
Software herunterladen: https://www.chip.de/downloads/Paragon-ExtFS-fuer-Windows_63143408.html
Hinweise von CHIP beachten!
Software auf dem PC installieren.
VZlogger auf OpenWB installieren
Aktualisierung durchführen
Vor der Installation das System aktualisieren.
Eingabe: sudo apt-get update

Erforderliche Komponenten installieren


VZlogger benötigt einige Komponenten, die mit folgendem Kommando installiert werden.
Kommando (eine Zeile) eingeben (oder kopieren) und mit der Eingabetaste bestätigen.
sudo apt-get install git cmake autoconf libtool uuid-dev libcurl4-openssl-dev libssl-dev \
libgnutls28-dev libgcrypt20-dev libmicrohttpd-dev libsasl2-dev libunistring-dev
Hinweis: Der Vorgang kann recht lange dauern.

VZlogger Installieren
Nun kommt der eigentliche VZlogger.
Kommando (eine Zeile) eingeben (oder kopieren) und mit der Eingabetaste bestätigen.
wget --no-check-certificate https://raw.github.com/volkszaehler/vzlogger/master/install.sh
sudo bash install.sh
Hinweis: Der Vorgang kann recht lange dauern.

VZlogger für automatischen Start konfigurieren


VZlogger soll bei jedem Start des raspberry automatisch gestartet werden.
Eingabe: sudo systemctl enable vzlogger

Nun ist der VZlogger auf dem Raspberry neben der OpenWB installiert.
Jetzt muss nur noch konfiguriert werden.
VZlogger einrichten
Nun erfolgen die Anpassungen und Einstellungen um den VZlogger betreiben zu können.
Da wir nur den VZlogger aber nicht den Volkszähler benutzen, beschränkt sich die Beschreibung auf den VZlogger Teil.

Json parser installieren


Für das Anzeigen der Daten vom VZlogger wird ein JSON parser benötigt.
Eingabe: sudo apt-get install jq

USB Port herausfinden


Der Lesekopf wird an einem USB port angeschlossen. Die Nummer des USB Ports muss ermittelt werden.
Eingabe: dmesg |grep USB

In der Ausgabe nach „FTDI USB Serial Device“ suchen und den entsprechenden USB Port ablesen.
In diesem Fall in der letzten Zeile: „ttyUSB0“

Lesekopf testen (Raspberry, optional)


Nun können wir unabhängig vom VZlogger testen, ob der Lesekopf korrekt funktioniert.
Das hat nichts mit dem VZlogger zu tun, sondern erlaubt uns nur einen Test.
Passend zum Lesekopf müssen wir die Schnittstelle konfigurieren. Dazu verwenden wir eine der Konfigurationen unten.

9600 Baud, Parity 8N1, Unidirektional.


Folgende Kommando-Zeile eingeben (oder kopieren) (eine Zeile) und mit der Eingabetaste bestätigen:
stty -F /dev/ttyUSB0 9600 -parenb cs8 -cstopb -ixoff -crtscts -hupcl -ixon -opost -onlcr -
isig -icanon -iexten -echo -echoe -echoctl -echoke

300 Baud, Parity7E1.


Folgende Kommando-Zeile eingeben (oder kopieren) (eine Zeile) und mit der Eingabetaste bestätigen:
stty -F /dev/ttyUSB0 300 -parodd cs7 -cstopb parenb -ixoff -crtscts -hupcl -ixon -opost -
onlcr -isig -icanon -iexten -echo -echoe -echoctl -echoke

9600 Baud, 7E1.


Folgende Kommando-Zeile eingeben (oder kopieren) (eine Zeile) und mit der Eingabetaste bestätigen:
stty -F /dev/ttyUSB0 9600 -parodd cs7 -cstopb parenb -ixoff -crtscts -hupcl -ixon -opost -
onlcr -isig -icanon -iexten -echo -echoe -echoctl -echoke

Ausgabe starten
cat /dev/ttyUSB0
Nun werden wirre, unlesbare Zeichen angezeigt. Damit funktioniert das Auslesen der Daten des Stromzählers.
Die LED vom Adapter blinkt zyklisch.
Mit Strg+C beenden.
VZlogger konfigurieren
Nun müssen wir den VZlogger noch anpassen.
Eingabe: sudo nano /etc/vzlogger.conf
Die Konfigurationsdatei öffnet sich. Nun gilt es einige Basiseinstellungen vorzunehmen.
Mit den Pfeiltasten navigieren und die Einträge entsprechend anpassen

General settings
Allgemeine Einstellungen
//"daemon": false, Daemon auskommentieren oder löschen
"verbosity": 0, Umfang der Logeinträge. Für die Inbetriebnahme 15, später 0
"log": "/var/log/vzlogger.log", Pfad zur Logdatei
"retry": 0, Verzögerung einstellen

Build-in HTTP server


Aktivieren für den Zugriff der OpenWB.
"enabled": true, HTTP server Aktivieren
"port": 8081, Freien Port wählen. 8080 ist bereits für Volkszähler oder OpenWB vergeben
"index": true,
"timeout": 0,
"buffer": -1 Damit wird nur der aktuellsten Datensatz gespeichert

Meter configuration
"enabled": true, Stromzähler als Messgerät aktivieren
"allowskip": true, Fehler beim Start überspringen
"protocol": "sml", Protokoll des Stromzählers einstellen
"device": "/dev/ttyUSB0", USB Port des Lesekopfs einstellen, wurde oben ermittelt
"baudrate": 9600, Baudrate des Zähler einstellen, siehe Datenblatt des Zählers
"parity": "8n1", Übertragungsart einstellen, siehe Datenblatt des Zählers
"aggtime": -1, Mittelwertbildung deaktiviert, jeden Wert übertragen

Leistung (Bezug bzw. Einspeisung)


"uuid": "fde8f1d0-c5d0-11e0-856e-f9e4360ced10",
"middleware": "http://localhost/middleware.php",
"identifier": "1-0:16.7.0",
"aggmode": "none",
"duplicates": 0

Strommenge Bezug
"uuid": "a8da012a-9eb4-49ed-b7f3-38c95142a90c",
"middleware": "http://localhost/middleware.php",
"identifier": "1-0:1.8.0",
"aggmode": "none",
"duplicates": 0

Strommenge Einspeisung
"uuid": "d5c6db0f-533e-498d-a85a-be972c104b48",
"middleware": "http://localhost/middleware.php",
"identifier": "1-0:2.8.0",
"aggmode": "none",
"duplicates": 0

Der VZlogger pickt nun genau diese drei Werte aus dem Datenstrom der vom Zähler kommt.

Hinweis: Die „identifier“ sind die genormten Kennzahlen, unter denen die Daten vom Stromzähler übermittelt werden.
Unter Umständen kann es hier jedoch Abweichungen geben (z.B. 1-1 statt 1-0). Speziell bei Mehrtarifzähler lohnt sich hier
genau hinzuschauen.

Alle anderen Meters können entfernt werden.


Dabei auf die Klammerung und die Kommas achten. Bei einem Fehler wird der VZlogger einfach nicht gestartet du es erfolgt
auch kein Eintrag in die Logdatei.

Einstellungen speichern
Änderungen abspeichern: Strg + o und mit der Eingabetaste bestätigen
Editor verlassen: Strg + x
Raspberry neu starten
Nun ist alles installiert und wir müssen den Raspberry neu starten um den VZlogger in Betrieb zu nehmen.
Eingabe: sudo reboot
VZ Logger testen
Wenn alles korrekt installiert und konfiguriert ist, blink die LED am Lesekopf und die Daten vom Stromzähler stehen zur
Verfügung.
Die Daten können wir überprüfen
Eingabe: curl -s 192.168.178.163:8081/ | jq .|cat -n
Folgende Ausgabe sollte erscheinen:

Wichtig sind die Zeilennummer der Wertepaare (in diesem Beispiel Zeilen 13, 25 und 37):
1 {
2 "version": "0.8.0",
3 "generator": "vzlogger",
4 "data": [
5 {
6 "uuid": "fde8f1d0-c5d0-11e0-856e-f9e4360ced10",
7 "last": 1616926691529,
8 "interval": -1,
9 "protocol": "sml",
10 "tuples": [
11 [
12 1616926691529,
13 -5805
Für jeden Messwert des Zählers wird ein Wertepaar aus Zeitstempel und Messwert ausgegeben.
In diesem Beispiel ist die Zeile 13 die Momentan-Leistung (Einspeisung oder Verbrauch je nach Vorzeichen).
Die Zeilennummer werden benötigt für die Konfiguration der OpenWB.
OpenWB liest genau die Werte aus genau diesen Zeilen aus. Wenn hier was nicht stimmt, funktioniert die Regelung
natürlich nicht.
OpenWB einrichten
Nun wird das EVU Modul in OpenWB konfiguriert.

Funktionsweise
OpenWB liest zyklisch die Werte aus, die wir oben mit curl angezeigt haben.
In OpenWB werden nun genau die oben ermittelten Zeilennummern konfiguriert.

Konfiguration
In der Oberfläche von OpenWB wählen wir:
Einstellungen → Modulkonfiguration → EVU
Strombezugsmodul: „VZlogger“ wählen.
Vzlogger IP Adresse inkl Port: IP Adresse des Raspberry und den Port (z.B. 8081) angeben.
Vzlogger Watt Zeile: Entsprechende Zeilennummer aus der mit curl angezeigten Liste eintragen.
Vzlogger Bezug kWh Zeile: Entsprechende Zeilennummer aus der mit curl angezeigten Liste eintragen.
Vzlogger Einspeisung kWh Zeile: Entsprechende Zeilennummer aus der mit curl angezeigten Liste eintragen.
Einstellungen speichern

Nun sollte OpenWB nach einigen Sekunden den Hausverbrauch anzeigen.


Nützliche Befehle
Hier noch einige nützlich Befehle auf der Kommandozeile.

VZlogger manuell starten


Der VZlogger kann bei Bedarf auch manuell zu testzwecken gestartet werden.
Eingabe: sudo systemctl stop vzlogger

VZlogger manuell stoppen


Der VZlogger kann bei Bedarf auch manuell zu testzwecken gestoppt werden.
Eingabe: sudo systemctl start vzlogger

VZlogger Status prüfen


Um zu sehen, ob der VZlogger überhaupt korrekt gestartet wurde, kann der Status geprüft werden.
Eingabe: systemctl status vzlogger

VZlogger automatisch starten


Sollte der VZlogger beim Neustart des Raspberry nicht automatisch neu starten, so muss dies eventuell erst konfiguriert
werden.
Eingabe: sudo systemctl enable vzlogger

History
Alle bisher eingegebenen Befehle auflisten
Eingabe: history

Raspberry neu starten


Eingabe: sudo reboot
Nützliche Anwendungen
Hier noch ein paar Hinweise zu weiteren nützlichen Anwendungen.

VNC Viewer
Der Raspberry kommt mit einer kompletten Linux Oberfläche (wie Windows). Mit dem VNC Viewer können wir uns diese
Oberfläche auch vom PC aus ansehen und Bedienen.
VNC Viwer Starten
IP Adresse in das Feld oben eingeben und Eingabetaste betätigen.

VNC verbindet sich mit dem raspberry.

Benutzer eingeben: „pi“ (kleingeschrieben)


Passwort eingeben: (das definierte Passwort)
Hinweis: VNC muss auf dem Raspberry erst aktiviert werden. Siehe oben.
Hinweis: VNC funktioniert nur, wenn der Raspberry mit Desktop installiert wurde.
Nun sehen wir den Desktop des Raspberry und können das System mit Maus und Tastatur bedienen.

WinSCP
Erlaubt den Zugriff auf das Dateisystem vom Raspberry.
WinSCP starten
Eventuell über den Menüpunkt „Sitzung“ und „Neue Sitzung“ eine Verbindung zum raspberry herstellen
IP Addresse eingeben
Benutzer eingeben: „pi“ (kleingeschrieben)
Passwort eingeben: (das definierte passwort)
Hinweis: SSH muss auf dem raspberry aktiviert sein.

Nun sehen wir das Dateisystem vom raspberry und können leicht Dateien kopieren, öffnen und editieren.

SD Karte nach der Verwendung im Raspberry formatieren


Die SD karte kann nach der Verwendung im Raspberry oft nicht in Windows verwendet werden. Auch formatieren und das
Image neu schreiben klappt oft nicht. Die SD karte muss komplett gelöscht werden.
Eingabeaufforderung Windowstaste, Eingabe „CMD“
Eingabe: diskpart, Meldung bestätigen
Eingabe: list disk
Nummer der SD Karte merken. → X
Vorsicht: Fehlermöglichkeit! Wird beim nächsten Schritt die Falsche Nummer eingegeben, kann die Festplatte des PC
gelöscht werden.
Eingabe: select disk X
Eingabe : clean
Eingabe: exit
Nun sollte die microSD Karte wieder verwendbar sein.

Linux Partition der SD Karte unter Windows einbinden


Der Imager von Raspery erzeugt auf der SD Karte eine Linuxpartition.
Mit Paragon ExtFS für Windows kann die se Partition in Windows verwendet werden.
Die Partition wird einfach als weiteres Laufwerk im Explorer angezeigt.
Das kann helfen um aus einem zerstörten System noch wichtige Files zu retten.

Das könnte Ihnen auch gefallen