From 5edd5b972569c009a95dbf209340999f910c9c6e Mon Sep 17 00:00:00 2001 From: DS_Starter Date: Sat, 3 Apr 2021 06:44:58 +0000 Subject: [PATCH] 76_SolarForecast.pm: contrib 0.28.0 git-svn-id: https://svn.fhem.de/fhem/trunk@24135 2b470e98-0d58-463d-a4d8-8e2adae1ed80 --- fhem/contrib/DS_Starter/76_SolarForecast.pm | 51 +++++++++++---------- 1 file changed, 27 insertions(+), 24 deletions(-) diff --git a/fhem/contrib/DS_Starter/76_SolarForecast.pm b/fhem/contrib/DS_Starter/76_SolarForecast.pm index a6386c190..e8e507019 100644 --- a/fhem/contrib/DS_Starter/76_SolarForecast.pm +++ b/fhem/contrib/DS_Starter/76_SolarForecast.pm @@ -117,6 +117,7 @@ BEGIN { # Versions History intern my %vNotesIntern = ( + "0.28.0" => "03.04.2021 new attributes beam1FontColor, beam2FontColor ", "0.27.0" => "02.04.2021 additional readings ", "0.26.0" => "02.04.2021 rename attr maxPV to maxValBeam, bugfix in _additionalEvents ", "0.25.0" => "28.03.2021 changes regarding perlcritic, new getter valCurrent ", @@ -375,8 +376,10 @@ sub Initialize { "autoRefreshFW:$fwd ". "beam1Color:colorpicker,RGB ". "beam1Content:forecast,real,gridconsumption ". + "beam1FontColor:colorpicker,RGB ". "beam2Color:colorpicker,RGB ". "beam2Content:forecast,real,gridconsumption ". + "beam2FontColor:colorpicker,RGB ". "beamHeight ". "beamWidth ". # "consumerList ". @@ -2014,9 +2017,12 @@ sub forecastGraphic { my $hourstyle = AttrVal ($name, 'hourStyle', '' ); my $colorfc = AttrVal ($name, 'beam1Color', '000000'); - my $colorc = AttrVal ($name, 'beam2Color', 'C4C4A7'); + my $colorc = AttrVal ($name, 'beam2Color', 'C4C4A7'); + my $fcolor1 = AttrVal ($name, 'beam1FontColor', 'C4C4A7'); + my $fcolor2 = AttrVal ($name, 'beam2FontColor', '000000'); + my $beam1cont = AttrVal ($name, 'beam1Content', 'forecast'); - my $beam2cont = AttrVal ($name, 'beam2Content', 'forecast'); + my $beam2cont = AttrVal ($name, 'beam2Content', 'forecast'); my $icon = AttrVal ($name, 'consumerAdviceIcon', undef ); my $html_start = AttrVal ($name, 'htmlStart', undef ); # beliebige HTML Strings die vor der Grafik ausgegeben werden @@ -2566,7 +2572,7 @@ sub forecastGraphic { $ret .=""; # mit width=100% etwas bessere Füllung der Balken $ret .=""; - $ret .=""; + $ret .="'; if ($hfcg->{$i}{beam1} || $show_night) { # Balken nur einfärben wenn der User via Attr eine Farbe vorgibt, sonst bestimmt class odd von TR alleine die Farbe my $style = "style=\"padding-bottom:0px; vertical-align:top; margin-left:auto; margin-right:auto;"; @@ -2585,9 +2591,10 @@ sub forecastGraphic { $ret .= ""; } } - - if ($lotype eq 'double') { + + if ($lotype eq 'double') { my ($color1, $color2, $style1, $style2, $v); + my $style = "style='padding-bottom:0px; padding-top:1px; vertical-align:top; margin-left:auto; margin-right:auto;"; $ret .="
".$val."
".$val.'
\n"; # mit width=100% etwas bessere Füllung der Balken @@ -2597,27 +2604,23 @@ sub forecastGraphic { if($hfcg->{$i}{beam1} > $hfcg->{$i}{beam2}) { # wer ist oben, Beam2 oder Beam1 ? Wert und Farbe für Zone 2 & 3 vorbesetzen $val = formatVal6($hfcg->{$i}{beam1},$kw,$hfcg->{$i}{weather}); $color1 = $colorfc; - $style1 = "style=\"padding-bottom:0px; padding-top:1px; vertical-align:top; margin-left:auto; margin-right:auto;"; - $style1 .= (defined($color1)) ? " background-color:#$color1\"" : '"'; - + $style1 = $style." background-color:#$color1; color:#$fcolor1;'"; + if($z3) { # die Zuweisung können wir uns sparen wenn Zone 3 nachher eh nicht ausgegeben wird $v = formatVal6($hfcg->{$i}{beam2},$kw,$hfcg->{$i}{weather}); $color2 = $colorc; - $style2 = "style=\"padding-bottom:0px; padding-top:1px; vertical-align:top; margin-left:auto; margin-right:auto;"; - $style2 .= (defined($color2)) ? " background-color:#$color2\"" : '"'; - } - } + $style2 = $style." background-color:#$color2; color:#$fcolor2;'"; + } + } else { $val = formatVal6($hfcg->{$i}{beam2},$kw,$hfcg->{$i}{weather}); $color1 = $colorc; - $style1 = "style=\"padding-bottom:0px; padding-top:1px; vertical-align:top; margin-left:auto; margin-right:auto;"; - $style1 .= (defined($color1)) ? " background-color:#$color1\"" : '"'; - + $style1 = $style." background-color:#$color1; color:#$fcolor2;'"; + if($z3) { $v = formatVal6($hfcg->{$i}{beam1},$kw,$hfcg->{$i}{weather}); $color2 = $colorfc; - $style2 = "style=\"padding-bottom:0px; padding-top:1px; vertical-align:top; margin-left:auto; margin-right:auto;"; - $style2 .= (defined($color2)) ? " background-color:#$color2\"" : '"'; + $style2 = $style." background-color:#$color2; color:#$fcolor1;'"; } } @@ -2634,10 +2637,10 @@ sub forecastGraphic { $ret .= ""; $ret .= ""; } - } + } if ($lotype eq 'diff') { # Type diff - my $style = "style=\"padding-bottom:0px; padding-top:1px; vertical-align:top; margin-left:auto; margin-right:auto;"; + my $style = "style='padding-bottom:0px; padding-top:1px; vertical-align:top; margin-left:auto; margin-right:auto;"; $ret .= "
$v
\n"; # Tipp : das nachfolgende border=0 auf 1 setzen hilft sehr Ausgabefehler zu endecken $val = ($hfcg->{$i}{diff} > 0) ? formatVal6($hfcg->{$i}{diff},$kw,$hfcg->{$i}{weather}) : ''; @@ -2645,11 +2648,11 @@ sub forecastGraphic { if ($val) { $ret .= ""; - $ret .= ""; + $ret .= ""; } if ($hfcg->{$i}{diff} >= 0) { # mit Farbe 1 colorfc füllen - $style .= defined $colorfc ? " background-color:#$colorfc\"" : '"'; + $style .= " background-color:#$colorfc'"; $z2 = 1 if ($hfcg->{$i}{diff} == 0); # Sonderfall , 1px dünnen Strich ausgeben $ret .= ""; $ret .= ""; } } - + if ($hfcg->{$i}{diff} < 0) { # Negativ Balken anzeigen ? - $style .= (defined($colorc)) ? " background-color:#$colorc\"" : '"'; # mit Farbe 2 colorc füllen + $style .= " background-color:#$colorc'"; # mit Farbe 2 colorc füllen $ret .= ""; $ret .= ""; - } + } elsif ($z3) { # ohne Farbe $ret .= ""; $ret .= "";
".$val."
".$val."
"; @@ -2662,12 +2665,12 @@ sub forecastGraphic { $ret .= "