[vz-users] Abfrage Zählerstand aus Wasserzähler
Heine.Thomas at online.de
Heine.Thomas at online.de
Do Apr 8 09:00:15 CEST 2021
Hallo Thomas,
Wenn ich es so abfrage:
http://192.168.178.51/data/xxxxxx-xxxxx-xxxxx-xxxxx-xxxxxxxxxx.json
kommt folgendes:
{"version":"0.3","data":{"tuples":[[1617777764306,0,1]],"uuid":"xxxxxx-xxxxx-xxxxx-xxxxx-xxxxxxxxxx","from":1617777464308,"to":1617777764306,"min":[1617777764306,0],"max":[1617777764306,0],"average":0,"consumption":0,"rows":2}}
consumption bleibt 0 (ist das nicht der Aktualverbrauch?)
Ich hab ja keinen Impuls-Kanal, sondern einen Zählerstand-Kanal.
In Frontend wird der Gesamtverbrauch ja auch richtig angezeigt
(aufgerundet 136m³):
Den Gesamtverbrauch (müsste ja der Zählerstand sein) würde ich gerne
anzeigen.
Oder habe ich hier irgendwas nicht richtig kapiert, oder Grundlegende
Denkfehler?
Der Counter-Stand des ESP kann doch auch als Zählerstand mit dem
entsprechenden Offset und Initialverbrauch als "Zähler" dienen, oder?
Was stimmt bei den Zeitstempeln nicht? Wenn ich sie im
Unix-Time-Converter eingebe, passen sie.
Gruß Thomas
Am 08.04.2021 um 08:40 schrieb Thomas Höpfner:
> RE: [vz-users] Abfrage Zählerstand aus Wasserzähler
>
> Hallo Thomas,
>
>
> die Zeitstempel stimmen nicht. Wie PHP hier reagiert verstehe ich auch
> nicht.
>
> options=raw kanst du weglassen. Hier bekommst du nur eine Liste mit
> allen Impulsen. Interesand ist aber nur die Anzahl, die steht dann
> auch als consumtion in der Antwort.
>
> Ich sehe im Moment keine Möglichkeit den aktuellen Zählerstand eines
> Iipulszählers aus vz auszulesen.
>
>
> Thomas
>
>
> -----Ursprüngliche Nachricht-----
> *Von:* Heine.Thomas at online.de <Heine.Thomas at online.de>
> *Gesendet:* Donnerstag 8 April 2021 08:24
> *An:* volkszaehler-users at demo.volkszaehler.org
> *Betreff:* Re: [vz-users] Abfrage Zählerstand aus Wasserzähler
>
> Hallo Andreas,
>
> es liegen seid 2.4. Daten vor (inzwischen 1450 Liter)
> Initialverbrauch 134264 Liter
> Der Zählerstand sollten also inzwischen rechnerisch 135714 Liter sein.
>
> Hier die Debug-Abfrage:
>
> http://192.168.178.51/data/xxxxxx-xxxxx-xxxxx-xxxxx-xxxxxxxxxx.json?from=-1&options=raw&debug=1
> <http://192.168.178.51/data/xxxxxx-xxxxx-xxxxx-xxxxx-xxxxxxxxxx.json?from=-1&options=raw&debug=1>
>
> und das Ergebnis:
>
> {
> "version": "0.3",
> "data": {
> "tuples": [
> [
> 1617862067814,1617864302904
> 145,
> 1
> ]
> ],
> "uuid": "xxxxxx-xxxxx-xxxxx-xxxxx-xxxxxxxxxx",
> "from": 1617861767833,
> "to": 1617862067814,
> "average": 0,
> "consumption": 0,
> "rows": 2
> },
> "debug": {
> "database": "pdo_mysql",
> "time": 0.19783,
> "uptime": 1177360290,
> "load": [
> 3.78,
> 4.25,
> 4.21
> ],
> "commit-hash": "xxxxxxxxxxxxxxxxxxxxxxxxxxx",
> "php-version": "7.3.19-1~deb10u1",
> "messages": [],
> "sql": {
> "totalTime": 0.02234506607055664,
> "worstTime": 0.0026459693908691406,
> "queries": [
> {
> "sql": "SELECT \n MAX(timestamp) \nFROM \n data \nWHERE \n channel_id = 44 \n AND timestamp < 1617873106000",
> "execTime": 0.0026459693908691406
> },
> {
> "sql": "SELECT \n MAX(timestamp) \nFROM \n data \nWHERE \n channel_id = 44 \n AND timestamp < 1617862067814",
> "execTime": 0.0012600421905517578
> },
> {
> "sql": "SELECT \n aggregate.type \nFROM \n aggregate \n INNER JOIN entities ON aggregate.channel_id = entities.id \nWHERE \n uuid = 'xxxxxx-xxxxx-xxxxx-xxxxx-xxxxxxxxxx' \n and aggregate.type = 6 \n AND timestamp >= 1617861767833 \n AND timestamp <= 1617862067814 \nLIMIT \n 1",
> "execTime": 0.0021820068359375
> },
> {
> "sql": "SELECT \n aggregate.type \nFROM \n aggregate \n INNER JOIN entities ON aggregate.channel_id = entities.id \nWHERE \n uuid = 'xxxxxx-xxxxx-xxxxx-xxxxx-xxxxxxxxxx' \n and aggregate.type = 5 \n AND timestamp >= 1617861767833 \n AND timestamp <= 1617862067814 \nLIMIT \n 1",
> "execTime": 0.0018649101257324219
> },
> {
> "sql": "SELECT \n aggregate.type \nFROM \n aggregate \n INNER JOIN entities ON aggregate.channel_id = entities.id \nWHERE \n uuid = 'xxxxxx-xxxxx-xxxxx-xxxxx-xxxxxxxxxx' \n and aggregate.type = 4 \n AND timestamp >= 1617861767833 \n AND timestamp <= 1617862067814 \nLIMIT \n 1",
> "execTime": 0.002110004425048828
> },
> {
> "sql": "SELECT \n aggregate.type \nFROM \n aggregate \n INNER JOIN entities ON aggregate.channel_id = entities.id \nWHERE \n uuid = 'xxxxxx-xxxxx-xxxxx-xxxxx-xxxxxxxxxx' \n and aggregate.type = 3 \n AND timestamp >= 1617861767833 \n AND timestamp <= 1617862067814 \nLIMIT \n 1",
> "execTime": 0.0017001628875732422
> },
> {
> "sql": "SELECT \n aggregate.type \nFROM \n aggregate \n INNER JOIN entities ON aggregate.channel_id = entities.id \nWHERE \n uuid = 'xxxxxx-xxxxx-xxxxx-xxxxx-xxxxxxxxxx' \n and aggregate.type = 2 \n AND timestamp >= 1617861767833 \n AND timestamp <= 1617862067814 \nLIMIT \n 1",
> "execTime": 0.001873016357421875
> },
> {
> "sql": "SELECT \n aggregate.type \nFROM \n aggregate \n INNER JOIN entities ON aggregate.channel_id = entities.id \nWHERE \n uuid = 'xxxxxx-xxxxx-xxxxx-xxxxx-xxxxxxxxxx' \n and aggregate.type = 1 \n AND timestamp >= 1617861767833 \n AND timestamp <= 1617862067814 \nLIMIT \n 1",
> "execTime": 0.0018138885498046875
> },
> {
> "sql": "SELECT \n UNIX_TIMESTAMP(\n FROM_UNIXTIME(\n MIN(timestamp) \/ 1000, \n \"%Y-%m-%d %H:%i:00\"\n )\n ) * 1000 \nFROM \n aggregate \nWHERE \n channel_id = 44 \n AND type = '1' \n AND timestamp >= UNIX_TIMESTAMP(\n DATE_ADD(\n FROM_UNIXTIME(\n 1617861767833 \/ 1000, \"%Y-%m-%d %H:%i:00\"\n ), \n INTERVAL 1 minute\n )\n ) * 1000",
> "execTime": 0.001316070556640625
> },
> {
> "sql": "SELECT \n UNIX_TIMESTAMP(\n DATE_ADD(\n FROM_UNIXTIME(\n MAX(timestamp) \/ 1000, \n \"%Y-%m-%d %H:%i:00\"\n ), \n INTERVAL 1 minute\n )\n ) * 1000 \nFROM \n aggregate \nWHERE \n channel_id = 44 \n AND type = '1' \n AND timestamp < 1617862067814",
> "execTime": 0.0012249946594238281
> },
> {
> "sql": "SELECT \n aggregate.type \nFROM \n aggregate \n INNER JOIN entities ON aggregate.channel_id = entities.id \nWHERE \n uuid = 'xxxxxx-xxxxx-xxxxx-xxxxx-xxxxxxxxxx' \n and aggregate.type = 0 \n AND timestamp >= 1617861767833 \n AND timestamp <= 1617862067814 \nLIMIT \n 1",
> "execTime": 0.0016429424285888672
> },
> {
> "sql": "SELECT \n COUNT(1) \nFROM \n data \nWHERE \n channel_id = 44 \n AND timestamp >= 1617861767833 \n AND timestamp <= 1617862067814",
> "execTime": 0.001310110092163086
> },
> {
> "sql": "SELECT \n timestamp, \n value, \n 1 AS count \nFROM \n data \nWHERE \n channel_id = 44 \n AND timestamp >= 1617861767833 \n AND timestamp <= 1617862067814 \nORDER BY \n timestamp ASC",
> "execTime": 0.0014009475708007812
> }
> ]
> }
> }
> }
>
>
>
> Hilft das weiter?
>
> Gruß
> Thomas
>
>
>
>
>
> Am 08.04.2021 um 08:10 schrieb Andreas Goetz:
>
> Häng mal bitte ein &debug=1 dran, dann sollten wir sehen
> welches SQL ausgeführt wird. Vielleicht gibt das einen Hinweis.
>
> Viele Grüße, Andreas
>
> PS.: seit wann erfasst Du die Daten?
>
> Am 08.04.2021 um 07:59 schrieb Heine.thomas at online.de
> <mailto:Heine.thomas at online.de>:
>
> Hallo,
>
> ich habe inzwischen meinen Wasserzähler mit einem
> Reed-Kontakt ausgestattet und lese ihn per Tasmota ESP8266
> über einen Counter (10l-Schritte) aus.
> der Counterwert wird also alle 10l um 1 erhöht.
> Im VZ-Logger habe ich einen Kanal mit "Wasser
> Zählerstände" angelegt.
> Das klappt soweit auch alles. Ich sehe einen Verbrauch,
> und auch den Gesamt-Zählerstand nach dem ich einen
> Initialen Zählerstand eingetragen habe.
>
> <adillmbjlmnoplia.png>
>
>
>
> Per HTTP-Request kann ich auch bestimmte Zeit-Bereiche
> super abfragen.
>
> Jetzt würde ich gerne aber an meiner Haus-Visualisierung
> den aktuellen Zählerstand anzeigen.
>
>
> So wollte ich ihn abfragen:
>
> http://192.168.178.51/data/xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxx.json?from=-1&options=raw
> <http://192.168.178.51/data/xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxx.json?from=-1&options=raw>
>
> das json sieht jedoch dann so aus:
>
> {"version":"0.3","data":{"tuples":[[1617860867741,144,1]],"uuid":"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxx","from":1617860567724,"to":1617860867741,"average":0,"consumption":0,"rows":2}}
>
>
> bzw. so:
> <lcnmkochlddnejkg.png>
>
> der Zählerstand müsste derzeit irgendwo bei 136xxx Liter
> sein...
>
> Was mache ich bei der Abfrage zum Zählerstand falsch?
>
> Danke vorab für eure Hilfe
>
> Gruß
> Thomas
>
>
-------------- nächster Teil --------------
Ein Dateianhang mit HTML-Daten wurde abgetrennt...
URL: <http://demo.volkszaehler.org/pipermail/volkszaehler-users/attachments/20210408/35820fa8/attachment-0001.html>
-------------- nächster Teil --------------
Ein Dateianhang mit Binärdaten wurde abgetrennt...
Dateiname : ajjlibndepcjlagi.png
Dateityp : image/png
Dateigröße : 9473 bytes
Beschreibung: nicht verfügbar
URL : <http://demo.volkszaehler.org/pipermail/volkszaehler-users/attachments/20210408/35820fa8/attachment-0002.png>
-------------- nächster Teil --------------
Ein Dateianhang mit Binärdaten wurde abgetrennt...
Dateiname : lppmegjjoipaghpl.png
Dateityp : image/png
Dateigröße : 7957 bytes
Beschreibung: nicht verfügbar
URL : <http://demo.volkszaehler.org/pipermail/volkszaehler-users/attachments/20210408/35820fa8/attachment-0003.png>
Mehr Informationen über die Mailingliste volkszaehler-users