[erledigt] uitable "Cardfunktion" Wie setze ich eine bestimmte Farbe für Grafik

Begonnen von Jogi, 28 November 2022, 11:28:05

Vorheriges Thema - Nächstes Thema

Jogi

Hallo,
ich nutze uitable sehr gerne und habe es vielfältig eingesetzt. Allerdings verstehe ich nicht alles.
Aktuell weiß ich nicht, wie ich die Farbe der Grafik auf gelb setzen kann.
In der Dokumentation steht:
Zitat$colorRef  # Referenz auf eine Funktion, die zu einem Wert einen Farbwert (hue: 0-360) bestimmt, oder eine Referenz auf eine Arrayliste mit Grenzwerten und Farben, optional, default = undef
Das verstehe ich leider nicht. Ich weiß, dass man z.B. \&temp_hue setzen kann, aber ich weiß nicht, wie ich eine einzelne Farbe setze, oder z.B. , einen Farbverlauf je nach Wert, z.B. von grün nach rot.
Es geht um diese Grafik, bei der ich den Farbwert jetzt auf "undef" stehen habe.
card([MQTT2_DVES_D75E9F:Solar___Power_curr:col],"Solarleistung","sani_solar",0,4500,20,50,"Aktuell",undef,"1","130")|

Ein Tipp wäre super. Vielleicht habe ich es in der Doku auch überlesen.
Gruß,
Jogi

Damian

Zitat von: Jogi am 28 November 2022, 11:28:05
Hallo,
ich nutze uitable sehr gerne und habe es vielfältig eingesetzt. Allerdings verstehe ich nicht alles.
Aktuell weiß ich nicht, wie ich die Farbe der Grafik auf gelb setzen kann.
In der Dokumentation steht:Das verstehe ich leider nicht. Ich weiß, dass man z.B. \&temp_hue setzen kann, aber ich weiß nicht, wie ich eine einzelne Farbe setze, oder z.B. , einen Farbverlauf je nach Wert, z.B. von grün nach rot.
Es geht um diese Grafik, bei der ich den Farbwert jetzt auf "undef" stehen habe.
card([MQTT2_DVES_D75E9F:Solar___Power_curr:col],"Solarleistung","sani_solar",0,4500,20,50,"Aktuell",undef,"1","130")|

Ein Tipp wäre super. Vielleicht habe ich es in der Doku auch überlesen.
Gruß,
Jogi
Für einen linearen Farbverlauf oder eben eine feste Farbe brauchst du keine Funktion anzugeben. Es reicht wenn du die beiden Parameter $minColor,$maxColor entsprechend angibst.

Hier also statt 20 für $minColor auf 60 (gelb) und den 50 für $maxColor ebenfalls auf 60  setzt. Dann wird jede Zahl zwischen 0 und 4500 auf gelb abgebildet. Das gilt natürlich nur für die Zahl und den Ring. Der Hintergrund der Grafik lässt sich dagegen nicht verändern. 
Programmierte FHEM-Module: DOIF-FHEM, DOIF-Perl, DOIF-uiTable, THRESHOLD, FHEM-Befehl: IF

Jogi

Zitat von: Damian am 28 November 2022, 11:48:52
Für einen linearen Farbverlauf oder eben eine feste Farbe brauchst du keine Funktion anzugeben. Es reicht wenn du die beiden Parameter $minColor,$maxColor entsprechend angibst.

Hier also statt 20 für $minColor auf 60 (gelb) und den 50 für $maxColor ebenfalls auf 60  setzt. Dann wird jede Zahl zwischen 0 und 4500 auf gelb abgebildet. Das gilt natürlich nur für die Zahl und den Ring. Der Hintergrund der Grafik lässt sich dagegen nicht verändern.
Vielen Dank,
genau mit diesen beiden Parametern habe ich bei anderen Grafiken schon häufiger experimentiert und meine Farben eingestellt. Aber irgendwie stand ich jetzt auf dem Schlauch. Ich habe mich von dem \&temp_hue irritieren lassen, dass ich in Deinen Beispielen gefunden habe. Ich dachte, jetzt müsste da stattdessen etwas anderes hin, ich wusste aber nicht was. Jetzt ist klar warum.

Jetzt klappt es.
Danke.

Damian

Zitat von: Jogi am 28 November 2022, 14:45:43
Vielen Dank,
genau mit diesen beiden Parametern habe ich bei anderen Grafiken schon häufiger experimentiert und meine Farben eingestellt. Aber irgendwie stand ich jetzt auf dem Schlauch. Ich habe mich von dem \&temp_hue irritieren lassen, dass ich in Deinen Beispielen gefunden habe. Ich dachte, jetzt müsste da stattdessen etwas anderes hin, ich wusste aber nicht was. Jetzt ist klar warum.

Jetzt klappt es.
Danke.

Man kann natürlich auch eine eigene Funktion programmieren, die abhängig vom Wert eine Farbe liefert. Für immer gelb würde sie z. B. immer 60 zurückgeben.
Programmierte FHEM-Module: DOIF-FHEM, DOIF-Perl, DOIF-uiTable, THRESHOLD, FHEM-Befehl: IF