From 080fd7f81b8556fff3bebe055a8207608a1eefcf Mon Sep 17 00:00:00 2001 From: DS_Starter Date: Mon, 17 May 2021 19:43:55 +0000 Subject: [PATCH] 76_SolarForecast.pm: contrib 0.46.0 git-svn-id: https://svn.fhem.de/fhem/trunk@24465 2b470e98-0d58-463d-a4d8-8e2adae1ed80 --- fhem/contrib/DS_Starter/76_SolarForecast.pm | 32 ++++++++++----------- 1 file changed, 16 insertions(+), 16 deletions(-) diff --git a/fhem/contrib/DS_Starter/76_SolarForecast.pm b/fhem/contrib/DS_Starter/76_SolarForecast.pm index 72d17dfdd..17c336bb1 100644 --- a/fhem/contrib/DS_Starter/76_SolarForecast.pm +++ b/fhem/contrib/DS_Starter/76_SolarForecast.pm @@ -2111,26 +2111,26 @@ sub _transferMeterValues { $gco = ReadingsNum ($medev, $gc, 0) * $gcuf; # aktueller Bezug (W) $gfin = ReadingsNum ($medev, $gf, 0) * $gfuf; # aktuelle Einspeisung (W) + my $params; + if ($gc eq "-gfeedin") { # Spezialfall gcon bei neg. gfeedin # Spezialfall: bei negativen gfeedin -> $gco = abs($gf), $gf = 0 - $gfin = ReadingsNum ($medev, $gf, 0) * $gfuf; - if($gfin <= 0) { - $gco = abs($gfin); - $gfin = 0; - } - else { - $gco = 0; - } + $params = { + dev => $medev, + rdg => $gf, + rdgf => $gfuf + }; + + ($gfin,$gco) = substSpecialCases ($params); } if ($gf eq "-gcon") { # Spezialfall gfeedin bei neg. gcon - $gco = ReadingsNum ($medev, $gc, 0) * $gcuf; # aktueller Bezug (W) - if($gco <= 0) { - $gfin = abs($gco); - $gco = 0; - } - else { - $gfin = 0; - } + $params = { + dev => $medev, + rdg => $gc, + rdgf => $gcuf + }; + + ($gco,$gfin) = substSpecialCases ($params); } push @$daref, "Current_GridConsumption<>".(int $gco)." W";