← Назад к списку статей

Интеграция Xeoma с MQTT

В этой статье я хочу рассказать, как добавить в Home assistant датчик движения, который будет отображать сработку модуля Детектор движения, камеры Xeoma. Сделаем это, используя MQTT сервер.
В системе Xeoma отсутствует встроенная возможность отправлять или получать сообщения с сервера MQTT. Но для энтузиастов нет преград, для решения задач.
Исходные данные:
— система Xeoma установлена на Raspberry Pi 3B+;
— так же, у нас уже имеется работающий MQTT сервер, к которому у нас есть доступ, и мы знаем его IP адрес, логин и пароль.
Мы будем использовать данные для входа на сервер MQTT при необходимости.

Итак…
Для реализации этой задачи, нам понадобятся следующие модули:

Расположим модули следующим образом. Оба модуля «Отправка HTTP команд» должны быть подключены к модулю «Детектор движения», дабы они отработали после его сработки.
Оба модуля «HTTP переключатель» должны быть подключены к модулю «Универсальная камера». Эти модули будут срабатывать тогда, когда сработают модули «Отправка HTTP команд».
А вот модули «Запуск приложения» подключаются непосредственно к модулям «HTTP переключатель».
В итоге, должно получиться следующее:

Пример цепочки модулей Xeoma для интеграции с MQTT

Настройка модуля «HTTP переключатель»

Модули «HTTP переключатель» особых настроек не требуют, но нам нужно посмотреть имена этих модулей, для дальнейшего использования.
Нажимаем на иконку первого модуля «HTTP переключатель».
В строке «URL для деактивирования» видим имя модуля. У меня это «HTTPSwitcher.24»
Повторяем со вторым модулем «HTTP переключатель».
Нажимаем на иконку второго модуля «HTTP переключатель».
В строке «URL для деактивирования» видим имя модуля. У меня это «HTTPSwitcher.25»
Все ползунки в настройках модулей выставляем по удобству.

Настройки HTTP переключателя для интеграции с MQTT

Настройки HTTP переключателя для интеграции с MQTT

Настройка модуля «Отправка HTTP команд»

Нажимаем на иконку первого модуля «Отправка HTTP команд».
В поле «Имя хоста или IP адрес» пишем строку с указанием имени первого модуля «HTTP переключатель».
http://192.168.1.250:10090/http_switcher_on?module=HttpSwitcher.24
где:
192.168.1.250 — IP адрес сервера Xeoma
В поле «Отправлять» выбираем «Когда событие началось».
В поле «Метод отправки» выбираем «GET».

Настройки Отправки HTTP команд для интеграции с MQTT

Нажимаем на иконку второго модуля «Отправка HTTP команд».
В поле «Имя хоста или IP адрес» пишем строку с указанием имени второго модуля «HTTP переключатель».
http://192.168.1.250:10090/http_switcher_on?module=HttpSwitcher.25
где:
192.168.1.250 — IP адрес сервера Xeoma
В поле «Отправлять» выбираем «Когда событие закончилось».
В поле «Метод отправки» выбираем «GET».

Настройки Отправки HTTP команд для интеграции с MQTT

Настройка модуля «Запуск приложения»

Нажимаем на иконку первого модуля «Запуск приложения», который подключен к первому модулю «HTTP переключатель».
В поле «Полный путь к запускаемой программе» пишем текст:
mosquitto_pub

В поле «Параметры запуска программы» пишем строку:
-h 192.168.1.1 -t "xeoma_cam1/state" -m "On" -u "login" -P "password"

где:
192.168.1.1 — IP адрес вашего MQTT сервера
xeoma_cam1/state — полный топик, который создастся на MQTT сервере после сработки текущего модуля
login — логин для входа на ваш MQTT сервер
password — пароль для входа на ваш MQTT сервер
«Интервал запуска» выбираем удобный для себя.

Настройки Запуска приложения для интеграции с MQTT

Нажимаем на иконку второго модуля «Запуск приложения», который подключен ко второму модулю «HTTP переключатель».
В поле «Полный путь к запускаемой программе» пишем текст:
mosquitto_pub

В поле «Параметры запуска программы» пишем строку:
-h 192.168.1.1 -t "xeoma_cam1/state" -m "Off" -u "login" -P "password"

где:
192.168.1.1 — IP адрес вашего MQTT сервера
xeoma_cam1/state — полный топик, который создастся на MQTT сервере после сработки текущего модуля
login — логин для входа на ваш MQTT сервер
password — пароль для входа на ваш MQTT сервер
«Интервал запуска» выбираем удобный для себя.

Настройки Запуска приложения для интеграции с MQTT

Добавляем датчик движения в Home assistant

binary_sensor:
- platform: mqtt
name: "Xeoma camera1"
state_topic: "xeoma_cam1/state"
payload_on: "On"
payload_off: "Off"
qos: 0
device_class: motion

Добавляем камеру Xeoma в Home assistant

При желании, можно добавить камеру Xeoma в Home assistant.
Для этого, в схеме Xeoma, необходимо в вышеописанную схему добавить модуль «Веб сервер» и настроить его.

Добавляем Веб Сервер в цепочку

Настраиваем Веб Сервер

А в конфигурации Home assistant, добавить код:
camera:
- platform: xeoma
host: http://localhost:10090
username: username
password: password

Готово!

27 октября, 2021

Читайте также:
Интеграция с кассовыми аппаратами
Xeoma и системы умный дом
Интеграция с Senstar и Flexzone