[GELÖST] ring2(): Font-Farbe des Textes setzen

Begonnen von Dr. Boris Neubert, 05 April 2026, 19:15:17

Vorheriges Thema - Nächstes Thema

Dr. Boris Neubert

Hallo,

ich habe auf meinem Dashboard ring2-Widgets mit Ringen mit Farbverläufen. Werte in dunklen Farben sind schwer lesbar, deshalb möchte ich die Texte per CSS-Attribut in einer anderen Farbe darstellen.

{ ui_Table::ring2( \
        main::ReadingsVal('aggr.PV','PVPowerSourceW',0.0), 0.0, 4.0, 0, 240, "PV", 100, undef, "0,color:white,color:white,W", \
        main::ReadingsVal('aggr.PV','PVEnergySourcekWh',0.0), 0, 50, 0, 120, undef, undef, "0,,,kWh") \
}

Offenbar nimmt er aber das Farbattribut des Textes color:white für Wert und Einheit nicht an. Aus dem Code in 98_DOIF.pm bin ich auf die Schnelle nicht schlau geworden.

Muss ich das anders machen oder geht das (derzeit) gar nicht?

Viele Grüße
Boris
FHEM-Developer seit 2007, Mitgründer und Förder-Mitglied des FHEM e.V.
Bitte keine unaufgeforderten privaten Nachrichten!

Damian

Das Attribut heißt fill:white

Auf der Seite https://wiki.fhem.de/wiki/DOIF/uiTable_Schnelleinstieg findest du diverse Beispiele, wenn du nach fill sucht.

Es gibt übrigens den Parameter $lightness, der dir die Farbe verschiedener SVG-Elemente des Ringes aufhellen kann, dazu findest du auch Beispiele auf der obigen Wiki-Seite.
Programmierte FHEM-Module: DOIF-FHEM, DOIF-Perl, DOIF-uiTable, THRESHOLD, FHEM-Befehl: IF

Dr. Boris Neubert

Danke, Damian.

Damit kommt ich fast ans Ziel:

{ ui_Table::ring2( \
        main::ReadingsVal('aggr.PV','PVPowerSourceW',0.0), 0.0, 4.0, 0, 240, "PV", 100, undef, "0,fill:silver,fill:silver,W", \
        main::ReadingsVal('aggr.PV','PVEnergySourcekWh',0.0), 0, 50, 0, 120, undef, undef, "0,fill:yellow,fill:yellow,kWh") \
}

Das Einheitenzeichen (W bzw. kWh) bleibt in der Farbe des Rings.

Ich lese

$decFontUnit1 # "<Anzahl der Nachkommastellen>,<Schrift-SVG-Attribute Wert>,<Schrift-SVG-Attribute Einheit>,<Einheit hinter dem Zahlenwert>", optional

so, dass ich die Einheit mit dem dritten Teil von $decFontUnit1 genauso stylen kann wie den Wert. Das tut er aber nicht. Siehe bitte Anhang.

Andere Attribute, z.B. font-family:sans-serif;font-weight:normal;fill:white, scheint er bei der Einheit auch nicht zu nehmen.
FHEM-Developer seit 2007, Mitgründer und Förder-Mitglied des FHEM e.V.
Bitte keine unaufgeforderten privaten Nachrichten!

Damian

Ursprünglich war die Einheit als Überschrift vorgesehen gewesen. Später habe ich die Möglichkeit die Einheit hinter der Zahl anzugeben vorgesehen. In der Doku wird noch von der Einheit gesprochen, obwohl die Überschrift gemeint ist.

Siehe hier: https://forum.fhem.de/index.php?topic=118329.msg1138441#msg1138441

Wie schon gesagt, probiere $lightness aus, damit sollte es gehen.
Programmierte FHEM-Module: DOIF-FHEM, DOIF-Perl, DOIF-uiTable, THRESHOLD, FHEM-Befehl: IF

Dr. Boris Neubert

So, $lightness ist nicht ganz genau das, was ich wollte, aber das Ergebnis funktioniert. Ich habe es mit einem serifenlosen Font kombiniert, was die Lesbarkeit bei der geringen Auflösung noch einmal enorm verbessert.

FHEM-Developer seit 2007, Mitgründer und Förder-Mitglied des FHEM e.V.
Bitte keine unaufgeforderten privaten Nachrichten!

Dr. Boris Neubert

FHEM-Developer seit 2007, Mitgründer und Förder-Mitglied des FHEM e.V.
Bitte keine unaufgeforderten privaten Nachrichten!

Damian

Zitat von: Dr. Boris Neubert am 07 April 2026, 19:35:47Volles Beispiel: Mini-Dashboard für PV-Anlage

Die Informationen entsprechen meiner Energy_Card, an der ich gerade bastle. Was dir noch fehlt ist die Energiefluss-Darstellung :)
Programmierte FHEM-Module: DOIF-FHEM, DOIF-Perl, DOIF-uiTable, THRESHOLD, FHEM-Befehl: IF