Інтеграція з Home Assistant та MQTT
MQTT (Message Queuing Telemetry Transport), це легкий мережевий протокол, призначений для обміну повідомленнями між пристроями за шаблоном «видавець-підписник». Інтеграція автоматики oCBot з MQTT дозволяє транслювати всі показники давачів та стани виконавчих пристроїв у системи розумного дому, зокрема в Home Assistant.
Налаштування MQTT-підключення в oCBot#
Щоб підключити контролер до вашого локального або хмарного MQTT-брокера (наприклад, Mosquitto):
- Перейдіть у веб-інтерфейсі до розділу Налаштування -> Портал.
- Заповніть такі поля:
- Адреса брокера: IP-адреса вашого сервера Home Assistant / Mosquitto (наприклад,
192.168.1.100) або доменне ім'я хмарного брокера. - Порт: зазвичай
1883(без шифрування) або8883(SSL/TLS). - Клієнтський ID: окреме ім'я вашого пристрою (генерується автоматично, наприклад,
ocbot_kitchen). - Ім'я користувача та Пароль: облікові дані для авторизації на MQTT-брокері.
- Адреса брокера: IP-адреса вашого сервера Home Assistant / Mosquitto (наприклад,
- Збережіть налаштування та перезавантажте контролер.
Після підключення oCBot почне публікувати телеметрію у топіки з префіксом за замовчуванням ocbot/device_id/....
Структура MQTT топіків oCBot#
Автоматика публікує дані у наступні топіки:
- Статус пристрою:
ocbot/[device_id]/status, надсилає повідомленняonlineпри запуску таofflineпри вимкненні (через LWT, Last Will and Testament).
- Дані давачів:
ocbot/[device_id]/sensor/[sensor_id], публікує чисельне значення давача температури або тиску (наприклад,78.13) при кожній зміні показника.
- Стан виконавчих механізмів:
ocbot/[device_id]/relay/[relay_id]/state, повертає1або0(увімкнено/вимкнено).- Для встановлення нового стану з Home Assistant надішліть
1або0у топік керуванняocbot/[device_id]/relay/[relay_id]/set.
Конфігурація Home Assistant (configuration.yaml)#
Для інтеграції давачів oCBot додайте опис сенсорів у файл конфігурації Home Assistant:
mqtt:
sensor:
- name: "Температура в Кубі oCBot"
state_topic: "ocbot/ocbot_kitchen/sensor/1"
unit_of_measurement: "°C"
value_template: "{{ value | float | round(2) }}"
device_class: "temperature"
state_class: "measurement"
- name: "Температура ТСА oCBot"
state_topic: "ocbot/ocbot_kitchen/sensor/2"
unit_of_measurement: "°C"
value_template: "{{ value | float | round(2) }}"
device_class: "temperature"
state_class: "measurement"
switch:
- name: "Клапан Відбору oCBot"
state_topic: "ocbot/ocbot_kitchen/relay/3/state"
command_topic: "ocbot/ocbot_kitchen/relay/3/set"
payload_on: "1"
payload_off: "0"
state_on: "1"
state_off: "0"
(Замініть ocbot_kitchen на реальний device_id вашого контролера, а 1, 2, 3, на відповідні ID давачів та реле з вашого меню Периферії).
Інтеграція з Home Assistant дозволяє налаштувати додаткові сценарії безпеки на рівні розумного дому. Наприклад, якщо давач температури ТСА через MQTT передає значення понад 50°C, Home Assistant може автоматично вимкнути розумну розетку, яка живить всю дистиляційну установку, та надіслати push-повідомлення на ваш смартфон через Telegram-бот.