Триггеры в сценариях (желтые кружочки): различия между версиями

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


По умолчанию, активным триггером, запускающим сценарий являются устройства, расположенные в верхнем уровне Если. Все остальные уровни Если - по умолчанию создаются не активными.
По умолчанию, активным триггером, запускающим сценарий являются устройства, расположенные в верхнем уровне Если. Все остальные уровни Если - по умолчанию создаются не активными.
{{QuoteRed|Не стоит использовать в качестве триггера устройства, которыми вы собираетесь управлять в сценарии. Это приведет к зацикливанию и сценарий не будет работать}}


Давайте разберем на примерах.
Давайте разберем на примерах.
Строка 15: Строка 16:
В данном случае возможны уже два варианта развития событий:
В данном случае возможны уже два варианта развития событий:


1. Если датчик Движение Спальня обнаружил движение, то Если уровень освещенности датчика освещенности меньше 200 лк, то включится Лампочка в новой комнате, а также если Датчик присутствия обнаружил присутствие, то включится Выключатель. (все как в первом примере)  
# Если датчик Движение Спальня обнаружил движение, то Если уровень освещенности датчика освещенности меньше 200 лк, то включится Лампочка в новой комнате, а также если Датчик присутствия обнаружил присутствие, то включится Выключатель. (все как в первом примере)
 
# Если датчик освещенности обнаружил уровень освещенности ниже 200 лк, то включить лампочку НО!!! только если кроме этого выполнено условие верхнего уровня, то есть обнаружено движение
 
Если датчик освещенности обнаружил уровень освещенности ниже 200 лк, то включить лампочку НО!!! только если кроме этого выполнено условие верхнего уровня, то есть обнаружено движение


При этом во втором варианте - включится только лампочка по датчику освещенности.
При этом во втором варианте - включится только лампочка по датчику освещенности.
[[Файл:Сценарии 002 триггеры.jpg|центр|обрамить]]


== Пример 3: ==
== Пример 3: ==
В данном варианте триггером, запускающим сценарий будет только датчик освещенности. То есть если будет обнаружено движение - ничего не произойдет.
В данном варианте триггером, запускающим сценарий будет только датчик освещенности.  
 
{{QuoteYellow|То есть если будет обнаружено движение - ничего не произойдет}}
А вот если освещенность упадет ниже 200 лк, то опять же если обнаружено движение (проверка условия верхнего уровня) то включится лампочка
А вот если освещенность упадет ниже 200 лк, то опять же если обнаружено движение (проверка условия верхнего уровня) то включится лампочка
[[Файл:Сценарии 003 триггеры.jpg|центр|обрамить]]


Выключатель по датчику присутствия в данном примере не включится никогда.
Выключатель по датчику присутствия в данном примере не включится никогда.
Строка 31: Строка 32:
== Пример 4: ==
== Пример 4: ==
В данном варианте, единственным запускающим триггером будет датчик присутствия. То есть если он обнаружил присутствие и обнаружено движение Спальня (выполнено условие верхнего уровня), то выключатель включается. Датчик освещенности лампочку уже никогда не включит.
В данном варианте, единственным запускающим триггером будет датчик присутствия. То есть если он обнаружил присутствие и обнаружено движение Спальня (выполнено условие верхнего уровня), то выключатель включается. Датчик освещенности лампочку уже никогда не включит.
 
[[Файл:Сценарии 004 триггеры.jpg|центр|обрамить]]
Соответственно если ни на одном из датчиков не будет установлен желтый кружок - сценарий не запустится по срабатыванию любого из датчиков.
Соответственно если ни на одном из датчиков не будет установлен желтый кружок - сценарий не запустится по срабатыванию любого из датчиков.

Текущая версия от 15:36, 21 ноября 2022

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

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

Не стоит использовать в качестве триггера устройства, которыми вы собираетесь управлять в сценарии. Это приведет к зацикливанию и сценарий не будет работать

Давайте разберем на примерах.

Пример 1:

Если датчик Движение Спальня обнаружил движение, то Если уровень освещенности датчика освещенности меньше 200 лк, то включится Лампочка в новой комнате, а также если Датчик присутствия обнаружил присутствие, то включится Выключатель.


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

Пример 2:

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

  1. Если датчик Движение Спальня обнаружил движение, то Если уровень освещенности датчика освещенности меньше 200 лк, то включится Лампочка в новой комнате, а также если Датчик присутствия обнаружил присутствие, то включится Выключатель. (все как в первом примере)
  2. Если датчик освещенности обнаружил уровень освещенности ниже 200 лк, то включить лампочку НО!!! только если кроме этого выполнено условие верхнего уровня, то есть обнаружено движение

При этом во втором варианте - включится только лампочка по датчику освещенности.

Пример 3:

В данном варианте триггером, запускающим сценарий будет только датчик освещенности.

То есть если будет обнаружено движение - ничего не произойдет

А вот если освещенность упадет ниже 200 лк, то опять же если обнаружено движение (проверка условия верхнего уровня) то включится лампочка

Выключатель по датчику присутствия в данном примере не включится никогда.

Пример 4:

В данном варианте, единственным запускающим триггером будет датчик присутствия. То есть если он обнаружил присутствие и обнаружено движение Спальня (выполнено условие верхнего уровня), то выключатель включается. Датчик освещенности лампочку уже никогда не включит.

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