扬德克斯智能家居

SKILL开发

原名 yandex-smart-home

开发 联网访问 许可证明确 OpenClaw
安装这个技能

yandex-smart-home 用于补充开发相关能力,适合在 OpenClaw 中需要让 Agent 承接开发相关任务时使用。可结合来源仓库、安装命令和原始 README 继续核验具体用法。安装前建议确认权限范围、维护状态,以及是否会触发联网、命令执行或文件读写。

累计安装 713 本周 30
GitHub 星标 未标注 仓库 yandex-smart-home
下载量 250 技能市场下载数
权限级别 联网访问 安装前请确认风险范围
许可证 许可证明确 MIT-0

安装

ClawHub 市场
在支持 Skills 的客户端里执行,装完问一句「你有哪些技能」验证
openclaw skills install yandex-smart-home

技能档案

开发
字段来自技能仓库与公开索引,中文说明由本站标注
作者 / 维护方dima-online仓库 yandex-smart-home · 版本 1.0.0
宿主客户端OpenClaw技能可被这些客户端加载
安装方式ClawHub 市场安装包 dima-online/yandex-smart-home
权限级别联网访问安装前请确认风险范围
许可证MIT-0许可证明确,商用前请自行确认条款
仓库可用性available技能仓库当前是否可访问
最近核验2026-05-01上游最后核验时间 · 数据更新 未标注
正文体量9.6 KBSKILL.md 原文大小,越大说明说明书写得越细

能做什么

5 项能力
上游给出的能力概览与适用场景
  • 按任务关键词查找相关 Skills
  • 展示可复制的安装命令
  • 保留来源站点、仓库和原始说明,方便继续核验
  • 补充不同宿主或平台的使用分布数据
  • 展示第三方安全扫描或审计结果
OpenClaw 用户查找和安装 Skill 时用户想查找某类 Agent Skill 时需要根据任务场景推荐可安装能力包时需要对比不同来源的安装命令和来源信息时

权限与风险

联网访问
装之前先读完这段

安装与使用指南

安装步骤

本站只展示命令,不托管安装包,也不自动执行。

怎么用

安装后应在对应宿主中按原始 README 的触发条件使用;当前草稿只做目录说明,具体调用方式由规则抽取,异常条目再复核。

SKILL.md 全文

9.6 KB
模型实际读到的说明书原文,来自技能仓库

Yandex Smart Home Skill

Управление устройствами умного дома Яндекса через API https://api.iot.yandex.net.


Требования

  • Переменная окружения YANDEX_IOT_TOKEN — OAuth-токен Яндекса с правами iot:view и iot:control.
  • Утилита curl (есть в большинстве систем по умолчанию).

Как получить токен

  1. Зайдите на https://oauth.yandex.ru/client/new
  2. Создайте приложение, выберите платформу «Веб-сервисы»
  3. В разделе «Доступы» добавьте iot:view и iot:control
  4. После создания получите отладочный токен по ссылке:
    https://oauth.yandex.ru/authorize?response_type=token&client_id=<ВАШ_CLIENT_ID>
  5. Установите токен в конфиге OpenClaw:
    YANDEX_IOT_TOKEN=y0_AgAAAA...

API Base

BASE_URL=https://api.iot.yandex.net/v1.0
AUTH=Authorization: Bearer $YANDEX_IOT_TOKEN

Операции

1. Получить все устройства, комнаты и сценарии

Используй эту команду в начале, чтобы узнать ID устройств:

curl -s -X GET "$BASE_URL/user/info" \
  -H "$AUTH" | python3 -m json.tool

Ответ содержит:
- devices[] — список всех устройств с полями id, name, type, capabilities[], properties[]
- rooms[] — комнаты с устройствами внутри
- scenarios[] — сценарии с id и name
- groups[] — группы устройств

Всегда начинай с этого запроса, если пользователь не указал конкретный ID устройства.


2. Получить состояние конкретного устройства

curl -s -X GET "$BASE_URL/devices/{DEVICE_ID}" \
  -H "$AUTH" | python3 -m json.tool

Возвращает текущее состояние всех capabilities (умений) и properties (свойств, например температура датчика).


3. Управление устройством (отправить команду)

curl -s -X POST "$BASE_URL/devices/actions" \
  -H "$AUTH" \
  -H "Content-Type: application/json" \
  -d '{
    "devices": [
      {
        "id": "{DEVICE_ID}",
        "actions": [
          {
            "type": "{CAPABILITY_TYPE}",
            "state": {
              "instance": "{INSTANCE}",
              "value": {VALUE}
            }
          }
        ]
      }
    ]
  }' | python3 -m json.tool

4. Управление группой устройств

curl -s -X POST "$BASE_URL/groups/{GROUP_ID}/actions" \
  -H "$AUTH" \
  -H "Content-Type: application/json" \
  -d '{
    "actions": [
      {
        "type": "{CAPABILITY_TYPE}",
        "state": {
          "instance": "{INSTANCE}",
          "value": {VALUE}
        }
      }
    ]
  }' | python3 -m json.tool

5. Запустить сценарий

curl -s -X POST "$BASE_URL/scenarios/{SCENARIO_ID}/actions" \
  -H "$AUTH" | python3 -m json.tool

Справочник умений (capabilities)

Включение/выключение — devices.capabilities.on_off

{
  "type": "devices.capabilities.on_off",
  "state": {
    "instance": "on",
    "value": true
  }
}
  • value: true — включить
  • value: false — выключить

Яркость — devices.capabilities.range (instance: brightness)

{
  "type": "devices.capabilities.range",
  "state": {
    "instance": "brightness",
    "value": 70
  }
}
  • value — от 0 до 100 (проценты)

Цветовая температура — devices.capabilities.color_setting (instance: temperature_k)

{
  "type": "devices.capabilities.color_setting",
  "state": {
    "instance": "temperature_k",
    "value": 4000
  }
}
  • Тёплый свет: ~2700K, нейтральный: ~4000K, холодный: ~6500K

Цвет RGB — devices.capabilities.color_setting (instance: rgb)

{
  "type": "devices.capabilities.color_setting",
  "state": {
    "instance": "rgb",
    "value": 16711680
  }
}
  • value — цвет в десятичном формате RGB (16711680 = красный #FF0000)
  • Для перевода: R×65536 + G×256 + B

Температура (термостат) — devices.capabilities.range (instance: temperature)

{
  "type": "devices.capabilities.range",
  "state": {
    "instance": "temperature",
    "value": 22
  }
}

Режим работы — devices.capabilities.mode

{
  "type": "devices.capabilities.mode",
  "state": {
    "instance": "program",
    "value": "auto"
  }
}

Значения instance: program, work_speed, fan_speed, heat, clean, swing
Конкретные значения value зависят от устройства — смотри в ответе /user/info.


Произвольное переключение — devices.capabilities.toggle

{
  "type": "devices.capabilities.toggle",
  "state": {
    "instance": "ionization",
    "value": true
  }
}

Значения instance: backlight, controls_locked, ionization, keep_warm, mute, oscillation, pause


Интерпретация пользовательских запросов

Что сказал пользователь Что сделать
«включи свет в гостиной» найти устройства типа light в комнате с «гостиная» в названии → on_off: true
«выключи всё» on_off: false для всех активных устройств
«сделай свет потеплее» color_setting/temperature_k → уменьшить текущее значение
«приглуши лампу до 30%» range/brightness → value: 30
«поставь 23 градуса» range/temperature → value: 23
«запусти сценарий "Кино"» найти в scenarios[] по имени → POST /scenarios/{id}/actions
«какие устройства онлайн?» GET /user/info → отфильтровать online: true

Алгоритм выполнения команды

  1. Если ID устройства неизвестен — сначала выполни GET /user/info, найди нужное устройство по имени или комнате.
  2. Проверь, что нужное capability есть у устройства в поле capabilities[].
  3. Составь и выполни запрос POST /devices/actions.
  4. Проверь в ответе action_result.status:
    - DONE — успех, сообщи пользователю.
    - ERROR — сообщи код ошибки из error_code и error_message.

Обработка ошибок

HTTP-код Причина Действие
401 Невалидный токен Попроси пользователя проверить YANDEX_IOT_TOKEN
403 Нет прав iot:control Токен выдан только с iot:view, нужно переполучить
404 Устройство не найдено Проверь ID через /user/info
429 Превышен лимит запросов Подожди несколько секунд и повтори

Примеры готовых команд

Включить лампу:

curl -s -X POST "https://api.iot.yandex.net/v1.0/devices/actions" \
  -H "Authorization: Bearer $YANDEX_IOT_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{"devices":[{"id":"DEVICE_ID","actions":[{"type":"devices.capabilities.on_off","state":{"instance":"on","value":true}}]}]}'

Выключить и уменьшить яркость одновременно (два действия сразу):

curl -s -X POST "https://api.iot.yandex.net/v1.0/devices/actions" \
  -H "Authorization: Bearer $YANDEX_IOT_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{
    "devices": [{
      "id": "DEVICE_ID",
      "actions": [
        {"type":"devices.capabilities.range","state":{"instance":"brightness","value":30}},
        {"type":"devices.capabilities.on_off","state":{"instance":"on","value":true}}
      ]
    }]
  }'

Список всех устройств с именами и ID:

curl -s "https://api.iot.yandex.net/v1.0/user/info" \
  -H "Authorization: Bearer $YANDEX_IOT_TOKEN" | \
  python3 -c "
import json,sys
data=json.load(sys.stdin)
for d in data.get('devices',[]):
    print(f\"{d['name']:<30} id={d['id']}  type={d['type']}  online={d.get('online','?')}\")
"

安全信息

审计结论
未标注不代表已通过审计
安全审计VirusTotal、ClawScan、Static analysis第三方安全审计平台给出的结论

热门专题

按场景挑技能
全部专题 →

技能内容以作者仓库为准;分类、权限级别与许可证状态的中文说明为中文整理,最近核验 2026-05-01。