Home - noant/Lazurite GitHub Wiki
Добро пожаловать в Lazurite Wiki!
Последние новости: обновление от 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 можно реализовать домашний мини-чат, создав определенные сценарии.
Выполнять сценарии и просмотреть значения сценариев можно через клиентское приложение или через окно «быстрого запуска». Они имеют схожую структуру и оформлены в виде «плиток».
Итак, короткий список особенностей:
- сложные сценарии с условиями и циклами;
- расширение функционала за счет установки или написания плагинов;
- защита от взлома путем использования SSL и шифрования по «секретному ключу»;
- масштабируемость за счет «удаленных сценариев»;
- ведение статистики и истории перемещений пользователей;
- поддержка устройств Z-Wave и Modbus "из коробки";
- поддержка IP-TV и карт захвата видео;
- клиентское приложение для управления сценариями, отправки сообщений и GPS-трекинга; в нем есть скины;
- экспериментальный функционал, с которым могут поработать программисты и опытные пользователи.
Cписок всех возможностей, которые можно использовать в сценариях.