COP berechnen und in MariaDB loggen

Begonnen von Geisha2021, 18 September 2022, 14:13:46

Vorheriges Thema - Nächstes Thema

Geisha2021

Folgendes Problem für das ich keine Lösung gefunden habe:
Ich betreibe eine Wärmepumpe und logge stündlich mit dem statistic Modul die erzeugte Wärme und die dafür notwendige elektrische Energie:
Wärme: statENERGYHourLast
Strom: statWirkenergie_BezugHourLast
Die Messwerte werden immer 5s vor der vollen Stunde geloggt.
Ich erhalte somit je 12 Werte für die beiden Parameter.
Als Ergebnis möchte ich den COP(Quotient aus Wärme und el. Energie) berechnen und auch in der Db loggen.
Ich wollte das mit einem Custom reading machen jedoch fehlen mir hierzu die entsprechenden Perl Kenntnisse.
Würde mich freuen wenn jemand mir helfen würde.
Gruß Uli

mi.ke

COP berechnen ist Unsinn wenn Du die Pumpe schon hast.
Wenn dann solltest Du die JAZ berechnen.

https://www.effizienzhaus-online.de/cop-jaz-etas/

LG
mi.ke
FHEM 5.9 | RPi4 + 5 x RPi(Z) + FB7590 + FB 6890 LTE via LAN und WAN (VPN) verbunden.
2 x CUL868 + 3 x RFXTRX(e) + 6 x HMwLanGW + 4 x z2tGw + 5 x LGW + 2 x IRBlast + CO2 +++
FS20, FHT, FMS, Elro(mod), CM160, Revolt, LGTV, STV, AVR, withings, HM-sec-*, HM-CC-RT-DN, AMAD, PCA301, arlo, Aqara

Geisha2021

Natürlich logge ich die Leistungsaufnahme und Wärmeerzeugung mit FHEM und berechne Cop, TAZ, MAZ und JAZ (mit EXCEL). Ich würde es auch gerne in FHEM abbilden aber dazu muss ich es berechnen.
Ich bin der Meinung, dass das FHEM Forum nicht der Ort ist um über Wärmepumpe zu diskutieren.
Übrigens, ich habe die Wärmepumpe vor einem Jahr selbst installiert und sie funktioniert bestens.
Siehe hier: http://aquarea.smallsolutions.de/index.php?title=Anlage_Geisha2021

DetlefR

Das lässt sich relativ einfach machen. Aber genau so wie man keine Formel in Excel ohne konkrete Angaben machen kann, funktioniert das auch bei UserReadings nicht.
Geraten könnte es so aussehen. Wenn das userreading im Statisticmudul angelegt weerden soll.
userReadings cob:statENERGYHourLast:.* {ReadingsNum($name,'statENERGYHourLast',0)/ReadingsNum($name,'statWirkenergie_BezugHourLast',0);}

Geisha2021

#4
Danke DetlefR für deine Antwort. Es hat jedoch bei mir nicht funktioniert.
Mit folgendem Code als Cusom Reading geht es jetzt:
COP:  {sprintf "%.2f",(ReadingsVal("WMZ","statENERGYHourLast", ""))/(ReadingsVal("MQTT2_Modbus_I_O_97","statWirkenergie_BezugHourLast", ""));},COP_D:  {sprintf "%.2f",(ReadingsVal("WMZ","statENERGYDayLast", ""))/(ReadingsVal("MQTT2_Modbus_I_O_97","statWirkenergie_BezugDayLast", ""));}

Es wird der COP für jede h und für jeden Tag berechnet un d auf 2 Stellen gerundet.

Hier das Ergebnis:

https://abload.de/img/cop-pro-tag-septxmidn.jpg
https://abload.de/img/cop-pro-htxc5a.jpg


DetlefR

Ich bin davon ausgegangen, dass es ein Device ist, das die beiden Readings enthält. :-\