Найти тему
MySmartHome

Автоматизация умного дома

Чтобы дом стал умным, недостаточно подтянуть к нему все датчики и устройства. Это позволит лишь удаленно управлять устройствами и смотреть показания датчиков. Чтобы сделать дом умным, необходимо автоматизировать процессы в нем, "научить" реагировать на изменения показаний датчиков или управлять устройствами по расписанию. Для этой цели в intraHouse предусмотрены сценарии. На наш выбор предлагается 3 вида сценариев: сценарий, мультисценарий, блок-схема. В конечном счете все сценарии представляют из себя код на JavaScript, но каждый тип сценария удобен в своих случаях.

Обычный сценарий - это чистый код на JavaScript. Нас не ограничивает ничего кроме навыков и фантазии. Можно обращаться к устройствам, датчикам и использовать возможности интерпретатора. Чтобы создать сценарий нужно перейти в раздел "Сценарии" и добавить новый сценарий:

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

Пример обычного сценария
Пример обычного сценария

Следующий тип сценария - мультисценарий. Его отличие заключается в том, что исполнительные устройства и датчики передаются в сценарий как переменные. Код также пишется на JavaScript, но есть возможность применить данный сценарий сразу к нескольким группам устройств, который должны вести себя одинаково. Например, есть несколько помещений с вытяжками и датчиками влажности. Нам нужно поддерживать заданный уровень влажности и при его превышении включать вытяжку. Мультисценарий позволят обойтись одним скриптом на все группы устройств. Код пишется также, только в константы устройств пишется не устройство, а переменная, к которой привязывается устройство:

Код мультисценария
Код мультисценария

А потом мы добавляем устройства для которых выполняется сценарий:

Устройства мультисценария
Устройства мультисценария

Последний тип сценария - блок-схема. Им можно пользоваться для решения простых задач, также он подойдет для пользователей, не владеющих навыками программирования. В конструкторе можно нарисовать блок-схему работы, при этом интерпретатор также построит JavaScript-код, но его нельзя будет изменить. Блок-схемы наглядны, просты, но имеют значительно меньший функционал, чем чистый JavaScript. Также блок-схемы бывают полезны, когда нужно понимание правильного написания кода части сценария. Можно построить блок-схему, подсмотреть готовый код и применить его в своем сценарии.

Сценарий блок-схема
Сценарий блок-схема
Код сценария блок-схемы
Код сценария блок-схемы

Как мы видим сценарии выполняются по изменениям датчиков, но сценарий также можно выполнять по расписанию, причем кроме времени, можно выбирать и относительные величины (закат/рассвет и смещение от них).

-7

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

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

-8
-9

Оригинал статьи размещен здесь: https://vk.com/my_smart_home