From a49e2fb7948e7dccb5c80a4e854e8925b8e5e32b Mon Sep 17 00:00:00 2001 From: simatec Date: Thu, 20 Jun 2024 12:08:33 +0200 Subject: [PATCH] (simatec) Release v1.7.2 --- README.md | 3 +++ lib/buttonAction.js | 2 +- lib/elevationDown.js | 2 +- lib/shutterAlarm.js | 2 +- lib/shutterBrightnessSensor.js | 4 ++-- lib/shutterDownChildren.js | 2 +- lib/shutterDownComplete.js | 2 +- lib/shutterDownLate.js | 2 +- lib/shutterDownLiving.js | 2 +- lib/shutterDownSleep.js | 2 +- lib/shutterGoldenHour.js | 4 ++-- lib/shutterSunriseSunset.js | 4 ++-- lib/shutterUpChildren.js | 2 +- lib/shutterUpLiving.js | 2 +- lib/shutterUpSleep.js | 2 +- lib/sunProtect.js | 4 ++-- main.js | 16 ++++++++-------- 17 files changed, 30 insertions(+), 27 deletions(-) diff --git a/README.md b/README.md index 82ab4d0d..a6d43702 100644 --- a/README.md +++ b/README.md @@ -46,6 +46,9 @@ When the adapter crashes or an other Code error happens, this error message that ## Changelog +### __WORK IN PROGRESS__ +* (simatec) Fix Shutterstate enabled + ### 1.7.1 (2024-06-19) * (simatec) Dependencies updated * (simatec) Docu updated diff --git a/lib/buttonAction.js b/lib/buttonAction.js index f8e82ce5..5c56eae7 100644 --- a/lib/buttonAction.js +++ b/lib/buttonAction.js @@ -63,7 +63,7 @@ async function buttonAction(adapter, buttonState, shutterSettings) { break; } - const result = resLiving.filter((/** @type {{ enabled: boolean; }} */ d) => d.enabled === true); // Filter enabled + const result = resLiving.filter((/** @type {{ enabled: boolean | string; }} */ d) => d.enabled === true || d.enabled === 'true'); // Filter enabled for (const i in result) { for (const s in shutterSettings) { diff --git a/lib/elevationDown.js b/lib/elevationDown.js index 25294f38..bd80c654 100644 --- a/lib/elevationDown.js +++ b/lib/elevationDown.js @@ -30,7 +30,7 @@ async function elevationDown(adapter, elevation, azimuth, shutterSettings) { if (shutterSettings) { const driveDelayUpAstro = adapter.config.driveDelayUpAstro != 0 ? adapter.config.driveDelayUpAstro * 1000 : 20; const resLiving = shutterSettings.filter((/** @type {{ typeDown: string; }} */ d) => d.typeDown == 'elevation'); - const result = resLiving.filter((/** @type {{ enabled: boolean; }} */ d) => d.enabled === true); + const result = resLiving.filter((/** @type {{ enabled: boolean | string; }} */ d) => d.enabled === true || d.enabled === 'true'); for (const i in result) { for (const s in shutterSettings) { diff --git a/lib/shutterAlarm.js b/lib/shutterAlarm.js index fab130e5..bab9e488 100644 --- a/lib/shutterAlarm.js +++ b/lib/shutterAlarm.js @@ -55,7 +55,7 @@ async function shutterAlarm(adapter, alarmType, shutterSettings) { } - const result = resAlarm.filter((/** @type {{ enabled: boolean; }} */ d) => d.enabled === true); // Filter enabled + const result = resAlarm.filter((/** @type {{ enabled: boolean | string; }} */ d) => d.enabled === true || d.enabled === 'true'); // Filter enabled for (const i in result) { for (const s in shutterSettings) { diff --git a/lib/shutterBrightnessSensor.js b/lib/shutterBrightnessSensor.js index 943ba6d9..6e6b8c09 100644 --- a/lib/shutterBrightnessSensor.js +++ b/lib/shutterBrightnessSensor.js @@ -55,7 +55,7 @@ async function shutterBrightnessSensor(adapter, brightnessValue, shutterSettings if (currentTime > shutterDownBrightnessTime && brightnessValue <= shutterDownBrightness && brightnessDown == false) { if (shutterSettings) { const resLiving = shutterSettings.filter((/** @type {{ typeDown: string; }} */ d) => d.typeDown == 'lightsensor'); // Filter Area Living - const result = resLiving.filter((/** @type {{ enabled: boolean; }} */ d) => d.enabled === true); // Filter enabled + const result = resLiving.filter((/** @type {{ enabled: boolean | string; }} */ d) => d.enabled === true || d.enabled === 'true'); // Filter enabled for (const i in result) { for (const s in shutterSettings) { @@ -180,7 +180,7 @@ async function shutterBrightnessSensor(adapter, brightnessValue, shutterSettings } else if (currentTime > shutterUpBrightnessTime && currentTime < shutterDownBrightnessTime && brightnessValue > shutterUpBrightness) { if (shutterSettings) { const resLiving = shutterSettings.filter((/** @type {{ typeUp: string; }} */ d) => d.typeUp == 'lightsensor'); // Filter Area Living - const result = resLiving.filter((/** @type {{ enabled: boolean; }} */ d) => d.enabled === true); // Filter enabled + const result = resLiving.filter((/** @type {{ enabled: boolean | string; }} */ d) => d.enabled === true || d.enabled === 'true'); // Filter enabled for (const i in result) { for (const s in shutterSettings) { diff --git a/lib/shutterDownChildren.js b/lib/shutterDownChildren.js index 29306c77..7aed2e4b 100644 --- a/lib/shutterDownChildren.js +++ b/lib/shutterDownChildren.js @@ -30,7 +30,7 @@ function getDate(d) { async function driveshutterDownChildren(adapter, downTimeChildren, autoChildrenStr, shutterSettings, childrenType, driveDelayUpChildren, timeoutChildrenAuto) { if (shutterSettings) { const resChildren = shutterSettings.filter((/** @type {{ typeDown: string; }} */ d) => d.typeDown == childrenType); // Filter Area children or children-auto - const result = resChildren.filter((/** @type {{ enabled: boolean; }} */ d) => d.enabled === true); // Filter enabled + const result = resChildren.filter((/** @type {{ enabled: boolean | string; }} */ d) => d.enabled === true || d.enabled === 'true'); // Filter enabled let number = 0; if (childrenType == 'children') { diff --git a/lib/shutterDownComplete.js b/lib/shutterDownComplete.js index f4299d1a..1bf9aa83 100644 --- a/lib/shutterDownComplete.js +++ b/lib/shutterDownComplete.js @@ -33,7 +33,7 @@ async function shutterDownComplete(adapter, delayDown, shutterSettings) { if (shutterSettings) { const resLiving = shutterSettings.filter((/** @type {{ betweenPosition: boolean; }} */ d) => d.betweenPosition == true); // Filter Area Living - const result = resLiving.filter((/** @type {{ enabled: boolean; }} */ d) => d.enabled === true); // Filter enabled + const result = resLiving.filter((/** @type {{ enabled: boolean | string; }} */ d) => d.enabled === true || d.enabled === 'true'); // Filter enabled for (const i in result) { for (const s in shutterSettings) { diff --git a/lib/shutterDownLate.js b/lib/shutterDownLate.js index d69a1e90..95b14f58 100644 --- a/lib/shutterDownLate.js +++ b/lib/shutterDownLate.js @@ -28,7 +28,7 @@ async function shutterDownLate(adapter, shutterSettings) { const downLate = schedule.scheduleJob('shutterDownLate', downTimeLate[1] + ' ' + downTimeLate[0] + ' * * *', async function () { if (shutterSettings) { - const resEnabled = shutterSettings.filter((/** @type {{ enabled: boolean; }} */ d) => d.enabled === true); // Filter enabled + const resEnabled = shutterSettings.filter((/** @type {{ enabled: boolean | string; }} */ d) => d.enabled === true || d.enabled === 'true'); // Filter enabled const resLateDown = resEnabled.filter((/** @type {{ LateDown: boolean; }} */ d) => d.LateDown === true); // Filter late down for (const i in resLateDown) { diff --git a/lib/shutterDownLiving.js b/lib/shutterDownLiving.js index 144704f2..a176685c 100644 --- a/lib/shutterDownLiving.js +++ b/lib/shutterDownLiving.js @@ -30,7 +30,7 @@ function getDate(d) { async function driveshutterDownLiving(adapter, downTimeLiving, autoLivingStr, shutterSettings, livingType, driveDelayUpLiving, timeoutLivingAuto) { if (shutterSettings) { const resLiving = shutterSettings.filter((/** @type {{ typeDown: string; }} */ d) => d.typeDown == livingType); // Filter Area Living or living-auto - const result = resLiving.filter((/** @type {{ enabled: boolean; }} */ d) => d.enabled === true); // Filter enabled + const result = resLiving.filter((/** @type {{ enabled: boolean | string; }} */ d) => d.enabled === true || d.enabled === 'true'); // Filter enabled let number = 0; diff --git a/lib/shutterDownSleep.js b/lib/shutterDownSleep.js index d3e069d9..03d5bcfa 100644 --- a/lib/shutterDownSleep.js +++ b/lib/shutterDownSleep.js @@ -30,7 +30,7 @@ function getDate(d) { async function driveshutterDownSleep(adapter, downTimeSleep, autoSleepStr, shutterSettings, sleepType, driveDelayUpSleep, timeoutSleepAuto) { if (shutterSettings) { const resSleep = shutterSettings.filter((/** @type {{ typeDown: any; }} */ d) => d.typeDown == sleepType); // Filter Area sleep - const result = resSleep.filter((/** @type {{ enabled: boolean; }} */ d) => d.enabled === true); // Filter enabled + const result = resSleep.filter((/** @type {{ enabled: boolean | string; }} */ d) => d.enabled === true || d.enabled === 'true'); // Filter enabled let number = 0; diff --git a/lib/shutterGoldenHour.js b/lib/shutterGoldenHour.js index 9b2e6d62..5310a5da 100644 --- a/lib/shutterGoldenHour.js +++ b/lib/shutterGoldenHour.js @@ -39,7 +39,7 @@ async function shutterGoldenHour(adapter, goldenHourEnd, goldenHour, shutterSett const upGoldenHour = schedule.scheduleJob('shutterUpGoldenHourEnd', upTime[1] + ' ' + upTime[0] + ' * * *', async function () { if (shutterSettings) { const resLiving = shutterSettings.filter((/** @type {{ typeUp: string; }} */ d) => d.typeUp == 'goldenhour End'); // Filter Area goldenhour end - const result = resLiving.filter((/** @type {{ enabled: boolean; }} */ d) => d.enabled === true); // Filter enabled + const result = resLiving.filter((/** @type {{ enabled: boolean | string; }} */ d) => d.enabled === true || d.enabled === 'true'); // Filter enabled for (const i in result) { for (const s in shutterSettings) { @@ -148,7 +148,7 @@ async function shutterGoldenHour(adapter, goldenHourEnd, goldenHour, shutterSett const downGoldenHour = schedule.scheduleJob('shutterDownGoldenHour', upTime[1] + ' ' + upTime[0] + ' * * *', async function () { if (shutterSettings) { const resLiving = shutterSettings.filter((/** @type {{ typeDown: string; }} */ d) => d.typeDown == 'goldenhour'); // Filter Area Goldenhour - const result = resLiving.filter((/** @type {{ enabled: boolean; }} */ d) => d.enabled === true); // Filter enabled + const result = resLiving.filter((/** @type {{ enabled: boolean | string; }} */ d) => d.enabled === true || d.enabled === 'true'); // Filter enabled for (const i in result) { for (const s in shutterSettings) { diff --git a/lib/shutterSunriseSunset.js b/lib/shutterSunriseSunset.js index 8612936a..17e7d750 100644 --- a/lib/shutterSunriseSunset.js +++ b/lib/shutterSunriseSunset.js @@ -38,7 +38,7 @@ async function shutterSunriseSunset(adapter, sunriseStr, sunsetStr, shutterSetti const upSunrise = schedule.scheduleJob('shutterUpSunrise', upTime[1] + ' ' + upTime[0] + ' * * *', async function () { if (shutterSettings) { const resLiving = shutterSettings.filter((/** @type {{ typeUp: string; }} */ d) => d.typeUp == 'sunrise'); // Filter Area Sunrise - const result = resLiving.filter((/** @type {{ enabled: boolean; }} */ d) => d.enabled === true); // Filter enabled + const result = resLiving.filter((/** @type {{ enabled: boolean | string; }} */ d) => d.enabled === true || d.enabled === 'true'); // Filter enabled for (const i in result) { for (const s in shutterSettings) { @@ -151,7 +151,7 @@ async function shutterSunriseSunset(adapter, sunriseStr, sunsetStr, shutterSetti const downSunset = schedule.scheduleJob('shutterDownSunset', upTime[1] + ' ' + upTime[0] + ' * * *', async function () { if (shutterSettings) { const resLiving = shutterSettings.filter((/** @type {{ typeDown: string; }} */ d) => d.typeDown == 'sunset'); // Filter Area Sunset - const result = resLiving.filter((/** @type {{ enabled: boolean; }} */ d) => d.enabled === true); // Filter enabled + const result = resLiving.filter((/** @type {{ enabled: boolean | string; }} */ d) => d.enabled === true || d.enabled === 'true'); // Filter enabled for (const i in result) { for (const s in shutterSettings) { diff --git a/lib/shutterUpChildren.js b/lib/shutterUpChildren.js index 234d5822..09befba5 100644 --- a/lib/shutterUpChildren.js +++ b/lib/shutterUpChildren.js @@ -21,7 +21,7 @@ async function driveshutterUpChildren(adapter, upTimeChildren, autoChildrenStr, adapter.log.debug(`Children-type: ${childrenType}`); const resChildren = shutterSettings.filter((/** @type {{ typeUp: string; }} */ d) => d.typeUp == childrenType); // Filter Area Children - const result = resChildren.filter((/** @type {{ enabled: boolean; }} */ d) => d.enabled === true); // Filter enabled + const result = resChildren.filter((/** @type {{ enabled: boolean | string; }} */ d) => d.enabled === true || d.enabled === 'true'); // Filter enabled let number = 0; diff --git a/lib/shutterUpLiving.js b/lib/shutterUpLiving.js index 4caf3cd2..093a746c 100644 --- a/lib/shutterUpLiving.js +++ b/lib/shutterUpLiving.js @@ -21,7 +21,7 @@ async function driveshutterUpLiving(adapter, upTimeLiving, autoLivingStr, shutte adapter.log.debug(`Living-type: ${livingType}`); const resLiving = shutterSettings.filter((/** @type {{ typeUp: string; }} */ d) => d.typeUp == livingType); // Filter Area Living - const result = resLiving.filter((/** @type {{ enabled: boolean; }} */ d) => d.enabled === true); // Filter enabled + const result = resLiving.filter((/** @type {{ enabled: boolean | string; }} */ d) => d.enabled === true || d.enabled === 'true'); // Filter enabled let number = 0; diff --git a/lib/shutterUpSleep.js b/lib/shutterUpSleep.js index f781bc30..d3a2c73c 100644 --- a/lib/shutterUpSleep.js +++ b/lib/shutterUpSleep.js @@ -21,7 +21,7 @@ async function driveshutterUpSleep(adapter, upTimeSleep, autoSleepStr, shutterSe adapter.log.debug(`Sleep-type: ${sleepType}`); const resSleep = shutterSettings.filter((/** @type {{ typeUp: any; }} */ d) => d.typeUp == sleepType); // Filter Area sleep - const result = resSleep.filter((/** @type {{ enabled: boolean; }} */ d) => d.enabled === true); // Filter enabled + const result = resSleep.filter((/** @type {{ enabled: boolean | string; }} */ d) => d.enabled === true || d.enabled === 'true'); // Filter enabled ; let number = 0; diff --git a/lib/sunProtect.js b/lib/sunProtect.js index 379d391c..5b567ed1 100644 --- a/lib/sunProtect.js +++ b/lib/sunProtect.js @@ -19,7 +19,7 @@ async function sunProtect(adapter, elevation, azimuth, shutterSettings) { await sleep(2000); if (shutterSettings) { - const result = shutterSettings.filter((/** @type {{ enabled: boolean; }} */ d) => d.enabled === true); // Filter enabled + const result = shutterSettings.filter((/** @type {{ enabled: boolean | string; }} */ d) => d.enabled === true || d.enabled === 'true'); // Filter enabled if (elevation > adapter.config.sunProtEndElevation) { for (const i in result) { @@ -1350,7 +1350,7 @@ async function sunProtect(adapter, elevation, azimuth, shutterSettings) { // +++++++++++++++++ End of sunprotect with Elevationslimit +++++++++++++++ if (shutterSettings) { - const result = shutterSettings.filter((/** @type {{ enabled: boolean; }} */ d) => d.enabled === true); + const result = shutterSettings.filter((/** @type {{ enabled: boolean | string; }} */ d) => d.enabled === true || d.enabled === 'true'); const sunProtEndStart = parseInt(adapter.config.sunProtEndElevation); const sunProtEndStop = (adapter.config.sunProtEndElevation - 1); diff --git a/main.js b/main.js index 4ee0d87e..0122a436 100644 --- a/main.js +++ b/main.js @@ -1193,14 +1193,14 @@ function delayCalc() { if (resultFull) { if (upTimeLiving === upTimeSleep) { const resLiving = resultFull.filter((/** @type {{ typeUp: string; }} */ d) => d.typeUp === 'living'); // Filter Area Living - const result = resLiving.filter((/** @type {{ enabled: boolean; }} */ d) => d.enabled === true); // Filter enabled + const result = resLiving.filter((/** @type {{ enabled: boolean | string; }} */ d) => d.enabled === true || d.enabled === 'true'); // Filter enabled for (const i in result) { delayUp++; } if (autoLivingStr === true) { const resLivingAuto = resultFull.filter((/** @type {{ typeUp: string; }} */ d) => d.typeUp === 'living-auto'); // Filter Area Living - const result2 = resLivingAuto.filter((/** @type {{ enabled: boolean; }} */ d) => d.enabled === true); // Filter enabled + const result2 = resLivingAuto.filter((/** @type {{ enabled: boolean | string; }} */ d) => d.enabled === true || d.enabled === 'true'); // Filter enabled for (const i in result2) { delayUp++; @@ -1212,14 +1212,14 @@ function delayCalc() { delayUpChildren = delayUp; const resLiving = resultFull.filter((/** @type {{ typeUp: string; }} */ d) => d.typeUp === 'sleep'); // Filter Area Sleep - const result = resLiving.filter((/** @type {{ enabled: boolean; }} */ d) => d.enabled === true); // Filter enabled + const result = resLiving.filter((/** @type {{ enabled: boolean | string; }} */ d) => d.enabled === true || d.enabled === 'true'); // Filter enabled for (const i in result) { delayUpChildren++; } if (autoSleepStr === true) { const resLivingAuto = resultFull.filter((/** @type {{ typeUp: string; }} */ d) => d.typeUp === 'sleep-auto'); // Filter Area Sleep - const result2 = resLivingAuto.filter((/** @type {{ enabled: boolean; }} */ d) => d.enabled === true); // Filter enabled + const result2 = resLivingAuto.filter((/** @type {{ enabled: boolean | string; }} */ d) => d.enabled === true || d.enabled === 'true'); // Filter enabled for (const i in result2) { delayUpChildren++; @@ -1228,14 +1228,14 @@ function delayCalc() { } if (downTimeLiving === downTimeSleep) { const resLiving2 = resultFull.filter((/** @type {{ typeDown: string; }} */ d) => d.typeDown === 'living'); // Filter Area Living - const result3 = resLiving2.filter((/** @type {{ enabled: boolean; }} */ d) => d.enabled === true); // Filter enabled + const result3 = resLiving2.filter((/** @type {{ enabled: boolean | string; }} */ d) => d.enabled === true || d.enabled === 'true'); // Filter enabled for (const i in result3) { delayDown++; } if (autoLivingStr === true) { const resLivingAuto2 = resultFull.filter((/** @type {{ typeDown: string; }} */ d) => d.typeDown === 'living-auto'); // Filter Area Living - const result4 = resLivingAuto2.filter((/** @type {{ enabled: boolean; }} */ d) => d.enabled === true); // Filter enabled + const result4 = resLivingAuto2.filter((/** @type {{ enabled: boolean | string; }} */ d) => d.enabled === true || d.enabled === 'true'); // Filter enabled for (const i in result4) { delayDown++; @@ -1247,7 +1247,7 @@ function delayCalc() { delayDownChildren = delayDown; const resLiving2 = resultFull.filter((/** @type {{ typeDown: string; }} */ d) => d.typeDown === 'sleep'); // Filter Area Sleep - const result3 = resLiving2.filter((/** @type {{ enabled: boolean; }} */ d) => d.enabled === true); // Filter enabled + const result3 = resLiving2.filter((/** @type {{ enabled: boolean | string; }} */ d) => d.enabled === true || d.enabled === 'true'); // Filter enabled for (const i in result3) { delayDownChildren++; @@ -1255,7 +1255,7 @@ function delayCalc() { if (autoSleepStr === true) { const resLivingAuto2 = resultFull.filter((/** @type {{ typeDown: string; }} */ d) => d.typeDown === 'sleep-auto'); // Filter Area Sleep - const result4 = resLivingAuto2.filter((/** @type {{ enabled: boolean; }} */ d) => d.enabled === true); // Filter enabled + const result4 = resLivingAuto2.filter((/** @type {{ enabled: boolean | string; }} */ d) => d.enabled === true || d.enabled === 'true'); // Filter enabled for (const i in result4) { delayDownChildren++;