Hauptmenü

userReadings

Begonnen von -user-, 15 November 2021, 13:59:52

Vorheriges Thema - Nächstes Thema

-user-

edit...




Nighthawk

#1
Ich vermute, da wird dir delta-d und Plot-Type auf Bars helfen.
Device:Reading::delta-d

# Created by FHEM/98_SVG.pm, 2021-01-06 06:29:44
set terminal png transparent size <SIZE> crop
set output '<OUT>.png'
set xdata time
set timefmt "%Y-%m-%d_%H:%M:%S"
set xlabel " "
set title '<L1>'
set ytics
set y2tics
set grid
set ylabel "Liter"
set y2label "Liter"

#logdb AC:WasserZaehler::delta-d

plot "<IN>" using 1:2 axes x1y1 title 'Wasserverbrauch' ls l2fill lw 1 with bars

Nighthawk

Ich wüsste nicht warum es nicht funktionieren sollte.
Habe in meinem vorherigen Post mal den Inhalt meines Gplot Files angehängt.

Nighthawk

Du musst nur in der Zeile des Ploteditors bei MQTT2_Gaszaehler:Verbrauch:delta-d: einfügen

Nighthawk

Die Daten kommen aus der Datenbank, die sollten sofort da sein.
Mach bitte nochmal ein Screenshot.

Nighthawk

#5
Das delta-d muss zwischen die letzten Doppelpunkten, also MQTT2_Gaszaehler:Verbrauch:delta-d:
Seltsam dass es im Gplot File anders definiert ist...

Nighthawk

#6
hmm, wie sehen den die Daten in der DB aus?
Ist es ein stetig steigender Wert?

Ich sehe gerade, ist doch QTT2_Gaszaehler:Verbrauch::delta-d

Bei mir sieht das Diagramm wie im Anhang aus.


tomix

Habe nun nicht alles gelesen. Ich schreibe jeweils um Mitternacht den Tageswert raus mit:
defmod at_Log_Wasseruhr at *23:59:50 setreading MQTT2_watermeter tageswert [MQTT2_watermeter:zaehlerstand]


Da der Wasserzähler nur den aktuellen Stand ausgibt ist dieser wie folgt definiert:
defmod MQTT2_watermeter MQTT2_DEVICE watermeter
attr MQTT2_watermeter IODev MQTT2_FHEM_Server
attr MQTT2_watermeter devStateIcon {\
  "<div>" \
    . sprintf(\
    "&nbsp;;Zählerstand: %.0f Liter, %.3f m3",\
    ReadingsVal($name,"zaehlerstand",0),\
    ReadingsVal($name,"zaehlerstand",0)/1000,\
    )\
    . "<br />"\
    . sprintf(\
    "&nbsp;;Tagesverbrauch: %.0f Liter, %.3f m3",\
    ReadingsVal($name,"zaehlerstand",0) - ReadingsVal($name,"tageswert",0),\
    (ReadingsVal($name,"zaehlerstand",0) - ReadingsVal($name,"tageswert",0))/1000,\
    )\
    . "<br />"\
    . sprintf(\
    "&nbsp;;(Gestern: %.0f Liter, %.3f m3)",\
    ReadingsVal($name,"diff_tageswert",0),\
    ReadingsVal($name,"diff_tageswert",0)/1000,\
    )\
    . "</div>"\
  }
attr MQTT2_watermeter icon sani_water_tap
attr MQTT2_watermeter readingList watermeter:wasserzaehler/zaehlerstand:.* zaehlerstand\
watermeter:wasserzaehler/error:.* error
attr MQTT2_watermeter room Haus,MQTT2_DEVICE
attr MQTT2_watermeter userReadings d_dt_zaehlerstand:zaehlerstand.* differential { ReadingsVal("MQTT2_watermeter","zaehlerstand",0)*60 }, diff_zaehlerstand:zaehlerstand.* difference { ReadingsVal("MQTT2_watermeter","zaehlerstand",0) }, diff_tageswert:tageswert.* difference { ReadingsVal("MQTT2_watermeter","tageswert",0) }


Gruss
tomix

Nighthawk

#8
Zeige doch bitte mal wie deine Daten in der Datenbank aussehen, ist es ein stetig steigender Wert?

Bei mir sieht es folfgendermaßen aus:

select * from history where device = "AC"  and reading = "WasserZaehler" and timestamp like "2021-11-19%";

+---------------------+--------+-------------+---------------------------+---------------+------------+------+
| TIMESTAMP           | DEVICE | TYPE        | EVENT                     | READING       | VALUE      | UNIT |
+---------------------+--------+-------------+---------------------------+---------------+------------+------+
| 2021-11-19 00:00:02 | AC     | ARDUCOUNTER | addLog                    | WasserZaehler | 983124.575 |      |      |
| 2021-11-19 06:37:48 | AC     | ARDUCOUNTER | WasserZaehler: 983129.685 | WasserZaehler | 983129.685 |      |
| 2021-11-19 06:38:48 | AC     | ARDUCOUNTER | WasserZaehler: 983133.773 | WasserZaehler | 983133.773 |      |
| 2021-11-19 06:39:48 | AC     | ARDUCOUNTER | WasserZaehler: 983134.795 | WasserZaehler | 983134.795 |      |
| 2021-11-19 06:40:48 | AC     | ARDUCOUNTER | WasserZaehler: 983147.059 | WasserZaehler | 983147.059 |      |
| 2021-11-19 06:41:47 | AC     | ARDUCOUNTER | WasserZaehler: 983149.103 | WasserZaehler | 983149.103 |      |
| 2021-11-19 06:44:47 | AC     | ARDUCOUNTER | WasserZaehler: 983158.301 | WasserZaehler | 983158.301 |      |
| 2021-11-19 06:48:47 | AC     | ARDUCOUNTER | WasserZaehler: 983160.345 | WasserZaehler | 983160.345 |      |
| 2021-11-19 06:49:47 | AC     | ARDUCOUNTER | WasserZaehler: 983166.477 | WasserZaehler | 983166.477 |      |
| 2021-11-19 06:55:47 | AC     | ARDUCOUNTER | WasserZaehler: 983166.477 | WasserZaehler | 983166.477 |      |
| 2021-11-19 06:59:46 | AC     | ARDUCOUNTER | WasserZaehler: 983167.499 | WasserZaehler | 983167.499 |      |
| 2021-11-19 07:01:46 | AC     | ARDUCOUNTER | WasserZaehler: 983168.521 | WasserZaehler | 983168.521 |      |
| 2021-11-19 07:07:46 | AC     | ARDUCOUNTER | WasserZaehler: 983169.543 | WasserZaehler | 983169.543 |      |
| 2021-11-19 07:13:45 | AC     | ARDUCOUNTER | WasserZaehler: 983169.543 | WasserZaehler | 983169.543 |      |
| 2021-11-19 07:14:45 | AC     | ARDUCOUNTER | WasserZaehler: 983172.609 | WasserZaehler | 983172.609 |      |
| 2021-11-19 07:15:45 | AC     | ARDUCOUNTER | WasserZaehler: 983173.631 | WasserZaehler | 983173.631 |      |
| 2021-11-19 07:19:45 | AC     | ARDUCOUNTER | WasserZaehler: 983175.675 | WasserZaehler | 983175.675 |      |
| 2021-11-19 07:24:45 | AC     | ARDUCOUNTER | WasserZaehler: 983176.697 | WasserZaehler | 983176.697 |      |
| 2021-11-19 07:25:45 | AC     | ARDUCOUNTER | WasserZaehler: 983178.741 | WasserZaehler | 983178.741 |      |
| 2021-11-19 07:26:45 | AC     | ARDUCOUNTER | WasserZaehler: 983182.829 | WasserZaehler | 983182.829 |      |
| 2021-11-19 07:27:45 | AC     | ARDUCOUNTER | WasserZaehler: 983185.895 | WasserZaehler | 983185.895 |      |
| 2021-11-19 07:28:45 | AC     | ARDUCOUNTER | WasserZaehler: 983187.939 | WasserZaehler | 983187.939 |      |
| 2021-11-19 07:29:44 | AC     | ARDUCOUNTER | WasserZaehler: 983189.983 | WasserZaehler | 983189.983 |      |
| 2021-11-19 07:31:44 | AC     | ARDUCOUNTER | WasserZaehler: 983193.049 | WasserZaehler | 983193.049 |      |
| 2021-11-19 07:33:44 | AC     | ARDUCOUNTER | WasserZaehler: 983198.159 | WasserZaehler | 983198.159 |      |
| 2021-11-19 07:34:44 | AC     | ARDUCOUNTER | WasserZaehler: 983204.291 | WasserZaehler | 983204.291 |      |
| 2021-11-19 07:35:44 | AC     | ARDUCOUNTER | WasserZaehler: 983208.379 | WasserZaehler | 983208.379 |      |
| 2021-11-19 07:37:44 | AC     | ARDUCOUNTER | WasserZaehler: 983211.445 | WasserZaehler | 983211.445 |      |
| 2021-11-19 07:43:44 | AC     | ARDUCOUNTER | WasserZaehler: 983211.445 | WasserZaehler | 983211.445 |      |
| 2021-11-19 07:49:43 | AC     | ARDUCOUNTER | WasserZaehler: 983211.445 | WasserZaehler | 983211.445 |      |
| 2021-11-19 07:50:43 | AC     | ARDUCOUNTER | WasserZaehler: 983215.533 | WasserZaehler | 983215.533 |      |
| 2021-11-19 07:51:43 | AC     | ARDUCOUNTER | WasserZaehler: 983219.621 | WasserZaehler | 983219.621 |      |
| 2021-11-19 07:52:43 | AC     | ARDUCOUNTER | WasserZaehler: 983225.753 | WasserZaehler | 983225.753 |      |
| 2021-11-19 07:53:43 | AC     | ARDUCOUNTER | WasserZaehler: 983236.995 | WasserZaehler | 983236.995 |      |
| 2021-11-19 07:54:43 | AC     | ARDUCOUNTER | WasserZaehler: 983240.061 | WasserZaehler | 983240.061 |      |
| 2021-11-19 07:55:43 | AC     | ARDUCOUNTER | WasserZaehler: 983244.149 | WasserZaehler | 983244.149 |      |
| 2021-11-19 08:01:43 | AC     | ARDUCOUNTER | WasserZaehler: 983244.149 | WasserZaehler | 983244.149 |      |
| 2021-11-19 08:03:42 | AC     | ARDUCOUNTER | WasserZaehler: 983245.171 | WasserZaehler | 983245.171 |      |
| 2021-11-19 08:09:42 | AC     | ARDUCOUNTER | WasserZaehler: 983247.215 | WasserZaehler | 983247.215 |      |
| 2021-11-19 08:10:42 | AC     | ARDUCOUNTER | WasserZaehler: 983248.237 | WasserZaehler | 983248.237 |      |
| 2021-11-19 08:12:42 | AC     | ARDUCOUNTER | WasserZaehler: 983249.259 | WasserZaehler | 983249.259 |      |
| 2021-11-19 08:16:42 | AC     | ARDUCOUNTER | WasserZaehler: 983250.281 | WasserZaehler | 983250.281 |      |
| 2021-11-19 08:18:41 | AC     | ARDUCOUNTER | WasserZaehler: 983253.347 | WasserZaehler | 983253.347 |      |
| 2021-11-19 08:21:41 | AC     | ARDUCOUNTER | WasserZaehler: 983261.523 | WasserZaehler | 983261.523 |      |
| 2021-11-19 08:22:41 | AC     | ARDUCOUNTER | WasserZaehler: 983268.677 | WasserZaehler | 983268.677 |      |
| 2021-11-19 08:28:41 | AC     | ARDUCOUNTER | WasserZaehler: 983268.677 | WasserZaehler | 983268.677 |      |
| 2021-11-19 08:32:41 | AC     | ARDUCOUNTER | WasserZaehler: 983273.787 | WasserZaehler | 983273.787 |      |
| 2021-11-19 08:33:40 | AC     | ARDUCOUNTER | WasserZaehler: 983277.875 | WasserZaehler | 983277.875 |      |
| 2021-11-19 08:34:40 | AC     | ARDUCOUNTER | WasserZaehler: 983284.007 | WasserZaehler | 983284.007 |      |
| 2021-11-19 08:35:40 | AC     | ARDUCOUNTER | WasserZaehler: 983286.051 | WasserZaehler | 983286.051 |      |
+---------------------+--------+-------------+---------------------------+---------------+------------+------+



Ich fürchte bei Dir geht der Ansatz mit delta-d nicht, weil der Wert jeden Tag bei 0 beginnt, da delta-d wie ich verstanden habe, die Zählung mit dem letzte Wert des Vortages beginnt. Dadurch ist dein Wert auch negativ.
Hast Du nicht die Möglichkeit den Wert einfach fortlaufend zu zählen, also ohne Rücksetzen auf Null?

Gruß
Alex