Files
home-assistant-tools/README.md
T
2026-07-29 19:02:26 +03:00

126 lines
5.3 KiB
Markdown

# Home Assistant Tools for Open WebUI
Инструменты для управления умным домом через Home Assistant REST API с интерпретацией естественного языка.
## Возможности
### Управление
- Свет (вкл/выкл, яркость, цветовая температура)
- Розетки и выключатели
- Климат (температура, режимы нагрев/охлаждение)
- Медиа (плей/пауза, громкость, переключение треков)
- Шторы и жалюзи
- Замки
- Вентиляторы
- Роботы-пылесосы
- Сценарии и скрипты
### Мониторинг (ответы на вопросы)
- Какие окна/двери открыты
- Что горит лишнего
- Какая температура в комнатах
- Какие батарейки садятся
- Что сейчас играет
- Кто дома
## Установка
### Способ 1: через JSON-импорт (рекомендуемый)
**Почему именно JSON**: Open WebUI «Импорт по URL» в Workspace → Tools принимает JSON-экспорт, а не голый `.py`. Поэтому мы сначала делаем JSON из Python.
```bash
# 1. Скачиваем оба файла
curl -sSL https://gitea.nasweb.ru/host/home-assistant-tools/raw/branch/main/home_assistant_tools.py -o home_assistant_tools.py
curl -sSL https://gitea.nasweb.ru/host/home-assistant-tools/raw/branch/main/make_export.py -o make_export.py
# 2. Генерируем JSON
python3 make_export.py
# -> создан home_assistant_tool_export.json
# 3. Загрузите этот JSON-файл в Open WebUI
# Workspace -> Tools -> Импорт -> выберите файл
```
### Способ 2: ручное копирование
Если `make_export.py` по каким-то причинам не сработал, скопируйте код вручную:
```bash
curl -sSL https://gitea.nasweb.ru/host/home-assistant-tools/raw/branch/main/home_assistant_tools.py
```
Затем:
1. Open WebUI → **Workspace → Tools**
2. **+ Новый инструмент**
3. Вставьте всё содержимое в редактор
4. Сохраните
## Создание токена Home Assistant
1. Откройте HA (https://ha.nasweb.ru) → **Профиль** (левый нижний угол)
2. Прокрутите вниз до **Long-Lived Access Tokens**
3. **Create Token**, имя — `open-webui`
4. **Скопируйте токен** (покажется один раз)
## Настройка Valves
После импорта инструмента откройте его настройки (⚙️) и укажите:
| Параметр | Значение | По умолчанию |
|---|---|---|
| `ha_url` | URL вашего HA | `https://ha.nasweb.ru` |
| `ha_token` | Long-Lived Token из шага выше | (пусто) |
| `verify_ssl` | Проверять SSL: `false` для самоподписанных | `false` |
| `request_timeout` | Таймаут HTTP, сек | `10` |
| `max_retries` | Количество ретраев | `2` |
| `cache_ttl` | TTL кэша состояний, сек | `5` |
| `confirm_global_actions` | Спрашивать подтверждение для «выключи весь свет» | `true` |
| `dry_run` | Только показывать, не выполнять | `false` |
## Включение для пользователя
Open WebUI → **Settings → Interface → Tools** → включите `Home Assistant Smart Control`.
## Примеры команд
### Управление
```
включи свет в спальне
выключи весь свет
поставь 23 градуса в детской
открой шторы в гостиной
пауза музыки
громче
запусти сцену вечерний отдых
включи свет на 50%
уютный свет в спальне
```
### Мониторинг
```
какие окна открыты?
что горит лишнего?
какая температура в спальне?
батарейки садятся?
кто дома?
что сейчас играет?
```
## Безопасность
- Токен HA хранится в **Valves** Open WebUI, не в коде
- Глобальные команды («выключи весь свет») требуют подтверждения
- Ошибки на одной сущности не валят весь сценарий — остальные устройства обрабатываются независимо
- HTTP-запросы с ретраями и таймаутами
- Поддержка HTTPS с опцией отключения проверки сертификата (для самоподписанных)
## Версионирование
- **v2.2.1** — HTTPS по умолчанию, verify_ssl в Valves, генератор JSON-экспорта
- **v2.2.0** — мониторинг (окна, свет, климат, батарейки, медиа, присутствие), dry-run, ретраи, кэш состояний
- **v2.0.0** — базовое управление светом, климатом, медиа, шторами
## Лицензия
MIT