Seite 4 von 5

Re: EVU-Modul vzlogger

Verfasst: Do Feb 11, 2021 3:31 pm
von aiole
Das macht Sinn. Auch das Abfischen von mehreren UUID (kW, kWh) aus der Middleware macht es noch flexibler.
Vielleicht ersetze ich doch mal den S0- durch einen RS485-Zähler, aber nach 8 Jahren Ethersex-Nutzung (mit dem Atmega 1284) ist der S0 fast schon ein Heiligtum :lol: .
https://wiki.volkszaehler.org/software/ ... r/ethersex

mit Udo's YPORT-Node.
https://wiki.volkszaehler.org/hardware/ ... yport-node

Re: EVU-Modul vzlogger

Verfasst: Do Feb 11, 2021 3:41 pm
von derNeueDet
Mehrere Werte lassen sich abfischen mit

..../data.json?uuid[]=uuid1&uuid[]=uuid2.....&from=now

Auswerten dann mit dem gleichen Filter wie vzlogger

.data[] | select(.uuid="<uuid>")|.tuples[0][1]

Re: EVU-Modul vzlogger

Verfasst: Do Feb 11, 2021 4:36 pm
von aiole
top! Thanks!!!!

Re: EVU-Modul vzlogger

Verfasst: Mi Jun 23, 2021 7:55 am
von JimRockford
derNeueDet hat geschrieben: Do Feb 11, 2021 3:41 pm Mehrere Werte lassen sich abfischen mit

..../data.json?uuid[]=uuid1&uuid[]=uuid2.....&from=now

Auswerten dann mit dem gleichen Filter wie vzlogger

.data[] | select(.uuid="<uuid>")|.tuples[0][1]
Gibt es bei der Abfrage vom VZLogger eigentlich auch die Möglichkeit, einen Parameter wie "&from=now" zu setzen? (Hintergrund der Frage ist, dass bei mir der VZLogger so konfiguriert ist, dass er bei einer Abfrage immer die letzten ca. 10 Werte liefert.)
Und gibt es die Möglichkeit, auch mehrere uuid abzufragen? (Momentan gelingt mir mit "http://localhost:8081" nur die Anzeige einer vollständigen Liste aller uuid oder aber mit "http://localhost:8081/<uuid>" die Anzeige einer einzelnen uuid. Konstrukte wie "http://localhost:8081/<uuid1>&<uuid2>" funktionieren nicht.)

Viele Grüße
Jim

Re: EVU-Modul vzlogger

Verfasst: Mi Jun 23, 2021 7:59 am
von derNeueDet
Du bist auf der Middleware und nicht auf dem vzlogger.

Der VZlogger liefert immer nur seinen letzten bekannten Stand, er selbst hat ja keine Persistenz, die wird durch die Middleware realisiert.

VG
Det

Re: EVU-Modul vzlogger

Verfasst: Mi Jun 23, 2021 8:38 am
von derNeueDet
Ach ja, die Aussagen hier sind übrigens für das JSON Modul, nicht für das VZlogger Modul, nur um das klar zu stellen.

Über das JSON Modul kannst du VZlogger oder die Middleware abfragen.

Einfacher ist die Abfrage über den VZlogger, da der wie gesagt zu einem Channel immer nur einen aktuellen Wert liefert.

Wenn du die Middleware abfragst, dann musst du dich ein Stück weit durch diesen Thread graben, da hab ich glaube ich schon so ziemlich jede Frage beantwortet die du jetzt gerade auch hast.

VG
Det

Re: EVU-Modul vzlogger

Verfasst: Mi Jun 23, 2021 12:02 pm
von JimRockford
Danke für die schnelle Antwort. Aber meine Fragen waren schon bewusst so gestellt und bezogen sich explizit auf den VZlogger und die Abfrage über JSON auf Seiten der OpenWB.
derNeueDet hat geschrieben: Mi Jun 23, 2021 8:38 am ... Einfacher ist die Abfrage über den VZlogger, da der wie gesagt zu einem Channel immer nur einen aktuellen Wert liefert. ...
In meiner Volkszähler-Konfiguration liefert der VZlogger die letzten ca. 10 Messwerte (Schalter: "buffer": 10) - ich musste das aus bestimmten Gründen so einstellen.
Ich vermute allerdings, dass es dann wohl bei der http-Abfrage des VZloggers keine Möglichkeit gibt, die Ausgabe vorab auf nur einen Messwert zu begrenzen?!
Dann frage ich mal anders:
derNeueDet hat geschrieben: Do Feb 11, 2021 3:41 pm ... Auswerten dann mit dem gleichen Filter wie vzlogger

.data[] | select(.uuid="<uuid>")|.tuples[0][1]
Da der VZlogger bei mir die letzten zehn Messwerte liefert, muss ich, um den neuesten Messwert zu erhalten, folgendes eingeben:
.data[] | select(.uuid="<uuid>")|.tuples[9][1]

Gibt es hier eine Möglichkeit, anstelle der "9" etwas einzugeben, so dass immer der letzte / neueste Wert genommen wird?

Re: EVU-Modul vzlogger

Verfasst: Mi Jun 23, 2021 2:18 pm
von derNeueDet
Hab ich jetzt spontan keine andere Idee.
Den Buffers Parameter und die Auswirkung kannte ich nicht. Daher bin ich davon ausgegangen, dass du die Middleware meinst.

Alternative wäre dann eben die Anfrage an die Middleware mit &from=now zu stellen. Und die entsprechenden Kanäle ebenfalls in den Abfrageparameter zu integrieren. Wie in dem Beispiel aus dem du zuerst zitiert hattest.

VG
Det

Re: EVU-Modul vzlogger

Verfasst: Mi Jun 23, 2021 3:20 pm
von JimRockford
Eine Anfrage an die Middleware scheitert daran, dass bei mir der VZlogger nicht direkt in die Middleware (des Volkszählers) schreibt, sondern ich den VZlogger über http auslese und die Werte dann (lediglich) minütlich in die Datenbank (des Volkszählers) schreibe. Insofern kann die Middleware bei mir keine aktuellen Messwerte liefern.
Letztendlich komme ich ja auch mit der aktuellen Abfrage "tuples[9][1]" gut zurecht. Ich empfinde es halt als etwas unschön, hier nicht den ersten Wert aus der vom VZlogger gelieferten Liste, sondern den letzten nehmen zu müssen (weil die Messwerte mit aufsteigendem Zeitstempel sortiert sind), und diesen dann durch Abzählen zu bestimmen - wäre irgendwie schöner, wenn man sagen könnte: "nimm den letzten Wert der Reihe" als zu sagen "nimm den zehnten Wert der Reihe".

Trotzdem vielen Dank an Dich @derNeueDet. Ohne deinen Filter hätte ich überhaupt keine vernünftige Lösung gehabt.

Re: EVU-Modul vzlogger

Verfasst: Mi Jun 23, 2021 3:28 pm
von derNeueDet
Ich schau mal wenn ich Zeit habe. Es müsste meiner Meinung nach eine Lösung geben. Muss jetzt aber gleich Beach Volleyball Training geben, von daher musst du aktuell mit dem Workaround leben.

VG
Det