Hermes Agent и Home Assistant: управление умным домом через AI

Hermes Agent — это AI-агент, который подключается к Home Assistant через REST API и позволяет управлять умным домом естественным языком. Вместо десятков автоматизаций и скриптов — один агент, который понимает контекст, запоминает предпочтения и выполняет сложные команды вроде «сделай вечерний режим» или «проверь, все ли выключено, когда я ухожу».

Что такое Home Assistant и зачем подключать к нему AI-агента

Home Assistant — это бесплатная платформа для автоматизации умного дома с открытым исходным кодом. По данным проекта, её используют более 2 миллионов домохозяйств по всему миру. Home Assistant объединяет устройства от разных производителей — Zigbee, Z-Wave, Wi-Fi, Matter, Thread — в единую систему с веб-интерфейсом, мобильным приложением и встроенным голосовым ассистентом Assist.

Но даже встроенного голосового ассистента Assist не всегда достаточно. Assist понимает фиксированный набор команд: «включи свет в гостиной», «установи температуру 22 градуса». Он не умеет работать с контекстом, выполнять составные действия или запоминать, что вчера вы просили не включать свет в спальне после 23:00.

Hermes Agent решает эту задачу. Он подключается к Home Assistant как полноценный клиент API и может:

  • Выполнять произвольные команды на естественном языке
  • Запоминать контекст между сессиями (например, ваши привычки и расписание)
  • Комбинировать несколько действий в одну команду
  • Работать с любыми интеграциями Home Assistant, а не только с фиксированным набором команд
  • Как Hermes Agent подключается к Home Assistant

    Через REST API

    Home Assistant предоставляет RESTful API на том же порту, что и веб-интерфейс (по умолчанию 8123). Для авторизации используется Long-Lived Access Token — его можно создать в профиле пользователя: http://IP_ADDRESS:8123/profile.

    Hermes Agent получает доступ к API через два способа:

    Способ 1: HTTP-запросы напрямую. Hermes умеет выполнять HTTP-запросы через встроенный инструмент работы с сетью. Агент формирует GET/POST-запросы к эндпоинтам Home Assistant:

  • GET /api/states — получить состояния всех устройств
  • POST /api/services/light/turn_on — включить свет
  • POST /api/services/climate/set_temperature — установить температуру
  • Способ 2: Через MCP-протокол. Model Context Protocol позволяет подключить Home Assistant как внешний инструмент через специализированный MCP-сервер. Это более структурированный подход, где каждый сервис Home Assistant становится отдельной функцией, доступной агенту.

    Настройка за 5 минут

    Шаг 1. Получите Long-Lived Access Token в Home Assistant:

  • Откройте http://IP_ADDRESS:8123/profile
  • Прокрутите вниз до раздела «Long-Lived Access Tokens»
  • Нажмите «Create Token», укажите имя (например, «Hermes»)
  • Скопируйте токен — он показывается только один раз
  • Шаг 2. Добавьте переменные окружения в Hermes:

    # В файле .env профиля Hermes
    HASS_URL=http://192.168.1.100:8123
    HASS_TOKEN=ваш_токен_здесь
    

    Шаг 3. Создайте скилл для Home Assistant. Скилл — это файл с инструкциями, который говорит агенту, как работать с API:

    # Home Assistant Skill
    
    ## API Endpoints
    - Base URL: {HASS_URL}
    - Auth: Authorization: Bearer {HASS_TOKEN}
    
    ## Endpoints
    - GET /api/states — все состояния
    - POST /api/services/{domain}/{service} — вызов сервиса
    - GET /api/history/period/{timestamp} — история состояний
    

    Шаг 4. Проверьте подключение. Откройте чат с Hermes и напишите: «Покажи состояния всех устройств в Home Assistant». Агент выполнит запрос к API и покажет список.

    Что можно делать с умным домом через Hermes Agent

    Управление светом

    Вместо того чтобы помнить entity_id каждого светильника, просто говорите:

  • «Включи свет в гостиной»
  • «Сделай свет в спальне тёплым и приглушённым»
  • «Выключи весь свет на первом этаже»
  • Hermes находит нужные устройства, формирует запрос к API и выполняет действие. Если устройство не найдено точно, агент уточняет, какое именно вы имели в виду.

    Управление климатом

  • «Установи температуру 22 градуса в гостиной»
  • «Включи кондиционер на охлаждение»
  • «Покажи текущую температуру во всех комнатах»
  • Составные команды

    Это главная сила Hermes по сравнению с обычным голосовым ассистентом. Одна фраза — несколько действий:

  • «Сделай вечерний режим» → приглушает свет, включает тёплый свет, закрывает шторы, включает музыку
  • «Я ухожу» → выключает весь свет, выключает кондиционер, запирает дверь, включает сигнализацию
  • «Приготовь комнату к сну» → выключает свет везде, кроме спальни, в спальне делает минимум, включает ночной режим климата
  • Мониторинг и отчёты

  • «Что происходит дома?» — агент собирает состояния всех датчиков и формирует сводку
  • «Были ли движения на камере за последний час?» — агент проверяет историю событий
  • «Сколько электричества потратил дом за сегодня?» — данные из сенсоров энергопотребления
  • Интеграция с другими задачами

    Hermes — не просто пульт для умного дома. Он может:

  • Проверить погоду и включить отопление, если ночью будет холодно
  • Увидеть, что вы дома по GPS из Telegram, и включить свет заранее
  • Составить отчёт об энергопотреблении и отправить его вам в чат
  • Практические примеры использования

    Пример 1: Утренняя рутина

    Запрос: «Доброе утро»

    Что делает Hermes:

  • Проверяет погоду через API погодного сервиса
  • Включает свет на кухне (тёплый, 70% яркости)
  • Включает кофемашину (если подключена через умную розетку)
  • Устанавливает климат на комфортную температуру
  • Отправляет вам краткую сводку: «Доброе утро. Сегодня +15°C, облачно. Кофе готовится. Температура дома 21°C.»
  • Пример 2: Автоматический вечерний отчёт

    Через cron-задачу в Hermes можно настроить ежевечерний отчёт:

    Каждый день в 22:00 проверь состояния всех устройств, закрыты ли двери, 
    включена ли сигнализация. Отправь отчёт в Telegram.
    

    Пример 3: Реакция на нештатные ситуации

    Запрос: «Датчик воды на кухне показывает протечку!»

    Что делает Hermes:

  • Проверяет состояние датчика через API
  • Если протечка подтверждена — перекрывает кран (если есть умный кран)
  • Отправляет срочное уведомление в Telegram
  • Записывает инцидент в лог
  • Сравнение: Hermes Agent vs встроенный Assist

    Возможность Assist (встроенный) Hermes Agent
    Базовые команды
    Контекст между сессиями
    Составные команды Ограниченно
    Работа с внешними сервисами
    Запоминание привычек
    Приватность Локально Зависит от провайдера LLM
    Скорость ответа Быстро Зависит от модели

    FAQ

    Можно ли использовать Hermes Agent с Home Assistant без интернета?

    Hermes Agent требует доступ к языковой модели (LLM). Если вы используете локальную модель через Ollama или LM Studio — да, полностью офлайн. Если используете облачный API (OpenAI, Anthropic) — нужен интернет для обработки запросов, но Home Assistant работает локально.

    Какие устройства Home Assistant работают с Hermes Agent?

    Все, что доступны через API Home Assistant. Это тысячи интеграций: Zigbee, Z-Wave, Wi-Fi, Matter, Bluetooth. Hermes не зависит от типа устройства — он работает через единый API.

    Безопасно ли давать AI-агенту доступ к умному дому?

    Риск есть: агент может выполнить произвольную команду. Рекомендуется: использовать отдельный токен с ограниченными правами (если поддерживается вашей версией HA), начинать с мониторинга (только чтение), постепенно расширяя права. В Hermes можно настроить ограничения в скилле — запретить определённые действия.

    Чем это лучше обычных автоматизаций в Home Assistant?

    Автоматизации работают по правилам «если X, то Y». Hermes понимает произвольные запросы и может комбинировать данные из разных источников. Но для критичных задач (протечка, пожар) лучше оставить классические автоматизации — они работают мгновенно и не зависят от LLM.

    Сколько стоит подключение Hermes к Home Assistant?

    Home Assistant бесплатен. Hermes Agent — open source, бесплатен. Нужен только сервер для запуска (VPS от ~300 руб/мес или домашний сервер) и API-ключ языковой модели (от $0 при использовании локальных моделей).