Temperatur in Farbe umsetzen

Begonnen von Prof. Dr. Peter Henning, 07 Dezember 2014, 22:18:23

Vorheriges Thema - Nächstes Thema

Prof. Dr. Peter Henning

#90
Erst einmal scheint Euch nicht ganz klar zu sein, dass es sich bei midcolor 1 und midcolor3 nicht um Stützstellen, sondern um Kontrollpunkte handelt. Im Gegensatz zu einer Interpolation liegen die Zwischenwerte bei einer Bezier-Approximation eben nicht auf der Kurve, sondern steuern nur deren Steifigkeit und Steigung.

Will man also spezifizieren, dass bei bestimmten Temperaturen bestimmte Werte angenommen werden, muss man mehrere Bezier-Segmente aneinanderkleben. Diese können dann quadratischer, kubischer oder höherer Ordnung sein. Auch könnte man sie mit Knick, oder ohne Knick anordnen. In der von mir vorgeschlagenen Funktion sind zwei quadratische Bezier-Segmente mit Knick aneinander geklebt worden. Will man also mehr Werte fixieren, geht das nach genau dem gleichen Prinzip - im Prinzip könnte man auch dieselbe Funktion mit anderen Parametern aufrufen.

Alternativ könnte man auch statt einer Bezier-Approximation eine Interpolation nehmen - also z.B. Stützstellen (die auf der Kurve liegen) durch Splines o.ä. verbinden.

Zweitens scheint Euch auch nicht klar zu sein, dass das menschliche Wahrnehmungsvermögen nicht ausreicht, mehr als ca. 10 Farben hinreichend genau voneinander zu unterscheiden. Damit ist es aber vollkommen witzlos, genauere Interpolationen festzulegen - das enthält keinerlei sinnvolle Information.

LG

pah

frank

Zitatim Prinzip könnte man auch dieselbe Funktion mit anderen Parametern aufrufen.
gute idee, danke. werde ich mal probieren.

bisher habe ich die temperaturabhängige einfärbung stufenweise für bestimmte bereiche vorgenommen. dabei gibt es folgende bereiche: < 0 (frost-blau), > 0 (ungeheizt-grün), > 15 (klimatisiert-gelb), > 18 (erwärmt-orange), > 21 (warm-rot), > 30 (heiss-pink).
auf diese weise kann ich während der heizphase gut erkennen, welche räume geheizt werden. im prinzip alles ab gelb, wobei ein höherer rotanteil dann die zu erbringende heizleistung symbolisiert. der bereich ab 30 grad ist eher für den sommer gedacht.

mit der color-funktion versuche ich nun einen kontinuierlicheren verlauf zu bekommen, um eventuell mehr infos auf einen blick zu bekommen. zb: wie weit ist die frostgrenze in ungeheizten bereichen entfernt? sind die heizungen in ungenutzten bereichen entsprechend eingestellt? etc. aber wie bereits angedeutet, kann die color-funktion auch kontrproduktiv werden, wenn die resultierenden farben zu viele zwischentöne ergeben.

gruss frank
FHEM: 6.0(SVN) => Pi3(buster)
IO: CUL433|CUL868|HMLAN|HMUSB2|HMUART
CUL_HM: CC-TC|CC-VD|SEC-SD|SEC-SC|SEC-RHS|Sw1PBU-FM|Sw1-FM|Dim1TPBU-FM|Dim1T-FM|ES-PMSw1-Pl
IT: ITZ500|ITT1500|ITR1500|GRR3500
WebUI [HMdeviceTools.js (hm.js)]: https://forum.fhem.de/index.php/topic,106959.0.html

mbfhem

Hallo betateilchen,

kannst Du einem Anfänger näher bringen, wie Du die wunderbaren Grafiken (Anwort#17) mit Hilfe des angesprochenen InfoPanel's erzeugst?

VG mb

Prof. Dr. Peter Henning


Elektrolurch

Zitat:
Falscher Thread.

"Tret" meint er, er will ja nur helfen.
configDB und Windows befreite Zone!

Prof. Dr. Peter Henning


frank

ihr seit aber auch zwei "raufbolde".  :)
FHEM: 6.0(SVN) => Pi3(buster)
IO: CUL433|CUL868|HMLAN|HMUSB2|HMUART
CUL_HM: CC-TC|CC-VD|SEC-SD|SEC-SC|SEC-RHS|Sw1PBU-FM|Sw1-FM|Dim1TPBU-FM|Dim1T-FM|ES-PMSw1-Pl
IT: ITZ500|ITT1500|ITR1500|GRR3500
WebUI [HMdeviceTools.js (hm.js)]: https://forum.fhem.de/index.php/topic,106959.0.html

MichlB

Hallo und guten morgen..

ich hab ne frage, kann man das colorpath ding auch anwenden um die Farben von werten zu ändern? zb. je nach aussentemperatur ändert sich die Farbe des Wertes ... derzeit habe ich das mittels readingsgroup geändert aber das ist etwas mühsam.
danke
1x PI 2B+ FHEM - Heizung
1x Pi 3b+ - FHEM - Haussteuerung
1x Pi 3 - MagicMirror
2x Pi B - Musicbox

Prof. Dr. Peter Henning

Natürlich. Einfach den HTML-Code für den "Wert" durch ein Perl-Programm erzeugen, das die Farbe dynamisch anpasst.


LG

pah

MichlB

#99
aha, interessant, aber ich versteh leider nur Bahnhof...
und wie macht ma so was?
kann ich dieses Perl-Programm dann für die anderen werte auch verwenden oder muß dieses für jeden wert erzeugt werden? ich meine, kann das so wie eine vba function verwendet werden - der wert sieht nach welche farbe er haben soll - sorry meine formulierung, tu mir mit programmieren etwas schwer....

danke schon mal fürs laien-verständnis ;-)
1x PI 2B+ FHEM - Heizung
1x Pi 3b+ - FHEM - Haussteuerung
1x Pi 3 - MagicMirror
2x Pi B - Musicbox