diff --git a/ioBroker/DEV/NSPanelTs.ts b/ioBroker/DEV/NSPanelTs.ts index 9a30a7f9..28cacb52 100644 --- a/ioBroker/DEV/NSPanelTs.ts +++ b/ioBroker/DEV/NSPanelTs.ts @@ -8291,7 +8291,7 @@ function HandleScreensaverUpdate(): void { let checkpoint = true; let i = 0; if (config.leftScreensaverEntity && Array.isArray(config.leftScreensaverEntity)) { - for (i = 0; i < 3; i++) { + for (i = 0; i < 3 && i < config.leftScreensaverEntity.length; i++) { const leftScreensaverEntity = config.leftScreensaverEntity[i] if (leftScreensaverEntity === null || leftScreensaverEntity === undefined) { checkpoint = false; @@ -8498,8 +8498,8 @@ function HandleScreensaverUpdate(): void { } else { let checkpoint = true; let i = 0; - for (i = 0; i < maxEntities - 1; i++) { - if (config.bottomScreensaverEntity[i] == null) { + for (i = 0; i < maxEntities - 1 && i < config.bottomScreensaverEntity.length; i++) { + if (config.bottomScreensaverEntity[i] == null || config.bottomScreensaverEntity[i] === undefined) { checkpoint = false; break; } @@ -8572,10 +8572,10 @@ function HandleScreensaverUpdate(): void { if (screensaverAdvanced) { // 5 indicatorScreensaverEntities - for (let i = 0; i < 5; i++) { + for (let i = 0; i < 5 && i < config.indicatorScreensaverEntity.length; i++) { let checkpoint = true; const indicatorScreensaverEntity:ScreenSaverElementWithUndefined = config.indicatorScreensaverEntity[i]; - if (indicatorScreensaverEntity == null) { + if (indicatorScreensaverEntity === null || indicatorScreensaverEntity === undefined) { checkpoint = false; break; } @@ -8622,7 +8622,6 @@ function HandleScreensaverUpdate(): void { SendToPanel({ payload: 'weatherUpdate~' + payloadString }); HandleScreensaverStatusIcons(); - } } catch (err: any) {