diff --git a/fhem/contrib/DS_Starter/76_SolarForecast.pm b/fhem/contrib/DS_Starter/76_SolarForecast.pm index 0e3c60ff3..10e48c02e 100644 --- a/fhem/contrib/DS_Starter/76_SolarForecast.pm +++ b/fhem/contrib/DS_Starter/76_SolarForecast.pm @@ -161,7 +161,7 @@ my %vNotesIntern = ( "entryGraphic: enrich hfcg hash, __normDecPlaces: use it from/to battery, ". "setupBatteryDevXX : new icon & show key, colour of icon can be changed separately, maxbatteries set to 3 ". "medianArray: switch to simpel array sort, Task 1: delete Weather-API status data at night ". - "add SoC forecast to NextHours store ", + "add SoC forecast to NextHours store, Battery bar chart: display of the device in the bar chart level 1 or 2 ", "1.41.4" => "02.01.2025 minor change of Logtext, new special Readings BatPowerIn_Sum, BatPowerOut_Sum ". "rename ctrlStatisticReadings to ctrlSpecialReadings ", "1.41.3" => "01.01.2025 write/read battery values 0 .. maxbatteries to/from pvhistrory ". @@ -12760,7 +12760,6 @@ sub entryGraphic { fsize => AttrNum ($name, 'graphicSpaceSize', 24), maxVal => AttrNum ($name, 'graphicBeam1MaxVal', 0), # dyn. Anpassung der Balkenhöhe oder statisch ? show_night => AttrNum ($name, 'graphicShowNight', 0), # alle Balken (Spalten) anzeigen ? - show_bat => 1, # Freischaltung Anzeige Batterie show_diff => AttrVal ($name, 'graphicShowDiff', 'no'), # zusätzliche Anzeige $di{} in allen Typen weather => AttrNum ($name, 'graphicShowWeather', 1), # Wetter Icons anzeigen colorw => AttrVal ($name, 'graphicWeatherColor', $wthcolddef), # Wetter Icon Farbe Tag @@ -12843,10 +12842,11 @@ sub entryGraphic { ######################### if ($gsel =~ /both/xs || $gsel =~ /forecast/xs) { my %hfcg1; + $paref->{chartlvl} = 1; # Balkengrafik Ebene 1 ## Werte aktuelle Stunde ########################## - $paref->{hfcg} = \%hfcg1; # (hfcg = hash forecast graphic) + $paref->{hfcg} = \%hfcg1; # hfcg = hash forecast graphic $paref->{thishour} = _beamGraphicFirstHour ($paref); ## get consumer list and display it in Graphics @@ -12870,6 +12870,7 @@ sub entryGraphic { $hfcg2{barcount} = $hfcg1{barcount}; # Anzahl Balken der Ebene1 zur Begrenzung Ebene 2 übernehmen + $paref->{chartlvl} = 2; # Balkengrafik Ebene 2 $paref->{beam1cont} = $paref->{beam3cont}; $paref->{beam2cont} = $paref->{beam4cont}; $paref->{colorb1} = AttrVal ($name, 'graphicBeam3Color', $b3coldef); @@ -12878,7 +12879,6 @@ sub entryGraphic { $paref->{fcolor2} = AttrVal ($name, 'graphicBeam4FontColor', $b4fontcoldef); $paref->{height} = AttrVal ($name, 'graphicBeamHeightLevel2', $paref->{height}); $paref->{weather} = 0; - $paref->{show_bat} = 0; # Werte aktuelle Stunde ########################## @@ -14444,7 +14444,6 @@ sub _beamGraphic { my $hfcg = $paref->{hfcg}; my $maxhours = $paref->{maxhours}; my $weather = $paref->{weather}; - my $show_bat = $paref->{show_bat}; # Ladeempfehlungen anzeigen? my $show_night = $paref->{show_night}; # alle Balken (Spalten) anzeigen ? my $show_diff = $paref->{show_diff}; # zusätzliche Anzeige $di{} in allen Typen my $lotype = $paref->{lotype}; @@ -14475,7 +14474,7 @@ sub _beamGraphic { my $barcount = $hfcg->{barcount} // 9999; # Anzahl Balken der vorangegangenen Ebene zur Begrenzung dieser Ebene my $ret = q{}; $ret .= __weatherOnBeam ($paref) if($weather); - $ret .= __batRcmdOnBeam ($paref) if($show_bat); + $ret .= __batRcmdOnBeam ($paref); my $m = $paref->{modulo} % 2; if ($show_diff eq 'top') { # Zusätzliche Zeile Ertrag - Verbrauch @@ -14784,12 +14783,13 @@ sub __weatherOnBeam { my $width = $paref->{width}; my $lang = $paref->{lang}; - my $ret = q{}; - my $m = $paref->{modulo} % 2; + my $barcount = $hfcg->{barcount} // 9999; # Anzahl Balken der vorangegangenen Ebene zur Begrenzung dieser Ebene + my $m = $paref->{modulo} % 2; + my $ret = q{}; + $ret .= "