mirror of
https://github.com/fhem/fhem-mirror.git
synced 2025-02-26 10:34:52 +00:00
76_SolarForecast: contrib 1.37.0
git-svn-id: https://svn.fhem.de/fhem/trunk@29266 2b470e98-0d58-463d-a4d8-8e2adae1ed80
This commit is contained in:
parent
2364054557
commit
f836d5b835
@ -156,8 +156,10 @@ BEGIN {
|
|||||||
|
|
||||||
# Versions History intern
|
# Versions History intern
|
||||||
my %vNotesIntern = (
|
my %vNotesIntern = (
|
||||||
"1.37.0" => "18.10.2024 attr setupInverterDevXX up to 03 inverters with accorded strings, setupInverterDevXX: keys strings and feed ".
|
"1.37.0" => "20.10.2024 attr setupInverterDevXX up to 03 inverters with accorded strings, setupInverterDevXX: keys strings and feed ".
|
||||||
"_flowGraphic: controlhash for producer, prepare new attr flowGraphicControl ",
|
"_flowGraphic: controlhash for producer, new attr flowGraphicControl and replace the attributes: ".
|
||||||
|
"flowGraphicAnimate flowGraphicConsumerDistance flowGraphicShowConsumer flowGraphicShowConsumerDummy ".
|
||||||
|
"flowGraphicShowConsumerPower flowGraphicShowConsumerRemainTime flowGraphicShift ",
|
||||||
"1.36.1" => "14.10.2024 _flowGraphic: consumer distance modified by kask, Coloring of icons corrected when creating 0 ",
|
"1.36.1" => "14.10.2024 _flowGraphic: consumer distance modified by kask, Coloring of icons corrected when creating 0 ",
|
||||||
"1.36.0" => "13.10.2024 new Getter valInverter, valStrings and valProducer, preparation for multiple inverters ".
|
"1.36.0" => "13.10.2024 new Getter valInverter, valStrings and valProducer, preparation for multiple inverters ".
|
||||||
"rename setupInverterDev to setupInverterDev01, new attr affectConsForecastLastDays ".
|
"rename setupInverterDev to setupInverterDev01, new attr affectConsForecastLastDays ".
|
||||||
@ -552,8 +554,7 @@ my @aconfigs = qw( affect70percentRule affectBatteryPreferredCharge affectConsFo
|
|||||||
ctrlSolCastAPIoptimizeReq ctrlStatisticReadings ctrlUserExitFn
|
ctrlSolCastAPIoptimizeReq ctrlStatisticReadings ctrlUserExitFn
|
||||||
setupWeatherDev1 setupWeatherDev2 setupWeatherDev3
|
setupWeatherDev1 setupWeatherDev2 setupWeatherDev3
|
||||||
disable
|
disable
|
||||||
flowGraphicSize flowGraphicAnimate flowGraphicConsumerDistance flowGraphicShowConsumer
|
flowGraphicControl
|
||||||
flowGraphicShowConsumerDummy flowGraphicShowConsumerPower flowGraphicShowConsumerRemainTime
|
|
||||||
flowGraphicCss graphicBeamWidth
|
flowGraphicCss graphicBeamWidth
|
||||||
graphicBeamHeightLevel1 graphicBeamHeightLevel2
|
graphicBeamHeightLevel1 graphicBeamHeightLevel2
|
||||||
graphicBeam1Content graphicBeam2Content graphicBeam3Content graphicBeam4Content
|
graphicBeam1Content graphicBeam2Content graphicBeam3Content graphicBeam4Content
|
||||||
@ -1267,15 +1268,7 @@ sub Initialize {
|
|||||||
"ctrlStatisticReadings:multiple-strict,$srd ".
|
"ctrlStatisticReadings:multiple-strict,$srd ".
|
||||||
"ctrlUserExitFn:textField-long ".
|
"ctrlUserExitFn:textField-long ".
|
||||||
"disable:1,0 ".
|
"disable:1,0 ".
|
||||||
# "flowGraphicControl:textField-long ".
|
"flowGraphicControl:textField-long ".
|
||||||
"flowGraphicSize ".
|
|
||||||
"flowGraphicAnimate:1,0 ".
|
|
||||||
"flowGraphicConsumerDistance:slider,80,10,500 ".
|
|
||||||
"flowGraphicShift:slider,-80,5,80 ".
|
|
||||||
"flowGraphicShowConsumer:1,0 ".
|
|
||||||
"flowGraphicShowConsumerDummy:1,0 ".
|
|
||||||
"flowGraphicShowConsumerPower:0,1 ".
|
|
||||||
"flowGraphicShowConsumerRemainTime:0,1 ".
|
|
||||||
"flowGraphicCss:textField-long ".
|
"flowGraphicCss:textField-long ".
|
||||||
"graphicBeamHeightLevel1 ".
|
"graphicBeamHeightLevel1 ".
|
||||||
"graphicBeamHeightLevel2 ".
|
"graphicBeamHeightLevel2 ".
|
||||||
@ -1324,6 +1317,12 @@ sub Initialize {
|
|||||||
$setupprod.
|
$setupprod.
|
||||||
$consumer.
|
$consumer.
|
||||||
$readingFnAttributes;
|
$readingFnAttributes;
|
||||||
|
|
||||||
|
### nicht mehr benötigte Daten verarbeiten - Bereich kann später wieder raus !!
|
||||||
|
##########################################################################################################################
|
||||||
|
$hash->{AttrList} .= " flowGraphicSize flowGraphicAnimate flowGraphicConsumerDistance flowGraphicShowConsumer flowGraphicShowConsumerDummy flowGraphicShowConsumerPower flowGraphicShowConsumerRemainTime flowGraphicShift ";
|
||||||
|
|
||||||
|
##########################################################################################################################
|
||||||
|
|
||||||
$hash->{FW_hideDisplayName} = 1; # Forum 88667
|
$hash->{FW_hideDisplayName} = 1; # Forum 88667
|
||||||
|
|
||||||
@ -5360,14 +5359,15 @@ sub Attr {
|
|||||||
|
|
||||||
### nicht mehr benötigte Daten verarbeiten - Bereich kann später wieder raus !!
|
### nicht mehr benötigte Daten verarbeiten - Bereich kann später wieder raus !!
|
||||||
######################################################################################################################
|
######################################################################################################################
|
||||||
#if ($cmd eq 'set' && $aName eq 'affectMaxDayVariance') {
|
# 20.10.2024
|
||||||
# if (!$init_done) {
|
if ($cmd eq 'set' && $aName =~ /^flowGraphicSize|flowGraphicAnimate|flowGraphicConsumerDistance|flowGraphicShowConsumer|flowGraphicShowConsumerDummy|flowGraphicShowConsumerPower|flowGraphicShowConsumerRemainTime|flowGraphicShift$/) {
|
||||||
# return qq{Device "$name" -> The attribute '$aName' is obsolete and will be deleted soon. Please press "save config" when restart is finished.};
|
if (!$init_done) {
|
||||||
# }
|
return qq{Device "$name" -> The attribute '$aName' is replaced by 'flowGraphicControl'. Please press "save config" when restart is finished.};
|
||||||
# else {
|
}
|
||||||
# return qq{The attribute '$aName' is obsolete and will be deleted soon.};
|
else {
|
||||||
# }
|
return qq{The attribute '$aName' is obsolete and replaced by 'flowGraphicControl'.};
|
||||||
#}
|
}
|
||||||
|
}
|
||||||
######################################################################################################################
|
######################################################################################################################
|
||||||
|
|
||||||
if ($aName eq 'disable') {
|
if ($aName eq 'disable') {
|
||||||
@ -5684,14 +5684,14 @@ sub _attrflowGraphicControl { ## no critic "not used"
|
|||||||
|
|
||||||
my $hash = $defs{$name};
|
my $hash = $defs{$name};
|
||||||
|
|
||||||
for my $av ( qw( flowGraphicAnimate
|
for my $av ( qw( animate
|
||||||
flowGraphicConsumerDistance
|
consumerdist
|
||||||
flowGraphicShift
|
shift
|
||||||
flowGraphicShowConsumer
|
showconsumer
|
||||||
flowGraphicShowConsumerRemainTime
|
showconsumerremaintime
|
||||||
flowGraphicSize
|
size
|
||||||
flowGraphicShowConsumerDummy
|
showconsumerdummy
|
||||||
flowGraphicShowConsumerPower
|
showconsumerpower
|
||||||
) ) {
|
) ) {
|
||||||
|
|
||||||
delete $data{$type}{$name}{current}{$av};
|
delete $data{$type}{$name}{current}{$av};
|
||||||
@ -5713,6 +5713,7 @@ sub _attrflowGraphicControl { ## no critic "not used"
|
|||||||
|
|
||||||
for my $key (keys %{$h}) {
|
for my $key (keys %{$h}) {
|
||||||
my $comp = $valid->{$key};
|
my $comp = $valid->{$key};
|
||||||
|
next if(!$comp);
|
||||||
|
|
||||||
if ($h->{$key} =~ /^$comp$/xs) {
|
if ($h->{$key} =~ /^$comp$/xs) {
|
||||||
$data{$type}{$name}{current}{$key} = $h->{$key};
|
$data{$type}{$name}{current}{$key} = $h->{$key};
|
||||||
@ -6919,6 +6920,28 @@ sub centralTask {
|
|||||||
$n = sprintf "%02d", $n;
|
$n = sprintf "%02d", $n;
|
||||||
readingsDelete ($hash, "pvCorrectionFactor_${n}_autocalc");
|
readingsDelete ($hash, "pvCorrectionFactor_${n}_autocalc");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
my $fg1 = AttrVal ($name, 'flowGraphicSize', undef); # 20.10.2024
|
||||||
|
my $fg2 = AttrVal ($name, 'flowGraphicAnimate', undef);
|
||||||
|
my $fg3 = AttrVal ($name, 'flowGraphicConsumerDistance', undef);
|
||||||
|
my $fg4 = AttrVal ($name, 'flowGraphicShowConsumer', undef);
|
||||||
|
my $fg5 = AttrVal ($name, 'flowGraphicShowConsumerDummy', undef);
|
||||||
|
my $fg6 = AttrVal ($name, 'flowGraphicShowConsumerPower', undef);
|
||||||
|
my $fg7 = AttrVal ($name, 'flowGraphicShowConsumerRemainTime', undef);
|
||||||
|
my $fg8 = AttrVal ($name, 'flowGraphicShift', undef);
|
||||||
|
|
||||||
|
my $newval;
|
||||||
|
$newval .= "size=$fg1 " if(defined $fg1);
|
||||||
|
$newval .= "animate=$fg2 " if(defined $fg2);
|
||||||
|
$newval .= "consumerdist=$fg3 " if(defined $fg3);
|
||||||
|
$newval .= "showconsumer=$fg4 " if(defined $fg4);
|
||||||
|
$newval .= "showconsumerdummy=$fg5 " if(defined $fg5);
|
||||||
|
$newval .= "showconsumerpower=$fg6 " if(defined $fg6);
|
||||||
|
$newval .= "showconsumerremaintime=$fg7 " if(defined $fg7);
|
||||||
|
$newval .= "shift=$fg8 " if(defined $fg8);
|
||||||
|
|
||||||
|
CommandAttr (undef, "$name flowGraphicControl $newval") if($newval);
|
||||||
|
|
||||||
##########################################################################################################################
|
##########################################################################################################################
|
||||||
|
|
||||||
setModel ($hash); # Model setzen
|
setModel ($hash); # Model setzen
|
||||||
@ -12098,44 +12121,44 @@ sub entryGraphic {
|
|||||||
modulo => 1,
|
modulo => 1,
|
||||||
dstyle => qq{style='padding-left: 10px; padding-right: 10px; padding-top: 3px; padding-bottom: 3px; white-space:nowrap;'}, # TD-Style
|
dstyle => qq{style='padding-left: 10px; padding-right: 10px; padding-top: 3px; padding-bottom: 3px; white-space:nowrap;'}, # TD-Style
|
||||||
offset => $offset,
|
offset => $offset,
|
||||||
hourstyle => AttrVal ($name, 'graphicHourStyle', ''),
|
hourstyle => AttrVal ($name, 'graphicHourStyle', ''),
|
||||||
colorb1 => AttrVal ($name, 'graphicBeam1Color', $b1coldef),
|
colorb1 => AttrVal ($name, 'graphicBeam1Color', $b1coldef),
|
||||||
colorb2 => AttrVal ($name, 'graphicBeam2Color', $b2coldef),
|
colorb2 => AttrVal ($name, 'graphicBeam2Color', $b2coldef),
|
||||||
fcolor1 => AttrVal ($name, 'graphicBeam1FontColor', $b1fontcoldef),
|
fcolor1 => AttrVal ($name, 'graphicBeam1FontColor', $b1fontcoldef),
|
||||||
fcolor2 => AttrVal ($name, 'graphicBeam2FontColor', $b2fontcoldef),
|
fcolor2 => AttrVal ($name, 'graphicBeam2FontColor', $b2fontcoldef),
|
||||||
beam1cont => AttrVal ($name, 'graphicBeam1Content', 'pvReal'),
|
beam1cont => AttrVal ($name, 'graphicBeam1Content', 'pvReal'),
|
||||||
beam2cont => AttrVal ($name, 'graphicBeam2Content', 'pvForecast'),
|
beam2cont => AttrVal ($name, 'graphicBeam2Content', 'pvForecast'),
|
||||||
beam3cont => AttrVal ($name, 'graphicBeam3Content', ''),
|
beam3cont => AttrVal ($name, 'graphicBeam3Content', ''),
|
||||||
beam4cont => AttrVal ($name, 'graphicBeam4Content', ''),
|
beam4cont => AttrVal ($name, 'graphicBeam4Content', ''),
|
||||||
caicon => AttrVal ($name, 'consumerAdviceIcon', $caicondef), # Consumer AdviceIcon
|
caicon => AttrVal ($name, 'consumerAdviceIcon', $caicondef), # Consumer AdviceIcon
|
||||||
clegend => AttrVal ($name, 'consumerLegend', 'icon_top'), # Lage und Art Cunsumer Legende
|
clegend => AttrVal ($name, 'consumerLegend', 'icon_top'), # Lage und Art Cunsumer Legende
|
||||||
clink => AttrVal ($name, 'consumerLink' , 1), # Detail-Link zum Verbraucher
|
clink => AttrVal ($name, 'consumerLink' , 1), # Detail-Link zum Verbraucher
|
||||||
lotype => AttrVal ($name, 'graphicLayoutType', 'double'),
|
lotype => AttrVal ($name, 'graphicLayoutType', 'double'),
|
||||||
kw => AttrVal ($name, 'graphicEnergyUnit', 'Wh'),
|
kw => AttrVal ($name, 'graphicEnergyUnit', 'Wh'),
|
||||||
height => AttrNum ($name, 'graphicBeamHeightLevel1', 200),
|
height => AttrNum ($name, 'graphicBeamHeightLevel1', 200),
|
||||||
width => $width,
|
width => $width,
|
||||||
fsize => AttrNum ($name, 'graphicSpaceSize', 24),
|
fsize => AttrNum ($name, 'graphicSpaceSize', 24),
|
||||||
maxVal => AttrNum ($name, 'graphicBeam1MaxVal', 0), # dyn. Anpassung der Balkenhöhe oder statisch ?
|
maxVal => AttrNum ($name, 'graphicBeam1MaxVal', 0), # dyn. Anpassung der Balkenhöhe oder statisch ?
|
||||||
show_night => AttrNum ($name, 'graphicShowNight', 0), # alle Balken (Spalten) anzeigen ?
|
show_night => AttrNum ($name, 'graphicShowNight', 0), # alle Balken (Spalten) anzeigen ?
|
||||||
show_diff => AttrVal ($name, 'graphicShowDiff', 'no'), # zusätzliche Anzeige $di{} in allen Typen
|
show_diff => AttrVal ($name, 'graphicShowDiff', 'no'), # zusätzliche Anzeige $di{} in allen Typen
|
||||||
weather => AttrNum ($name, 'graphicShowWeather', 1), # Wetter Icons anzeigen
|
weather => AttrNum ($name, 'graphicShowWeather', 1), # Wetter Icons anzeigen
|
||||||
colorw => AttrVal ($name, 'graphicWeatherColor', $wthcolddef), # Wetter Icon Farbe Tag
|
colorw => AttrVal ($name, 'graphicWeatherColor', $wthcolddef), # Wetter Icon Farbe Tag
|
||||||
colorwn => AttrVal ($name, 'graphicWeatherColorNight', $wthcolndef), # Wetter Icon Farbe Nacht
|
colorwn => AttrVal ($name, 'graphicWeatherColorNight', $wthcolndef), # Wetter Icon Farbe Nacht
|
||||||
wlalias => AttrVal ($name, 'alias', $name),
|
wlalias => AttrVal ($name, 'alias', $name),
|
||||||
sheader => AttrNum ($name, 'graphicHeaderShow', 1), # Anzeigen des Grafik Headers
|
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
|
hdrDetail => AttrVal ($name, 'graphicHeaderDetail', 'all'), # ermöglicht den Inhalt zu begrenzen, um bspw. passgenau in ftui einzubetten
|
||||||
flowgsize => AttrVal ($name, 'flowGraphicSize', $flowGSizedef), # Größe Energieflußgrafik
|
flowgsize => CurrentVal ($hash, 'size', $flowGSizedef), # Größe Energieflußgrafik
|
||||||
flowgani => AttrVal ($name, 'flowGraphicAnimate', 0), # Animation Energieflußgrafik
|
flowgani => CurrentVal ($hash, 'animate', 0), # Animation Energieflußgrafik
|
||||||
flowgshift => AttrVal ($name, 'flowGraphicShift', 0), # Verschiebung der Flußgrafikbox (muß negiert werden)
|
flowgshift => CurrentVal ($hash, 'shift', 0), # Verschiebung der Flußgrafikbox (muß negiert werden)
|
||||||
flowgcons => AttrVal ($name, 'flowGraphicShowConsumer', 1), # Verbraucher in der Energieflußgrafik anzeigen
|
flowgcons => CurrentVal ($hash, 'showconsumer', 1), # Verbraucher in der Energieflußgrafik anzeigen
|
||||||
flowgconX => AttrVal ($name, 'flowGraphicShowConsumerDummy', 1), # Dummyverbraucher in der Energieflußgrafik anzeigen
|
flowgconX => CurrentVal ($hash, 'showconsumerdummy', 1), # Dummyverbraucher in der Energieflußgrafik anzeigen
|
||||||
flowgconsPower => AttrVal ($name, 'flowGraphicShowConsumerPower' , 1), # Verbraucher Leistung in der Energieflußgrafik anzeigen
|
flowgconsPower => CurrentVal ($hash, 'showconsumerpower', 1), # Verbraucher Leistung in der Energieflußgrafik anzeigen
|
||||||
flowgconsTime => AttrVal ($name, 'flowGraphicShowConsumerRemainTime', 1), # Verbraucher Restlaufeit in der Energieflußgrafik anzeigen
|
flowgconsTime => CurrentVal ($hash, 'showconsumerremaintime', 1), # Verbraucher Restlaufeit in der Energieflußgrafik anzeigen
|
||||||
flowgconsDist => AttrVal ($name, 'flowGraphicConsumerDistance', $fgCDdef), # Abstand Verbrauchericons zueinander
|
flowgconsDist => CurrentVal ($hash, 'consumerdist', $fgCDdef), # Abstand Verbrauchericons zueinander
|
||||||
css => AttrVal ($name, 'flowGraphicCss', $cssdef), # flowGraphicCss Styles
|
css => AttrVal ($name, 'flowGraphicCss', $cssdef), # flowGraphicCss Styles
|
||||||
genpvdva => AttrVal ($name, 'ctrlGenPVdeviation', 'daily'), # Methode der Abweichungsberechnung
|
genpvdva => AttrVal ($name, 'ctrlGenPVdeviation', 'daily'), # Methode der Abweichungsberechnung
|
||||||
lang => getLang ($hash),
|
lang => getLang ($hash),
|
||||||
debug => getDebug ($hash), # Debug Module
|
debug => getDebug ($hash), # Debug Module
|
||||||
};
|
};
|
||||||
|
|
||||||
my $ret = q{};
|
my $ret = q{};
|
||||||
@ -14174,24 +14197,29 @@ sub __weatherOnBeam {
|
|||||||
return $ret;
|
return $ret;
|
||||||
}
|
}
|
||||||
|
|
||||||
################################################################
|
######################################################################################
|
||||||
# Energieflußgrafik
|
# Energieflußgrafik
|
||||||
################################################################
|
# M - MoveTo setzt den aktuellen Punkt fest, von dem aus der Pfad starten soll
|
||||||
|
# (https://wiki.selfhtml.org/wiki/SVG/Tutorials/Pfade#MoveTo)
|
||||||
|
# L - LineTo zeichnet eine Linie vom aktuellen zum angegebenen Punkt
|
||||||
|
# (https://wiki.selfhtml.org/wiki/SVG/Tutorials/Pfade#LineTo)
|
||||||
|
######################################################################################
|
||||||
sub _flowGraphic {
|
sub _flowGraphic {
|
||||||
my $paref = shift;
|
my $paref = shift;
|
||||||
my $hash = $paref->{hash};
|
my $hash = $paref->{hash};
|
||||||
my $name = $paref->{name};
|
my $name = $paref->{name};
|
||||||
my $type = $paref->{type};
|
my $type = $paref->{type};
|
||||||
my $flowgsize = $paref->{flowgsize};
|
my $flowgsize = $paref->{flowgsize};
|
||||||
my $flowgani = $paref->{flowgani};
|
my $flowgani = $paref->{flowgani};
|
||||||
my $flowgshift = $paref->{flowgshift}; # Verschiebung der Flußgrafikbox (muß negiert werden)
|
my $flowgshift = $paref->{flowgshift}; # Verschiebung der Flußgrafikbox (muß negiert werden)
|
||||||
my $flowgcons = $paref->{flowgcons}; # Verbraucher in der Energieflußgrafik anzeigen
|
my $flowgcons = $paref->{flowgcons}; # Verbraucher in der Energieflußgrafik anzeigen
|
||||||
my $flowgconTime = $paref->{flowgconsTime}; # Verbraucher Restlaufeit in der Energieflußgrafik anzeigen
|
my $flowgconsTime = $paref->{flowgconsTime}; # Verbraucher Restlaufeit in der Energieflußgrafik anzeigen
|
||||||
my $flowgconX = $paref->{flowgconX};
|
my $flowgconX = $paref->{flowgconX};
|
||||||
my $flowgconPower = $paref->{flowgconsPower};
|
my $flowgconsPower = $paref->{flowgconsPower};
|
||||||
my $cdist = $paref->{flowgconsDist}; # Abstand Consumer zueinander
|
my $flowgPrdsPower = 1; # initial Producer akt. Erzeugung anzeigen
|
||||||
my $css = $paref->{css};
|
my $cdist = $paref->{flowgconsDist}; # Abstand Consumer zueinander
|
||||||
my $lang = $paref->{lang};
|
my $css = $paref->{css};
|
||||||
|
my $lang = $paref->{lang};
|
||||||
|
|
||||||
my $style = 'width:98%; height:'.$flowgsize.'px;';
|
my $style = 'width:98%; height:'.$flowgsize.'px;';
|
||||||
my $animation = $flowgani ? '@keyframes dash { to { stroke-dashoffset: 0; } }' : ''; # Animation Ja/Nein
|
my $animation = $flowgani ? '@keyframes dash { to { stroke-dashoffset: 0; } }' : ''; # Animation Ja/Nein
|
||||||
@ -14200,7 +14228,7 @@ sub _flowGraphic {
|
|||||||
my $cself = ReadingsNum ($name, 'Current_SelfConsumption', 0);
|
my $cself = ReadingsNum ($name, 'Current_SelfConsumption', 0);
|
||||||
my $cc = CurrentVal ($hash, 'consumption', 0);
|
my $cc = CurrentVal ($hash, 'consumption', 0);
|
||||||
my $batin = ReadingsNum ($name, 'Current_PowerBatIn', undef);
|
my $batin = ReadingsNum ($name, 'Current_PowerBatIn', undef);
|
||||||
my $batout = ReadingsNum ($name, 'Current_PowerBatOut', undef);
|
my $bat2home = ReadingsNum ($name, 'Current_PowerBatOut', undef);
|
||||||
my $soc = ReadingsNum ($name, 'Current_BatCharge', 100);
|
my $soc = ReadingsNum ($name, 'Current_BatCharge', 100);
|
||||||
my $cc_dummy = $cc;
|
my $cc_dummy = $cc;
|
||||||
|
|
||||||
@ -14254,11 +14282,10 @@ sub _flowGraphic {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
my $pnodesum = __normDecPlaces ($ppall + $pv2node); # Erzeugung Summe im Knoten
|
|
||||||
my ($togrid, $tonode, $tobat) = __sortProducer ($pdcr); # lfn Producer sortiert nach ptyp und feed
|
|
||||||
|
|
||||||
## Producer Koordninaten Steuerhash
|
## Producer Koordninaten Steuerhash
|
||||||
#####################################
|
#####################################
|
||||||
|
my ($togrid, $tonode, $tobat) = __sortProducer ($pdcr); # lfn Producer sortiert nach ptyp und feed
|
||||||
|
|
||||||
my $psorted = {
|
my $psorted = {
|
||||||
'1togrid' => { xicon => -100, xchain => 350, ychain => 420, step => 70, count => scalar @{$togrid}, sorted => $togrid }, # Producer/PV nur zu Grid
|
'1togrid' => { xicon => -100, xchain => 350, ychain => 420, step => 70, count => scalar @{$togrid}, sorted => $togrid }, # Producer/PV nur zu Grid
|
||||||
'2tonode' => { xicon => 350, xchain => 700, ychain => 200, step => $pdist, count => scalar @{$tonode}, sorted => $tonode }, # Producer/PV zum Knoten
|
'2tonode' => { xicon => 350, xchain => 700, ychain => 200, step => $pdist, count => scalar @{$tonode}, sorted => $tonode }, # Producer/PV zum Knoten
|
||||||
@ -14284,22 +14311,21 @@ sub _flowGraphic {
|
|||||||
$soc < 76 ? 'flowg bat50' :
|
$soc < 76 ? 'flowg bat50' :
|
||||||
'flowg bat75';
|
'flowg bat75';
|
||||||
|
|
||||||
if (!defined $batin && !defined $batout) {
|
if (!defined $batin && !defined $bat2home) {
|
||||||
$hasbat = 0;
|
$hasbat = 0;
|
||||||
$batin = 0;
|
$batin = 0;
|
||||||
$batout = 0;
|
$bat2home = 0;
|
||||||
$soc = 0;
|
$soc = 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
my $node2bat = $batin;
|
my $node2bat = $batin;
|
||||||
|
my $grid_color = $node2grid ? 'flowg grid_color1' : 'flowg grid_color2'; # green : red
|
||||||
|
my $cgc_style = $cgc ? 'flowg active_in' : 'flowg inactive_in'; # cgc current GridConsumption
|
||||||
|
my $bat2home_style = $bat2home ? 'flowg active_out active_bat_out' : 'flowg inactive_in';
|
||||||
|
$grid_color = 'flowg grid_color3' if(!$node2grid && !$cgc && $bat2home); # gray
|
||||||
|
my $cgc_direction = 'M490,515 L670,590';
|
||||||
|
|
||||||
my $grid_color = $node2grid ? 'flowg grid_color1' : 'flowg grid_color2';
|
if ($bat2home) { # Batterie wird entladen
|
||||||
my $cgc_style = $cgc ? 'flowg active_in' : 'flowg inactive_in';
|
|
||||||
my $batout_style = $batout ? 'flowg active_out active_bat_out' : 'flowg inactive_in';
|
|
||||||
$grid_color = 'flowg grid_color3' if(!$node2grid && !$cgc && $batout); # dritte Farbe
|
|
||||||
my $cgc_direction = 'M490,515 L670,590'; # Batterie wird geladen
|
|
||||||
|
|
||||||
if ($batout) { # Batterie wird entladen
|
|
||||||
my $cgfo = $node2grid - $pv2node;
|
my $cgfo = $node2grid - $pv2node;
|
||||||
|
|
||||||
if ($cgfo > 1) {
|
if ($cgfo > 1) {
|
||||||
@ -14310,35 +14336,36 @@ sub _flowGraphic {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
my $batout_direction = 'M902,515 L730,590';
|
my $bat2home_direction = 'M902,515 L730,590';
|
||||||
|
|
||||||
if ($node2bat) { # Batterie wird geladen
|
if ($node2bat) { # Batterie wird geladen
|
||||||
my $home2bat = $node2bat - $pv2node;
|
my $home2bat = $node2bat - $pv2node;
|
||||||
|
|
||||||
if ($home2bat > 1) { # Batterieladung anteilig aus Hausnetz geladen
|
if ($home2bat > 1) { # Batterieladung anteilig aus Hausnetz geladen
|
||||||
$node2bat -= $home2bat;
|
$node2bat -= $home2bat;
|
||||||
$batout_style = 'flowg active_in';
|
$bat2home_style = 'flowg active_in';
|
||||||
$batout_direction = 'M730,590 L902,515';
|
$bat2home_direction = 'M730,590 L902,515';
|
||||||
$batout = $home2bat;
|
$bat2home = $home2bat;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
$node2bat -= $pv2bat; # abzüglich Direktladung
|
|
||||||
$pnodesum += abs $node2bat if($node2bat < 0); # Batterie ist voll und SolarLader liefert an Knoten
|
|
||||||
|
|
||||||
## Werte / SteuerungVars anpassen
|
## Werte / SteuerungVars anpassen
|
||||||
###################################
|
###################################
|
||||||
$flowgcons = 0 if(!$consumercount); # Consumer Anzeige ausschalten wenn keine Consumer definiert
|
my $pnodesum = __normDecPlaces ($ppall + $pv2node); # Erzeugung Summe im Knoten
|
||||||
my $pv2home = __normDecPlaces ($cself + $ppall); # Energiefluß vom Knoten zum Haus: Selbstverbrauch + alle Producer (Batterie-In/Solar-Ladegeräte sind nicht in SelfConsumtion enthalten)
|
$pnodesum += abs $node2bat if($node2bat < 0); # Batterie ist voll und SolarLader liefert an Knoten
|
||||||
|
$node2bat -= $pv2bat; # Knoten -> Bat : abzüglich Direktladung
|
||||||
|
$flowgcons = 0 if(!$consumercount); # Consumer Anzeige ausschalten wenn keine Consumer definiert
|
||||||
|
my $pv2home = __normDecPlaces ($cself + $ppall); # Energiefluß vom Knoten zum Haus: Selbstverbrauch + alle Producer (Batterie-In/Solar-Ladegeräte sind nicht in SelfConsumtion enthalten)
|
||||||
|
|
||||||
|
|
||||||
## SVG Box initialisieren mit Grid-Icon
|
## SVG Box initialisieren mit Grid-Icon
|
||||||
#########################################
|
#########################################
|
||||||
my $vbwidth = 800; # width and height specify the viewBox size
|
my $vbwidth = 800; # width and height specify the viewBox size
|
||||||
my $vbminx = -10 * $flowgshift; # min-x and min-y represent the smallest X and Y coordinates that the viewBox may have
|
my $vbminx = -10 * $flowgshift; # min-x and min-y represent the smallest X and Y coordinates that the viewBox may have
|
||||||
my $vbminy = -25;
|
my $vbminy = -25;
|
||||||
|
|
||||||
my $vbhight = !$flowgcons ? 380 :
|
my $vbhight = !$flowgcons ? 380 :
|
||||||
!$flowgconTime ? 590 :
|
!$flowgconsTime ? 590 :
|
||||||
610;
|
610;
|
||||||
|
|
||||||
$vbhight += 100;
|
$vbhight += 100;
|
||||||
@ -14512,9 +14539,10 @@ END2
|
|||||||
if ($hasbat) {
|
if ($hasbat) {
|
||||||
my $node2bat_style = $node2bat ? 'flowg active_in active_bat_in' : 'flowg inactive_out';
|
my $node2bat_style = $node2bat ? 'flowg active_in active_bat_in' : 'flowg inactive_out';
|
||||||
my $batin_direction = $node2bat < 0 ? 'M910,480 L730,400' : 'M730,400 L910,480';
|
my $batin_direction = $node2bat < 0 ? 'M910,480 L730,400' : 'M730,400 L910,480';
|
||||||
|
$node2bat = abs $node2bat;
|
||||||
|
|
||||||
$ret .= << "END3";
|
$ret .= << "END3";
|
||||||
<path id="bat2home" class="$batout_style" d="$batout_direction" />
|
<path id="bat2home" class="$bat2home_style" d="$bat2home_direction" />
|
||||||
<path id="pv2bat" class="$node2bat_style" d="$batin_direction" />
|
<path id="pv2bat" class="$node2bat_style" d="$batin_direction" />
|
||||||
END3
|
END3
|
||||||
}
|
}
|
||||||
@ -14613,14 +14641,14 @@ END3
|
|||||||
###################################
|
###################################
|
||||||
$cc_dummy = sprintf("%.0f", $cc_dummy); # Verbrauch Dummy-Consumer
|
$cc_dummy = sprintf("%.0f", $cc_dummy); # Verbrauch Dummy-Consumer
|
||||||
$ret .= qq{<text class="flowg text" id="nodetxt" x="800" y="320" style="text-anchor: start;">$pnodesum</text>} if ($pnodesum > 0);
|
$ret .= qq{<text class="flowg text" id="nodetxt" x="800" y="320" style="text-anchor: start;">$pnodesum</text>} if ($pnodesum > 0);
|
||||||
$ret .= qq{<text class="flowg text" id="batsoctxt" x="1110" y="520" style="text-anchor: start;">$soc %</text>} if ($hasbat); # Lage Text Batterieladungszustand
|
$ret .= qq{<text class="flowg text" id="batsoctxt" x="1110" y="520" style="text-anchor: start;">$soc %</text>} if ($hasbat); # Lage Text Batterieladungszustand
|
||||||
$ret .= qq{<text class="flowg text" id="node2hometxt" x="730" y="520" style="text-anchor: start;">$pv2home</text>} if ($pv2home);
|
$ret .= qq{<text class="flowg text" id="node2hometxt" x="730" y="520" style="text-anchor: start;">$pv2home</text>} if ($pv2home);
|
||||||
$ret .= qq{<text class="flowg text" id="node2gridtxt" x="525" y="420" style="text-anchor: end;">$node2grid</text>} if ($node2grid);
|
$ret .= qq{<text class="flowg text" id="node2gridtxt" x="525" y="420" style="text-anchor: end;">$node2grid</text>} if ($node2grid);
|
||||||
$ret .= qq{<text class="flowg text" id="grid2hometxt" x="515" y="610" style="text-anchor: end;">$cgc</text>} if ($cgc);
|
$ret .= qq{<text class="flowg text" id="grid2hometxt" x="515" y="610" style="text-anchor: end;">$cgc</text>} if ($cgc);
|
||||||
$ret .= qq{<text class="flowg text" id="batouttxt" x="880" y="610" style="text-anchor: start;">$batout</text>} if ($batout && $hasbat);
|
$ret .= qq{<text class="flowg text" id="batouttxt" x="880" y="610" style="text-anchor: start;">$bat2home</text>} if ($bat2home && $hasbat);
|
||||||
$ret .= qq{<text class="flowg text" id="node2battxt" x="880" y="420" style="text-anchor: start;">$node2bat</text>} if ($node2bat && $hasbat);
|
$ret .= qq{<text class="flowg text" id="node2battxt" x="880" y="420" style="text-anchor: start;">$node2bat</text>} if ($node2bat && $hasbat);
|
||||||
$ret .= qq{<text class="flowg text" id="hometxt" x="600" y="710" style="text-anchor: end;">$cc</text>}; # Current_Consumption Anlage
|
$ret .= qq{<text class="flowg text" id="hometxt" x="600" y="710" style="text-anchor: end;">$cc</text>}; # Current_Consumption Anlage
|
||||||
$ret .= qq{<text class="flowg text" id="dummytxt" x="1085" y="710" style="text-anchor: start;">$cc_dummy</text>} if ($flowgconX && $flowgconPower); # Current_Consumption Dummy
|
$ret .= qq{<text class="flowg text" id="dummytxt" x="1085" y="710" style="text-anchor: start;">$cc_dummy</text>} if ($flowgconX && $flowgconsPower); # Current_Consumption Dummy
|
||||||
|
|
||||||
## Textangabe Producer - in Reihenfolge: zum Grid - zum Knoten - zur Batterie
|
## Textangabe Producer - in Reihenfolge: zum Grid - zum Knoten - zur Batterie
|
||||||
###############################################################################
|
###############################################################################
|
||||||
@ -14641,7 +14669,7 @@ END3
|
|||||||
elsif ($lcp == 2) {$left += 20}
|
elsif ($lcp == 2) {$left += 20}
|
||||||
elsif ($lcp == 1) {$left += 40}
|
elsif ($lcp == 1) {$left += 40}
|
||||||
|
|
||||||
$ret .= qq{<text class="flowg text" id="producer-txt_$pn" x="$left" y="100">$currentPower</text>} if($flowgconPower); # Lage producer Consumption
|
$ret .= qq{<text class="flowg text" id="producertxt_$pn" x="$left" y="100">$currentPower</text>} if($flowgPrdsPower);
|
||||||
|
|
||||||
# Leistungszahl wieder zurück an den Ursprungspunkt
|
# Leistungszahl wieder zurück an den Ursprungspunkt
|
||||||
####################################################
|
####################################################
|
||||||
@ -14672,8 +14700,8 @@ END3
|
|||||||
|
|
||||||
$lcp = length $currentPower;
|
$lcp = length $currentPower;
|
||||||
|
|
||||||
#$ret .= qq{<text class="flowg text" id="consumer-txt_$c" x="$cons_left" y="1110" style="text-anchor: start;">$currentPower</text>} if ($flowgconPower); # Lage Consumer Consumption
|
#$ret .= qq{<text class="flowg text" id="consumer-txt_$c" x="$cons_left" y="1110" style="text-anchor: start;">$currentPower</text>} if ($flowgconsPower); # Lage Consumer Consumption
|
||||||
#$ret .= qq{<text class="flowg text" id="consumer-txt_time_$c" x="$cons_left" y="1170" style="text-anchor: start;">$consumerTime</text>} if ($flowgconTime); # Lage Consumer Restlaufzeit
|
#$ret .= qq{<text class="flowg text" id="consumer-txt_time_$c" x="$cons_left" y="1170" style="text-anchor: start;">$consumerTime</text>} if ($flowgconsTime); # Lage Consumer Restlaufzeit
|
||||||
|
|
||||||
# Verbrauchszahl abhängig von der Größe entsprechend auf der x-Achse verschieben
|
# Verbrauchszahl abhängig von der Größe entsprechend auf der x-Achse verschieben
|
||||||
##################################################################################
|
##################################################################################
|
||||||
@ -14683,8 +14711,8 @@ END3
|
|||||||
elsif ($lcp == 2) {$cons_left += 7 }
|
elsif ($lcp == 2) {$cons_left += 7 }
|
||||||
elsif ($lcp == 1) {$cons_left += 25}
|
elsif ($lcp == 1) {$cons_left += 25}
|
||||||
|
|
||||||
$ret .= qq{<text class="flowg text" id="consumer-txt_$c" x="$cons_left" y="1110">$currentPower</text>} if ($flowgconPower); # Lage Consumer Consumption
|
$ret .= qq{<text class="flowg text" id="consumer-txt_$c" x="$cons_left" y="1110">$currentPower</text>} if ($flowgconsPower); # Lage Consumer Consumption
|
||||||
$ret .= qq{<text class="flowg text" id="consumer-txt_time_$c" x="$cons_left" y="1170">$consumerTime</text>} if ($flowgconTime); # Lage Consumer Restlaufzeit
|
$ret .= qq{<text class="flowg text" id="consumer-txt_time_$c" x="$cons_left" y="1170">$consumerTime</text>} if ($flowgconsTime); # Lage Consumer Restlaufzeit
|
||||||
|
|
||||||
# Verbrauchszahl wieder zurück an den Ursprungspunkt
|
# Verbrauchszahl wieder zurück an den Ursprungspunkt
|
||||||
######################################################
|
######################################################
|
||||||
@ -20984,6 +21012,52 @@ to ensure that the system configuration is correct.
|
|||||||
</ul>
|
</ul>
|
||||||
</li>
|
</li>
|
||||||
<br>
|
<br>
|
||||||
|
|
||||||
|
<a id="SolarForecast-attr-flowGraphicControl"></a>
|
||||||
|
<li><b>flowGraphicControl <Key1=Value1> <Key2=Value2> ... </b><br>
|
||||||
|
By optionally specifying the key=value pairs listed below, various display properties of the energy flow
|
||||||
|
graph can be influenced. <br>
|
||||||
|
The entry can be made in several lines.
|
||||||
|
<br><br>
|
||||||
|
|
||||||
|
<ul>
|
||||||
|
<table>
|
||||||
|
<colgroup> <col width="15%"> <col width="85%"> </colgroup>
|
||||||
|
<tr><td> <b>animate</b> </td><td> Animates the energy flow graphic if displayed. (<a href="#SolarForecast-attr-graphicSelect">graphicSelect</a>) </td></tr>
|
||||||
|
<tr><td> </td><td><b>0</b> - Animation off, <b>1</b> - Animation on, default: 0 </td></tr>
|
||||||
|
<tr><td> </td><td> </td></tr>
|
||||||
|
<tr><td> <b>consumerdist</b> </td><td>Controls the distance between the consumer icons in the energy flow graphic. </td></tr>
|
||||||
|
<tr><td> </td><td>Value: <b>80 ... 500</b>, default: 130 </td></tr>
|
||||||
|
<tr><td> </td><td> </td></tr>
|
||||||
|
<tr><td> <b>shift</b> </td><td>Horizontal shift of the energy flow graph. </td></tr>
|
||||||
|
<tr><td> </td><td>Value: <b>-80 ... 80</b>, default: 0 </td></tr>
|
||||||
|
<tr><td> </td><td> </td></tr>
|
||||||
|
<tr><td> <b>showconsumer</b> </td><td>Display of consumers in the energy flow chart. </td></tr>
|
||||||
|
<tr><td> </td><td><b>0</b> - Display off, <b>1</b> - Display on, default: 1 </td></tr>
|
||||||
|
<tr><td> </td><td> </td></tr>
|
||||||
|
<tr><td> <b>showconsumerdummy</b> </td><td>Controls the display of the dummy consumer. The dummy consumer is assigned the </td></tr>
|
||||||
|
<tr><td> </td><td>energy consumption that cannot be assigned to other consumers. </td></tr>
|
||||||
|
<tr><td> </td><td><b>0</b> - Display off, <b>1</b> - Display on, default: 1 </td></tr>
|
||||||
|
<tr><td> </td><td> </td></tr>
|
||||||
|
<tr><td> <b>showconsumerpower</b> </td><td>Controls the display of the consumers' energy consumption. </td></tr>
|
||||||
|
<tr><td> </td><td><b>0</b> - Display off, <b>1</b> - Display on, default: 1 </td></tr>
|
||||||
|
<tr><td> </td><td> </td></tr>
|
||||||
|
<tr><td> <b>showconsumerremaintime</b> </td><td>Controls the display of the remaining running time (minutes) of the loads. </td></tr>
|
||||||
|
<tr><td> </td><td><b>0</b> - Display off, <b>1</b> - Display on, default: 1 </td></tr>
|
||||||
|
<tr><td> </td><td> </td></tr>
|
||||||
|
<tr><td> <b>size </b> </td><td>Size of the energy flow graphic in pixels if displayed. (<a href="#SolarForecast-attr-graphicSelect">graphicSelect</a>) </td></tr>
|
||||||
|
<tr><td> </td><td>Value: <b>Integer</b>, default: 400 </td></tr>
|
||||||
|
<tr><td> </td><td> </td></tr>
|
||||||
|
</table>
|
||||||
|
</ul>
|
||||||
|
|
||||||
|
<ul>
|
||||||
|
<b>Example: </b> <br>
|
||||||
|
attr <name> flowGraphicControl size=300 animate=0 consumerdist=100 showconsumer=1 showconsumerdummy=0 shift=-20
|
||||||
|
</ul>
|
||||||
|
|
||||||
|
</li>
|
||||||
|
<br>
|
||||||
|
|
||||||
<a id="SolarForecast-attr-flowGraphicCss"></a>
|
<a id="SolarForecast-attr-flowGraphicCss"></a>
|
||||||
<li><b>flowGraphicCss </b><br>
|
<li><b>flowGraphicCss </b><br>
|
||||||
@ -21009,66 +21083,6 @@ to ensure that the system configuration is correct.
|
|||||||
</li>
|
</li>
|
||||||
<br>
|
<br>
|
||||||
|
|
||||||
<a id="SolarForecast-attr-flowGraphicAnimate"></a>
|
|
||||||
<li><b>flowGraphicAnimate </b><br>
|
|
||||||
Animates the energy flow graph if displayed.
|
|
||||||
Siehe auch Attribut <a href="#SolarForecast-attr-graphicSelect">graphicSelect</a>. <br>
|
|
||||||
(default: 0)
|
|
||||||
</li>
|
|
||||||
<br>
|
|
||||||
|
|
||||||
<a id="SolarForecast-attr-flowGraphicConsumerDistance"></a>
|
|
||||||
<li><b>flowGraphicConsumerDistance </b><br>
|
|
||||||
Controls the spacing between consumer icons in the energy flow graph if displayed.
|
|
||||||
Siehe auch Attribut <a href="#SolarForecast-attr-flowGraphicShowConsumer">flowGraphicShowConsumer</a>. <br>
|
|
||||||
(default: 130)
|
|
||||||
</li>
|
|
||||||
<br>
|
|
||||||
|
|
||||||
<a id="SolarForecast-attr-flowGraphicShowConsumer"></a>
|
|
||||||
<li><b>flowGraphicShowConsumer </b><br>
|
|
||||||
Suppresses the display of loads in the energy flow graph when set to "0". <br>
|
|
||||||
(default: 1)
|
|
||||||
</li>
|
|
||||||
<br>
|
|
||||||
|
|
||||||
<a id="SolarForecast-attr-flowGraphicShift"></a>
|
|
||||||
<li><b>flowGraphicShift <Pixel/10> </b><br>
|
|
||||||
Horizontal shift of the energy flow graph. <br>
|
|
||||||
(default: 0)
|
|
||||||
</li>
|
|
||||||
<br>
|
|
||||||
|
|
||||||
<a id="SolarForecast-attr-flowGraphicShowConsumerDummy"></a>
|
|
||||||
<li><b>flowGraphicShowConsumerDummy </b><br>
|
|
||||||
Shows or suppresses the dummy consumer in the energy flow graph. <br>
|
|
||||||
The dummy consumer is assigned the energy consumption that could not be assigned to other consumers. <br>
|
|
||||||
(default: 1)
|
|
||||||
</li>
|
|
||||||
<br>
|
|
||||||
|
|
||||||
<a id="SolarForecast-attr-flowGraphicShowConsumerPower"></a>
|
|
||||||
<li><b>flowGraphicShowConsumerPower </b><br>
|
|
||||||
Shows or suppresses the energy consumption of the loads in the energy flow graph. <br>
|
|
||||||
(default: 1)
|
|
||||||
</li>
|
|
||||||
<br>
|
|
||||||
|
|
||||||
<a id="SolarForecast-attr-flowGraphicShowConsumerRemainTime"></a>
|
|
||||||
<li><b>flowGraphicShowConsumerRemainTime </b><br>
|
|
||||||
Shows or suppresses the remaining time (in minutes) of the loads in the energy flow graph. <br>
|
|
||||||
(default: 1)
|
|
||||||
</li>
|
|
||||||
<br>
|
|
||||||
|
|
||||||
<a id="SolarForecast-attr-flowGraphicSize"></a>
|
|
||||||
<li><b>flowGraphicSize <Pixel> </b><br>
|
|
||||||
Size of the energy flow graph if displayed.
|
|
||||||
Siehe auch Attribut <a href="#SolarForecast-attr-graphicSelect">graphicSelect</a>. <br>
|
|
||||||
(default: 400)
|
|
||||||
</li>
|
|
||||||
<br>
|
|
||||||
|
|
||||||
<a id="SolarForecast-attr-graphicBeam1Color"></a>
|
<a id="SolarForecast-attr-graphicBeam1Color"></a>
|
||||||
<li><b>graphicBeam1Color </b><br>
|
<li><b>graphicBeam1Color </b><br>
|
||||||
Color selection of the primary bar of the first level. <br>
|
Color selection of the primary bar of the first level. <br>
|
||||||
@ -21251,7 +21265,6 @@ to ensure that the system configuration is correct.
|
|||||||
<tr><td> </td><td>Consumer<br>Quickstart:consumerImmediatePlanning : : : </td></tr>
|
<tr><td> </td><td>Consumer<br>Quickstart:consumerImmediatePlanning : : : </td></tr>
|
||||||
<tr><td> </td><td>Weather:graphicShowWeather : : : </td></tr>
|
<tr><td> </td><td>Weather:graphicShowWeather : : : </td></tr>
|
||||||
<tr><td> </td><td>History:graphicHistoryHour : : : </td></tr>
|
<tr><td> </td><td>History:graphicHistoryHour : : : </td></tr>
|
||||||
<tr><td> </td><td>GraphicSize:flowGraphicSize : : : </td></tr>
|
|
||||||
<tr><td> </td><td>ShowNight:graphicShowNight : : : </td></tr>
|
<tr><td> </td><td>ShowNight:graphicShowNight : : : </td></tr>
|
||||||
<tr><td> </td><td>Debug:ctrlDebug : : : </td></tr>
|
<tr><td> </td><td>Debug:ctrlDebug : : : </td></tr>
|
||||||
</table>
|
</table>
|
||||||
@ -23418,6 +23431,52 @@ die ordnungsgemäße Anlagenkonfiguration geprüft werden.
|
|||||||
</ul>
|
</ul>
|
||||||
</li>
|
</li>
|
||||||
<br>
|
<br>
|
||||||
|
|
||||||
|
<a id="SolarForecast-attr-flowGraphicControl"></a>
|
||||||
|
<li><b>flowGraphicControl <Schlüssel1=Wert1> <Schlüssel2=Wert2> ... </b><br>
|
||||||
|
Durch die optionale Angabe der nachfolgend aufgeführten Schlüssel=Wert Paare können verschiedene
|
||||||
|
Anzeigeeigenschaften der Energieflußgrafik beeinflusst werden. <br>
|
||||||
|
Die Eingabe kann mehrzeilig erfolgen.
|
||||||
|
<br><br>
|
||||||
|
|
||||||
|
<ul>
|
||||||
|
<table>
|
||||||
|
<colgroup> <col width="15%"> <col width="85%"> </colgroup>
|
||||||
|
<tr><td> <b>animate</b> </td><td> Animiert die Energieflußgrafik sofern angezeigt. (<a href="#SolarForecast-attr-graphicSelect">graphicSelect</a>) </td></tr>
|
||||||
|
<tr><td> </td><td><b>0</b> - Animation aus, <b>1</b> - Animation an, default: 0 </td></tr>
|
||||||
|
<tr><td> </td><td> </td></tr>
|
||||||
|
<tr><td> <b>consumerdist</b> </td><td>Steuert den Abstand zwischen den Consumer-Icons in der Energieflußgrafik. </td></tr>
|
||||||
|
<tr><td> </td><td>Wert: <b>80 ... 500</b>, default: 130 </td></tr>
|
||||||
|
<tr><td> </td><td> </td></tr>
|
||||||
|
<tr><td> <b>shift</b> </td><td>Horizontale Verschiebung der Energieflußgrafik. </td></tr>
|
||||||
|
<tr><td> </td><td>Wert: <b>-80 ... 80</b>, default: 0 </td></tr>
|
||||||
|
<tr><td> </td><td> </td></tr>
|
||||||
|
<tr><td> <b>showconsumer</b> </td><td>Anzeige der Verbraucher in der Energieflußgrafik. </td></tr>
|
||||||
|
<tr><td> </td><td><b>0</b> - Anzeige aus, <b>1</b> - Anzeige an, default: 1 </td></tr>
|
||||||
|
<tr><td> </td><td> </td></tr>
|
||||||
|
<tr><td> <b>showconsumerdummy</b> </td><td>Steuert die Anzeige des Dummy-Verbrauchers. Dem Dummy-Verbraucher wird der </td></tr>
|
||||||
|
<tr><td> </td><td>Energieverbrauch zugewiesen der anderen Verbrauchern nicht zugeordnet werden kann. </td></tr>
|
||||||
|
<tr><td> </td><td><b>0</b> - Anzeige aus, <b>1</b> - Anzeige an, default: 1 </td></tr>
|
||||||
|
<tr><td> </td><td> </td></tr>
|
||||||
|
<tr><td> <b>showconsumerpower</b> </td><td>Steuert die Anzeige des Energieverbrauchs der Verbraucher. </td></tr>
|
||||||
|
<tr><td> </td><td><b>0</b> - Anzeige aus, <b>1</b> - Anzeige an, default: 1 </td></tr>
|
||||||
|
<tr><td> </td><td> </td></tr>
|
||||||
|
<tr><td> <b>showconsumerremaintime</b> </td><td>Steuert die Anzeige der Restlaufzeit (Minuten) der Verbraucher. </td></tr>
|
||||||
|
<tr><td> </td><td><b>0</b> - Anzeige aus, <b>1</b> - Anzeige an, default: 1 </td></tr>
|
||||||
|
<tr><td> </td><td> </td></tr>
|
||||||
|
<tr><td> <b>size </b> </td><td>Größe der Energieflußgrafik in Pixel sofern angezeigt. (<a href="#SolarForecast-attr-graphicSelect">graphicSelect</a>) </td></tr>
|
||||||
|
<tr><td> </td><td>Wert: <b>Ganzzahl</b>, default: 400 </td></tr>
|
||||||
|
<tr><td> </td><td> </td></tr>
|
||||||
|
</table>
|
||||||
|
</ul>
|
||||||
|
|
||||||
|
<ul>
|
||||||
|
<b>Beispiel: </b> <br>
|
||||||
|
attr <name> flowGraphicControl size=300 animate=0 consumerdist=100 showconsumer=1 showconsumerdummy=0 shift=-20
|
||||||
|
</ul>
|
||||||
|
|
||||||
|
</li>
|
||||||
|
<br>
|
||||||
|
|
||||||
<a id="SolarForecast-attr-flowGraphicCss"></a>
|
<a id="SolarForecast-attr-flowGraphicCss"></a>
|
||||||
<li><b>flowGraphicCss </b><br>
|
<li><b>flowGraphicCss </b><br>
|
||||||
@ -23443,66 +23502,6 @@ die ordnungsgemäße Anlagenkonfiguration geprüft werden.
|
|||||||
</li>
|
</li>
|
||||||
<br>
|
<br>
|
||||||
|
|
||||||
<a id="SolarForecast-attr-flowGraphicAnimate"></a>
|
|
||||||
<li><b>flowGraphicAnimate </b><br>
|
|
||||||
Animiert die Energieflußgrafik sofern angezeigt.
|
|
||||||
Siehe auch Attribut <a href="#SolarForecast-attr-graphicSelect">graphicSelect</a>. <br>
|
|
||||||
(default: 0)
|
|
||||||
</li>
|
|
||||||
<br>
|
|
||||||
|
|
||||||
<a id="SolarForecast-attr-flowGraphicConsumerDistance"></a>
|
|
||||||
<li><b>flowGraphicConsumerDistance </b><br>
|
|
||||||
Steuert den Abstand zwischen den Consumer-Icons in der Energieflußgrafik sofern angezeigt.
|
|
||||||
Siehe auch Attribut <a href="#SolarForecast-attr-flowGraphicShowConsumer">flowGraphicShowConsumer</a>. <br>
|
|
||||||
(default: 130)
|
|
||||||
</li>
|
|
||||||
<br>
|
|
||||||
|
|
||||||
<a id="SolarForecast-attr-flowGraphicShowConsumer"></a>
|
|
||||||
<li><b>flowGraphicShowConsumer </b><br>
|
|
||||||
Unterdrückt die Anzeige der Verbraucher in der Energieflußgrafik wenn auf "0" gesetzt. <br>
|
|
||||||
(default: 1)
|
|
||||||
</li>
|
|
||||||
<br>
|
|
||||||
|
|
||||||
<a id="SolarForecast-attr-flowGraphicShift"></a>
|
|
||||||
<li><b>flowGraphicShift <Pixel/10> </b><br>
|
|
||||||
Horizontale Verschiebung der Energieflußgrafik. <br>
|
|
||||||
(default: 0)
|
|
||||||
</li>
|
|
||||||
<br>
|
|
||||||
|
|
||||||
<a id="SolarForecast-attr-flowGraphicShowConsumerDummy"></a>
|
|
||||||
<li><b>flowGraphicShowConsumerDummy </b><br>
|
|
||||||
Zeigt bzw. unterdrückt den Dummy-Verbraucher in der Energieflußgrafik. <br>
|
|
||||||
Dem Dummy-Verbraucher wird der Energieverbrauch zugewiesen der anderen Verbrauchern nicht zugeordnet werden konnte. <br>
|
|
||||||
(default: 1)
|
|
||||||
</li>
|
|
||||||
<br>
|
|
||||||
|
|
||||||
<a id="SolarForecast-attr-flowGraphicShowConsumerPower"></a>
|
|
||||||
<li><b>flowGraphicShowConsumerPower </b><br>
|
|
||||||
Zeigt bzw. unterdrückt den Energieverbrauch der Verbraucher in der Energieflußgrafik. <br>
|
|
||||||
(default: 1)
|
|
||||||
</li>
|
|
||||||
<br>
|
|
||||||
|
|
||||||
<a id="SolarForecast-attr-flowGraphicShowConsumerRemainTime"></a>
|
|
||||||
<li><b>flowGraphicShowConsumerRemainTime </b><br>
|
|
||||||
Zeigt bzw. unterdrückt die Restlaufzeit (in Minuten) der Verbraucher in der Energieflußgrafik. <br>
|
|
||||||
(default: 1)
|
|
||||||
</li>
|
|
||||||
<br>
|
|
||||||
|
|
||||||
<a id="SolarForecast-attr-flowGraphicSize"></a>
|
|
||||||
<li><b>flowGraphicSize <Pixel> </b><br>
|
|
||||||
Größe der Energieflußgrafik sofern angezeigt.
|
|
||||||
Siehe auch Attribut <a href="#SolarForecast-attr-graphicSelect">graphicSelect</a>. <br>
|
|
||||||
(default: 400)
|
|
||||||
</li>
|
|
||||||
<br>
|
|
||||||
|
|
||||||
<a id="SolarForecast-attr-graphicBeam1Color"></a>
|
<a id="SolarForecast-attr-graphicBeam1Color"></a>
|
||||||
<li><b>graphicBeam1Color </b><br>
|
<li><b>graphicBeam1Color </b><br>
|
||||||
Farbauswahl des primären Balken der ersten Ebene. <br>
|
Farbauswahl des primären Balken der ersten Ebene. <br>
|
||||||
@ -23685,7 +23684,6 @@ die ordnungsgemäße Anlagenkonfiguration geprüft werden.
|
|||||||
<tr><td> </td><td>Consumer<br>Sofortstart:consumerImmediatePlanning : : : </td></tr>
|
<tr><td> </td><td>Consumer<br>Sofortstart:consumerImmediatePlanning : : : </td></tr>
|
||||||
<tr><td> </td><td>Wetter:graphicShowWeather : : : </td></tr>
|
<tr><td> </td><td>Wetter:graphicShowWeather : : : </td></tr>
|
||||||
<tr><td> </td><td>History:graphicHistoryHour : : : </td></tr>
|
<tr><td> </td><td>History:graphicHistoryHour : : : </td></tr>
|
||||||
<tr><td> </td><td>GraphicSize:flowGraphicSize : : : </td></tr>
|
|
||||||
<tr><td> </td><td>ShowNight:graphicShowNight : : : </td></tr>
|
<tr><td> </td><td>ShowNight:graphicShowNight : : : </td></tr>
|
||||||
<tr><td> </td><td>Debug:ctrlDebug : : : </td></tr>
|
<tr><td> </td><td>Debug:ctrlDebug : : : </td></tr>
|
||||||
</table>
|
</table>
|
||||||
|
Loading…
x
Reference in New Issue
Block a user