[vz-users] vzlogger MQTT und vz push server

Andreas Goetz cpuidle at gmail.com
Mo Dez 30 10:09:34 CET 2019


Moin Claas,

> On 29. Dec 2019, at 22:04, Claas H. Köhler <claashk at web.de> wrote:
> 
> Hallo Andreas,
> 
> Ich würde gern
> 1) den VZ push server (=WAMP router?) nutzen, um die Daten meines
> Zählers an zwei weitere Geräte zu verteilen, idealerweise in maximal
> verfügbarer zeitlicher Auflösung.

Du fängst wieder mit der Lösung an, nicht dem Problem. 

WAMP ist ein wirklich kompliziertes Protokoll- können Deine Geräte das? Falls nein such eine einfache Lösung, es gibt unendliche Varianten, z.B. mit MQTT oder nackten Web Sockets.

> 2) die VZ Middleware zur Speicherung der zeitlich gemittelten Daten
> verwenden (der Ausdruck aggregiert war vermutlich falsch gewählt)

Ok. Siehe meine Frage nach weglassen. Brauchst Du wirklich gemittelte Daten? Was für ein Sensor ist das der so hohe Anforderungen an die Aufbereitung zur Speicherung stellt?

> Der vzlogger könnte die Kommunikation mit der Middleware und das
> Mitteln der Daten übernehmen (Punkt 2). Diese Funktionalität ist ja
> bereits implementiert. Ich würde sie ungern nochmal schlecht
> implementieren, wenn jemand sich schon einmal die Mühe gemacht hat, sie
> schön zu implementieren. Dazu müsste ich allerdings die Daten, die von
> meinem Skript generiert werden, in geeigneter Form an den vzlogger
> übergeben. Warum wäre eine WAMP subscriber Schnittstelle dafür eine
> `krude` Lösung ? Was wäre ein besserer Ansatz ?

WAMP ist schlicht nicht implementiert und wie oben geschrieben komplex.

> Ich habe mir die file und exec Protokolle angesehen. Das exec Protokoll
> scheint mir eher nicht geeignet, weil es das Script wiederholt aufruft.

Zum Speichern völlig ausreichend, Du brauchst ja keine Echtzeit. Vmtl. geht damit aber immer nur 1 Wert.

> In meinem Fall ist die Initialisierung zu Beginn etwas langwierig, so
> dass ich das Skript gern einmal aufrufen würde, und die Daten dann in
> einem Loop permanent ausgeben würde. Zum file Protokoll habe ich zu
> wenig Dokumentation gefunden, um herauszufinden, was es genau macht.

K.A. ob das jemals jemand benutzt hat- Recherche auf der ML und in den Code schauen wie’s implementiert ist. Könnte gehen, gute Idee!

> Um Punkt 1) lösen zu können, verstehe ich noch nicht ausreichend, wie
> ich Daten über den VZ push server publizieren kann (als WAMP
> publisher), so dass das Frontend sie auch versteht und wie andere
> Anwendungen diese Daten abbonieren können (als WAMP subscriber) ?

Solange Deine Clients kein WAMP können stellt sich die Frage nicht. Was für Clients sind das?

> Ich habe den Eindruck, dass ich das VZ Konzept noch nicht richtig
> verstehe, daher in die falsche Richtung denke und nicht die richtigen
> Fragen stelle. Daher wäre ich für einen Stups in die richtige Richtung
> dankbar.

Ich glaube einfach dass Du zu sehr mit der Lösung anfängst als mit dem wirklich Notwenigen an Anforderungen. Aber der Weg ist das Ziel ;)

> 
> Viele Grüße
> Claas

Viele Grüße, 
Andreas

> 
> 
> On Sun, 2019-12-29 at 20:59 +0100, Andreas Goetz wrote:
>> Hallo!
>> 
>>> On 29. Dec 2019, at 20:24, Claas H. Köhler <claashk at web.de> wrote:
>>> 
>>> Hallo,
>>> 
>>> Hier also meine User Story:
>>> 
>>> Ich habe einen Zähler, für den es aktuell kein vzlogger Protokoll
>>> gibt.
>>> Ich habe ein Programm, welches die Daten des Zählers auslesen kann.
>>> Die
>>> Daten des Zählers werden mit einer Frequenz von ca 10 Hz ausgelesen
>>> und
>>> werden von zwei anderen Geräten als Eingabe für einen Regelkreis in
>>> dieser Datenrate benötigt.
>> 
>> Ok- bis dahin hat das alles nix mit VZ zu tun.
>> 
>>> Zusätzlich würde ich die Daten des Zählers
>>> gern mit einer Datenrate von 1-0.1 Hz in der VZ Datenbank
>>> speichern.
>> 
>> Sportlich aber machbar. Musst Du die Datenrate irgendwie reduzieren.
>> 
>>> In einer idealen Welt könnte ich mein Skript so adaptieren, dass es
>>> die
>>> Daten des Zählers in voller Datenrate über WAMP publiziert. Die
>>> beiden
>>> anderen Geräte und vzlogger könnten dann subscriben, vzlogger würde
>>> sich
>>> um das Aggregieren und die Weiterleitung an den VZ Server kümmern
>>> und
>>> der Fisch wäre geputzt.
>> 
>> Jetzt bist Du schon bei irgendeiner kruden Lösung. Für welches
>> Problem? Vzlogger aggregiert Dir nichts und soll es auch nicht.
>> Welches Problem willst Du jetzt konkret lösen?
>> 
>>> Natürlich leben wir nicht in einer idealen (=langweiligen) Welt.
>>> Was
>>> würdet Ihr also vorschlagen ?
>> 
>> Wofür? Reduktion der Datenrate?
>> 
>>> Ich könnte das Skript so anpassen, dass es die Middleware API
>>> nutzt.
>>> Dann müsste ich mich um das Aggregieren selber kümmern, oder ? Muss
>>> ich
>> 
>> Was willst Du aggregieren? Wofür?
>> 
>>> dann noch eine extra Anbindung an den VZ push server
>>> implementieren,
>>> wenn ich den für die Verteilung der 10 Hz Daten nutzen möchte ?
>>> 
>>> Danke in jedem Fall für Eure Bereitschaft, sich mit meinen
>>> Problemen zu
>>> beschäftigen.
>> 
>> Möglicherweise brauchst Du ein Skript das:
>> 
>> a) Daten an Pushserver schickt (aber bitte nicht 10x pro Sekunde- das
>> braucht kein Mensch)
>> b) Datenrate für Speicherung weiter reduziert
>> c) Diese dann über API an Middleware schickt
>> 
>> Hat alles mit vzlogger und irgendwelcher Aggregation nicht zu tun.
>> Vmtl wäre es sogar völlig opk einfach nur jeden 10. Wert Deines
>> Gerätes zu nehmen und statistisch wäre auch alles i.o.
>> 
>> My 2ct...
>> 
>> Viele Grüße,
>> Andreas
>> 
>>> 
>>> Gruß
>>> Claas
>>> 
>>> On 12/29/19 7:12 PM, Andreas Goetz wrote:
>>>> Hallo Claas,
>>>> 
>>>> ich verstehe Deine Fragen nicht so richtig. Welches Problem
>>>> versuchst Du denn hier konkret zu lösen oder was willst Du besser
>>>> machen? Es wäre einfacher damit anzufangen und dann die Lösung
>>>> dazu zu suchen ;)
>>>> 
>>>> Viele Grüße, Andreas
>>>> 
>>>> 
>>>>> On 29. Dec 2019, at 16:53, Claas H. Köhler <claashk at web.de>
>>>>> wrote:
>>>>> 
>>>>> Hallo,
>>>>> 
>>>>> Danke für die sehr schnelle Antwort. Ein paar Kommentare und
>>>>> Rückfragen
>>>>> habe ich unten eingefügt. Könntest Du noch etwas zur subscriber
>>>>> Funktionalität für den vzlogger sagen, die z.B. hier schonmal
>>>>> diskutiert
>>>>> wurde:
>>>>> 
>>>>> https://github.com/volkszaehler/vzlogger/issues/238
>>>>> 
>>>>> Würde eine WAMP oder MQTT Schnittstelle als Meter nicht die
>>>>> Integration
>>>>> neuer Protokolle in vzlogger deutlich vereinfachen ? Ich könnte
>>>>> dann für
>>>>> jedes Meter einen Prozess/Service laufen lassen, der die
>>>>> Messdaten nur
>>>>> noch in MQTT oder WAMP übersetzt und vzlogger übernimmt den
>>>>> Rest der Arbeit.
>>>>> 
>>>>> On 12/29/19 4:00 PM, Daniel Lauckner wrote:
>>>>> 
>>>>>>> Gibt es zum vzlogger MQTT Interface eine Dokumentation ?  >
>>>>>>> Nicht von mir, verstehe das nämlich auch nur halb. Schade.
>>>>>>> Falls ich
>>>>> 
>>>>> es jemals verstehe, kann ich dazu vielleicht etwas
>>>>> aufschreiben.
>>>>> 
>>>>>>> Ich verstehe bisher nicht ganz, was der Unterschied
>>>>>>> zwischen dem  >> MQTT Client im vzlogger und dem
>>>>>>> volkszähler push server ist. Beide
>>>>>>> publizieren aktuelle Meswerte über WAMP, oder ? > Nein.
>>>>>>> WAMP läuft
>>>>> 
>>>>> über WebSocket, wie HTTP auf Port 80. >
>>>>> https://en.wikipedia.org/wiki/Web_Application_Messaging_Protoco
>>>>> l > >
>>>>> MQTT hat seine eigenen Ports und nutz einen (nicht VZ) Broker
>>>>> als >
>>>>> zentrale Stelle. https://de.wikipedia.org/wiki/MQTT
>>>>> 
>>>>> Verstehe. Der VZ push server nutzt Autobahn (bzw jetzt
>>>>> crossbar.io?) als
>>>>> WAMP Router oder ? Der könnte soweit ich verstehe WAMP und MQTT
>>>>> Clients
>>>>> miteinander verbinden. Ich glaube, dann ist der VZ WAMP Server
>>>>> eher das
>>>>> was ich nutzen möchte. Gibt es eine Dokumentation des WAMP
>>>>> Interfaces
>>>>> für den VZ push server ?
>>>>> 
>>>>>>> Kann einer von beiden in höherer Frequenz publizieren, als
>>>>>>> die  >> Daten in der Datenbank gespeichert werden ? > > Vom
>>>>>>> Grundsatz her
>>>>> 
>>>>> werden Daten die von den Zählern eintreffen in die > Datenbank
>>>>> gebracht.
>>>>> Erst wenn im vzlogger bewusst aggregiert wird > unterlaufen wir
>>>>> das. Ist
>>>>> das irgendwo dokumentiert, bzw kannst Du das für den Laien
>>>>> etwas
>>>>> ausführen ? Ich aggregiere mit vzlogger für meinen Zähler.
>>>>> Heisst das,
>>>>> der push server würde nicht nur die aggregierten Daten liefern,
>>>>> sondern
>>>>> auch die Einzelmessungen ? Das würde viele meiner Probleme
>>>>> lösen
>>>>> 
>>>>> 
>> 
>> 



More information about the volkszaehler-users mailing list