76_SolarForecast: show surplus method/result in clegend mouse-over
git-svn-id: https://svn.fhem.de/fhem/trunk@30161 2b470e98-0d58-463d-a4d8-8e2adae1ed80
This commit is contained in:
@@ -1,5 +1,6 @@
|
|||||||
# Add changes at the top of the list. Keep it in ASCII, and 80-char wide.
|
# 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
|
# Do not insert empty lines here, update check depends on it
|
||||||
|
- feature: 76_SolarForecast: show surplus method/result in clegend mouse-over
|
||||||
- feature: 93_DbRep: attr device/reading can now be entered in multiple lines
|
- feature: 93_DbRep: attr device/reading can now be entered in multiple lines
|
||||||
- change: 76_SolarForecast: minor debug info change
|
- change: 76_SolarForecast: minor debug info change
|
||||||
- feature: 76_SolarForecast: Version 1.54.4
|
- feature: 76_SolarForecast: Version 1.54.4
|
||||||
|
|||||||
@@ -160,6 +160,7 @@ BEGIN {
|
|||||||
|
|
||||||
# Versions History intern
|
# Versions History intern
|
||||||
my %vNotesIntern = (
|
my %vNotesIntern = (
|
||||||
|
"1.54.6" => "29.07.2025 _graphicConsumerLegend: show surplus method and result in consumer legend hoover ",
|
||||||
"1.54.5" => "24.07.2025 isAddSwitchOnCond/isAddSwitchOffCond: change debug info ",
|
"1.54.5" => "24.07.2025 isAddSwitchOnCond/isAddSwitchOffCond: change debug info ",
|
||||||
"1.54.4" => "22.07.2025 replace length by new sub strlength, Consumer attr new key 'aliasshort', change code of medianArray ".
|
"1.54.4" => "22.07.2025 replace length by new sub strlength, Consumer attr new key 'aliasshort', change code of medianArray ".
|
||||||
"medianArray: can optional use newest 3..20 elements, avgArray: use the newest elements if num is set ".
|
"medianArray: can optional use newest 3..20 elements, avgArray: use the newest elements if num is set ".
|
||||||
@@ -13001,11 +13002,11 @@ sub __setConsRcmdState {
|
|||||||
my $debug = $paref->{debug};
|
my $debug = $paref->{debug};
|
||||||
|
|
||||||
my $hash = $defs{$name};
|
my $hash = $defs{$name};
|
||||||
my $nompower = ConsumerVal ($hash, $c, 'power', 0); # Consumer nominale Leistungsaufnahme (W)
|
my $nompower = ConsumerVal ($name, $c, 'power', 0); # Consumer nominale Leistungsaufnahme (W)
|
||||||
my $ccr = AttrVal ($name, 'ctrlConsRecommendReadings', ''); # Liste der Consumer für die ConsumptionRecommended-Readings erstellt werden sollen
|
my $ccr = AttrVal ($name, 'ctrlConsRecommendReadings', ''); # Liste der Consumer für die ConsumptionRecommended-Readings erstellt werden sollen
|
||||||
my $rescons = isConsumerPhysOn ($hash, $c) ? 0 : $nompower; # resultierender Verbauch nach Einschaltung Consumer
|
my $rescons = isConsumerPhysOn ($hash, $c) ? 0 : $nompower; # resultierender Verbauch nach Einschaltung Consumer
|
||||||
|
|
||||||
my ($method, $surplus) = determSurplus ($hash, $c); # Consumer spezifische Ermittlung des Energieüberschußes
|
my ($method, $surplus) = determSurplus ($name, $c); # Consumer spezifische Ermittlung des Energieüberschußes
|
||||||
|
|
||||||
$data{$name}{consumers}{$c}{surpmethResult} = $surplus; # Ergebnis der Surplus Ermittlung im Consumerstammsatz speichern, Forum: https://forum.fhem.de/index.php?msg=1345058
|
$data{$name}{consumers}{$c}{surpmethResult} = $surplus; # Ergebnis der Surplus Ermittlung im Consumerstammsatz speichern, Forum: https://forum.fhem.de/index.php?msg=1345058
|
||||||
|
|
||||||
@@ -16559,12 +16560,12 @@ sub _graphicConsumerLegend {
|
|||||||
|
|
||||||
my $caicon = $paref->{caicon}; # Consumer AdviceIcon
|
my $caicon = $paref->{caicon}; # Consumer AdviceIcon
|
||||||
my ($err, $cname, $dswname) = getCDnames ($hash, $c); # Consumer und Switch Device Name
|
my ($err, $cname, $dswname) = getCDnames ($hash, $c); # Consumer und Switch Device Name
|
||||||
my $calias = ConsumerVal ($hash, $c, 'alias', $cname); # Alias des Consumerdevices
|
my $calias = ConsumerVal ($name, $c, 'alias', $cname); # Alias des Consumerdevices
|
||||||
my $cicon = ConsumerVal ($hash, $c, 'icon', ''); # Icon des Consumerdevices
|
my $cicon = ConsumerVal ($name, $c, 'icon', ''); # Icon des Consumerdevices
|
||||||
my $oncom = ConsumerVal ($hash, $c, 'oncom', ''); # Consumer Einschaltkommando
|
my $oncom = ConsumerVal ($name, $c, 'oncom', ''); # Consumer Einschaltkommando
|
||||||
my $offcom = ConsumerVal ($hash, $c, 'offcom', ''); # Consumer Ausschaltkommando
|
my $offcom = ConsumerVal ($name, $c, 'offcom', ''); # Consumer Ausschaltkommando
|
||||||
my $autord = ConsumerVal ($hash, $c, 'autoreading', ''); # Readingname f. Automatiksteuerung
|
my $autord = ConsumerVal ($name, $c, 'autoreading', ''); # Readingname f. Automatiksteuerung
|
||||||
my $auto = ConsumerVal ($hash, $c, 'auto', 1); # Automatic Mode
|
my $auto = ConsumerVal ($name, $c, 'auto', 1); # Automatic Mode
|
||||||
|
|
||||||
my $cmdon = qq{"FW_cmd('$::FW_ME$::FW_subdir?XHR=1&cmd=set $name clientAction $c 0 set $dswname $oncom')"};
|
my $cmdon = qq{"FW_cmd('$::FW_ME$::FW_subdir?XHR=1&cmd=set $name clientAction $c 0 set $dswname $oncom')"};
|
||||||
my $cmdoff = qq{"FW_cmd('$::FW_ME$::FW_subdir?XHR=1&cmd=set $name clientAction $c 0 set $dswname $offcom')"};
|
my $cmdoff = qq{"FW_cmd('$::FW_ME$::FW_subdir?XHR=1&cmd=set $name clientAction $c 0 set $dswname $offcom')"};
|
||||||
@@ -16596,8 +16597,12 @@ sub _graphicConsumerLegend {
|
|||||||
my ($iilt,$rlt) = isInLocktime ($paref); # Sperrzeit Status ermitteln
|
my ($iilt,$rlt) = isInLocktime ($paref); # Sperrzeit Status ermitteln
|
||||||
my $mode = getConsumerPlanningMode ($hash, $c); # Planungsmode 'can' oder 'must'
|
my $mode = getConsumerPlanningMode ($hash, $c); # Planungsmode 'can' oder 'must'
|
||||||
|
|
||||||
|
my $sm = ConsumerVal ($name, $c, 'surpmeth', 'default');
|
||||||
|
$sm = $sm eq 'default' || $sm =~ /_/ ? $sm : $sm.'_all';
|
||||||
|
my $smr = ConsumerVal ($name, $c, 'surpmethResult', 0);
|
||||||
my $pstate = $caicon eq "times" ? $hqtxt{pstate}{$lang} : $htitles{pstate}{$lang};
|
my $pstate = $caicon eq "times" ? $hqtxt{pstate}{$lang} : $htitles{pstate}{$lang};
|
||||||
my $surplusinfo = isConsRcmd($hash, $c) ? $htitles{splus}{$lang} : $htitles{nosplus}{$lang};
|
my $surplusinfo = isConsRcmd($hash, $c) ? $htitles{splus}{$lang} : $htitles{nosplus}{$lang};
|
||||||
|
$surplusinfo .= " (${sm}: $smr W)";
|
||||||
|
|
||||||
$pstate =~ s/<mode>/$mode/xs;
|
$pstate =~ s/<mode>/$mode/xs;
|
||||||
$pstate =~ s/<pstate>/$planstate/xs;
|
$pstate =~ s/<pstate>/$planstate/xs;
|
||||||
@@ -22057,12 +22062,11 @@ return $out;
|
|||||||
#
|
#
|
||||||
#####################################################################
|
#####################################################################
|
||||||
sub determSurplus {
|
sub determSurplus {
|
||||||
my $hash = shift;
|
my $name = shift;
|
||||||
my $c = shift;
|
my $c = shift;
|
||||||
|
|
||||||
my $surpmeth = ConsumerVal ($hash, $c, 'surpmeth', 'default');
|
my $surpmeth = ConsumerVal ($name, $c, 'surpmeth', 'default');
|
||||||
my $splref = CurrentVal ($hash, 'surplusslidereg', '');
|
my $splref = CurrentVal ($name, 'surplusslidereg', '');
|
||||||
my $name = $hash->{NAME};
|
|
||||||
my $method = 'default';
|
my $method = 'default';
|
||||||
|
|
||||||
my ($surplus, $fallback);
|
my ($surplus, $fallback);
|
||||||
@@ -22078,7 +22082,7 @@ sub determSurplus {
|
|||||||
$method = $num ? "average:$num" : "average:all";
|
$method = $num ? "average:$num" : "average:all";
|
||||||
}
|
}
|
||||||
elsif ($surpmeth eq 'default') { # aktueller Energieüberschuß
|
elsif ($surpmeth eq 'default') { # aktueller Energieüberschuß
|
||||||
$surplus = CurrentVal ($hash, 'surplus', 0);
|
$surplus = CurrentVal ($name, 'surplus', 0);
|
||||||
$method = 'default';
|
$method = 'default';
|
||||||
}
|
}
|
||||||
elsif ($surpmeth =~ /.*:.*/xs) {
|
elsif ($surpmeth =~ /.*:.*/xs) {
|
||||||
@@ -22101,7 +22105,7 @@ sub determSurplus {
|
|||||||
}
|
}
|
||||||
|
|
||||||
if ($fallback) { # Fall Back
|
if ($fallback) { # Fall Back
|
||||||
$surplus = CurrentVal ($hash, 'surplus', 0);
|
$surplus = CurrentVal ($name, 'surplus', 0);
|
||||||
$method = $method." but fallback to 'default'";
|
$method = $method." but fallback to 'default'";
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user