Логические сценарии: различия между версиями

Материал из Sprut.hub Wiki
Нет описания правки
Нет описания правки
 
(не показано 9 промежуточных версий этого же участника)
Строка 1: Строка 1:
Один из видов сценариев - логические. Они работают в качестве виртуальной логики для определенных в них типов устройств и могут подключаться в настройках этих устройств.
Один из видов сценариев - логические. Они работают в качестве виртуальной логики для определенных в них типов устройств и могут подключаться в настройках этих устройств.


{{QuoteBlue|Для создания данного типа сценариев - используется JavaScript на базе Nashorn. Поэтому для работы с этими видами сценариев - необходимо обладание навыками программирования}}
{{QuoteBlue|Для создания данного типа сценариев - используется JavaScript на базе Nashorn. Поэтому для работы с этими видами сценариев - необходимо обладание навыками программирования. Удобнее всего пользоваться примерами на Node JS}}
{{QuoteRed|Если вы создаете свой собственный логический сценарий и используете в качестве основы встроенный системный или уже существующий - название нового сценария должно отличаться от уже существующего сценария}}
{{QuoteGreen|Логический сценарий срабатывает только от события, которое в нем указано в качестве триггера и на тех типах устройств, для которых он предназначен. Это означает, что он не будет запускаться кнопкой теста при написании сценария}}
 
Логический сценарий появляется автоматически после сохранения у указанных в нем типов устройств, при условии его корректности. Некорректный сценарий - в списке не появляется. Ошибки кода подсвечиваются в редакторе кода.


Есть встроенные системные логические сценарии.
Есть встроенные системные логические сценарии.
Строка 15: Строка 19:


== Раздел логики у реальных и виртуальных устройств ==
== Раздел логики у реальных и виртуальных устройств ==
Так как в Sprut.hub существуют виртуальные и реальные устройства, то для них доступны одинаковые наборы устройств, но у реальных устройств нужно понимать - какие именно логики можно на них включать, а какие нет.
Так как в Sprut.hub существуют виртуальные и реальные устройства, то для них доступны одинаковые наборы [[Логические сценарии|логических сценариев]].
 
Например реальный термостат - сам присылает хабу состояние своего целевого и текущего режима, поэтому включение логики "Текущий режим зависит от целевого" - может привести к некорректной работе термостата.  


Например у реального термостата - само устройство присылает состояние целевого и текущего режима, поэтому включение логики - может привести к некорректной работе термостата.
{{QuoteBlue|Целевой режим - тот, который вы устанавливаете на термостате. Текущий режим - тот, в котором термостат сейчас работает}}


Логика "Обычный термостат" обеспечивает изменение текущего режима в зависимости от установленной температуры. Реальный термостат - сам принимает это решение, а для виртуального термостата нужно включать эту логику.
Логика "Обычный термостат" обеспечивает изменение текущего режима в зависимости от установленной температуры. Реальный термостат - сам принимает это решение, а для виртуального термостата нужно включать эту логику.


Поэтому нужно четко понимать зачем и для чего вы включаете логики у реальных устройств
{{QuoteRed|Поэтому нужно четко понимать зачем и для чего вы включаете логики у реальных устройств}}
[[Файл:Сценарии 007 логика у реальных устройств.png|центр|обрамить]]
[[Файл:Сценарии 007 логика у реальных устройств.png|центр|обрамить]]
__ОБЯЗАТЕЛЬНОЕ_ОГЛАВЛЕНИЕ__
__ОБЯЗАТЕЛЬНОЕ_ОГЛАВЛЕНИЕ__

Текущая версия от 14:24, 11 июня 2024

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

Для создания данного типа сценариев - используется JavaScript на базе Nashorn. Поэтому для работы с этими видами сценариев - необходимо обладание навыками программирования. Удобнее всего пользоваться примерами на Node JS

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

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

Логический сценарий появляется автоматически после сохранения у указанных в нем типов устройств, при условии его корректности. Некорректный сценарий - в списке не появляется. Ошибки кода подсвечиваются в редакторе кода.

Есть встроенные системные логические сценарии.

Причем в системе их больше

Виртуальная логика

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

Но например Виртуальная логика "Связь включения и уровня" является системной и не отображается в разделе логических сценариев но доступна в лампочке.

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

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

Раздел логики у реальных и виртуальных устройств

Так как в Sprut.hub существуют виртуальные и реальные устройства, то для них доступны одинаковые наборы логических сценариев.

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

Целевой режим - тот, который вы устанавливаете на термостате. Текущий режим - тот, в котором термостат сейчас работает

Логика "Обычный термостат" обеспечивает изменение текущего режима в зависимости от установленной температуры. Реальный термостат - сам принимает это решение, а для виртуального термостата нужно включать эту логику.

Поэтому нужно четко понимать зачем и для чего вы включаете логики у реальных устройств