Hauptmenü

neue Funktion: diffpsec

Begonnen von Damian, 21 März 2023, 19:38:50

Vorheriges Thema - Nächstes Thema

Damian

Zu den bisherigen Funktionen https://fhem.de/commandref_DE.html#DOIF_Reading_Funktionen

gibt es eine neue Funktion namens diffpsec (Differenz pro Sekunde). Diese entspricht dem userReading differential.

So lassen sich in einer DOIF-Definition leicht aus gelieferten Zählerständen der aktuelle durchschnittlicher Verbrauch bestimmen und entsprechend visualisieren. Mit dem Attribut DOIF_Readings bleiben die Berechnungen ohne externe Events innerhalb des DOIF-Devices.

Berechnet wird aus der Differenz von zwei Zählerständen dividiert durch Differenz der Zeitstempel der beiden Reading-Werte der aktuelle Verbrauch. In der Mathematik als Differenzenquotient bekannt.


Beispiel

SENSOR_COUNTER_C1 ist der PV-Zähler, SENSOR_MT681_Total_out und SENSOR_MT681_Total_in gehören zum Zweirichtungszähler


attr Aktuell DOIF_Readings power_pv:[MQTT2_DVES_C58DCB:SENSOR_COUNTER_C1:diffpsec]*3.6,\
total_fc:[MQTT2_DVES_C58DCB:SENSOR_MT681_Total_out]-[MQTT2_DVES_C58DCB:SENSOR_MT681_Total_in],\
power_fc:[$SELF:total_fc:diffpsec]*3600

Mit den obigen Readings wird die aktuelle PV-Leistung und der aktuelle Verbrauch (negativ) bzw. die aktuelle Einspeisung (positiv) in kW dargestellt.

Mit der Definitionszeile im uiTable-Attribut

card([[$SELF:power_pv:144col1d],[$SELF:power_fc:144col1d]],undef,"fa_bolt\@silver",-3.6,3.6,0,90,["PV","Netz"],[(-1,0,-0.01,30,1,60,3.6,90)],"2,,fill:silver","130,,1,0,1","1,,1,0,negzeropos")

entsteht die Darstellung siehe Anhang

Neue DOIF-Version wird nach erfolgreichen Tests in den nächsten Tagen eingecheckt.
Programmierte FHEM-Module: DOIF-FHEM, DOIF-Perl, DOIF-uiTable, THRESHOLD, FHEM-Befehl: IF

Damian

#1
Neue DOIF-Version eingecheckt.

Es lässt sich ebenfalls auch der momentane Gasverbrauch durch Auslesen eines einfachen Balkenzählers darstellen.

Man kann wie bei den bisherigen Funktion auch die Anzahl der zurückliegenden Werte angeben, um die Genauigkeit zu erhöhen.

Wenn z. B. der Gaszähler einmal pro Minute ausgelesen wird, dann wird mit der Angabe

diffpsec3

im Minutentakt der durchschnittliche momentane Gasverbrauch zwischen dem letzten und dem drittletzten Wert gebildet, hier also über eine Zeitspanne von zwei Minuten

attr Aktuell DOIF_Readings power_gas:[MQTT2_DVES_C58DCB:SENSOR_COUNTER_C3:diffpsec3]*36
card([$SELF:power_gas:144col1d],undef,"gasmeter2\@silver",0,3,90,0,"m³/h",undef,"3,,fill:silver","130,,steps,0,1","1,,1,0,minmax")
Ergebnis im Anhang
Programmierte FHEM-Module: DOIF-FHEM, DOIF-Perl, DOIF-uiTable, THRESHOLD, FHEM-Befehl: IF