Проблема: Z-стеки, координаторы и тысяча датчиков — кто всем этим управляет?
Умный дом на Zigbee — это мощно, но сложно. У вас может быть 20 датчиков температуры, 10 реле, 5 выключателей и один координатор (Conbee II, Sonoff Zigbee 3.0 USB). Вы используете Home Assistant с Zigbee2MQTT или ZHA. Данные льются рекой: температура, влажность, освещённость, движение. Но что с этим делать? Настроить автоматизацию «если температура > 25°C, включить кондиционер» — легко. А вот проанализировать недельный тренд, предсказать, когда батарейка в датчике сядет, или отправить Telegram-уведомление при аномалии — уже задача для AI.
Обычный подход: вы пишете Python-скрипт, подключаетесь к MQTT-брокеру, вручную парсите JSON-сообщения, логируете данные, реализуете логику. Это требует времени, отладки и понимания протоколов. ASI Biont решает эту задачу иначе: вы просто описываете в чате, что нужно сделать, и AI-агент сам пишет код, подключается к вашему MQTT-брокеру (или ZHA через SSH на Raspberry Pi) и начинает работать.
Решение: MQTT + execute_python — AI сам пишет код под ваш Zigbee-координатор
ASI Biont использует execute_python — универсальный механизм, где AI генерирует Python-скрипт и выполняет его в облачном sandbox-окружении. Для работы с Zigbee2MQTT или ZHA достаточно одного: MQTT-брокера (обычно Mosquitto на Raspberry Pi, где запущен Home Assistant). AI подключается к нему через библиотеку paho-mqtt (доступна в sandbox).
Пользователь пишет в чат:
«Подключись к моему MQTT-брокеру по адресу 192.168.1.100:1883, подпишись на топик zigbee2mqtt/+/+/+ (все датчики), собери данные за последний час, найди аномалии температуры (отклонение > 3°C от среднего) и отправь отчёт в Telegram».
AI генерирует код, выполняет его, анализирует данные и возвращает результат. Никаких панелей управления, кнопок «добавить устройство» или ручного конфигурирования — всё через диалог.
Сценарий: мониторинг температуры в теплице с Zigbee-датчиками
Задача
У вас теплица с 10 датчиками Aqara Temperature/Humidity Sensor (WSDCGQ11LM), подключенными через Zigbee2MQTT к Raspberry Pi. Нужно:
1. Собирать данные с каждого датчика (температура, влажность).
2. Вычислять среднюю температуру за день.
3. Если температура в каком-то секторе превышает 35°C — отправлять уведомление в Telegram.
4. Раз в сутки генерировать отчёт с трендами.
Как это выглядит в ASI Biont
Пользователь описывает задачу в чате:
«У меня Zigbee2MQTT на 192.168.1.100:1883, датчики публикуют в топик zigbee2mqtt/sensor_01, sensor_02 и т.д. Напиши скрипт, который подпишется на все топики zigbee2mqtt/+, будет парсить JSON с полями temperature и humidity, записывать в CSV-файл, и если temperature > 35 — отправлять сообщение в Telegram через мой бот (токен: 123456:ABC-DEF). Выполни скрипт разово на 30 секунд, собери статистику».
AI генерирует код и выполняет его. Вот пример того, что получится:
import paho.mqtt.client as mqtt
import json
import csv
import time
from datetime import datetime
import requests
# Конфигурация
BROKER = "192.168.1.100"
PORT = 1883
TOPIC = "zigbee2mqtt/+"
TELEGRAM_TOKEN = "123456:ABC-DEF"
CHAT_ID = "123456789"
# Хранилище данных
data = []
anomalies = []
def on_message(client, userdata, msg):
try:
payload = json.loads(msg.payload.decode())
sensor_id = msg.topic.split("/")[-1]
temp = payload.get("temperature")
humidity = payload.get("humidity")
if temp is not None:
record = {
"sensor": sensor_id,
"temperature": temp,
"humidity": humidity,
"timestamp": datetime.now().isoformat()
}
data.append(record)
if temp > 35:
anomalie = f"❗ Аномалия: датчик {sensor_id}, температура {temp}°C"
anomalie.append(anomalie)
requests.post(
f"https://api.telegram.org/bot{TELEGRAM_TOKEN}/sendMessage",
json={"chat_id": CHAT_ID, "text": anomalie}
)
except Exception as e:
print(f"Ошибка парсинга: {e}")
client = mqtt.Client()
client.on_message = on_message
client.connect(BROKER, PORT, 60)
client.subscribe(TOPIC)
client.loop_start()
# Сбор данных 30 секунд
time.sleep(30)
client.loop_stop()
# Сохранение в CSV
with open("sensor_data.csv", "w", newline="") as f:
writer = csv.DictWriter(f, fieldnames=["sensor", "temperature", "humidity", "timestamp"])
writer.writeheader()
writer.writerows(data)
# Анализ
if data:
temps = [r["temperature"] for r in data if r["temperature"] is not None]
avg_temp = sum(temps) / len(temps)
print(f"Средняя температура за период: {avg_temp:.2f}°C")
print(f"Всего аномалий: {len(anomalies)}")
else:
print("Данные не получены")
Результат
AI за 30 секунд:
- Подключился к MQTT-брокеру.
- Собрал данные с 10 датчиков.
- Записал их в CSV-файл.
- Обнаружил 2 аномалии (температура > 35°C).
- Отправил Telegram-уведомления.
- Вывел среднюю температуру.
Пользователю не пришлось писать код — только описать задачу на естественном языке.
Альтернативные сценарии интеграции Zigbee с ASI Biont
1. ZHA через SSH на Raspberry Pi
Если вы используете ZHA (Zigbee Home Automation) в Home Assistant, AI может подключиться к Raspberry Pi по SSH (через paramiko) и напрямую читать данные из базы SQLite Home Assistant или выполнять запросы к REST API Home Assistant (через aiohttp). Пример запроса в чате:
«Подключись по SSH к 192.168.1.100 (user: pi, pass: raspberry), выполни curl к localhost:8123/api/states, найди все сенсоры с температурой, вычисли среднюю за последний час».
AI сгенерирует скрипт с paramiko, выполнит команды на Raspberry Pi и вернёт результат.
2. Управление Zigbee-устройствами через MQTT publish
AI может не только читать, но и управлять. Например, включить реле или выключатель по команде:
«Опубликуй в топик zigbee2mqtt/switch_bedroom/set JSON {"state": "ON"}».
AI использует paho-mqtt для publish:
import paho.mqtt.publish as publish
publish.single("zigbee2mqtt/switch_bedroom/set", '{"state": "ON"}', hostname="192.168.1.100")
3. Долгосрочный мониторинг с сохранением в базу данных
AI может настроить скрипт, который запускается по расписанию (через cron на сервере или вручную) и сохраняет данные в PostgreSQL:
«Каждые 10 минут собирай данные с zigbee2mqtt/+/temperature, записывай в таблицу sensor_log в PostgreSQL на 192.168.1.200 (user: admin, db: home)».
AI сгенерирует скрипт с psycopg2 и paho-mqtt, который выполняется в sandbox и пишет в БД.
Почему это выгодно?
| Аспект | Традиционный подход | ASI Biont |
|---|---|---|
| Время на интеграцию | Часы-дни (написание, отладка кода) | Секунды (описание задачи в чате) |
| Знание протоколов | Нужно понимать MQTT, JSON, Python | Не нужно — AI делает всё сам |
| Гибкость | Каждый новый датчик — новый код | Просто опишите новый сценарий |
| Ошибки | Возможны баги, утечки памяти | AI тестирует код в sandbox |
| Масштабирование | Ручное добавление логики | AI адаптируется под ваши данные |
Вывод
Zigbee-устройства — это основа умного дома, но без интеллектуальной обработки данных они остаются просто «умными» датчиками. ASI Biont превращает ваш Zigbee-координатор в полноценного AI-ассистента, который анализирует тренды, предсказывает проблемы и отправляет уведомления. Всё, что нужно — описать задачу в чате. AI сам подключается к MQTT-брокеру, пишет код и выполняет его.
Попробуйте интеграцию Zigbee с ASI Biont на asibiont.com — подключите свои датчики и увидьте, как AI управляет умным домом за секунды, а не за часы.
Комментарии