Ich steh am Schlauch: Werte aufsummieren

Begonnen von ojb, 09 März 2022, 07:39:51

Vorheriges Thema - Nächstes Thema

ojb

Hallo Leute,

ich steh im Schlauch .... ich habe einen Sensor der jede Minute einen Stromverbrauch misst. Für diesen möchte ich einen Zähler bauen, der also die verbrauchte Energie aufsummiert ....

Also:
2022-03-09_07:30:00 Stromverbrauch: 1000
2022-03-09_07:31:00 Stromverbrauch: 800
2022-03-09_07:32:00 Stromverbrauch: 1100

Stromverbrauch in W. D.h. um 07:32 wären 2900 Ws verbraucht worden ...

Ich hab jetzt schon alles möglich ausprobiert, z.B. mit "integral" und "event-aggregator", aber ich komme nicht so recht weiter.

Wie könnte ich das am einfachsten machen?
FHEM unter Debian auf Asus EEBox: KNX (Wetterstation, Rollläden, Beleuchtung), Maple-CUN (Temperatur und Feuchte über 1-Wire, Intertechno-Funksteckdosen), PV-Anlage mit Plenticore und BYD, Viessmann Wärmepumpe, 1-Wire (Temperatur, Feuchte, Stromverbrauch), Husquarna-Automower, ...

Beta-User

Ungetestet und auch ohne großen Gedanken an die Sinnhaftigkeit der Vorgehensweise an sich:
attr Stromverbrauch userReadings total:state.* {ReadingsVal($name,'total',0)+ReadingsVal($name,'state',0)}
Server: HP-elitedesk@Debian 12, aktuelles FHEM@ConfigDB | CUL_HM (VCCU) | MQTT2: ZigBee2mqtt, MiLight@ESP-GW, BT@OpenMQTTGw | ZWave | SIGNALduino | MapleCUN | RHASSPY
svn: u.a Weekday-&RandomTimer, Twilight,  div. attrTemplate-files, MySensors

TomLee

Was ist denn deiner Meinung nach der Grund dafür den Sinn deines Vorschlags in Frage zu stellen ?

Beta-User

...ich bin kein Physiker, und ich kenne auch die Messmethodik nicht, mit der die minütliche Momentan-Leistung ermittelt wird.
Nach meinem laienhaften Verständnis müßte sichergestellt sein, dass die kontinuierlich "als Fläche" (unterhalb der jeweiligen Momentanleistung auch bei deren Schwankung) ermittelt wird, und nicht einzelne - mehr oder weniger willkürliche - Datenpunkte erfasst und irgendwie aufsummiert werden. Wie das aber hier konkret  ist, kann aber nur der TE wissen.
Server: HP-elitedesk@Debian 12, aktuelles FHEM@ConfigDB | CUL_HM (VCCU) | MQTT2: ZigBee2mqtt, MiLight@ESP-GW, BT@OpenMQTTGw | ZWave | SIGNALduino | MapleCUN | RHASSPY
svn: u.a Weekday-&RandomTimer, Twilight,  div. attrTemplate-files, MySensors

Nobbynews

Zitat von: ojb am 09 März 2022, 07:39:51
ich steh im Schlauch .... ich habe einen Sensor der jede Minute einen Stromverbrauch misst. Für diesen möchte ich einen Zähler bauen, der also die verbrauchte Energie aufsummiert ....

Also:
2022-03-09_07:30:00 Stromverbrauch: 1000
2022-03-09_07:31:00 Stromverbrauch: 800
2022-03-09_07:32:00 Stromverbrauch: 1100

Stromverbrauch in W. D.h. um 07:32 wären 2900 Ws verbraucht worden ...
Sicher, dass es sich um den Stromverbrauch (kWh, Wh etc) und nicht um die Leistung (W) handelt??
Da minütlich gemessen wird, sollten es dann doch Wmin sein?

Otto123

Hi,

Zitatich habe einen Sensor
wäre es nicht sinnvoll den Namen / Bezeichnung aus "dem Schlauch" zu holen? :)
Dann könnte man dieses Wirruwarruwolls aus Einheiten, Messmethoden und Spekulationen eventuell etwas auflösen. 8)

Ansonsten macht ich "Zähler" als userReadings mit monotonic. Beispiel:
Zaehler:COUNTER_C1.* monotonic {ReadingsVal($name,'COUNTER_C1','')/75}
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

Beta-User

Zitat von: Otto123 am 09 März 2022, 09:20:26
Ansonsten macht ich "Zähler" als userReadings mit monotonic. Beispiel:
Ich auch, aber hier wird das eventuell nicht klappen, weil der Zähler eben nicht kontinuierlich wächst, und niedrigere Zwischenwerte nach meinem möglicherweise begrenzten Verständnis dann dazu führen, dass erst mal wieder der "monotonic"-Startwert neu kalibriert wird ;) .
Server: HP-elitedesk@Debian 12, aktuelles FHEM@ConfigDB | CUL_HM (VCCU) | MQTT2: ZigBee2mqtt, MiLight@ESP-GW, BT@OpenMQTTGw | ZWave | SIGNALduino | MapleCUN | RHASSPY
svn: u.a Weekday-&RandomTimer, Twilight,  div. attrTemplate-files, MySensors

Otto123

stimmt :)
defmod Technikraum_Stromzaehler_S0 dummy
attr Technikraum_Stromzaehler_S0 readingList getG1
attr Technikraum_Stromzaehler_S0 setList getG1
attr Technikraum_Stromzaehler_S0 userReadings getG1_monotonic:getG1.* monotonic { ReadingsNum($name, "getG1", 0) }

Deswegen - besser ist wir wüssten mehr ;)
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

ojb

Also mein konkreter Fall ist, dass der Strommesser alle Minute den Verbrauch anzeigt in W.

Also Beispiel Fön mit 1000 W, dann sähen die Werte so aus:
00:00:00 1000
00:01:00 1000
00:02:00 1000

Würde ich den Fön 1 Stunde laufen lassen, dann hätte ich 1 kWh verbraucht.

Man könnte jetzt mit einem userreading mit "integral" das Integral, also die Fläche, welche ja der verbrauchten Energiemenge entspricht, ausrechnen. Aber diese Teilintegrale müsste man dann aufsummieren. Und die Frage ist ja, wie könnte man das machen?


FHEM unter Debian auf Asus EEBox: KNX (Wetterstation, Rollläden, Beleuchtung), Maple-CUN (Temperatur und Feuchte über 1-Wire, Intertechno-Funksteckdosen), PV-Anlage mit Plenticore und BYD, Viessmann Wärmepumpe, 1-Wire (Temperatur, Feuchte, Stromverbrauch), Husquarna-Automower, ...

Beta-User

Server: HP-elitedesk@Debian 12, aktuelles FHEM@ConfigDB | CUL_HM (VCCU) | MQTT2: ZigBee2mqtt, MiLight@ESP-GW, BT@OpenMQTTGw | ZWave | SIGNALduino | MapleCUN | RHASSPY
svn: u.a Weekday-&RandomTimer, Twilight,  div. attrTemplate-files, MySensors

Nobbynews

Zitat von: ojb am 09 März 2022, 09:52:45
Also Beispiel Fön mit 1000 W, dann sähen die Werte so aus:
00:00:00 1000
00:01:00 1000
00:02:00 1000

Man könnte jetzt mit einem userreading mit "integral" das Integral, also die Fläche, welche ja der verbrauchten Energiemenge entspricht, ausrechnen. Aber diese Teilintegrale müsste man dann aufsummieren. Und die Frage ist ja, wie könnte man das machen?
Bei der geringen Auflösung im Minutentakt ergibt sich als Integral aber doch nur ein simples Rechteck als Fläche unter der Kurve.
Also einfach Minutenwerte als Wmin interpretieren und über ein Userreading aufaddieren. Das Zeitintervall ist ja fix 1min, oder 60s oder 1/60h.

MadMax-FHEM

#11
Ich schließe mich allerdings Otto an: wenn wir wüssten was dein "Sensor" ist, dann gäbe es evtl. auch andere Möglichkeiten...

Bzw. was für einen "komischen" Sensor hast du im Einsatz, weil alle die ich kenne "summieren" die Leistung selbsttätig und liefern auch den Verbrauch...
EDIT: und wenn das der hier im Einsatz befindliche nicht tut: Wechsel auf einen der das (vernünftig und richtig) "selber" macht? :)

Gruß, Joachim
FHEM PI3B+ Bullseye: HM-CFG-USB, 40x HM, ZWave-USB, 13x ZWave, EnOcean-PI, 15x EnOcean, HUE/deCONZ, CO2, ESP-Multisensor, Shelly, alexa-fhem, ...
FHEM PI2 Buster: HM-CFG-USB, 25x HM, ZWave-USB, 4x ZWave, EnOcean-PI, 3x EnOcean, Shelly, ha-bridge, ...
FHEM PI3 Buster (Test)

ojb

ZitatAlso einfach Minutenwerte als Wmin interpretieren und über ein Userreading aufaddieren.
Wie würde man das machen?

ZitatBzw. was für einen "komischen" Sensor hast du im Einsatz, weil alle die ich kenne "summieren" die Leistung selbsttätig und liefern auch den Verbrauch...
Mein komischer Sensor ist ein Kostal Plenticore Wechselrichter der mit einem zweiten Wechselrichter in Schwarmverschaltung betrieben wird. Die beiden sind direkt per httpmod und über die API angebunden. Das Problem ist, dass die Zähler in der Schwarmverschaltung nicht ganz trivial gemeinsam ausgewertet werden müssen und ich wollte eine einfache Plausilösung.
FHEM unter Debian auf Asus EEBox: KNX (Wetterstation, Rollläden, Beleuchtung), Maple-CUN (Temperatur und Feuchte über 1-Wire, Intertechno-Funksteckdosen), PV-Anlage mit Plenticore und BYD, Viessmann Wärmepumpe, 1-Wire (Temperatur, Feuchte, Stromverbrauch), Husquarna-Automower, ...

Beta-User

Demnach hat
Zitat von: Beta-User am 09 März 2022, 07:55:21
attr Stromverbrauch userReadings total:state.* {ReadingsVal($name,'total',0)+ReadingsVal($name,'state',0)}
nicht funktioniert?

Wie sah denn der Versuch mit event-aggregator aus?
Wie wäre es mit einem "list"?
Server: HP-elitedesk@Debian 12, aktuelles FHEM@ConfigDB | CUL_HM (VCCU) | MQTT2: ZigBee2mqtt, MiLight@ESP-GW, BT@OpenMQTTGw | ZWave | SIGNALduino | MapleCUN | RHASSPY
svn: u.a Weekday-&RandomTimer, Twilight,  div. attrTemplate-files, MySensors

MadMax-FHEM

Zitat von: ojb am 09 März 2022, 10:36:25
Wie würde man das machen?

https://forum.fhem.de/index.php/topic,126661.msg1212586.html#msg1212586


Zitat von: ojb am 09 März 2022, 10:36:25
Mein komischer Sensor ist ein Kostal Plenticore Wechselrichter der mit einem zweiten Wechselrichter in Schwarmverschaltung betrieben wird. Die beiden sind direkt per httpmod und über die API angebunden. Das Problem ist, dass die Zähler in der Schwarmverschaltung nicht ganz trivial gemeinsam ausgewertet werden müssen und ich wollte eine einfache Plausilösung.

Aha, na dann...
...aber nun ist evtl. manches klar(er)...

Gruß, Joachim
FHEM PI3B+ Bullseye: HM-CFG-USB, 40x HM, ZWave-USB, 13x ZWave, EnOcean-PI, 15x EnOcean, HUE/deCONZ, CO2, ESP-Multisensor, Shelly, alexa-fhem, ...
FHEM PI2 Buster: HM-CFG-USB, 25x HM, ZWave-USB, 4x ZWave, EnOcean-PI, 3x EnOcean, Shelly, ha-bridge, ...
FHEM PI3 Buster (Test)