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

VZlogger Installation Anleitung OpenWB

  • Upload
    others

  • View
    3

  • Download
    0

Embed Size (px)

Citation preview

Page 1: VZlogger Installation Anleitung OpenWB

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

Page 2: VZlogger Installation Anleitung OpenWB

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.

Page 3: VZlogger Installation Anleitung OpenWB

• 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.

Page 4: VZlogger Installation Anleitung OpenWB

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.

Page 5: VZlogger Installation Anleitung OpenWB

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.

Page 6: VZlogger Installation Anleitung OpenWB

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.

Page 7: VZlogger Installation Anleitung OpenWB

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

Page 8: VZlogger Installation Anleitung OpenWB

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.

Page 9: VZlogger Installation Anleitung OpenWB

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

Page 10: VZlogger Installation Anleitung OpenWB

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

Page 11: VZlogger Installation Anleitung OpenWB

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.

Page 12: VZlogger Installation Anleitung OpenWB

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.

Page 13: VZlogger Installation Anleitung OpenWB

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

Page 14: VZlogger Installation Anleitung OpenWB

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

Page 15: VZlogger Installation Anleitung OpenWB

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.

Page 16: VZlogger Installation Anleitung OpenWB

Die Partition wird einfach als weiteres Laufwerk im Explorer angezeigt.

Das kann helfen um aus einem zerstörten System noch wichtige Files zu retten.