Введение
У вас дома десятки Zigbee-датчиков и исполнительных устройств: умные лампочки Xiaomi, розетки Aqara, выключатели IKEA, датчики температуры и движения. Каждое устройство работает само по себе, а сценарии приходится настраивать через мобильное приложение или веб-интерфейс Zigbee2MQTT. Всё это требует времени, а гибкость ограничена — вы не можете быстро изменить логику без правки конфигурации.
AI-агент ASI Biont решает эту задачу. Вы просто описываете в чате желаемое поведение: «Если температура в комнате поднимается выше 25 °C, включи кондиционер и пришли уведомление в Telegram». ASI Biont самостоятельно подключается к вашей Zigbee-сети через MQTT-брокер, начинает получать данные и управлять устройствами. Никаких панелей, никаких кнопок «добавить устройство» — только диалог.
Что такое Zigbee и Zigbee2MQTT?
Zigbee — беспроводной протокол для умного дома, работающий в диапазоне 2,4 ГГц. Устройства образуют mesh-сеть, что обеспечивает стабильную связь даже в больших помещениях. Чтобы управлять Zigbee-устройствами с компьютера, нужен координатор (например, Conbee II или Sonoff ZBDongle) и программный мост — Zigbee2MQTT. Он поднимает MQTT-брокер (обычно на порту 1883) и публикует все события от датчиков в топики вида zigbee2mqtt/0x12345678/temperature. Команды на управление отправляются в топик zigbee2mqtt/0x12345678/set.
Как ASI Biont подключается к Zigbee-сети?
ASI Biont использует MQTT — самый прямой способ взаимодействия с Zigbee2MQTT. AI-агент генерирует Python-скрипт с библиотекой paho-mqtt, который подключается к вашему MQTT-брокеру, подписывается на нужные топики и публикует команды. Скрипт выполняется в защищённом окружении (sandbox) на серверах ASI Biont (Railway).
Процесс не требует установки дополнительного ПО на ваш компьютер (если брокер доступен из интернета). Если брокер работает только в локальной сети, можно использовать Hardware Bridge — отдельное приложение bridge.py, которое запускается на ПК и соединяется с ASI Biont через WebSocket. Но для большинства пользователей Zigbee2MQTT уже настроен с публичным доступом (например, через облачный туннель или VPS), и MQTT-подключение работает напрямую.
Сценарий: климат-контроль и управление освещением
Представьте стандартную квартиру:
- Датчик температуры/влажности Aqara (топик zigbee2mqtt/0x00158d0001a2b3c4/temperature)
- Умная розетка Aqara, к которой подключён кондиционер (топик zigbee2mqtt/0x00158d0001d5e6f7/set)
- RGB-лампа IKEA TRÅDFRI (топик zigbee2mqtt/0x0000000123456789/set)
- Датчик движения (топик zigbee2mqtt/0x00158d0001a1b2c3/occupancy)
ASI Biont по вашему запросу создаёт следующий сценарий:
- Каждые 5 минут читает температуру.
- Если температура > 25 °C, отправляет команду на включение розетки кондиционера ({"state": "ON"}).
- Если температура < 22 °C — выключает розетку.
- При обнаружении движения в тёмное время суток включает лампу на 30% яркости и тёплый белый цвет.
- Если в комнате никого нет 15 минут — выключает всё.
Всё это вы просто описываете в чате одной фразой: «Создай климат-контроль: температуру читай с датчика 0x00158d0001a2b3c4, кондиционер управляй через розетку...» — и AI сам пишет код.
Пример кода: чтение температуры и управление розеткой
Вот как выглядит скрипт, который ASI Biont может сгенерировать для одноразовой проверки:
import paho.mqtt.client as mqtt
import json
BROKER = "192.168.1.100"
TOPIC_TEMP = "zigbee2mqtt/0x00158d0001a2b3c4/temperature"
TOPIC_SOCKET_SET = "zigbee2mqtt/0x00158d0001d5e6f7/set"
TOPIC_SOCKET_STATE = "zigbee2mqtt/0x00158d0001d5e6f7"
def on_connect(client, userdata, flags, rc):
client.subscribe(TOPIC_TEMP)
client.subscribe(TOPIC_SOCKET_STATE)
def on_message(client, userdata, msg):
if msg.topic == TOPIC_TEMP:
temp = float(msg.payload)
if temp > 25:
client.publish(TOPIC_SOCKET_SET, json.dumps({"state": "ON"}))
print("Кондиционер включён")
elif temp < 22:
client.publish(TOPIC_SOCKET_SET, json.dumps({"state": "OFF"}))
print("Кондиционер выключен")
elif msg.topic == TOPIC_SOCKET_STATE:
state = json.loads(msg.payload).get("state")
print(f"Розетка: {state}")
client = mqtt.Client()
client.on_connect = on_connect
client.on_message = on_message
client.connect(BROKER, 1883, 60)
client.loop_start()
# Держим соединение 10 секунд, чтобы успеть получить сообщения
import time
time.sleep(10)
client.loop_stop()
Этот код выполняется в sandbox ASI Biont. Важно: sandbox имеет таймаут 30 секунд, поэтому бесконечные циклы (while True) недопустимы. Для постоянного мониторинга ASI Biont использует периодические запуски по расписанию или триггеры от MQTT-сообщений (через webhook).
Как это выглядит в чате?
Вы пишете ASI Biont:
«Подключись к моему Zigbee2MQTT по MQTT: брокер 192.168.1.100, порт 1883. Каждые 5 минут читай температуру с датчика 0x00158d0001a2b3c4 и если она выше 25, включай розетку 0x00158d0001d5e6f7. Пришли мне уведомление в Telegram, когда кондиционер включится.»
AI анализирует запрос, пишет нужный Python-скрипт с paho-mqtt, запускает его в sandbox. При необходимости AI использует industrial_command с протоколом mqtt для быстрой публикации тестовой команды, например:
industrial_command(protocol='mqtt', command='publish', topic='zigbee2mqtt/0x00158d0001d5e6f7/set', payload='{"state": "ON"}')
Это удобно для проверки связи без написания полного скрипта.
Почему это выгодно?
- Не нужно писать код вручную — AI генерирует его за секунды, вы только описываете логику.
- Единый интерфейс — все Zigbee-устройства управляются из одного чата (Telegram, веб-интерфейс ASI Biont).
- Гибкость — вы можете менять сценарии на лету, просто попросив AI изменить условие.
- Энергоэффективность — автоматическое отключение приборов в отсутствие людей и оптимизация климата снижают счёт за электричество на 20–30% (по данным исследований Energy Star).
- Расширяемость — помимо Zigbee, AI может одновременно управлять Wi-Fi-розетками, Bluetooth-датчиками и промышленными контроллерами, объединяя всё в одну систему.
Важные моменты и подводные камни
- Доступ к MQTT-брокеру. Если ваш Zigbee2MQTT работает только в локальной сети, используйте Hardware Bridge (
bridge.pyс флагами--token=... --ports). Он соединится с ASI Biont через WebSocket и обеспечит передачу MQTT-сообщений. - Безопасность. Не публикуйте брокер в открытый интернет без пароля. В скриптах используйте учётные данные (логин/пароль) при подключении.
- Ограничение sandbox. Долгоживущие подписки (
loop_forever) не поддерживаются. Для постоянного мониторинга ASI Biont использует внешние триггеры (например, вебхук от облачного MQTT-брокера) или периодические запуски черезexecute_python.
Заключение
Zigbee-устройства перестают быть разрозненными «умными» игрушками, когда к ним подключается AI-агент. ASI Biont через MQTT даёт вам полный контроль без единой строчки кода. Вы говорите, что нужно сделать, — AI реализует и запускает.
Попробуйте сами: подключите свой Zigbee2MQTT к ASI Biont на asibiont.com и опишите в чате первый сценарий. Умный дом станет действительно умным.
Статья написана в июле 2026 года. Все примеры кода соответствуют актуальной версии ASI Biont.
Комментарии