Введение
Zigbee — один из самых популярных протоколов для умного дома. Датчики температуры, движения, освещённости, умные розетки, лампы, реле — всё это работает на Zigbee. Но управлять каждым устройством по отдельности через родное приложение — прошлый век. Настоящая магия начинается, когда вы подключаете Zigbee-сеть к AI-агенту, который сам анализирует данные, принимает решения и выполняет сценарии. ASI Biont — это AI-агент, который подключается к вашему Zigbee-координатору через MQTT-брокер (Zigbee2MQTT или ZHA) и позволяет автоматизировать дом без единой строчки кода, написанной вручную. В этой статье — практическое руководство по интеграции Zigbee-устройств с ASI Biont: от настройки моста до реальных сценариев автоматизации.
Что такое Zigbee2MQTT и ZHA?
Zigbee2MQTT — это open-source программный мост, который подключается к Zigbee-координатору (например, Conbee II, Sonoff ZBDongle, CC2531) и публикует данные всех устройств в MQTT-топики. ZHA (Zigbee Home Automation) — встроенная интеграция Home Assistant, которая делает то же самое, но через свой внутренний MQTT-брокер. Оба варианта превращают Zigbee-сеть в источник событий, которые можно слушать через MQTT.
| Параметр | Zigbee2MQTT | ZHA |
|---|---|---|
| Установка | Отдельный Docker-контейнер или пакет | Встроен в Home Assistant |
| Гибкость | Высокая, поддержка сотен устройств | Средняя, ограничен списком Home Assistant |
| MQTT-топики | Настраиваемые, понятные | Стандартизированные, но сложнее для кастомной логики |
| Ресурсы | Требует отдельного хоста (Raspberry Pi, сервер) | Работает внутри Home Assistant |
Оба подхода отлично интегрируются с ASI Biont, потому что AI-агент умеет подключаться к любому MQTT-брокеру.
Как ASI Biont подключается к Zigbee-устройствам?
ASI Biont не имеет встроенного Zigbee-радио — он работает в облаке. Поэтому подключение к Zigbee-сети происходит через MQTT-брокер (Mosquitto, HiveMQ Cloud, или встроенный брокер Home Assistant). Пользователь описывает в чате параметры подключения, и AI-агент автоматически генерирует Python-скрипт с библиотекой paho-mqtt, который подписывается на нужные топики и публикует команды.
Важно: никаких панелей управления и кнопок «добавить устройство». Всё делается через диалог в чате:
«Подключись к моему MQTT-брокеру по адресу 192.168.1.100:1883, логин mqtt_user, пароль mqtt_pass. Подпишись на топик zigbee2mqtt/+/+ и сообщай мне о всех событиях.»
AI-агент сам напишет код, выполнит его в sandbox-окружении (через execute_python) и начнёт слушать вашу Zigbee-сеть.
Сценарий 1: Умное освещение по температуре
Оборудование:
- Zigbee-координатор (Conbee II) на Raspberry Pi
- Датчик температуры Aqara (Zigbee)
- Умная лампа Philips Hue (Zigbee)
- Mosquitto MQTT-брокер на том же Raspberry Pi
Задача: Если температура в комнате падает ниже 18°C, AI-агент включает лампу (как индикатор холода). Если поднимается выше 26°C — выключает.
Шаг 1. Настройка Zigbee2MQTT
Убедитесь, что Zigbee2MQTT публикует данные в топик вида zigbee2mqtt/температура_датчик и принимает команды в zigbee2mqtt/лампа/set.
Шаг 2. Описание задачи в чате ASI Biont
Пользователь пишет:
«Подключись к MQTT-брокеру 192.168.1.100:1883 (логин: user, пароль: pass). Подпишись на топик zigbee2mqtt/0x00158d0002a1b2c3 (датчик температуры). Если температура < 18, опубликуй в топик zigbee2mqtt/0x0017880104d5e6f7/set сообщение {"state": "ON"}. Если температура > 26 — {"state": "OFF"}.»
Шаг 3. AI-агент генерирует и выполняет код
import paho.mqtt.client as mqtt
import json
import time
import requests
BROKER = "192.168.1.100"
PORT = 1883
USER = "user"
PASS = "pass"
TOPIC_TEMP = "zigbee2mqtt/0x00158d0002a1b2c3"
TOPIC_LAMP = "zigbee2mqtt/0x0017880104d5e6f7/set"
TELEGRAM_BOT_TOKEN = "YOUR_BOT_TOKEN"
TELEGRAM_CHAT_ID = "YOUR_CHAT_ID"
def send_telegram(message):
url = f"https://api.telegram.org/bot{TELEGRAM_BOT_TOKEN}/sendMessage"
requests.post(url, json={"chat_id": TELEGRAM_CHAT_ID, "text": message})
def on_message(client, userdata, msg):
try:
payload = json.loads(msg.payload)
temperature = payload.get("temperature", None)
if temperature is not None:
print(f"Температура: {temperature}°C")
if temperature < 18:
client.publish(TOPIC_LAMP, json.dumps({"state": "ON"}))
send_telegram(f"❄️ Температура {temperature}°C — лампа включена")
elif temperature > 26:
client.publish(TOPIC_LAMP, json.dumps({"state": "OFF"}))
send_telegram(f"🔥 Температура {temperature}°C — лампа выключена")
except Exception as e:
print(f"Ошибка: {e}")
client = mqtt.Client()
client.username_pw_set(USER, PASS)
client.on_message = on_message
client.connect(BROKER, PORT, 60)
client.subscribe(TOPIC_TEMP)
print("Слушаю датчик температуры...")
client.loop_start()
# Ждём 30 секунд (максимум времени sandbox)
time.sleep(30)
client.loop_stop()
AI-агент запускает этот скрипт в sandbox-окружении (execute_python), и в течение 30 секунд он получает данные, анализирует и управляет лампой. Для непрерывной работы можно настроить периодический запуск скрипта по расписанию (например, каждые 5 минут) или использовать внешнюю триггерную систему.
Сценарий 2: Уведомления о протечке воды
Оборудование:
- Zigbee-датчик протечки Aqara
- Умная розетка с реле (для перекрытия клапана, если есть)
Задача: При срабатывании датчика AI-агент отправляет уведомление в Telegram и, если есть, выключает розетку, к которой подключён электромагнитный клапан.
Описание в чате:
«Подпишись на топик zigbee2mqtt/0x00158d0003c4d5e6. Если значение leak = true, отправь мне сообщение в Telegram: \"Обнаружена протечка!\" и опубликуй в топик zigbee2mqtt/0x0017880105f6a7b8/set команду {"state": "OFF"}.»
AI-агент генерирует аналогичный скрипт, только с проверкой на leak и вызовом requests.post к Telegram API.
Почему это выгодно?
| Подход | Время на настройку | Требуемые навыки | Гибкость |
|---|---|---|---|
| Вручную писать Python-скрипт | Часы | Python, MQTT, JSON | Высокая |
| Использовать Home Assistant | Часы | YAML, интеграции | Средняя |
| ASI Biont + описание в чате | Секунды | Никаких | Максимальная |
AI-агент сам пишет код, подключается к вашему брокеру, подписывается на топики и выполняет логику. Вам нужно только описать, что вы хотите.
Дополнительные возможности
- Интеграция с другими устройствами: ASI Biont может одновременно управлять Zigbee-лампами, ESP32 по MQTT, промышленным контроллером по Modbus и отправлять данные в Google Sheets — всё в одном скрипте.
- Анализ трендов: AI может собирать данные с датчиков за неделю, строить график (с помощью
matplotlib) и отправлять отчёт в Telegram. - Голосовое управление: через Telegram-бота можно отправлять команды голосом (бот распознаёт речь), и AI будет их выполнять.
Как начать?
- Установите Zigbee2MQTT или настройте ZHA в Home Assistant.
- Запустите MQTT-брокер (Mosquitto) на том же хосте или используйте облачный.
- Зарегистрируйтесь на asibiont.com.
- В чате напишите: «Подключись к моему MQTT-брокеру по адресу ... и управляй Zigbee-устройствами.»
- AI-агент сделает всё остальное.
Заключение
Интеграция Zigbee-устройств с AI-агентом ASI Biont открывает безграничные возможности для автоматизации умного дома без программирования. Zigbee2MQTT и ZHA предоставляют удобный MQTT-интерфейс, а ASI Biont берёт на себя всю сложную работу по анализу данных и выполнению сценариев. Вам остаётся только описать задачу — и AI воплотит её в жизнь.
Попробуйте сами на asibiont.com и превратите свой дом в интеллектуальную систему, которая заботится о вас.
Комментарии