Hallo,
ich versuche eine Berechnung als userReading zu formulieren:
Direkt_Verbrauch_Haus:Diff_I_AC_Energy_WH.* {
((ReadingsNum('SolarEdge','I_DC_Power',0) - ReadingsNum('SolarEdge','BatOut',0)) / ReadingsNum('SolarEdge','I_DC_Power',0)) * ReadingsNum($name,'Diff_I_AC_Energy_WH',0)
}
Das funktioniert gut solange I_DC_Power > 0 UND I_DC_Power > BatOut
Nun wollte ich eine Bedienung einbauen (zunächst für I_DC_Power > 0):
Direkt_Verbrauch_Haus:Diff_I_AC_Energy_WH.* {
if (ReadingsNum('SolarEdge','I_DC_Power',0) > 0 ;
((ReadingsNum('SolarEdge','I_DC_Power',0) - ReadingsNum('SolarEdge','BatOut',0)) / ReadingsNum('SolarEdge','I_DC_Power',0)) * ReadingsNum($name,'Diff_I_AC_Energy_WH',0)
}
und bin daran grandios gescheitert.
Ich sehe nicht mal den Fehler :-(
Kann mir jemand helfend unter die Arme greifen?
Mit besten Grüßen
Martin
[EDIT]
Ich habe auch versucht mit:
Direkt_Verbrauch_Haus:Diff_I_AC_Energy_WH.* {
my $i_dc = ReadingsNum('SolarEdge','I_DC_Power',0);
my $bat_out = ReadingsNum('SolarEdge','BatOut',0);
my $den = $i_dc;
if ($den > 0) { ReadingsNum($name,'Diff_I_AC_Energy_WH',0) * ( ($i_dc - $bat_out) / $den ); } }
War leider auch nichts.