no message

This commit is contained in:
belevo\mh
2025-12-18 08:54:15 +01:00
parent 3a18f52492
commit ff747d1f04
2 changed files with 20 additions and 17 deletions

View File

@@ -16,7 +16,7 @@
<input id="date" type="date" />
</label>
<button id="prev" type="button"></button>
<button id="today" type="button">Letzter Zeitpunkt</button>
<button id="today" type="button">Heute</button>
<button id="next" type="button"></button>
</div>
<div id="period" style="margin-top:10px;font-size:12px;opacity:0.75;"></div>
@@ -240,6 +240,7 @@ return `
if (data?.date) elDate.value = data.date;
const isTotal = (data?.range === 'total');
elDate.disabled = isTotal;
if (data?.tStart && data?.tEnd) {
const s = new Date(data.tStart * 1000);
const e = new Date(data.tEnd * 1000);
@@ -249,16 +250,27 @@ return `
} else {
elPeriod.textContent = '';
}
if (data?.hasData === false) {
elHint.textContent = 'Keine Logdaten für den gewählten Zeitraum.';
elHint.innerHTML = `
<span style="font-weight:900; font-size:16px;">
${escapeHtml(data?.noDataHint || 'Letzter Zeitpunkt')}
</span>
<span style="opacity:.8; margin-left:10px;">
(Keine Werte für diesen Zeitraum)
</span>
`;
} else {
elHint.innerHTML = `
elHint.innerHTML = `
<span class="kv"><b>Produktion:</b> ${escapeHtml(prod.toFixed(2))} kWh</span>
<span class="kv"><b>Verbrauch:</b> ${escapeHtml(cons.toFixed(2))} kWh</span>
<span class="kv"><b>Netzbezug:</b> ${escapeHtml(grid.toFixed(2))} kWh</span>
<span class="kv"><b>Eigenverbrauch:</b> ${escapeHtml(eigenClamped.toFixed(2))} kWh</span>
`;
`;
}
elGrid.innerHTML = [
donutCard({
title: 'Eigenverbrauchsquote',

View File

@@ -91,19 +91,9 @@ class Energy_Pie extends IPSModule
$feed = $this->readDelta($this->ReadPropertyInteger('VarFeedIn'), $tStart, $tEnd, $dbgFeed);
$grid = $this->readDelta($this->ReadPropertyInteger('VarGrid'), $tStart, $tEnd, $dbgGrid);
$hasData = (($dbgProd['count'] ?? 0) > 0) || (($dbgFeed['count'] ?? 0) > 0) || (($dbgGrid['count'] ?? 0) > 0);
// Auto-jump to last log day if none found
if (!$hasData && $range !== 'total') {
$lastTs = $this->getLastLogTimestamp($this->ReadPropertyInteger('VarProduction'));
if ($lastTs > 0) {
$this->WriteAttributeString(self::ATTR_DATE, date('Y-m-d', $lastTs));
$date = $this->ReadAttributeString(self::ATTR_DATE);
[$tStart, $tEnd] = $this->getRange($range, $date);
$prod = $this->readDelta($this->ReadPropertyInteger('VarProduction'), $tStart, $tEnd, $dbgProd);
$feed = $this->readDelta($this->ReadPropertyInteger('VarFeedIn'), $tStart, $tEnd, $dbgFeed);
$grid = $this->readDelta($this->ReadPropertyInteger('VarGrid'), $tStart, $tEnd, $dbgGrid);
$hasData = (($dbgProd['count'] ?? 0) > 0) || (($dbgFeed['count'] ?? 0) > 0) || (($dbgGrid['count'] ?? 0) > 0);
}
}
$noDataHint = (!$hasData && $range !== 'total') ? 'Letzter Zeitpunkt' : '';
// House = Prod - Feed + Grid
$house = $prod - $feed + $grid;
if ($house < 0) $house = 0.0;
@@ -113,6 +103,7 @@ class Energy_Pie extends IPSModule
'tStart' => $tStart,
'tEnd' => $tEnd,
'hasData' => $hasData,
'noDataHint' => $noDataHint,
'values' => [
'Produktion' => (float)$prod,
'Einspeisung' => (float)$feed,