Skip to content

Commit

Permalink
Browse files Browse the repository at this point in the history
  • Loading branch information
misanorot committed Oct 31, 2023
1 parent b12c616 commit 87b10a2
Show file tree
Hide file tree
Showing 3 changed files with 32 additions and 27 deletions.
9 changes: 9 additions & 0 deletions CHANGELOG_OLD.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,14 @@
# Older changes

### 3.3.13 (2023-09-19)
* (misanorot) fixed #147

### 3.3.12 (2023-06-23)
* (misanorot) fixed select-id popup and little issues on setting pages

### 3.3.11 (2023-04-15)
* (misanorot) fixed issue at night rest

### 3.3.6 (2022-12-28)
* (misanorot) fixed issues at night rest logs
* (misanorot) added more logs during burglary
Expand Down
12 changes: 4 additions & 8 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -29,20 +29,16 @@
Placeholder for the next version (at the beginning of the line):
### **WORK IN PROGRESS**
-->
### **WORK IN PROGRESS**
* (misanorot) added enhancement #170

### 3.4.1 (2023-10-29)
* (misanorot) fixed astro at presence simulation (jsControler 5.x???)

### 3.4.0 (2023-10-03)
* (misanorot) fixed #168

### 3.3.13 (2023-09-19)
* (misanorot) fixed #147

### 3.3.12 (2023-06-23)
* (misanorot) fixed select-id popup and little issues on setting pages

### 3.3.11 (2023-04-15)
* (misanorot) fixed issue at night rest
**[older changelogs](CHANGELOG_OLD.md)**

## License
MIT License
Expand Down
38 changes: 19 additions & 19 deletions main.js
Original file line number Diff line number Diff line change
Expand Up @@ -1848,95 +1848,95 @@ class Alarm extends utils.Adapter {
switch (presenceTimers[item].option_presence) {
case 'time':
if (presenceTimers[item].presence_time_from == '' || presenceTimers[item].presence_time_to == '') {
this.log.warn(`Please check the times when configuring attendance: ${presenceTimers[item].name_id}`);
this.log.warn(`Please check the times when configuring attendance: ${presenceTimers[item].name} -- ${presenceTimers[item].name_id} `);
return;
}
if (this.timeInRange(presenceTimers[item].presence_time_from, presenceTimers[item].presence_time_to) && !presenceTimers[item].wasOn) {
this.log.debug(`Delay for: ${presenceTimers[item].name_id} starts ${presenceTimers[item].presence_delay}ms, because time is in range.`);
this.log.debug(`Delay for: ${presenceTimers[item].name} -- ${presenceTimers[item].name_id} starts ${presenceTimers[item].presence_delay}ms, because time is in range.`);
presenceTimers[item].wasOn = true;
presenceTimers[item].presenceDelayTimer = setTimeout(() => {
this.log.debug(`Delay for: ${presenceTimers[item].name_id} ends and switch ON ${presenceTimers[item].presence_length}ms.`);
this.log.debug(`Delay for: ${presenceTimers[item].name} -- ${presenceTimers[item].name_id} ends and switch ON ${presenceTimers[item].presence_length}ms.`);
this.setForeignState(presenceTimers[item].name_id, this.bools(presenceTimers[item].presence_val_on), (err) => {
if (err) this.log.warn(`Cannot set state: ${err}`);
});
presenceTimers[item].presenceLengthTimer = setTimeout(() => {
this.log.debug(`Switch ON for: ${presenceTimers[item].name_id} ends and switch OFF.`);
this.log.debug(`Switch ON for: ${presenceTimers[item].name} -- ${presenceTimers[item].name_id} ends and switch OFF.`);
this.setForeignState(presenceTimers[item].name_id, this.bools(presenceTimers[item].presence_val_off), (err) => {
if (err) this.log.warn(`Cannot set state: ${err}`);
});
}, presenceTimers[item].presence_length);
}, presenceTimers[item].presence_delay);
} else {
this.log.debug(`${presenceTimers[item].name_id} was ON or is not in time range`);
this.log.debug(`${presenceTimers[item].name} -- ${presenceTimers[item].name_id} was ON or is not in time range`);
}
break;
case 'sunrise':
if (sunrise && !presenceTimers[item].wasOn) {
this.log.debug(`Delay for: ${presenceTimers[item].name_id} starts ${presenceTimers[item].presence_delay}ms, by sunrise`);
this.log.debug(`Delay for: ${presenceTimers[item].name} -- ${presenceTimers[item].name_id} starts ${presenceTimers[item].presence_delay}ms, by sunrise`);
presenceTimers[item].wasOn = true;
presenceTimers[item].presenceDelayTimer = setTimeout(() => {
this.log.debug(`Delay for: ${presenceTimers[item].name_id} ends and switch ON ${presenceTimers[item].presence_length}ms.`);
this.log.debug(`Delay for: ${presenceTimers[item].name} -- ${presenceTimers[item].name_id} ends and switch ON ${presenceTimers[item].presence_length}ms.`);
this.setForeignState(presenceTimers[item].name_id, this.bools(presenceTimers[item].presence_val_on), (err) => {
if (err) this.log.warn(`Cannot set state: ${err}`);
});
presenceTimers[item].presenceLengthTimer = setTimeout(() => {
this.log.debug(`Switch ON for: ${presenceTimers[item].name_id} ends and switch OFF.`);
this.log.debug(`Switch ON for: ${presenceTimers[item].name} -- ${presenceTimers[item].name_id} ends and switch OFF.`);
this.setForeignState(presenceTimers[item].name_id, this.bools(presenceTimers[item].presence_val_off), (err) => {
if (err) this.log.warn(`Cannot set state: ${err}`);
});
}, presenceTimers[item].presence_length);
}, presenceTimers[item].presence_delay);
} else {
this.log.debug(`${presenceTimers[item].name_id} was ON or is no sunrise`);
this.log.debug(`${presenceTimers[item].name} -- ${presenceTimers[item].name_id} was ON or is no sunrise`);
}
break;
case 'sunset':
if (sunset && !presenceTimers[item].wasOn) {
this.log.debug(`Delay for: ${presenceTimers[item].name_id} starts ${presenceTimers[item].presence_delay}ms, by sunset`);
this.log.debug(`Delay for: ${presenceTimers[item].name} -- ${presenceTimers[item].name_id} starts ${presenceTimers[item].presence_delay}ms, by sunset`);
presenceTimers[item].wasOn = true;
presenceTimers[item].presenceDelayTimer = setTimeout(() => {
this.log.debug(`Delay for: ${presenceTimers[item].name_id} ends and switch ON ${presenceTimers[item].presence_length}ms.`);
this.log.debug(`Delay for: ${presenceTimers[item].name} -- ${presenceTimers[item].name_id} ends and switch ON ${presenceTimers[item].presence_length}ms.`);
this.setForeignState(presenceTimers[item].name_id, this.bools(presenceTimers[item].presence_val_on), (err) => {
if (err) this.log.warn(`Cannot set state: ${err}`);
});
presenceTimers[item].presenceLengthTimer = setTimeout(() => {
this.log.debug(`Switch ON for: ${presenceTimers[item].name_id} ends and switch OFF.`);
this.log.debug(`Switch ON for: ${presenceTimers[item].name} -- ${presenceTimers[item].name_id} ends and switch OFF.`);
this.setForeignState(presenceTimers[item].name_id, this.bools(presenceTimers[item].presence_val_off), (err) => {
if (err) this.log.warn(`Cannot set state: ${err}`);
});
}, presenceTimers[item].presence_length);
}, presenceTimers[item].presence_delay);
} else {
this.log.debug(`${presenceTimers[item].name_id} was ON or is no sunset`);
this.log.debug(`${presenceTimers[item].name} -- ${presenceTimers[item].name_id} was ON or is no sunset`);
}
break;
case 'light':
// eslint-disable-next-line no-case-declarations
const lightVal = await this.getForeignStateAsync(presenceTimers[item].presence_trigger_light).catch((e) => {
this.log.warn(`Check your light ID ${presenceTimers[item].name_id} in presence config! +++ ${e}`);
this.log.warn(`Check your light ID ${presenceTimers[item].name} -- ${presenceTimers[item].name_id} in presence config! +++ ${e}`);
return;
});
if (lightVal.val < presenceTimers[item].presence_light_lux && !presenceTimers[item].wasOn) {
this.log.debug(`Delay for: ${presenceTimers[item].name_id} starts ${presenceTimers[item].presence_delay}ms, because light value is exceeded`);
this.log.debug(`Delay for: ${presenceTimers[item].name} -- ${presenceTimers[item].name_id} starts ${presenceTimers[item].presence_delay}ms, because light value is not under the limit.`);
presenceTimers[item].wasOn = true;
presenceTimers[item].presenceDelayTimer = setTimeout(() => {
this.log.debug(`Delay for: ${presenceTimers[item].name_id} ends and switch ON ${presenceTimers[item].presence_length}ms.`);
this.log.debug(`Delay for: ${presenceTimers[item].name} -- ${presenceTimers[item].name_id} ends and switch ON ${presenceTimers[item].presence_length}ms.`);
this.setForeignState(presenceTimers[item].name_id, this.bools(presenceTimers[item].presence_val_on), (err) => {
if (err) this.log.warn(`Cannot set state: ${err}`);
});
presenceTimers[item].presenceLengthTimer = setTimeout(() => {
this.log.debug(`Switch ON for: ${presenceTimers[item].name_id} ends and switch OFF.`);
this.log.debug(`Switch ON for: ${presenceTimers[item].name} -- ${presenceTimers[item].name_id} ends and switch OFF.`);
this.setForeignState(presenceTimers[item].name_id, this.bools(presenceTimers[item].presence_val_off), (err) => {
if (err) this.log.warn(`Cannot set state: ${err}`);
});
}, presenceTimers[item].presence_length);
}, presenceTimers[item].presence_delay);
} else {
this.log.debug(`${presenceTimers[item].name_id} was ON or light value is not exceeded`);
this.log.debug(`${presenceTimers[item].name} -- ${presenceTimers[item].name_id} was ON or light value is not under the limit.`);
}
break;
default:
this.log.warn(`Please check presence configuration for: ${presenceTimers[item].name_id}, value: ${presenceTimers[item].option_presence}`);
this.log.warn(`Please check presence configuration for: ${presenceTimers[item].name} -- ${presenceTimers[item].name_id} , value: ${presenceTimers[item].option_presence}`);
}
}
}
Expand Down

0 comments on commit 87b10a2

Please sign in to comment.