From 9f2632a372a977ead29dde1da3ad71e546e54f26 Mon Sep 17 00:00:00 2001 From: Armilar <102996011+Armilar@users.noreply.github.com> Date: Fri, 22 Apr 2022 18:10:06 +0200 Subject: [PATCH] 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 --- ioBroker/NsPanelTs.ts | 23 +++++++++++++++++++---- 1 file changed, 19 insertions(+), 4 deletions(-) diff --git a/ioBroker/NsPanelTs.ts b/ioBroker/NsPanelTs.ts index 4f4cd542..8567453f 100644 --- a/ioBroker/NsPanelTs.ts +++ b/ioBroker/NsPanelTs.ts @@ -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: payloadString }); }