Описание
openclaw-yandexiot — Python CLI и скилл для управления Яндекс Умным домом: включает и выключает лампы и розетки, меняет яркость и цветовую температуру света, запускает сценарии — всё из командной строки или по запросу агента, изначально сделан для OpenClaw, но CLI применим с любым инструментом. Для автоматизации умного дома на устройствах Яндекса.
Что умеет:
— управлять лампами и розетками;
— менять яркость и температуру света;
— запускать сценарии умного дома;
— работать как CLI и как скилл.
Полная документация ниже — автоматически из репозитория wannawhat/openclaw-yandexiot (ветка master). Оригинальные материалы проекта распространяются на условиях его лицензии.
Yandex Smart Home CLI for OpenClaw
Python CLI для управления устройствами Яндекс Умного Дома из OpenClaw AI-ассистента.
Возможности
- Управление лампами, люстрами, розетками, гирляндами
- Включение/выключение устройств
- Изменение яркости (0-100)
- Изменение цветовой температуры (1500-6500K)
- Установка цвета через HSV (Hue, Saturation, Value)
- JSON output для лёгкой интеграции
Требования
- Python 3.8+
- OAuth токен Яндекса
Установка
git clone https://github.com/wannawhat/openclaw-yandexiot.git
cd openclaw-yandexiot
python3 -m venv venv
source venv/bin/activate # или venv/bin/activate на Windows
pip install -r requirements.txt
Получение OAuth токена
- Создайте приложение: https://oauth.yandex.ru/?dialog=create-client-entry (выберите "Для доступа к API или отладки")
- Скопируйте
client_id - Перейдите по ссылке авторизации:
https://oauth.yandex.ru/authorize?response_type=token&client_id=ВАШ_CLIENT_ID - Скопируйте токен со страницы
- Создайте файл
.env:ya_oauth_token=ВАШ_ТОКЕН
Использование
Получить список устройств
python3 main.py get_all
Возвращает JSON с информацией о всех устройствах:
[
{
"id": "1b82d50d-8662-44c2-a6ac-b53b8b5481f4",
"name": "Светильник",
"room": "Спальня",
"type": "light.ceiling",
"state": {
"on": true,
"brightness": 100,
"temp": 4500
},
"can": ["on_off", "brightness", "temp", "color"]
}
]
Включить/выключить
python3 main.py on <device_id>
python3 main.py off <device_id>
Установить яркость
python3 main.py set <device_id> brightness 80
Значение: 0-100
Установить цветовую температуру
python3 main.py set <device_id> temp 4000
Значение: 1500 (тёплый) – 6500 (холодный)
Установить цвет
python3 main.py set <device_id> color 270 96 100
Параметры HSV:
- H (Hue): 0-360 (красный=0, синий=240, зелёный=120)
- S (Saturation): 0-100
- V (Value/Brightness): 0-100
Интеграция с OpenClaw
Полная документация по интеграции находится в SKILL.md.
Примеры сценариев
Вечернее освещение
# Тёплый мягкий свет
python3 main.py set <device_id> brightness 30
python3 main.py set <device_id> temp 2700
Рабочий режим
# Яркий холодный свет
python3 main.py set <device_id> brightness 100
python3 main.py set <device_id> temp 5000
Цветная подсветка
# Фиолетовый
python3 main.py set <device_id> color 270 96 100
# Красный
python3 main.py set <device_id> color 0 100 100
# Синий
python3 main.py set <device_id> color 240 100 100
Типы устройств
| Тип | Описание |
|---|---|
light |
Лампа / умная розетка с лампой |
light.ceiling |
Люстра |
light.strip |
Светодиодная лента |
light.garland |
Гирлянда |
socket |
Умная розетка |
Output формат
Все команды возвращают JSON:
Успех:
{"status": "ok"}
или
{
"status": "ok",
"result": [...]
}
Ошибка:
{
"status": "error",
"message": "описание ошибки"
}
Автор
Создано @wannawhat для интеграции с OpenClaw.
Интегрировано и поддерживается Ray 🔦
Лицензия
MIT