FHEM Forum

FHEM => Automatisierung => DOIF => Thema gestartet von: Dr. Boris Neubert am 05 April 2026, 19:15:17

Titel: [GELÖST] ring2(): Font-Farbe des Textes setzen
Beitrag von: Dr. Boris Neubert am 05 April 2026, 19:15:17
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
Titel: Aw: ring2(): Font-Farbe des Textes setzen
Beitrag von: Damian am 05 April 2026, 21:30:29
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.
Titel: Aw: ring2(): Font-Farbe des Textes setzen
Beitrag von: Dr. Boris Neubert am 06 April 2026, 10:20:10
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.
Titel: Aw: ring2(): Font-Farbe des Textes setzen
Beitrag von: Damian am 06 April 2026, 19:08:48
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.
Titel: Aw: ring2(): Font-Farbe des Textes setzen
Beitrag von: Dr. Boris Neubert am 07 April 2026, 19:34:57
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.

Titel: Aw: ring2(): Font-Farbe des Textes setzen
Beitrag von: Dr. Boris Neubert am 07 April 2026, 19:35:47
Volles Beispiel: Mini-Dashboard für PV-Anlage (https://wiki.fhem.de/wiki/Mini-Dashboard_f%C3%BCr_PV-Anlage#Layout)
Titel: Aw: [GELÖST] ring2(): Font-Farbe des Textes setzen
Beitrag von: Damian am 07 April 2026, 19:47:20
Zitat von: Dr. Boris Neubert am 07 April 2026, 19:35:47Volles Beispiel: Mini-Dashboard für PV-Anlage (https://wiki.fhem.de/wiki/Mini-Dashboard_f%C3%BCr_PV-Anlage#Layout)

Die Informationen entsprechen meiner Energy_Card, an der ich gerade bastle. Was dir noch fehlt ist die Energiefluss-Darstellung :)