diff --git a/fhem/CHANGED b/fhem/CHANGED index fe1fb9702..e06e7b160 100644 --- a/fhem/CHANGED +++ b/fhem/CHANGED @@ -1,5 +1,6 @@ # Add changes at the top of the list. Keep it in ASCII, and 80-char wide. # Do not insert empty lines here, update check depends on it + - change: 76_SolarForecast: Attr graphicStartHtml, graphicEndHtml removed - feature: 49_SSCam: Compatibility (Snapshot API) to SVS version >= 9.2.1 Attr simu_SVSversion renamed to customSVSversion - feature: 76_SolarForecast: Attr flowGraphicControl new key h2consumerdist diff --git a/fhem/FHEM/76_SolarForecast.pm b/fhem/FHEM/76_SolarForecast.pm index a260bb0e0..ceb29b5bc 100644 --- a/fhem/FHEM/76_SolarForecast.pm +++ b/fhem/FHEM/76_SolarForecast.pm @@ -156,6 +156,7 @@ BEGIN { # Versions History intern my %vNotesIntern = ( + "1.37.4" => "29.10.2024 both attr graphicStartHtml, graphicEndHtml removed ", "1.37.3" => "25.10.2024 _flowGraphic: grid, dummy and battery displacement by kask ". "Attr flowGraphicControl: new key h2consumerdist, animate=1 is default now ", "1.37.2" => "24.10.2024 _flowGraphic: show Producer Row only if more than one Producer is defined ", @@ -509,7 +510,7 @@ my @aconfigs = qw( affect70percentRule affectBatteryPreferredCharge affectConsFo graphicBeam1MaxVal graphicEnergyUnit graphicHeaderOwnspec graphicHeaderOwnspecValForm graphicHeaderDetail graphicHeaderShow graphicHistoryHour graphicHourCount graphicHourStyle graphicLayoutType graphicSelect graphicShowDiff graphicShowNight graphicShowWeather - graphicSpaceSize graphicStartHtml graphicEndHtml graphicWeatherColor graphicWeatherColorNight + graphicSpaceSize graphicWeatherColor graphicWeatherColorNight setupMeterDev setupBatteryDev setupInverterStrings setupRadiationAPI setupStringPeak setupRoofTops ); @@ -1259,8 +1260,6 @@ sub Initialize { "graphicShowNight:1,0 ". "graphicShowWeather:1,0 ". "graphicSpaceSize ". - "graphicStartHtml ". - "graphicEndHtml ". "graphicWeatherColor:colorpicker,RGB ". "graphicWeatherColorNight:colorpicker,RGB ". "setupInverterStrings ". @@ -5329,6 +5328,14 @@ sub Attr { return qq{The attribute '$aName' is obsolete and replaced by 'flowGraphicControl'.}; } } + # 29.10.2024 + if ($cmd eq 'set' && $aName =~ /^graphicStartHtml|graphicEndHtml$/) { + if (!$init_done) { + my $msg = "The attribute $aName has been removed and is no longer valid."; + Log3 ($name, 1, "$name - $msg"); + return qq{Device "$name" -> $msg}; + } + } ###################################################################################################################### if ($aName eq 'disable') { @@ -12095,14 +12102,12 @@ sub entryGraphic { # Parameter f. Anzeige extrahieren ################################### - my $width = AttrNum ($name, 'graphicBeamWidth', 20); # zu klein ist nicht problematisch - my $maxhours = AttrNum ($name, 'graphicHourCount', 24); - my $alias = AttrVal ($name, 'alias', $name); # Linktext als Aliasname oder Devicename setzen my $html_start = AttrVal ($name, 'graphicStartHtml', undef); # beliebige HTML Strings die vor der Grafik ausgegeben werden - my $html_start = AttrVal ($name, 'graphicStartHtml', undef); # beliebige HTML Strings die vor der Grafik ausgegeben werden - my $html_end = AttrVal ($name, 'graphicEndHtml', undef); # beliebige HTML Strings die nach der Grafik ausgegeben werden my $w = $width * $maxhours; # gesammte Breite der Ausgabe , WetterIcon braucht ca. 34px - my $w = $width * $maxhours; # gesammte Breite der Ausgabe , WetterIcon braucht ca. 34px - my $offset = -1 * AttrNum ($name, 'graphicHistoryHour', $histhourdef); - my $dlink = qq{$alias}; + my $width = AttrNum ($name, 'graphicBeamWidth', 20); # zu klein ist nicht problematisch + my $maxhours = AttrNum ($name, 'graphicHourCount', 24); + my $alias = AttrVal ($name, 'alias', $name); # Linktext als Aliasname oder Devicename setzen + my $w = $width * $maxhours; # gesammte Breite der Ausgabe , WetterIcon braucht ca. 34px + my $offset = -1 * AttrNum ($name, 'graphicHistoryHour', $histhourdef); + my $dlink = qq{$alias}; if (!$gsel) { $gsel = AttrVal ($name, 'graphicSelect', 'both'); # Auswahl der anzuzeigenden Grafiken @@ -12163,7 +12168,6 @@ sub entryGraphic { $ret .= "$dlink
" if(AttrVal($name, 'ctrlShowLink', 0)); - $ret .= $html_start if (defined($html_start)); #$ret .= ""; $ret .= ""; $ret .= ""; @@ -12304,7 +12308,6 @@ sub entryGraphic { $ret .= ""; $ret .= "
"; - $ret .= $html_end if (defined($html_end)); return $ret; } @@ -21511,18 +21514,6 @@ to ensure that the system configuration is correct.
- -
  • graphicStartHtml <HTML-String>
    - Specify any HTML string to be executed before the graphics code. -
  • -
    - - -
  • graphicEndHtml <HTML-String>
    - Specify any HTML string that will be executed after the graphic code. -
  • -
    -
  • graphicSpaceSize <value>
    Defines how much space in px above or below the bars (with display type differential (diff)) is kept free for @@ -23917,18 +23908,6 @@ die ordnungsgemäße Anlagenkonfiguration geprüft werden.

  • - -
  • graphicStartHtml <HTML-String>
    - Angabe eines beliebigen HTML-Strings der vor dem Grafik-Code ausgeführt wird. -
  • -
    - - -
  • graphicEndHtml <HTML-String>
    - Angabe eines beliebigen HTML-Strings der nach dem Grafik-Code ausgeführt wird. -
  • -
    -
  • graphicSpaceSize <value>
    Legt fest wieviel Platz in px über oder unter den Balken (bei Anzeigetyp Differential (diff)) zur Anzeige der diff --git a/fhem/contrib/DS_Starter/76_SolarForecast.pm b/fhem/contrib/DS_Starter/76_SolarForecast.pm index 2078272b7..ceb29b5bc 100644 --- a/fhem/contrib/DS_Starter/76_SolarForecast.pm +++ b/fhem/contrib/DS_Starter/76_SolarForecast.pm @@ -156,7 +156,9 @@ BEGIN { # Versions History intern my %vNotesIntern = ( - "1.37.3" => "25.10.2024 _flowGraphic: grid, dummy and battery displacement by kask ", + "1.37.4" => "29.10.2024 both attr graphicStartHtml, graphicEndHtml removed ", + "1.37.3" => "25.10.2024 _flowGraphic: grid, dummy and battery displacement by kask ". + "Attr flowGraphicControl: new key h2consumerdist, animate=1 is default now ", "1.37.2" => "24.10.2024 _flowGraphic: show Producer Row only if more than one Producer is defined ", "1.37.1" => "23.10.2024 state: 'The setup routine is still incomplete' if setup is incomplete ". "change: 'trackFlex' && \$wcc >= 80 to \$wcc >= 70, implement Rename function ". @@ -508,7 +510,7 @@ my @aconfigs = qw( affect70percentRule affectBatteryPreferredCharge affectConsFo graphicBeam1MaxVal graphicEnergyUnit graphicHeaderOwnspec graphicHeaderOwnspecValForm graphicHeaderDetail graphicHeaderShow graphicHistoryHour graphicHourCount graphicHourStyle graphicLayoutType graphicSelect graphicShowDiff graphicShowNight graphicShowWeather - graphicSpaceSize graphicStartHtml graphicEndHtml graphicWeatherColor graphicWeatherColorNight + graphicSpaceSize graphicWeatherColor graphicWeatherColorNight setupMeterDev setupBatteryDev setupInverterStrings setupRadiationAPI setupStringPeak setupRoofTops ); @@ -1258,8 +1260,6 @@ sub Initialize { "graphicShowNight:1,0 ". "graphicShowWeather:1,0 ". "graphicSpaceSize ". - "graphicStartHtml ". - "graphicEndHtml ". "graphicWeatherColor:colorpicker,RGB ". "graphicWeatherColorNight:colorpicker,RGB ". "setupInverterStrings ". @@ -5328,6 +5328,14 @@ sub Attr { return qq{The attribute '$aName' is obsolete and replaced by 'flowGraphicControl'.}; } } + # 29.10.2024 + if ($cmd eq 'set' && $aName =~ /^graphicStartHtml|graphicEndHtml$/) { + if (!$init_done) { + my $msg = "The attribute $aName has been removed and is no longer valid."; + Log3 ($name, 1, "$name - $msg"); + return qq{Device "$name" -> $msg}; + } + } ###################################################################################################################### if ($aName eq 'disable') { @@ -12094,14 +12102,12 @@ sub entryGraphic { # Parameter f. Anzeige extrahieren ################################### - my $width = AttrNum ($name, 'graphicBeamWidth', 20); # zu klein ist nicht problematisch - my $maxhours = AttrNum ($name, 'graphicHourCount', 24); - my $alias = AttrVal ($name, 'alias', $name); # Linktext als Aliasname oder Devicename setzen my $html_start = AttrVal ($name, 'graphicStartHtml', undef); # beliebige HTML Strings die vor der Grafik ausgegeben werden - my $html_start = AttrVal ($name, 'graphicStartHtml', undef); # beliebige HTML Strings die vor der Grafik ausgegeben werden - my $html_end = AttrVal ($name, 'graphicEndHtml', undef); # beliebige HTML Strings die nach der Grafik ausgegeben werden my $w = $width * $maxhours; # gesammte Breite der Ausgabe , WetterIcon braucht ca. 34px - my $w = $width * $maxhours; # gesammte Breite der Ausgabe , WetterIcon braucht ca. 34px - my $offset = -1 * AttrNum ($name, 'graphicHistoryHour', $histhourdef); - my $dlink = qq{$alias}; + my $width = AttrNum ($name, 'graphicBeamWidth', 20); # zu klein ist nicht problematisch + my $maxhours = AttrNum ($name, 'graphicHourCount', 24); + my $alias = AttrVal ($name, 'alias', $name); # Linktext als Aliasname oder Devicename setzen + my $w = $width * $maxhours; # gesammte Breite der Ausgabe , WetterIcon braucht ca. 34px + my $offset = -1 * AttrNum ($name, 'graphicHistoryHour', $histhourdef); + my $dlink = qq{$alias}; if (!$gsel) { $gsel = AttrVal ($name, 'graphicSelect', 'both'); # Auswahl der anzuzeigenden Grafiken @@ -12145,14 +12151,14 @@ sub entryGraphic { sheader => AttrNum ($name, 'graphicHeaderShow', 1), # Anzeigen des Grafik Headers hdrDetail => AttrVal ($name, 'graphicHeaderDetail', 'all'), # ermöglicht den Inhalt zu begrenzen, um bspw. passgenau in ftui einzubetten flowgsize => CurrentVal ($hash, 'size', $flowGSizedef), # Größe Energieflußgrafik - flowgani => CurrentVal ($hash, 'animate', 0), # Animation Energieflußgrafik + flowgani => CurrentVal ($hash, 'animate', 1), # Animation Energieflußgrafik flowgshift => CurrentVal ($hash, 'shift', 0), # Verschiebung der Flußgrafikbox (muß negiert werden) flowgcons => CurrentVal ($hash, 'showconsumer', 1), # Verbraucher in der Energieflußgrafik anzeigen flowgconX => CurrentVal ($hash, 'showconsumerdummy', 1), # Dummyverbraucher in der Energieflußgrafik anzeigen flowgconsPower => CurrentVal ($hash, 'showconsumerpower', 1), # Verbraucher Leistung in der Energieflußgrafik anzeigen flowgconsTime => CurrentVal ($hash, 'showconsumerremaintime', 1), # Verbraucher Restlaufeit in der Energieflußgrafik anzeigen flowgconsDist => CurrentVal ($hash, 'consumerdist', $fgCDdef), # Abstand Verbrauchericons zueinander - flowgh2cDist => CurrentVal ($hash, 'h2consumerdist', 0), # Erweiterung vertikaler Abstand Home -> Consumer + flowgh2cDist => CurrentVal ($hash, 'h2consumerdist', 0), # Erweiterung des vertikalen Abstandes Haus -> Consumer genpvdva => AttrVal ($name, 'ctrlGenPVdeviation', 'daily'), # Methode der Abweichungsberechnung lang => getLang ($hash), debug => getDebug ($hash), # Debug Module @@ -12162,7 +12168,6 @@ sub entryGraphic { $ret .= "$dlink
    " if(AttrVal($name, 'ctrlShowLink', 0)); - $ret .= $html_start if (defined($html_start)); #$ret .= ""; $ret .= ""; $ret .= ""; @@ -12303,7 +12308,6 @@ sub entryGraphic { $ret .= ""; $ret .= "
    "; - $ret .= $html_end if (defined($html_end)); return $ret; } @@ -21121,9 +21125,9 @@ to ensure that the system configuration is correct. - + - + @@ -21510,18 +21514,6 @@ to ensure that the system configuration is correct.
    - -
  • graphicStartHtml <HTML-String>
    - Specify any HTML string to be executed before the graphics code. -
  • -
    - - -
  • graphicEndHtml <HTML-String>
    - Specify any HTML string that will be executed after the graphic code. -
  • -
    -
  • graphicSpaceSize <value>
    Defines how much space in px above or below the bars (with display type differential (diff)) is kept free for @@ -23528,12 +23520,12 @@ die ordnungsgemäße Anlagenkonfiguration geprüft werden.
  • animate Animates the energy flow graphic if displayed. (graphicSelect)
    0 - Animation off, 1 - Animation on, default: 0
    0 - Animation off, 1 - Animation on, default: 1
    consumerdist Controls the distance between the consumer icons in the energy flow graphic.
    consumerdist Controls the distance between the consumer icons.
    Value: 80 ... 500, default: 130
    h2consumerdist Extension of the vertical distance between the house and the consumer icons.
    - + - + - + @@ -23916,18 +23908,6 @@ die ordnungsgemäße Anlagenkonfiguration geprüft werden.
    - -
  • graphicStartHtml <HTML-String>
    - Angabe eines beliebigen HTML-Strings der vor dem Grafik-Code ausgeführt wird. -
  • -
    - - -
  • graphicEndHtml <HTML-String>
    - Angabe eines beliebigen HTML-Strings der nach dem Grafik-Code ausgeführt wird. -
  • -
    -
  • graphicSpaceSize <value>
    Legt fest wieviel Platz in px über oder unter den Balken (bei Anzeigetyp Differential (diff)) zur Anzeige der
  • animate Animiert die Energieflußgrafik sofern angezeigt. (graphicSelect)
    0 - Animation aus, 1 - Animation an, default: 0
    0 - Animation aus, 1 - Animation an, default: 1
    consumerdist Steuert den Abstand zwischen den Consumer-Icons in der Energieflußgrafik.
    consumerdist Steuert den Abstand zwischen den Verbraucher-Icons.
    Wert: 80 ... 500, default: 130
    h2consumerdist Erweiterung des vertikalen Abstandes zwischen dem Haus und den Consumer-Icons.
    h2consumerdist Erweiterung des vertikalen Abstandes zwischen dem Haus und den Verbraucher-Icons.
    Wert: 0 ... 999, default: 0
    shift Horizontale Verschiebung der Energieflußgrafik.