@ioAli:
Ich möchte auf meiner Wetter-Vis die Textfarbe des dargestellten UV-Index abhängig vom UV-Index-Wert ändern.
Dazu werte ich den UV-Index aus und teile die Fraben wie folgt zu:
! ````
/* ********************************************************************************** /
/ Merkt sich den aktuelle und max. UV-Index /
/ ********************************************************************************** */
on({id: "weatherunderground.0.current.UV", valNe: true}, function (obj) {
var actState = getState("weatherunderground.0.current.UV");
console.log("UV: "+actState.val);
setState("javascript.0.Wetter.Heute.UVIndexAktuell",actState,true);
if (actState.val > getState("javascript.0.Wetter.Heute.UVIndexMax").val){
setState("javascript.0.Wetter.Heute.UVIndexMax",actState,true);
console.log("UVIndexMax: "+getState("javascript.0.Wetter.Heute.UVIndexMax").val);
}
// TextFarbe vom aktuellen UV-Index einstellen
setState("javascript.0.Umweltsensor.UVIndexColor",getUVIndexColor(actState.val).SColor);
// TextFarbe vom UV-Index-Max einstellen
actState = getState("javascript.0.Wetter.Heute.UVIndexMax");
setState("javascript.0.Umweltsensor.UVIndexMaxColor",getUVIndexColor(actState.val).SColor);
});
! /* ********************************************************************************** /
/ Ermittelt die Textfarbe anhand des UV-Indexwert /
/ ********************************************************************************** */
function getUVIndexColor (UVidx){
var strCol ='';
// ermittelt die Darstellungsfarbe des UV-Index abhängig von diesem gemäß https://de.wikipedia.org/wiki/UV-Index
if (UVidx >= 0.0 && UVidx <= 2.5){ strCol = "#12ed43"; // grün
}else if (UVidx > 2.5 && UVidx <= 5.5){ strCol = "#fefd06"; // Gelb
}else if (UVidx > 5.5 && UVidx <= 7.7){ strCol = "#f29c26"; // orange
}else if (UVidx > 7.5 && UVidx <= 10.5){strCol = "#d31512"; // rot
}else if (UVidx > 10.5 ){ strCol = "#d22daa"; // lila
}
console.log("idx / Farbe: "+UVidx+" / "+strCol);
return {
'SColor' : strCol
};
}
! ````
Hi,
ich habe das so umgestzt.
Die Werte für den Index werden mir eingetragen.
Nur in den Farbwerten wird immer "true" eingetragen, ws mache ich denn da falsch.
Die pfade in Javascript stimmen.
Kann mir da jemand helfen.
Gruß TM