/ Каталог / Песочница / Home Assistant MCP
● Сообщество homeassistant-ai 🔑 Нужен свой ключ

Home Assistant MCP

автор homeassistant-ai · homeassistant-ai/ha-mcp

Разговаривайте с умным домом. 87 инструментов покрывают управление устройствами, автоматизации, дашборды, энергопотребление, историю — Claude становится опытным пользователем Home Assistant.

ha-mcp оборачивает REST и WebSocket API Home Assistant как MCP-инструменты. Помимо включения света, он умеет создавать автоматизации, редактировать дашборды, запрашивать историю и статистику, управлять HACS-дополнениями и изучать реестр сущностей — позволяя Claude диагностировать и перестраивать умный дом.

Зачем использовать

Ключевые функции

Живое демо

Как выглядит на практике

ha-mcp.replay ▶ готово
0/0

Установка

Выберите клиент

~/Library/Application Support/Claude/claude_desktop_config.json  · Windows: %APPDATA%\Claude\claude_desktop_config.json
{
  "mcpServers": {
    "ha-mcp": {
      "command": "uvx",
      "args": [
        "ha-mcp"
      ]
    }
  }
}

Откройте Claude Desktop → Settings → Developer → Edit Config. Перезапустите после сохранения.

~/.cursor/mcp.json · .cursor/mcp.json
{
  "mcpServers": {
    "ha-mcp": {
      "command": "uvx",
      "args": [
        "ha-mcp"
      ]
    }
  }
}

Cursor использует ту же схему mcpServers, что и Claude Desktop. Конфиг проекта приоритетнее глобального.

VS Code → Cline → MCP Servers → Edit
{
  "mcpServers": {
    "ha-mcp": {
      "command": "uvx",
      "args": [
        "ha-mcp"
      ]
    }
  }
}

Щёлкните значок MCP Servers на боковой панели Cline, затем "Edit Configuration".

~/.codeium/windsurf/mcp_config.json
{
  "mcpServers": {
    "ha-mcp": {
      "command": "uvx",
      "args": [
        "ha-mcp"
      ]
    }
  }
}

Тот же формат, что и Claude Desktop. Перезапустите Windsurf для применения.

~/.continue/config.json
{
  "mcpServers": [
    {
      "name": "ha-mcp",
      "command": "uvx",
      "args": [
        "ha-mcp"
      ]
    }
  ]
}

Continue использует массив объектов серверов, а не map.

~/.config/zed/settings.json
{
  "context_servers": {
    "ha-mcp": {
      "command": {
        "path": "uvx",
        "args": [
          "ha-mcp"
        ]
      }
    }
  }
}

Добавьте в context_servers. Zed перезагружается автоматически.

claude mcp add ha-mcp -- uvx ha-mcp

Однострочная команда. Проверить: claude mcp list. Удалить: claude mcp remove.

Сценарии использования

Реальные сценарии: Home Assistant MCP

Управление устройствами без запоминания entity ID

👤 Все с настроенным Home Assistant ⏱ ~5 min beginner

Когда использовать: Вы знаете, что хотите («приглуши кухню до 30%»), но не помните точный entity_id.

Предварительные требования
  • Long-Lived Access Token для Home Assistant — Профиль → Безопасность → Создать токен; сохраните как переменную окружения HA_TOKEN
  • Установлен HA_URL — Задайте HA_URL=http://homeassistant.local:8123 (или ваш URL)
Поток
  1. Найти сущность
    Use ha-mcp. Find entities matching 'kitchen light'. Show entity_id, area, and current state.✓ Скопировано
    → 1–3 сущности-кандидата с текущим состоянием
  2. Применить изменение
    Set kitchen ceiling lights to 30% brightness, warm white.✓ Скопировано
    → Вызов сервиса успешен; состояние подтверждено

Итог: Управление устройствами по намерению, а не по памяти.

Подводные камни
  • Несколько сущностей совпали — переключили не ту — Всегда подтверждайте список entity_id перед массовым действием; используйте фильтры по зонам

Создание сложной автоматизации из описания на естественном языке

👤 Пользователи HA, избегающие YAML ⏱ ~15 min intermediate

Когда использовать: Хотите «если я ухожу из дома после заката и кормушка для кота пустая — пришли уведомление» — и не хотите писать YAML.

Поток
  1. Описать намерение
    Use ha-mcp. List my person tracker, sun, and cat feeder entities so we can wire an automation.✓ Скопировано
    → Релевантные сущности со схемой состояний
  2. Сгенерировать YAML
    Create automation 'cat-feeder-sundown-alert' with that logic. Don't deploy yet — show me the YAML.✓ Скопировано
    → Валидный YAML автоматизации HA в чате
  3. Развернуть и трассировать
    Deploy it. Then trigger it manually and show the trace so I can verify the conditions fired.✓ Скопировано
    → Автоматизация в UI; трассировка показывает ожидаемые ветви

Итог: Рабочая автоматизация без ручного редактирования /config/automations.yaml.

Подводные камни
  • Автоматизация развёрнута, но не срабатывает — опечатка в имени сущности — Используйте инструмент трассировки; проверьте точное совпадение entity_id

Исследование скачка потребления электроэнергии с помощью истории и статистики

👤 Владельцы умного дома с панелью Energy в HA ⏱ ~25 min intermediate

Когда использовать: Счёт за электричество вырос — хотите понять, что изменилось.

Поток
  1. Получить итоги
    Use ha-mcp. Compare total kWh per circuit for last 30 days vs the prior 30. Flag deltas >20%.✓ Скопировано
    → Таблица по каждой цепи с выделенными отклонениями
  2. Детально изучить худший показатель
    For the worst-offending circuit, plot hourly usage for the last 7 days and identify the new pattern.✓ Скопировано
    → Почасовой профиль + словесное описание аномалии
  3. Найти виновное устройство
    Which entity on that circuit changed behavior? Cross-reference automations that touch it.✓ Скопировано
    → Конкретное устройство и автоматизация определены

Итог: Конкретный ответ «зарядка EV запустилась по новому расписанию», а не расплывчатые подозрения.

Подводные камни
  • Статистика настолько хороша, насколько хорошо покрытие датчиков — Признайте пробелы; предложите, где добавить мониторинг

Настройка «режима отпуска», затрагивающего свет, замки, жалюзи и уведомления

👤 Уезжающие в поездку ⏱ ~30 min intermediate

Когда использовать: Через час уезжаете и хотите имитацию присутствия и режим отсутствия.

Поток
  1. Инвентаризация затронутых сущностей
    Use ha-mcp. List lights in living areas, all door locks, all blinds. Note which are HA-controllable.✓ Скопировано
    → Категоризированный список сущностей с флагом управляемости
  2. Создать скрипт
    Create a script 'vacation_mode_on' that arms locks, randomizes evening lights 18:30–22:30, sets blinds to 50%, and pauses cleaning automations.✓ Скопировано
    → Скрипт в HA; ручной запуск успешен
  3. Добавить триггер
    Bind it to an input_boolean 'vacation_mode' so I can toggle from the dashboard.✓ Скопировано
    → Переключатель на дашборде; нажатие запускает скрипт

Итог: Режим отпуска в один клик; уезжаете с вооружённым дашбордом.

Подводные камни
  • Замки автоматически закрываются, когда внутри люди — Добавьте проверку присутствия людей; никогда не закрывайте, когда кто-то дома

Комбинации

Сочетайте с другими MCP — эффект x10

ha-mcp + filesystem

Резервное копирование automations.yaml + scripts.yaml в git

Export all automations and scripts via ha-mcp, write to ./ha-config/, commit.✓ Скопировано

Инструменты

Что предоставляет этот MCP

ИнструментВходные данныеКогда вызыватьСтоимость
search_entities query: str, area?, domain? Первый шаг почти в каждом сценарии — найти entity_id 1 HA API call
call_service domain, service, target, data Применить любое изменение устройства или сцены 1 API call
create_automation yaml_or_object Программное создание автоматизаций 1 API call
get_history entity_id, start, end Получить историю состояний для анализа 1 API call
get_statistics statistic_id, period (5min|hour|day|month) Долгосрочные агрегированные данные (энергия, климат) 1 API call
trace_automation automation_id, run_id? Отладка — почему автоматизация сработала или не сработала 1 API call

Стоимость и лимиты

Во что обходится

Квота API
Жёсткой квоты нет — REST API работает локально
Токенов на вызов
Переменно; реестр сущностей может быть огромным без фильтрации
Деньги
Бесплатно (open source)
Совет
Всегда используйте search_entities с фильтрами — полные дампы реестра дороги в токенах

Безопасность

Права, секреты, радиус поражения

Минимальные скоупы: Long-Lived Access Token (полный scope HA)
Хранение учётных данных: Переменная окружения HA_TOKEN
Исходящий трафик: Только на URL вашего экземпляра HA — держите в локальной сети
Никогда не давайте: Токен HA любому облачному LLM, которому не доверяете — он управляет физическим доступом (замки, гараж)

Устранение неполадок

Частые ошибки и исправления

Не удаётся подключиться к HA

Убедитесь, что HA_URL доступен с места запуска MCP; проверьте trusted_proxies при использовании reverse proxy

Проверить: curl $HA_URL/api/ -H 'Authorization: Bearer $HA_TOKEN'
401 Unauthorized

Токен истёк или отозван — создайте новый long-lived токен в профиле

Вызов сервиса возвращает 400

Несоответствие сигнатуры сервиса — проверьте схему в панели инструментов разработчика, затем повторите

Автоматизация развёрнута, но не срабатывает

Используйте trace_automation, чтобы увидеть, какое условие не выполнилось; чаще всего: опечатка в entity_id или неверный часовой пояс в условии sun

Альтернативы

Home Assistant MCP в сравнении

АльтернативаКогда использоватьКомпромисс
Home Assistant native voice assistants (Piper/Whisper)Нужно голосовое управление без облачного LLM в цепочкеМеньше гибкости с естественным языком; больше настройки
ha-mcp-server (legacy/forks)В вашем форке есть функции, которых нет здесьМеньший охват; этот имеет 87 инструментов и активно поддерживается

Ещё

Ресурсы

📖 Читать официальный README на GitHub

🐙 Открытые задачи

🔍 Все 400+ MCP-серверов и Skills