Skip to content

Commit

Permalink
(simatec) Fix Shutter up when open the Window
Browse files Browse the repository at this point in the history
  • Loading branch information
simatec committed Aug 5, 2024
1 parent ab0c070 commit ade3da1
Show file tree
Hide file tree
Showing 6 changed files with 63 additions and 8 deletions.
2 changes: 1 addition & 1 deletion README.md
Original file line number Diff line number Diff line change
Expand Up @@ -53,8 +53,8 @@ When the adapter crashes or an other Code error happens, this error message that
* (simatec) Trigger changed
* (simatec) Code revision and improvements
* (simatec) many small fixes
* (simatec) Fix sleep up when open the Window
* (simatec) Fix Sunprotect end by Shutter up
* (simatec) Fix Shutter up when open the Window

### 1.7.3 (2024-06-20)
* (simatec) Fix Sunprotect End-Delay
Expand Down
13 changes: 12 additions & 1 deletion lib/shutterBrightnessSensor.js
Original file line number Diff line number Diff line change
Expand Up @@ -262,13 +262,24 @@ async function shutterBrightnessSensor(adapter, brightnessValue, shutterSettings
} else if (currentValue != mustValue && currentValue != mustValueTilted && shutterSettings[s].driveAfterClose == true) {
const _shutterState = await adapter.getForeignStateAsync(shutterSettings[s].name).catch((e) => adapter.log.warn(e));

if (typeof _shutterState != undefined && _shutterState != null && Math.round(_shutterState.val / adapter.config.shutterStateRound) * adapter.config.shutterStateRound != shutterHeight) {
if (_shutterState?.val &&
Math.round(_shutterState.val / adapter.config.shutterStateRound) * adapter.config.shutterStateRound != shutterHeight) {

shutterSettings[s].triggerHeight = shutterHeight;
shutterSettings[s].triggerAction = shutterSettings[s].currentAction;

adapter.log.info(`Lightsensor #7 Will open ID: ${shutterSettings[s].shutterName} value: ${shutterHeight}% after the window has been closed`);
adapter.log.debug(`save new trigger height: ${shutterHeight}%`);
adapter.log.debug(`save new trigger action: ${shutterSettings[s].triggerAction}`);
} else if (_shutterState?.val &&
Math.round(_shutterState.val / adapter.config.shutterStateRound) * adapter.config.shutterStateRound == shutterHeight) {

shutterSettings[s].triggerHeight = shutterHeight;
shutterSettings[s].triggerAction = shutterSettings[s].currentAction;

adapter.log.info(`Lightsensor #8 Will open ID: ${shutterSettings[s].shutterName} value: ${shutterHeight}% after is the value for Lightsensor up`);
adapter.log.debug(`save new trigger height: ${shutterHeight}%`);
adapter.log.debug(`save new trigger action: ${shutterSettings[s].triggerAction}`);
}
}
}
Expand Down
12 changes: 11 additions & 1 deletion lib/shutterGoldenHour.js
Original file line number Diff line number Diff line change
Expand Up @@ -117,13 +117,23 @@ async function shutterGoldenHour(adapter, goldenHourEnd, goldenHour, shutterSett
} else if (currentValue != mustValue && currentValue != mustValueTilted && shutterSettings[s].driveAfterClose == true) {
const _shutterState = await adapter.getForeignStateAsync(shutterSettings[s].name).catch((e) => adapter.log.warn(e));

if (typeof _shutterState != undefined && _shutterState != null && Math.round(_shutterState.val / adapter.config.shutterStateRound) * adapter.config.shutterStateRound != shutterHeight) {
if (_shutterState?.val &&
Math.round(_shutterState.val / adapter.config.shutterStateRound) * adapter.config.shutterStateRound != shutterHeight) {
shutterSettings[s].triggerHeight = shutterHeight;
shutterSettings[s].triggerAction = shutterSettings[s].currentAction;

adapter.log.info('#7 Will open ID: ' + shutterSettings[s].shutterName + ' value: ' + shutterHeight + '%' + ' after the window has been closed ');
adapter.log.debug('save new trigger height: ' + shutterHeight + '%');
adapter.log.debug('save new trigger action: ' + shutterSettings[s].triggerAction);
} else if (_shutterState?.val &&
Math.round(_shutterState.val / adapter.config.shutterStateRound) * adapter.config.shutterStateRound == shutterHeight) {

shutterSettings[s].triggerHeight = shutterHeight;
shutterSettings[s].triggerAction = shutterSettings[s].currentAction;

adapter.log.info(`#8 Will open ID: ${shutterSettings[s].shutterName} value: ${shutterHeight}% after is the value for Goldenhour up`);
adapter.log.debug(`save new trigger height: ${shutterHeight}%`);
adapter.log.debug(`save new trigger action: ${shutterSettings[s].triggerAction}`);
}
}
} else {
Expand Down
13 changes: 12 additions & 1 deletion lib/shutterSunriseSunset.js
Original file line number Diff line number Diff line change
Expand Up @@ -120,13 +120,24 @@ async function shutterSunriseSunset(adapter, sunriseStr, sunsetStr, shutterSetti
} else if (currentValue != mustValue && currentValue != mustValueTilted && shutterSettings[s].driveAfterClose == true) {
const _shutterState = await adapter.getForeignStateAsync(shutterSettings[s].name).catch((e) => adapter.log.warn(e));

if (typeof _shutterState != undefined && _shutterState != null && Math.round(_shutterState.val / adapter.config.shutterStateRound) * adapter.config.shutterStateRound != shutterHeight) {
if (_shutterState?.val &&
Math.round(_shutterState.val / adapter.config.shutterStateRound) * adapter.config.shutterStateRound != shutterHeight) {

shutterSettings[s].triggerHeight = shutterHeight;
shutterSettings[s].triggerAction = shutterSettings[s].currentAction;

adapter.log.info('#11 Will open ID: ' + shutterSettings[s].shutterName + ' value: ' + shutterHeight + '%' + ' after the window has been closed ');
adapter.log.debug('save new trigger height: ' + shutterHeight + '%');
adapter.log.debug('save new trigger action: ' + shutterSettings[s].triggerAction);
} else if (_shutterState?.val &&
Math.round(_shutterState.val / adapter.config.shutterStateRound) * adapter.config.shutterStateRound == shutterHeight) {

shutterSettings[s].triggerHeight = shutterHeight;
shutterSettings[s].triggerAction = shutterSettings[s].currentAction;

adapter.log.info(`#22 Will open ID: ${shutterSettings[s].shutterName} value: ${shutterHeight}% after is the value for Sunrise up`);
adapter.log.debug(`save new trigger height: ${shutterHeight}%`);
adapter.log.debug(`save new trigger action: ${shutterSettings[s].triggerAction}`);
}
}
} else {
Expand Down
9 changes: 9 additions & 0 deletions lib/shutterUpChildren.js
Original file line number Diff line number Diff line change
Expand Up @@ -118,6 +118,15 @@ async function driveshutterUpChildren(adapter, upTimeChildren, autoChildrenStr,
adapter.log.info('#23 Will open ID: ' + shutterSettings[s].shutterName + ' value: ' + shutterHeight + '%' + ' after the window has been closed ');
adapter.log.debug('save new trigger height: ' + shutterHeight + '%');
adapter.log.debug('save new trigger action: ' + shutterSettings[s].triggerAction);
} else if (_shutterState?.val &&
Math.round(_shutterState.val / adapter.config.shutterStateRound) * adapter.config.shutterStateRound == shutterHeight) {

shutterSettings[s].triggerHeight = shutterHeight;
shutterSettings[s].triggerAction = shutterSettings[s].currentAction;

adapter.log.info(`#24 Will open ID: ${shutterSettings[s].shutterName} value: ${shutterHeight}% after is the value for Children up`);
adapter.log.debug(`save new trigger height: ${shutterHeight}%`);
adapter.log.debug(`save new trigger action: ${shutterSettings[s].triggerAction}`);
}
}
} else {
Expand Down
22 changes: 18 additions & 4 deletions lib/shutterUpLiving.js
Original file line number Diff line number Diff line change
Expand Up @@ -29,7 +29,7 @@ async function driveshutterUpLiving(adapter, upTimeLiving, autoLivingStr, shutte
for (const i in result) {
number++;
}
timeoutLivingAuto = number !== 0 ? number * driveDelayUpLiving: driveDelayUpLiving;
timeoutLivingAuto = number !== 0 ? number * driveDelayUpLiving : driveDelayUpLiving;
}

for (const i in result) {
Expand Down Expand Up @@ -109,16 +109,30 @@ async function driveshutterUpLiving(adapter, upTimeLiving, autoLivingStr, shutte

adapter.log.debug('shutterUpLiving #2 ' + shutterSettings[s].shutterName + ' already up at: ' + shutterHeight + '% - setting current action: ' + shutterSettings[s].currentAction);
}
} else if (currentValue != mustValue && currentValue != mustValueTilted && shutterSettings[s].driveAfterClose == true) {
} else if (currentValue != mustValue &&
currentValue != mustValueTilted &&
shutterSettings[s].driveAfterClose == true) {

const _shutterState = await adapter.getForeignStateAsync(shutterSettings[s].name).catch((e) => adapter.log.warn(e));

if (typeof _shutterState != undefined && _shutterState != null && Math.round(_shutterState.val / adapter.config.shutterStateRound) * adapter.config.shutterStateRound != shutterSettings[s].shutterHeight) {
if (_shutterState?.val &&
Math.round(_shutterState.val / adapter.config.shutterStateRound) * adapter.config.shutterStateRound != shutterSettings[s].shutterHeight) {

shutterSettings[s].triggerHeight = shutterHeight;
shutterSettings[s].triggerAction = shutterSettings[s].currentAction;

adapter.log.info('#15 Will open ID: ' + shutterSettings[s].shutterName + ' value: ' + shutterHeight + '%' + ' after the window has been closed ');
adapter.log.debug('save new trigger height: ' + shutterHeight + '%');
adapter.log.debug('save new trigger action: ' + shutterSettings[s].triggerAction);
} else if (_shutterState?.val &&
Math.round(_shutterState.val / adapter.config.shutterStateRound) * adapter.config.shutterStateRound == shutterHeight) {

shutterSettings[s].triggerHeight = shutterHeight;
shutterSettings[s].triggerAction = shutterSettings[s].currentAction;

adapter.log.info(`#16 Will open ID: ${shutterSettings[s].shutterName} value: ${shutterHeight}% after is the value for living up`);
adapter.log.debug(`save new trigger height: ${shutterHeight}%`);
adapter.log.debug(`save new trigger action: ${shutterSettings[s].triggerAction}`);
}
}
} else {
Expand All @@ -130,7 +144,7 @@ async function driveshutterUpLiving(adapter, upTimeLiving, autoLivingStr, shutte
}
}
adapter.log.debug(`Adapter Auto-Living is: ${autoLivingStr}`);

// start living-auto after drive living shutter
if ((autoLivingStr === true || autoLivingStr === 'true') && livingType === 'living') {
await sleep(timeoutLivingAuto);
Expand Down

0 comments on commit ade3da1

Please sign in to comment.