Условие попадания события во временной промежуток: различия между версиями

Материал из Sprut.hub Wiki
(Новая страница: «Если вы хотите проверить условие по периоду времени с точностью до минут, то пока придется использовать блок кода в разделе Если. При этом, данный блок кода не является триггером для запуска сценария. Его можно использовать только в качестве дополните...»)
 
Нет описания правки
Строка 2: Строка 2:


При этом, данный блок кода не является триггером для запуска сценария. Его можно использовать только в качестве дополнительного условия проверки в режиме: '''"Если сработал датчик движения и текущее время находится в указанном промежутке, тогда выполнить вот это"'''
При этом, данный блок кода не является триггером для запуска сценария. Его можно использовать только в качестве дополнительного условия проверки в режиме: '''"Если сработал датчик движения и текущее время находится в указанном промежутке, тогда выполнить вот это"'''
== Вариант в блочном сценарии ==
В блочных сценариях появился блок, в котором можно выбирать период времени, при соблюдении которого - сценарий будет выполняться.
Он добавляется в блоке Если
[[Файл:Период времени.png|центр|обрамить]]
== Вариант с помощью блоков кода ==


== Внутри одних суток ==
== Внутри одних суток ==

Версия от 13:23, 22 февраля 2023

Если вы хотите проверить условие по периоду времени с точностью до минут, то пока придется использовать блок кода в разделе Если.

При этом, данный блок кода не является триггером для запуска сценария. Его можно использовать только в качестве дополнительного условия проверки в режиме: "Если сработал датчик движения и текущее время находится в указанном промежутке, тогда выполнить вот это"

Вариант в блочном сценарии

В блочных сценариях появился блок, в котором можно выбирать период времени, при соблюдении которого - сценарий будет выполняться.

Он добавляется в блоке Если

Вариант с помощью блоков кода

Внутри одних суток

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 это минуты конечного периода