Подскажите, есть wi-fi розетка, хочу включать\выключать ее по расписанию.
При этом чтобы сообщала что операция выполнена.
Использую такой код в методе onNewMinute :
Код: Выделить всё
//расписание для розетки
if (timeBetween(gg('switch_is.start_time'),gg('switch_is.stop_time')) && gg('switch_is.shedule_enable')=="1" && gg('switch_is.status')=="0") {
sg("switch_is.status",1);
say("Розетка включена по расписанию.");
} elseif (!timeBetween(gg('switch_is.start_time'),gg('switch_is.stop_time')) && gg('switch_is.shedule_enable')=="1" && gg('switch_is.status')=="1") {
say("Розетка выключена по расписанию.");
sg("switch_is.status",0);
}
Если же в промежуточное время выключить розетку (во время когда должна быть включена), то она корректно стартует автоматически и отсылается уведомление о включении.
У меня подозрение что в условиях timeBetween и !timeBetween происходит пересечение в моменты времени start_time и stop_time
Подскажите, как этого избежать?