kasa-smart-hub
Version:
Virtual Smart Hub for TP-Link Kasa Smart Home
23 lines (21 loc) • 703 B
JavaScript
import assert from 'assert';
import secondsUntilNextTime from './seconds-until-next-time.js';
export default (alias, state, config) => {
let delay = 0;
if (state === true) {
// eslint-disable-next-line no-underscore-dangle
delay = alias in config.timer ? config.timer[alias] : config.timer.__default;
if (alias in config.off) {
const delayByTime = secondsUntilNextTime(config.off[alias], config.timezone);
if (delayByTime < delay) {
delay = delayByTime;
}
}
} else {
assert(state === false);
if (alias in config.on) {
delay = secondsUntilNextTime(config.on[alias], config.timezone);
}
}
return delay >= 24 * 60 * 60 ? 0 : delay;
};