[gelöst] Plot mit Differez zum letzten Wert

Begonnen von Eddy1983, 15 April 2021, 20:12:56

Vorheriges Thema - Nächstes Thema

Eddy1983

Hallo zusammen,

neu bin ich ja hier nicht mehr, fühle mich aber immer wieder wie ein Anfänger :(

Ich versuche grade folgendes:

Ich habe eine ESP32Cam auf meinen Wasserzähler gebastelt. Diese liefert mir nun per MQTT alle paar Minuten den Zählerstand als Zahlenwert in ein log.
Z.B. so:

2021-04-13_21:40:30 MQTT2_wasser zaehlerstand: 407.3428
2021-04-13_21:46:35 MQTT2_wasser zaehlerstand: 407.3428
2021-04-13_21:51:25 MQTT2_wasser zaehlerstand: 407.3428
2021-04-13_21:56:16 MQTT2_wasser zaehlerstand: 407.3428

Nun hätte ich gerne einen Plot, der mir satt dem Wert immer die Differenz zum letzten Zählerstand darstellt (Balkendiagramm).
Idealer Weise, die Differenz mal 1000 um Lieter dar zu stellen.

Mein jetziger Plot steigt halt immer nur an.

Hat da vielleicht jemnd eine einfache Lösung, bzw geht das im Plot Editor?

Vielen Dank schon mal für eure Hilfe.

MfG Christian

Otto123

Hi,

mein Vorschlag: Mach Dir ein userReadings mit modifier difference und plotte das.
https://fhem.de/commandref_DE.html#readingFnAttributes

Gruß Otto
Viele Grüße aus Leipzig  ⇉  nächster Stammtisch an der Lindennaundorfer Mühle
RaspberryPi B B+ B2 B3 B3+ ZeroW,HMLAN,HMUART,Homematic,Fritz!Box 7590,WRT3200ACS-OpenWrt,Sonos,VU+,Arduino nano,ESP8266,MQTT,Zigbee,deconz

Eddy1983

Hallo Otto,

vielen Dank für den Tip.
Wie immer blicke ich da wieder nicht durch.

Das Device:
setuuid MQTT2_wasser 6075f3ae-f33f-98a3-8fda-9c04e5600b0a6256
attr MQTT2_wasser IODev myBroker
attr MQTT2_wasser readingList wasser:wasserzaehler/zaehlerstand:.* zaehlerstand
attr MQTT2_wasser room MQTT2_DEVICE
define FileLog_MQTT2_wasser FileLog ./log/MQTT2_wasser-%Y.log MQTT2_wasser
setuuid FileLog_MQTT2_wasser 6075f3ae-f33f-98a3-b108-7213285f252febc8


schreibt mir die Werte in das oben gezeigte log.

Meinst Du oder jemand anderes der sich fähig fühlt, kann mir das ein wenig genauer beschreiben zu können?
Die CommandRef ist ja sehr ausführlich, aber ich bin leider zu dumm.

Vielen Dank für eure Hilfe.

Otto123

#3
Nicht mal ein Versuch?  :o

Meine Vorlage aus der verlinkten Doku
ZitatBeispiel:
attr myPowerMeter userReadings power differential { ReadingsVal("myPowerMeter","counters.A",0)/1250.0}

attr MQTT2_wasser userReadings zaehlerDiff:zaehlerstand:.* difference {ReadingsVal($name,'zaehlerstand','')}
sollte Dir ein Reading zaehlerDiff erzeugen mit dem gewünschten Wert. Wenn es so ist, schreibst Du den noch ins Log (sollte nach deiner Def automatisch passieren) und machst daraus deinen Plot.

Das bekommst Du hin?
Zitatdie Differenz mal 1000
Viele Grüße aus Leipzig  ⇉  nächster Stammtisch an der Lindennaundorfer Mühle
RaspberryPi B B+ B2 B3 B3+ ZeroW,HMLAN,HMUART,Homematic,Fritz!Box 7590,WRT3200ACS-OpenWrt,Sonos,VU+,Arduino nano,ESP8266,MQTT,Zigbee,deconz

Eddy1983

Hallo Otto,

ich kann C++, VBA, hab vor 20 Jahren mal Systemltroniker gelernt und bin dann, aus versehen in ein Labor für elektromagnetische Vrträglichkeit geraten.
Seid mehr als 10 Jahren hab ich FHEM im Einsatz. Insgesam ca. 45 Aktoren und Sensoren.

Aber das Schema von FHEM krieg ich noch immer nicht auf die Kette.

Wo muss die ich *1000 setzen?

Vielen dank für Deine, Eure Hilfe!

Otto123

klappt denn erstmal dieses Reading? Ermittelt er die Differenz?

Was ist Dir an dem Ausdruck unklar? Frag einfach ;)

Schau mal: hier gibt es "durch 1250" { ReadingsVal("myPowerMeter","counters.A",0)/1250.0} also wie wäre dann "mal 1000" ?
Viele Grüße aus Leipzig  ⇉  nächster Stammtisch an der Lindennaundorfer Mühle
RaspberryPi B B+ B2 B3 B3+ ZeroW,HMLAN,HMUART,Homematic,Fritz!Box 7590,WRT3200ACS-OpenWrt,Sonos,VU+,Arduino nano,ESP8266,MQTT,Zigbee,deconz

Eddy1983

Ach Otto,

na klar, klappt alles!
Ich Depp hab nur leider zwischenzeitlich vergessen, dass ich ja *1000 und nicht /1000 wollte und dann den Wald vor lauter Bäumen nicht mehr gesehen.

Vielen vielen Dank!