fix(energiediagramm): Symcon-8-Darstellung korrigieren
This commit is contained in:
@@ -24,14 +24,21 @@ zusaetzlich ein frei waehlbarer inklusiver Datumsbereich und die Navigation
|
||||
durch abgeschlossene Zeitraeume zur Verfuegung.
|
||||
|
||||
Die Farben fuer Eigenverbrauchsquote und Autarkiegrad werden mit den beiden
|
||||
Farbauswahlen in der Instanzkonfiguration festgelegt.
|
||||
Farbauswahlen in der Instanzkonfiguration festgelegt. Das Modul verarbeitet
|
||||
sowohl aktuelle Hex-Farbwerte als auch die von IP-Symcon 8.0 gespeicherten
|
||||
dezimalen Farbwerte.
|
||||
|
||||
## Darstellung
|
||||
|
||||
Die Kachel und ihre vergroesserte Ansicht erhalten beim Aufbau sofort einen
|
||||
vollstaendigen Datenstand. Beim Oeffnen und beim erneuten Sichtbarwerden wird
|
||||
die Darstellung aktualisiert. Das Diagrammraster wechselt bei geringer Breite
|
||||
automatisch von zwei Spalten auf eine Spalte.
|
||||
Der Inhalt beginnt unterhalb des von Symcon eingeblendeten Kachelkopfs, damit
|
||||
Zeitraum und Datum vollstaendig bedienbar bleiben. Beim Oeffnen und beim erneuten
|
||||
Sichtbarwerden wird die Darstellung aktualisiert. Das Diagrammraster wechselt
|
||||
bei geringer Breite automatisch von zwei Spalten auf eine Spalte.
|
||||
|
||||
IP-Symcon 8.x unterstuetzt HTML-SDK-Darstellungen nur in der normalen Kachel.
|
||||
Der vom Client angebotene Vergroesserungsdialog kann deshalb leer bleiben.
|
||||
Ab IP-Symcon 9.0 aktiviert das Modul automatisch den zusaetzlichen
|
||||
HTML-SDK-Vollbildmodus.
|
||||
|
||||
## Berechnung
|
||||
|
||||
|
||||
@@ -118,9 +118,19 @@ final class EnergyChartCalculator
|
||||
|
||||
public static function normalizeColor(string $color, string $fallback): string
|
||||
{
|
||||
return preg_match('/^#[0-9A-Fa-f]{6}$/', $color) === 1
|
||||
? strtoupper($color)
|
||||
: strtoupper($fallback);
|
||||
$color = trim($color);
|
||||
if (preg_match('/^#[0-9A-Fa-f]{6}$/', $color) === 1) {
|
||||
return strtoupper($color);
|
||||
}
|
||||
|
||||
if (preg_match('/^[0-9]+$/', $color) === 1) {
|
||||
$legacyColor = (int) $color;
|
||||
if ($legacyColor >= 0 && $legacyColor <= 0xFFFFFF) {
|
||||
return sprintf('#%06X', $legacyColor);
|
||||
}
|
||||
}
|
||||
|
||||
return strtoupper($fallback);
|
||||
}
|
||||
|
||||
private static function date(string $date): DateTimeImmutable
|
||||
|
||||
@@ -71,7 +71,7 @@
|
||||
width: 100%;
|
||||
min-height: 100%;
|
||||
box-sizing: border-box;
|
||||
padding: 14px;
|
||||
padding: 58px 14px 14px;
|
||||
overflow: auto;
|
||||
font-family: system-ui, -apple-system, "Segoe UI", sans-serif;
|
||||
color: inherit;
|
||||
@@ -234,7 +234,7 @@
|
||||
|
||||
@media (max-width: 560px) {
|
||||
#energy-app {
|
||||
padding: 10px;
|
||||
padding: 58px 10px 10px;
|
||||
}
|
||||
|
||||
.toolbar,
|
||||
|
||||
@@ -37,7 +37,10 @@ class Energiediagramm extends IPSModule
|
||||
$this->RegisterAttributeString(self::ATTR_CUSTOM_START, $today);
|
||||
$this->RegisterAttributeString(self::ATTR_CUSTOM_END, $today);
|
||||
|
||||
$this->SetVisualizationType(1);
|
||||
$visualizationType = version_compare(IPS_GetKernelVersion(), '9.0', '>=')
|
||||
? 2
|
||||
: 1;
|
||||
$this->SetVisualizationType($visualizationType);
|
||||
$this->RegisterTimer(
|
||||
'Refresh',
|
||||
0,
|
||||
|
||||
Reference in New Issue
Block a user