From 819be389f070ae6b0e3682a799c62f02acb3933d Mon Sep 17 00:00:00 2001 From: nasseeder1 Date: Tue, 14 Nov 2023 20:43:33 +0000 Subject: [PATCH] 76_SolarForecast: contrib 1.1.0 git-svn-id: https://svn.fhem.de/fhem/trunk@28169 2b470e98-0d58-463d-a4d8-8e2adae1ed80 --- fhem/contrib/DS_Starter/76_SolarForecast.pm | 39 ++++++++++----------- 1 file changed, 19 insertions(+), 20 deletions(-) diff --git a/fhem/contrib/DS_Starter/76_SolarForecast.pm b/fhem/contrib/DS_Starter/76_SolarForecast.pm index ea39b040b..912694ff8 100644 --- a/fhem/contrib/DS_Starter/76_SolarForecast.pm +++ b/fhem/contrib/DS_Starter/76_SolarForecast.pm @@ -10042,8 +10042,9 @@ sub __weatherOnBeam { last if (!exists ($hfcg->{$i}{weather})); $hfcg->{$i}{weather} = 999 if(!defined $hfcg->{$i}{weather}); + my $wcc = $hfcg->{$i}{wcc} // "-"; # Bewölkungsgrad ergänzen - debugLog ($paref, 'graphic', "weather id beam number >$i< (start hour $hfcg->{$i}{time_str}): $hfcg->{$i}{weather}") if($ii < $maxhours); + debugLog ($paref, 'graphic', "weather id beam number >$i< (start hour $hfcg->{$i}{time_str}): wid $hfcg->{$i}{weather} / wcc $wcc") if($ii < $maxhours); if (!$show_night && $hfcg->{$i}{weather} > 99 && !$hfcg->{$i}{beam1} @@ -10057,32 +10058,30 @@ sub __weatherOnBeam { last if($ii > $maxhours); # ToDo : weather_icon sollte im Fehlerfall Title mit der ID besetzen um in FHEMWEB sofort die ID sehen zu können #if (defined $hfcg->{$i}{weather}) { - my ($icon_name, $title) = $hfcg->{$i}{weather} > 100 ? - weather_icon ($name, $lang, $hfcg->{$i}{weather}-100) : - weather_icon ($name, $lang, $hfcg->{$i}{weather}); + my ($icon_name, $title) = $hfcg->{$i}{weather} > 100 ? + weather_icon ($name, $lang, $hfcg->{$i}{weather}-100) : + weather_icon ($name, $lang, $hfcg->{$i}{weather}); - my $wcc = $hfcg->{$i}{wcc} // "-"; # Bewölkungsgrad ergänzen + if (isNumeric ($wcc)) { # Javascript Fehler vermeiden: https://forum.fhem.de/index.php/topic,117864.msg1233661.html#msg1233661 + $wcc += 0; + } - if (isNumeric ($wcc)) { # Javascript Fehler vermeiden: https://forum.fhem.de/index.php/topic,117864.msg1233661.html#msg1233661 - $wcc += 0; - } + $title .= ': '.$wcc; - $title .= ': '.$wcc; + if ($icon_name eq 'unknown') { + debugLog ($paref, "graphic", "unknown weather id: ".$hfcg->{$i}{weather}.", please inform the maintainer"); + } - if ($icon_name eq 'unknown') { - debugLog ($paref, "graphic", "unknown weather id: ".$hfcg->{$i}{weather}.", please inform the maintainer"); - } + $icon_name .= $hfcg->{$i}{weather} < 100 ? '@'.$colorw : '@'.$colorwn; + my $val = FW_makeImage ($icon_name) // q{}; - $icon_name .= $hfcg->{$i}{weather} < 100 ? '@'.$colorw : '@'.$colorwn; - my $val = FW_makeImage ($icon_name) // q{}; + if ($val eq $icon_name) { # passendes Icon beim User nicht vorhanden ! ( attr web iconPath falsch/prüfen/update ? ) + $val = '???'; - if ($val eq $icon_name) { # passendes Icon beim User nicht vorhanden ! ( attr web iconPath falsch/prüfen/update ? ) - $val = '???'; + debugLog ($paref, "graphic", qq{the icon "$weather_ids{$hfcg->{$i}{weather}}{icon}" not found. Please check attribute "iconPath" of your FHEMWEB instance and/or update your FHEM software}); + } - debugLog ($paref, "graphic", qq{the icon "$weather_ids{$hfcg->{$i}{weather}}{icon}" not found. Please check attribute "iconPath" of your FHEMWEB instance and/or update your FHEM software}); - } - - $ret .= "$val"; + $ret .= "$val"; #} #else { # mit $hfcg->{$i}{weather} = undef kann man unten leicht feststellen ob für diese Spalte bereits ein Icon ausgegeben wurde oder nicht # $ret .= "";