Seite 1 von 2

[TWS 3.0 IP 4] Docker Container : vzlogger

Verfasst: Do Dez 23, 2021 6:15 pm
von MrWilson
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!!!!! :naughty: ;)

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 :dance:
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 :doh: (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 :confusion-scratchheadyellow:
Beim erstellen des Containers wurde als User "vz" eingetragen, das habe ich in root geändert und :D es läuft :violin:

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. :handgestures-thumbupright:

Eine besinnliche Weihnachtszeit wünsche ich Allen!

Grüße Willy

Re: [TWS 3.0 IP 4] Docker Container : vzlogger

Verfasst: Sa Jan 15, 2022 3:42 pm
von adimaster
Hi Willy,
MrWilson hat geschrieben: Do Dez 23, 2021 6:15 pm 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
Besten Dank für Deinen Erfahrungsbericht! :bow-yellow:
Das hat mir den Impuls gegeben, eine Optimierung bei mir vorzunehmen; es funktioniert so hervorragend und vom Aufwand her ist es sehr überschaubar!

Damit läuft die Zählererfassung bei mir nun auch nur noch über den Timberwolf.
Wieder mal Ressourcen/ein Gerät gespart, Komplexität reduziert und Überblick verbessert. :dance:

Etwas Off-Topic, aber hilft vielleicht dem einen oder anderen ... Nachdem der vzlogger angelegt ist, habe ich mich durch folgende Anleitungen durchgehangelt: Grüße
Adi

Re: [TWS 3.0 IP 4] Docker Container : vzlogger

Verfasst: Mi Jul 20, 2022 8:41 pm
von Zugschlus
Welche MQTT-Topics benutzt Ihr? Ich habe hier immer /data/chnX/raw, aber eigentlich sind die Channel-Nummern des vzloggers variabel und können sich bei Konfiugrationsänderungen verschieben. Mein vzlogger hat neun Kanäle, da habe ich Angst dass sich mal unbemerkt was verschiebt

Beim Start des vzloggers überträgt er einmal noch die ID und die UUID, die konfiguriert sind:

Code: Alles auswählen

[1/4999]mh@drop:~ $ mosquitto_sub -h mqtt.ka51.zugschlus.de -t 'vzlogger/data/chn1/#' -v
vzlogger/data/chn1/id klicks
vzlogger/data/chn1/uuid 081873e0-c403-11e9-aacb-ebd7e9315756
vzlogger/data/chn1/raw 1.000000
vzlogger/data/chn1/raw 1.000000
vzlogger/data/chn1/raw 1.000000
vzlogger/data/chn1/raw 1.000000
vzlogger/data/chn1/raw 1.000000
vzlogger/data/chn1/raw 1.000000
Ist der Timberwolf flexibel genug, sich für die Zuordnung zu den Ausgabekanälen (z.b. bei mir die Timeseries für die Zählerstände) aus dem herauszuziehen, was in der UUID-Message steht?

Grüße
Marc

Re: [TWS 3.0 IP 4] Docker Container : vzlogger

Verfasst: Sa Jul 23, 2022 10:04 am
von adimaster
Zugschlus hat geschrieben: Mi Jul 20, 2022 8:41 pm Welche MQTT-Topics benutzt Ihr?
vzlogger/data/chnX/agg

Die topics legst Du doch in der vzlogger.conf fest.
Da ändert sich eigentlich nichts, auch nicht beim Neustart.

Ich lese die Zähler via Optokoppler aus, die über USB am TWS angeschlossen sind. Wenn ich diese mal umstecke, kann schon sein, dass sich dann was ändert. Never change a running system :whistle:

Re: [TWS 3.0 IP 4] Docker Container : vzlogger

Verfasst: So Jul 24, 2022 2:33 pm
von Zugschlus
adimaster hat geschrieben: Sa Jul 23, 2022 10:04 am
Zugschlus hat geschrieben: Mi Jul 20, 2022 8:41 pm Welche MQTT-Topics benutzt Ihr?
vzlogger/data/chnX/agg

Die topics legst Du doch in der vzlogger.conf fest.
Da ändert sich eigentlich nichts, auch nicht beim Neustart.
In der vzlogger.conf kann man nur den prefix des Topics einstellen; die Übertragung der Daten erfolgt immer mit der Channel-Nummer, deren Vergabe nicht dokumentiert ist. Ich gehe davon aus, dass die sich mindestens mit jeder Änderung der Reihenfolge der Channel-Definitionen in der vzlogger.conf oder gar beim Ausschalten einzelner Channels (enable: false) schon ändert.

Es gibt ein Featurerequest gegen den vzlogger, dass man für jeden Channel einen sprechenden Namen für das MQTT-Topic vergeben kann, aber da scheint sich nicht wirklich was zu tun. Mein vzlogger gibt allerdings beim Start die UUID mit aus, die könnte man abfangen und speichern, aber das ist für den Timberwolf wohl ein bisschen viel verlangt (und IMO ein Misfeature im vzlogger).

Grüße
Marc

Re: [TWS 3.0 IP 4] Docker Container : vzlogger

Verfasst: So Jul 24, 2022 3:02 pm
von adimaster
Zugschlus hat geschrieben: So Jul 24, 2022 2:33 pm In der vzlogger.conf kann man nur den prefix des Topics einstellen; die Übertragung der Daten erfolgt immer mit der Channel-Nummer, deren Vergabe nicht dokumentiert ist. Ich gehe davon aus, dass die sich mindestens mit jeder Änderung der Reihenfolge der Channel-Definitionen in der vzlogger.conf oder gar beim Ausschalten einzelner Channels (enable: false) schon ändert.
Stimmt, ich hatte mir angesehen aus welchem Channel welche Daten kommen und entsprechend verknüpft im TWS … ich kann nur aus der Praxis sagen, dass ich seit der einmaligen Umsetzung (6 Monate) und einem vzlogger Update im Container sowie TWS Neustarts, nie Channel Änderungen hatte. Somit „proven in use“ für mich persönlich.

Sofern noch ein Zähler dran kommt, wird vermutlich die Channel Nummer fortlaufend vergeben. Wäre ein interessanter Test.

Re: [TWS 3.0 IP 4] Docker Container : vzlogger

Verfasst: So Jul 24, 2022 3:09 pm
von Zugschlus
adimaster hat geschrieben: So Jul 24, 2022 3:02 pm Sofern noch ein Zähler dran kommt, wird vermutlich die Channel Nummer fortlaufend vergeben. Wäre ein interessanter Test.
Mir reicht schon die Möglichkeit dass ein Renumbering der Channels passieren könnte zum Aufstellen der Nackenhaare. Hier muss der vzlogger was tun (und symbolische, userdefinierbare Topics einführen), aber ich fürchte das hat beim Volkszähler nur geringe Priorität. Immerhin hat das Feature das Potenzial die ganze Volkszähler-Middleware obsolet zu machen; Grafana kann das besser und schöner.

Grüße
Marc

Re: [TWS 3.0 IP 4] Docker Container : vzlogger

Verfasst: Mo Dez 19, 2022 8:52 pm
von azietz
Vielen Dank für die Erfahrungsberichte!

Ich denke schon eine Weile über die Umsetzung des Zählerauslesens nach. War schon kurz davor KNX-Komponenten zu bestellen.

Zwischenzeitlich habe ich aber meine Therme (Buderus) mit EMS Bus über MQTT an den timberwolf angebunden, da das schnell und problemlos geklappt hat :D , werde ich das mit dem Stromzähler auch per MQTT und der hier beschriebenen Lösung angehen.

Hab mir soeben den USB-Lesekopf bestellt. Zwischen Weihnachten und Neujahtr hoffe ich das umsetzen zu können.

Arno

Re: [TWS 3.0 IP 4] Docker Container : vzlogger

Verfasst: Mo Dez 19, 2022 9:08 pm
von MrWilson
viewtopic.php?f=16&t=329

@azietz les dir mal bitte die letzten Einträge von diesem Thread durch. Erreichst das gleiche, aber ohne vzlogger.

Re: [TWS 3.0 IP 4] Docker Container : vzlogger

Verfasst: Mo Dez 19, 2022 9:10 pm
von jockele
wollte ich gerade schreiben :-).
Es gibt einen deutlich einfacheren Weg ohne VZ-Logger