[TWS 3.0 IP 4] Docker Container : vzlogger
Verfasst: Do Dez 23, 2021 6:15 pm
Hey Leute,
ich wollte schon lange die Stromzähler in meinem Haus auslesen und die Informationen dann weiterverarbeiten. Die Advents- und Weihnachtszeit ist bei mir die "ich spiele mit dem Timberwolf Server" Zeit, deswegen bin ich im Forum in den vergangenen Tagen etwas präsenter unterwegs(lesend bin ich jeden Tag dabei).
Ich selber habe eigentlich überhaupt keine Ahnung in diesem Bereich und verstehe teilweise selber nicht, warum einige Konfigurationen getätigt werden müssen, damit es am Ende auch funktioniert. Ich sammel hier im Forum und im Netz verschiedene Puzzleteile und füge es Stück für Stück zusammen. Ich weiß, dass es hier im Forum Leute mit richtig Ahnung in diesem Bereich gibt, ihr dürft gerne einzelne Aussagen aufgreifen und evtl. mit ein wenig Kontext versehen, damit mir und allen anderen ein Licht aufgeht. Dieser Wunsch ist ausdrücklich nicht an das ElabNetTeam gerichtet. Ihr dürft lesen und schmunzeln und euch freuen, aber ihr dürft hier nichts erklären!!!!!
Wenn man sich mit dem Thema beschäftigt landet man zwangsläufig beim Volkszähler, dort auf den Seiten einige Stunden verbringend, wurde mir klar, dass ich den Volkszähler nicht benötige, da ich ja den TWS habe
Benötigt wird lediglich der vzlogger, der die Zählerdaten in meinem Fall per mqtt weiterreicht. Zusätzlich habe ich aber die nötigen Informationen über meine verwendeten Stromzähler auf den Seiten erhalten (elster as1440).
Folgende Aufgabenstellung galt es zu lösen:
zwei Stromzähler - über IR Lesekopf mit USB Schnittstelle - die Daten über vzlogger - per mqtt - an den TWS.
Was habe ich benötigt:
- zwei IR Leseköpfe
- vzlogger mit mqtt im Docker Container
- ssh Zugriff auf den vzlogger (siehe Beschreibung hier im Forum)
- mqtt Broker (siehe Beschreibung hier im Forum)
Die Leseköpfe habe ich auf gut Glück in der Bucht besorgt und überprüft, ob die Zähler Daten senden (am Laptop mit hterm). Das hat schonmal funktioniert und meine Zähler sind grundsätzlich sehr mitteilsam.
Dann habe ich auf DockerHub sehr, sehr lang ein passendes Image gesucht und dabei habe ich echt viel Frust geschoben.
Das erste funktionierende Image war das "treban/smartmeter-vzlogger". Als Anweisung gab es lediglich : "The container needs a mounted volume in /cfg. In this folder must be placed the vzlogger.conf"
Dies habe ich umgesetzt und nachdem ich die config Datei eingefügt habe, lief das Image. Leider wurde nichts per mqtt gesendet. Dummerweise spuckte das Log Fenster vom Portainer zu diesem Container keine Informationen aus und per ssh Zugriff war der /cfg Ordner leer (außer meine eingefügte Datei natürlich). Im Portainer die Konsole angeschmissen und mit meinen rudimentären Konsolenfähigkeiten aus MsDOS Zeiten, habe ich die log Datei gefunden, in der aufgeführt wurde, dass der mqtt Bereich meiner config ignoriert wird.
Die Kommunikation mit den Zählern funktionierte und die Zählerdaten wurden im log aufgeführt.
Offtopic: Warum sehe ich über WinSCP keine Dateien im /cfg und warum werden mir diese nur über die Konsole angezeigt? Das bekomme ich nicht zusammen.
Nach einigen Recherchen im Netz, habe ich herausgefunden, dass vermutlich in dem Image die mqtt Funktion nicht mit integriert ist. Also habe ich meine Bemühungen an dieser Stelle aufgegeben. Hätte man da noch was machen können?
Gut, nächstes Image. Ich nutzte diesmal das Image stefanschoof/vzlogger.
Das Image legt selbständig ein /cfg Pfad an und die Log Seite vom Portainer spuckte eine Menge Fehler aus. Sinngemäß konnte er die benötigten Dateien in ../etc/.... nicht finden. Also habe ich einfach noch zusätzlich ein /etc Pfad gemounted und siehe da, es will hat aber keine Berechtigung
Beim erstellen des Containers wurde als User "vz" eingetragen, das habe ich in root geändert und es läuft
Beide Zähler werden erkannt, spucken Daten aus und werden per mqtt weitergeleitet.
Die Konfigurationsschritte waren also zusammenfassend:
- pull Image stefanschoof/vzlogger
- mounten von /cfg und /etc
- User von "vz" in "root" ändern
- die Leseköpfe durchreichen (/dev/ttyUSB0 und USB1 habe ich verwendet)
- eine für sich passende vzlogger.conf erstellen
Achtung! Wenn alles funktioniert in der vzlogger.conf den Parameter "verbosity" auf "0" setzen, sonst hat man ziemlich schnell eine große log Datei.
Warum ich den /etc Pfad benötige weiß ich nicht bzw. hätte es an dieser Stelle eine andere Möglichkeit gegeben?
Nun gut, ich fasse den Container nicht mehr an, er läuft und ich bin glücklich.
An das ElabNet Team: Ich würde auch für euch gerne einen ausführlichen Erfahrungsbericht schreiben, wie ich das Ganze dann im MQTT Geräte Manager vom TWS integriert habe, aber leider muss ich euch enttäuschen. URI ausknobeln (hat ein paar Versuche gebraucht bis ich es geschnallt habe), verschiedene APP Level festlegen, das noch ein wenig benennen und verknüpfen und einfach freuen das es funktioniert. Steckt eine Menge Arbeit hinter, ist aber super einfach in der Bedienung.
Eine besinnliche Weihnachtszeit wünsche ich Allen!
Grüße Willy
ich wollte schon lange die Stromzähler in meinem Haus auslesen und die Informationen dann weiterverarbeiten. Die Advents- und Weihnachtszeit ist bei mir die "ich spiele mit dem Timberwolf Server" Zeit, deswegen bin ich im Forum in den vergangenen Tagen etwas präsenter unterwegs(lesend bin ich jeden Tag dabei).
Ich selber habe eigentlich überhaupt keine Ahnung in diesem Bereich und verstehe teilweise selber nicht, warum einige Konfigurationen getätigt werden müssen, damit es am Ende auch funktioniert. Ich sammel hier im Forum und im Netz verschiedene Puzzleteile und füge es Stück für Stück zusammen. Ich weiß, dass es hier im Forum Leute mit richtig Ahnung in diesem Bereich gibt, ihr dürft gerne einzelne Aussagen aufgreifen und evtl. mit ein wenig Kontext versehen, damit mir und allen anderen ein Licht aufgeht. Dieser Wunsch ist ausdrücklich nicht an das ElabNetTeam gerichtet. Ihr dürft lesen und schmunzeln und euch freuen, aber ihr dürft hier nichts erklären!!!!!
Wenn man sich mit dem Thema beschäftigt landet man zwangsläufig beim Volkszähler, dort auf den Seiten einige Stunden verbringend, wurde mir klar, dass ich den Volkszähler nicht benötige, da ich ja den TWS habe
Benötigt wird lediglich der vzlogger, der die Zählerdaten in meinem Fall per mqtt weiterreicht. Zusätzlich habe ich aber die nötigen Informationen über meine verwendeten Stromzähler auf den Seiten erhalten (elster as1440).
Folgende Aufgabenstellung galt es zu lösen:
zwei Stromzähler - über IR Lesekopf mit USB Schnittstelle - die Daten über vzlogger - per mqtt - an den TWS.
Was habe ich benötigt:
- zwei IR Leseköpfe
- vzlogger mit mqtt im Docker Container
- ssh Zugriff auf den vzlogger (siehe Beschreibung hier im Forum)
- mqtt Broker (siehe Beschreibung hier im Forum)
Die Leseköpfe habe ich auf gut Glück in der Bucht besorgt und überprüft, ob die Zähler Daten senden (am Laptop mit hterm). Das hat schonmal funktioniert und meine Zähler sind grundsätzlich sehr mitteilsam.
Dann habe ich auf DockerHub sehr, sehr lang ein passendes Image gesucht und dabei habe ich echt viel Frust geschoben.
Das erste funktionierende Image war das "treban/smartmeter-vzlogger". Als Anweisung gab es lediglich : "The container needs a mounted volume in /cfg. In this folder must be placed the vzlogger.conf"
Dies habe ich umgesetzt und nachdem ich die config Datei eingefügt habe, lief das Image. Leider wurde nichts per mqtt gesendet. Dummerweise spuckte das Log Fenster vom Portainer zu diesem Container keine Informationen aus und per ssh Zugriff war der /cfg Ordner leer (außer meine eingefügte Datei natürlich). Im Portainer die Konsole angeschmissen und mit meinen rudimentären Konsolenfähigkeiten aus MsDOS Zeiten, habe ich die log Datei gefunden, in der aufgeführt wurde, dass der mqtt Bereich meiner config ignoriert wird.
Die Kommunikation mit den Zählern funktionierte und die Zählerdaten wurden im log aufgeführt.
Offtopic: Warum sehe ich über WinSCP keine Dateien im /cfg und warum werden mir diese nur über die Konsole angezeigt? Das bekomme ich nicht zusammen.
Nach einigen Recherchen im Netz, habe ich herausgefunden, dass vermutlich in dem Image die mqtt Funktion nicht mit integriert ist. Also habe ich meine Bemühungen an dieser Stelle aufgegeben. Hätte man da noch was machen können?
Gut, nächstes Image. Ich nutzte diesmal das Image stefanschoof/vzlogger.
Das Image legt selbständig ein /cfg Pfad an und die Log Seite vom Portainer spuckte eine Menge Fehler aus. Sinngemäß konnte er die benötigten Dateien in ../etc/.... nicht finden. Also habe ich einfach noch zusätzlich ein /etc Pfad gemounted und siehe da, es will hat aber keine Berechtigung
Beim erstellen des Containers wurde als User "vz" eingetragen, das habe ich in root geändert und es läuft
Beide Zähler werden erkannt, spucken Daten aus und werden per mqtt weitergeleitet.
Die Konfigurationsschritte waren also zusammenfassend:
- pull Image stefanschoof/vzlogger
- mounten von /cfg und /etc
- User von "vz" in "root" ändern
- die Leseköpfe durchreichen (/dev/ttyUSB0 und USB1 habe ich verwendet)
- eine für sich passende vzlogger.conf erstellen
Achtung! Wenn alles funktioniert in der vzlogger.conf den Parameter "verbosity" auf "0" setzen, sonst hat man ziemlich schnell eine große log Datei.
Warum ich den /etc Pfad benötige weiß ich nicht bzw. hätte es an dieser Stelle eine andere Möglichkeit gegeben?
Nun gut, ich fasse den Container nicht mehr an, er läuft und ich bin glücklich.
An das ElabNet Team: Ich würde auch für euch gerne einen ausführlichen Erfahrungsbericht schreiben, wie ich das Ganze dann im MQTT Geräte Manager vom TWS integriert habe, aber leider muss ich euch enttäuschen. URI ausknobeln (hat ein paar Versuche gebraucht bis ich es geschnallt habe), verschiedene APP Level festlegen, das noch ein wenig benennen und verknüpfen und einfach freuen das es funktioniert. Steckt eine Menge Arbeit hinter, ist aber super einfach in der Bedienung.
Eine besinnliche Weihnachtszeit wünsche ich Allen!
Grüße Willy