Инструменты пользователя

Инструменты сайта


iot:software:node-red:flows:alarm_control

Управление сигнализацией с Node-RED

По сути, этот поток, это простейшая виртуальная охранная система. Её основная задача, протоколировать проход и уведомлять о нем в приложении «Дом» на устройствах Apple. А при необходимости, можно подключить какие-либо другие действия, вплоть до уведомления охранного агентства…

Управляется поток из Apple Home через плагин «Mqttthing» для Homebridge, используя аксессуар типа «securitySystem». Если по какой-то причине не используется мост или не добавлен аксессуар1), его можно настроить2) напрямую в базе данных, хоть это неудобно3).

Реализовано два формата работы – с уведомлением и без уведомления. Без уведомления данные отображаются только на телефоне. С уведомлением, дополнительно отправляются на электронную почту.

:!: Для работы потока необходим датчик положения двери4). Я использую Zigbee Sonoff SNZB-04.

Нестандартные узлы

В этой цепочке используются следующие узлы, которых нет в стандартной поставке:

Дополнительные подпотоки

Эти подпотоки входят в состав кода ниже и загружать отдельно их не надо!

Описание работы цепочки

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

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

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

Прием и передача сообщений MQTT – эта цепочка взаимодействует непосредственно5) с приложением «Дом», принимая и передавая настройки и статусы охраны. Соответствующий код конфигурации Homebridge приведен тут.

Отправка ошибок SQLite и создание таблицы статусов – сервисная цепочка, отлавливающая ошибки и отправляющая соответствующие уведомления. Помимо этого, если необходимо, создает в базе данных базовую таблицу для записи статусов.

Изменение свойств существующих датчиков – цепочка для изменения имен датчиков, использующихся в уведомлениях, и названии таблиц в базе данных.

Резервное копирование базы – параноидальный модуль, создающий резервные копии на удаленном сервере при каждом срабатывании датчика. Это может пригодиться, если неприятель догадывается, где может храниться информация об его присутствии. :-\ Настройки6) вводятся в узле «Ввод параметров».

Установка статуса

Для управления сигнализацией непосредственно из базы данных, необходимо добавить датчик в поток, вызвать его сработку, чтобы добавились необходимые данные в базу, открыть ДБ любым редактором7) и установить в таблице «statuses» следующие статусы:

Статус target current
Выключена disarmed disarmed
Без уведомлений8) athome athome
С уведомлениями notathome notathome

Код для загрузки

Код для импорта можно скачать тут.


Дисклеймер

  • Использование материалов данной базы знаний разрешено на условиях лицензии, указанной внизу каждой страницы! При использовании материалов активная гиперссылка на соответствующую страницу данной базы знаний обязательна!
  • Автор не несет и не может нести какую либо ответственность за последствия использования материалов, размещенных в данной базе знаний. Все материалы предоставляются по принципу «как есть». Используйте их исключительно на свой страх и риск.
  • Все высказывания, мысли или идеи автора, размещенные в материалах данной базе знаний, являются исключительно его личным субъективным мнением и могут не совпадать с мнением читателей!
  • При размещении ссылок в данной базе знаний на интернет-страницы третьих лиц автор не несет ответственности за их техническую функциональность (особенно отсутствие вирусов) и содержание! При обнаружении таких ссылок, можно и желательно сообщить о них в комментариях к соответствующей статье.
1)
К примеру, если не хочется палить наличие соответствующего датчика. ;-)
2)
Установив необходимые метки.
3)
Однако, разово, если в дальнейшем не нужно менять параметры защиты, вполне приемлемо.
4)
Он же «датчик открытия», «датчик двери» и прочие вариации на тему.
5)
В смысле, посредственно через MQTT брокер и Homebridge… LOL
6)
Пароль для архива, тип архива и прочее.
7)
Я пользуюсь DB Browser for SQLite.
8)
Без добавления в приложение «Дом», не имеет смысла.

Обсуждение

Ваш комментарий:
O᠎ Q E C Y A᠎ I X R F K M I U J I
 
Последнее изменение: 2022/02/16 21:20 — Николай Солошин