Farbverlauf schwarz in rot

Begonnen von andies, 03 November 2022, 10:11:11

Vorheriges Thema - Nächstes Thema

andies

Ich weiß, dass hier gern sehr viele Farben verwendet werden. Ich halte es da eher mit Edward Tufte (https://www.edwardtufte.com/tufte/), so dass bei meinen Anzeigen eigentlich alles schwarz ist, es sei denn es erfordert meine Aufmerksamkeit. Aufmerksamkeit bedeutet, dass irgendwelche Zahlenwerte so niedrig oder so hoch sind, dass ich etwas tun muss. Dabei gibt es Warnungen (gelb) und Fehlermeldungen/Aufforderungen (rot). Hier brauchte ich einen Farbverlauf, damit ich nicht ständig Abfragen programmieren muss.

Ich habe bei Wikipedia beschrieben, wie ich auf die Definition gekommen bin: https://wiki.fhem.de/wiki/Color#Beispiele. Die Geräte sehen dann zum Beispiel so aus.

Ein Gerät, bei dem 7-12 schwarz, 3-6 gelb und 0-2 rot sein soll:
attr <device> stateFormat {my $farbe = substr(Color::pahColor(0,5,12,ReadingsNum($name, "Wochen",0),[220,50,50, 220,170,0, 220,170,0, 0,0,0, 0,0,0]),0,6);
return "<span style='color:#$farbe'>".ReadingsVal($name, "Wochen", 0)." Wochen </span>" }


Der analoge Fall, bei dem unter 29 Grad Wassertemperatur gemeldet wird (Warmwasser in der Zirkulationsleitung des Gerätes [Viessmann2:Temperature3] zu kalt)
attr <device> stateFormat {my $farbe = substr(Color::pahColor(23,26,29,60-ReadingsNum("Viessmann2", "Temperature3",0),[0,0,0, 255,0,0, 255,255,0, 255,0,0, 255,0,0]),0,6);
return $starts." | <span style='color:#$farbe'>".ReadingsNum("Viessmann2","Temperature3",0)."°C</span>" }


Unten noch ein Screenshot (da ist beim Viessmann-Gerät noch etwas eingefügt, das ich hier weggelassen habe).
FHEM 6.1 auf RaspPi3 (Raspbian:  6.1.21-v8+; Perl: v5.32.1)
SIGNALduino (433 MHz) und HM-UART (868 MHz), Sonoff, Blitzwolf, Somfy RTS, CAME-Gartentor, Volkszähler, Keyence-Sensor, Homematic-Sensoren und -thermostat, Ferraris-Zähler für Wasseruhr, Openlink-Nachbau Viessmann