fix(energy-pie): represent indeterminate shares and preserve prepared styling
Tests / test (push) Successful in 50s

This commit is contained in:
dh
2026-10-06 17:40:42 +00:00
parent c5f924bd19
commit 5b6125d086
10 changed files with 241 additions and 27 deletions
+8 -2
View File
@@ -25,6 +25,7 @@ class Energiediagramm extends IPSModule
$this->RegisterPropertyInteger('NetzbezugZaehlerID', 0);
$this->RegisterPropertyInteger('VerbrauchZaehlerID', 0);
$this->RegisterPropertyFloat('Zaehlerfaktor', 1.0);
$this->RegisterPropertyBoolean('EnergieanteileBerechenbar', true);
$this->RegisterPropertyString('Standardzeitraum', 'day');
$this->RegisterPropertyInteger('Aktualisierungsintervall', 60);
$this->RegisterPropertyString('FarbeEigenverbrauch', self::COLOR_SELF_CONSUMPTION);
@@ -253,6 +254,7 @@ class Energiediagramm extends IPSModule
$customStart,
$customEnd
);
$sharesAvailable = $this->ReadPropertyBoolean('EnergieanteileBerechenbar');
$payload = [
'range' => $range,
@@ -263,6 +265,9 @@ class Energiediagramm extends IPSModule
'tEnd' => $end,
'hasData' => false,
'noDataHint' => 'Energiezähler konfigurieren.',
'sharesAvailable' => $sharesAvailable,
'attributionHint' => $sharesAvailable ? ''
: 'Eigenverbrauch und Autarkie sind bei unterschiedlichen Messgrenzen nicht eindeutig bestimmbar. Die Energiesummen bleiben separat sichtbar.',
'colors' => [
'selfConsumption' => EnergyChartCalculator::normalizeColor(
$this->ReadPropertyString('FarbeEigenverbrauch'),
@@ -273,7 +278,7 @@ class Energiediagramm extends IPSModule
self::COLOR_AUTARKY
),
],
'values' => EnergyChartCalculator::metrics(0.0, 0.0, 0.0),
'values' => EnergyChartCalculator::metrics(0.0, 0.0, 0.0, null, $sharesAvailable),
];
if (!$this->configurationIsValid()) {
@@ -329,7 +334,8 @@ class Energiediagramm extends IPSModule
$production['value'] * $factor,
$feedIn['value'] * $factor,
$grid['value'] * $factor,
$consumption
$consumption,
$sharesAvailable
);
if (!$payload['hasData']) {