Added Weather Forcast in Screensaver

Ability to choose between Accu-Weather Forcast or self-defined values in the screensaver

Using the switch, the alias can also be filled
This commit is contained in:
Armilar
2022-04-22 18:10:06 +02:00
committed by GitHub
parent 045252d259
commit f246a6a22b

View File

@@ -13,6 +13,9 @@ const On: RGB = { red: 253, green: 216, blue: 53 };
const BatteryFull: RGB = { red: 96, green: 176, blue: 62 }
const BatteryEmpty: RGB = { red: 179, green: 45, blue: 25 }
//----Ability to choose between Accu-Weather Forcast or self-defined values in the screensaver---------------------------------
var weatherForecast = true; //true = WheatherForecast 5 Days --- false = Config --> firstScreensaverEntity - fourthScreensaverEntity ...
var Wohnen: PageEntities =
{
"type": "cardEntities",
@@ -698,10 +701,22 @@ function HandleScreensaverUpdate(): void {
"weatherUpdate~" + Icons.GetIcon(GetAccuWeatherIcon(parseInt(icon))) + "~"
+ temperature + " " + config.temperatureUnit + "~"
payloadString += GetScreenSaverEntityString(config.firstScreensaverEntity);
payloadString += GetScreenSaverEntityString(config.secondScreensaverEntity);
payloadString += GetScreenSaverEntityString(config.thirdScreensaverEntity);
payloadString += GetScreenSaverEntityString(config.fourthScreensaverEntity);
if (weatherForecast == true) {
// Accu-Weather Forecast Tag 2 - Tag 5 -- Wenn weatherForecast = true
for (let i = 2; i < 6; i++) {
let TempMax = getState("accuweather.0.Summary.TempMax_d" + i).val;
let DayOfWeek = getState("accuweather.0.Summary.DayOfWeek_d" + i).val;
let WeatherIcon = GetAccuWeatherIcon(getState("accuweather.0.Summary.WeatherIcon_d" + i).val);
payloadString += DayOfWeek + "~" + Icons.GetIcon(WeatherIcon) + "~" + TempMax + " °C~";
}
}
else {
//In Config definierte Zustände wenn weatherForecast = false
payloadString += GetScreenSaverEntityString(config.firstScreensaverEntity);
payloadString += GetScreenSaverEntityString(config.secondScreensaverEntity);
payloadString += GetScreenSaverEntityString(config.thirdScreensaverEntity);
payloadString += GetScreenSaverEntityString(config.fourthScreensaverEntity);
}
SendToPanel(<Payload>{ payload: payloadString });
}