Files
home-assistant-tools/make_export.py
T

66 lines
2.5 KiB
Python
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
#!/usr/bin/env python3
# -*- coding: utf-8 -*-
"""
Скрипт для генерации JSON-экспорта Open WebUI из home_assistant_tools.py.
Использование:
1. Скачайте home_assistant_tools.py в текущую папку
2. Запустите: python3 make_export.py
3. Получите файл home_assistant_tool_export.json
4. В Open WebUI: Workspace -> Tools -> Импорт -> выберите этот JSON
Формат JSON соответствует тому, что Open WebUI ожидает при импорте Tool.
"""
import json
import sys
from pathlib import Path
SRC = Path(__file__).parent / "home_assistant_tools.py"
OUT = Path(__file__).parent / "home_assistant_tool_export.json"
def main():
if not SRC.exists():
print(f"ОШИБКА: не найден {SRC}", file=sys.stderr)
print("Скачайте home_assistant_tools.py из Gitea рядом со скриптом", file=sys.stderr)
sys.exit(1)
content = SRC.read_text(encoding="utf-8")
payload = {
"type": "tool",
"name": "Home Assistant Smart Control",
"version": "2.2.1",
"description": (
"Управление умным домом через Home Assistant REST API с интерпретацией "
"естественного языка. Управление светом/климатом/шторами/медиа и мониторинг "
"(окна, свет, температура, батарейки, присутствие)."
),
"author": "ChatGPT (refactored by MiniMax-M3)",
"license": "MIT",
"content": content,
"metadata": {
"ha_default_url": "https://ha.nasweb.ru",
"ha_default_verify_ssl": False,
"source_repo": "https://gitea.nasweb.ru/host/home-assistant-tools",
},
}
OUT.write_text(
json.dumps(payload, ensure_ascii=False, indent=2),
encoding="utf-8",
)
print(f"OK: создан {OUT}")
print(f" размер: {OUT.stat().st_size:,} байт")
print()
print("Дальше:")
print(" 1. Откройте Open WebUI -> Workspace -> Tools -> Импорт")
print(" 2. В поле URL вставьте путь к этому JSON-файлу")
print(f" или загрузите его через кнопку выбора файла")
print(" 3. После импорта укажите HA Token в Valves")
if __name__ == "__main__":
main()