Условие попадания события во временной промежуток: различия между версиями
Bigmanekb (обсуждение | вклад) Нет описания правки |
Bigmanekb (обсуждение | вклад) |
||
Строка 9: | Строка 9: | ||
[[Файл:Период времени.png|центр|обрамить]]При этом его использовать можно несколькими способами: | [[Файл:Период времени.png|центр|обрамить]]При этом его использовать можно несколькими способами: | ||
Если блок периода времени, включен как триггер, то это запустит срабатывание сценария в указанные часы в промежутке времени | Если блок периода времени, включен как триггер, то это запустит срабатывание сценария в указанные часы в промежутке времени. То есть в данном примере - сценарий будет запущен в 7 утра и 23 часа вечера. | ||
[[Файл:Период времени - сценарий триггер.png|центр|обрамить]] | [[Файл:Период времени - сценарий триггер.png|центр|обрамить]]Чтобы использовать период времени только как условие попадания события в этот промежуток, триггер с блока периода времени необходимо снять | ||
[[Файл:Период времени - сценарий.png|центр|обрамить]] | |||
== Вариант с помощью блоков кода == | == Вариант с помощью блоков кода == |
Версия от 13:27, 22 февраля 2023
Если вы хотите проверить условие по периоду времени с точностью до минут, то пока придется использовать блок кода в разделе Если.
При этом, данный блок кода не является триггером для запуска сценария. Его можно использовать только в качестве дополнительного условия проверки в режиме: "Если сработал датчик движения и текущее время находится в указанном промежутке, тогда выполнить вот это"
Вариант в блочном сценарии
В блочных сценариях появился блок, в котором можно выбирать период времени, при соблюдении которого - сценарий будет выполняться.
Он добавляется в блоке Если
При этом его использовать можно несколькими способами:
Если блок периода времени, включен как триггер, то это запустит срабатывание сценария в указанные часы в промежутке времени. То есть в данном примере - сценарий будет запущен в 7 утра и 23 часа вечера.
Чтобы использовать период времени только как условие попадания события в этот промежуток, триггер с блока периода времени необходимо снять
Вариант с помощью блоков кода
Внутри одних суток
let time = new Date().getHours() * 60 + new Date().getMinutes();
let start = 01 * 60 + 25;
let end = 03 * 60 + 30;
return ((time >= start) && (time <= end))
где:
в блоке start 01 - это часы, 25 это минуты начального периода
в блоке end: 03 - это часы, 30 это минуты конечного периода
При переходе через полночь
let time = new Date().getHours() * 60 + new Date().getMinutes();
let start = 17 * 60 + 25;
let end = 03 * 60 + 30;
return ((time >= start) || (time <= end))
где:
в блоке start 17 - это часы, 25 это минуты начального периода
в блоке end: 03 - это часы, 30 это минуты конечного периода