Home - noant/Lazurite GitHub Wiki

Добро пожаловать в Lazurite Wiki!

Lazurite на habr.com #1

Lazurite на habr.com #2

Последние новости: обновление от 07.03.2019


Lazurite - это программное обеспечение для управления системами умного дома. Позволяет создавать триггеры и сложные сценарии с условиями и циклами, т.е. пользователь может «запрограммировать» свой умный дом с помощью встроенного конструктора на любые свои нужды.

Lazurite является открытой системой, которую можно дополнять своими или сторонними плагинами.

Во время установки серверной части некоторые плагины ставятся автоматически. Например «Плагин Z-Wave» (основан на openzwave). Позволяет использовать функционал беспроводных устройств, работающих на протоколе Z-Wave. Из списка предустановленных плагинов следует упомянуть следующие: «Плагин Modbus» (позволяет использовать проводные устройства, работающие на протоколах ModbusRTU или ModbusTCP), «Геолокации» (работа с геокоординатами пользователей системы), Управление звуком, Wake-on-Lan, IP-TV и еще несколько других полезных плагинов.

Связь между клиентским приложением и сервером Lazurite осуществляется с помощью библиотеки SimpleRemoteMethods, что имеет множество плюсов:

  • используется защищенный протокол SSL;
  • для защиты от атаки «человек посередине» используется шифрование (AES) по секретному ключу, который знают только сервер и клиент;
  • используется протокол сериализации ProtoBuf, который является одним из самых быстрых и и оптимизированных способов передачи объектов по сети (подробнее в меню «Сервер»).

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

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

В качестве примера можно привести динамику влажности в комнате, когда в доме присутствуют люди; узнать дни, в которые в доме холоднее всего; посмотреть сколько процентов общего времени пользователь находится на работе, а сколько дома; какой пользователь вчера слишком громко включил музыку. Для этого достаточно создать соответствующие сценарии и пометить их как «Вести статистику» и через некоторое время заглянуть в меню статистики. Помимо этого, здесь можно хранить историю перемещений пользователей и просматривать её на карте.

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

Например, в большом доме можно создать распределенную систему, в которой несколько узлов с установленным Lazurite будут стоять на разных этажах (комнатах, корпусах), с которыми будет связываться центральное устройство Lazurite. Администратор сконфигурирует систему и определит, насколько будут самостоятельными подчиненные устройства, будут ли они использоваться как простые исполнители или же в них будет заложена некоторая автономность.

Помимо прочего, сервер Lazurite может рассылать сообщения на клиентские приложения. Пользователь может заложить в сценарии функционал «нотификаций».

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

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

Итак, короткий список особенностей:

Cписок всех возможностей, которые можно использовать в сценариях.

Далее: Начало работы