返回顶部
s

sufn-smart-home 三峰智能家居

三峰智能家居控制技能。以下情况必须使用此技能:(1) 用户说"三峰登录 账号 密码";(2) 用户说打开/关闭/调节灯/空调/窗帘/插座等设备;(3) 用户说同步设备、设备列表、场景列表、执行场景、家庭列表、进入家庭、帮助、三峰帮助;(4) 用户说任何模式/场景名称(如观影模式、阅读模式、回家等)。禁止伪造执行结果,所有操作必须真实调用 API。

作者: admin | 来源: ClawHub
源自
ClawHub
版本
V 1.0.1
安全检测
已通过
97
下载量
免费
免费
0
收藏
概述
安装方式
版本历史

sufn-smart-home

技能激活说明

  • - 用户发送「三峰登录 [账号] [密码]」时,这是三峰智能家居登录指令,必须调用本技能。
  • 用户发送设备控制指令(打开/关闭 + 设备名)时,必须调用本技能。
  • 用户说任何模式或场景名称时,必须调用本技能。

智能家居控制技能

重要规则

  • - 禁止模拟或伪造任何执行结果
  • 禁止在回复末尾添加建议、提示或表情
  • 所有操作必须真实调用 API
  • 回复格式保持简洁,只包含操作结果
  • 每次操作只发一条消息,禁止发送多条消息

状态文件

登录状态和设备数据持久化存储在 {baseDir}/state.json。

读取用 read 工具,path 填 {baseDir}/state.json。

写入必须用 exec 工具执行 PowerShell,不要用 write 工具。
所有脚本中的 $statePath 值为 {baseDir}/state.json,Agent 生成脚本时须将 {baseDir} 替换为技能文件的实际目录路径。

文件不存在时视为未登录。



API 调用方式

重要:运行环境是 Windows PowerShell,必须用 Invoke-RestMethod,禁止用 curl 或 curl.exe。

每次 exec 脚本开头必须加编码设置:
powershell
[Console]::OutputEncoding = [System.Text.Encoding]::UTF8
$OutputEncoding = [System.Text.Encoding]::UTF8



API 说明

Base URL:https://open.aibasis.cc
认证:所有接口 Header 加 Authorization: Bearer

1. 登录

POST /api/user/login
Body: { user: xxx, psw: xxx }
返回: { code: 0, data: { token: xxx, home: { id: xxx, name: xxx } } }

2. 获取家庭列表

GET /api/getHomeList
Headers: Authorization: Bearer (必须带,否则返回缺少Token错误)
返回: { code: 0, data: [{ ID: xxx, NAME: xxx }] }
注意:字段名是大写 ID 和 NAME

3. 进入指定家庭

POST /api/inHome
Body: { homeId: xxx }
返回: { code: 0, data: { token: xxx, home: { id: xxx, name: xxx } } }
注意:进入后 token 会更新,必须保存新 token

4. 同步家庭数据

POST /api/syncHomeData
Body: { requestId: sync_001, timestamp: <毫秒时间戳>, version: 1.0, data: {} }
返回 data 包含: devices[](含 id、name、model、roomId)、rooms[](含 id、name)、scenes[](含 id、name)

5. 控制设备或执行场景

POST /api/control
Body: {
requestId: cmd_001,
timestamp: <毫秒时间戳>,
version: 1.0,
commands: [{ id: <设备id或场景id>, model: <设备model,场景为scene>, properties: { <参数> } }]
}

lamp_5 设备 properties:{open:1} 开、{open:0} 关、{brightness:80} 亮度、{colorTemperature:4000} 色温、{h:120,s:100,l:50} 颜色
执行场景:model=scene,properties={}



操作流程

一、登录

触发词:三峰登录 账号 密码

powershell
[Console]::OutputEncoding = [System.Text.Encoding]::UTF8
$OutputEncoding = [System.Text.Encoding]::UTF8
$statePath = {baseDir}/state.json
$body = @{ user = 账号; psw = 密码 } | ConvertTo-Json
$res = Invoke-RestMethod -Method POST -Uri https://open.aibasis.cc/api/user/login -ContentType application/json -Body $body
if ($res.code -eq 0) {
$token = $res.data.token
$syncBody = @{ requestId = sync_001; timestamp = [DateTimeOffset]::UtcNow.ToUnixTimeMilliseconds(); version = 1.0; data = @{} } | ConvertTo-Json
$syncRes = Invoke-RestMethod -Method POST -Uri https://open.aibasis.cc/api/syncHomeData -ContentType application/json -Headers @{ Authorization = Bearer $token } -Body $syncBody
$devices = $syncRes.data.devices | ForEach-Object { @{ id = $.id; name = $.name; model = $.model; roomId = $.roomId } }
$rooms = $syncRes.data.rooms | ForEach-Object { @{ id = [string]$.id; name = $.name } }
$scenes = $syncRes.data.scenes | ForEach-Object { @{ id = $.id; name = $.name } }
$state = @{ token = $token; home = @{ id = $res.data.home.id; name = $res.data.home.name }; devices = $devices; rooms = $rooms; scenes = $scenes }
$json = $state | ConvertTo-Json -Depth 5 -Compress
[System.IO.File]::WriteAllText($statePath, $json, [System.Text.Encoding]::UTF8)
Write-Output OK home:$($res.data.home.name) devices:$($devices.Count) scenes:$($scenes.Count)
} else {
Write-Output FAIL $($res.msg)
}

输出 OK home:xxx devices:N scenes:M 时回复:✅ 登录成功,家庭:xxx,已同步设备 N 个、场景 M 个,回复后立即结束。
输出 FAIL xxx 时回复:❌ 登录失败:xxx
未提供账号密码时回复:请用格式登录:三峰登录 账号 密码



二、家庭列表

触发词:家庭列表、我的家庭、有哪些家庭

powershell
[Console]::OutputEncoding = [System.Text.Encoding]::UTF8
$OutputEncoding = [System.Text.Encoding]::UTF8
$statePath = {baseDir}/state.json
$state = Get-Content $statePath -Encoding UTF8 | ConvertFrom-Json
$res = Invoke-RestMethod -Method GET -Uri https://open.aibasis.cc/api/getHomeList -Headers @{ Authorization = Bearer $($state.token) }
$total = $res.data.Count
$names = ($res.data | Select-Object -First 10 | ForEach-Object { $_.NAME }) -join 、
Write-Output OK total:$total names:$names

回复:🏠 共 N 个家庭,前10个:名称1、名称2...,发送「进入家庭 名称」切换



三、进入家庭

触发词:进入家庭 <名称>、切换家庭 <名称>

先从用户消息提取家庭名称关键词,替换下方脚本中的 $keyword:

powershell
[Console]::OutputEncoding = [System.Text.Encoding]::UTF8
$OutputEncoding = [System.Text.Encoding]::UTF8
$statePath = {baseDir}/state.json
$state = Get-Content $statePath -Encoding UTF8 | ConvertFrom-Json
$keyword = 用户输入的名称
$listRes = Invoke-RestMethod -Method GET -Uri https://open.aibasis.cc/api/getHomeList -Headers @{ Authorization = Bearer $($state.token) }
$home = $listRes.data | Where-Object { $.NAME -like $keyword -or $keyword -like $($.NAME) } | Select-Object -First 1
if ($home) {
$body = @{ homeId = $home.ID } | ConvertTo-Json
$res = Invoke-RestMethod -Method POST -Uri https://open.aibasis.cc/api/inHome -ContentType application/json -Headers @{ Authorization = Bearer $($state.token) } -Body $body
$token = $res.data.token
$syncBody = @{ requestId = sync_001; timestamp = [DateTime

标签

skill ai

通过对话安装

该技能支持在以下平台通过对话安装:

OpenClaw WorkBuddy QClaw Kimi Claude

方式一:安装 SkillHub 和技能

帮我安装 SkillHub 和 sufn-smart-home-1776024661 技能

方式二:设置 SkillHub 为优先技能安装源

设置 SkillHub 为我的优先技能安装源,然后帮我安装 sufn-smart-home-1776024661 技能

通过命令行安装

skillhub install sufn-smart-home-1776024661

下载

⬇ 下载 sufn-smart-home v1.0.1(免费)

文件大小: 4.92 KB | 发布时间: 2026-4-13 12:12

v1.0.1 最新 2026-4-13 12:12
- Removed the `state.json` file from the skill package.
- No user-facing feature changes; persistent state file is now excluded from distribution.

Archiver·手机版·闲社网·闲社论坛·智能体自动化市场· 多链控股集团有限公司 · 苏ICP备2025199260号-1

Powered by Discuz! X5.0   © 2024-2026 闲社网·AI智能体论坛·AI自动化解决方案·http://xianshe.com

p2p_official_large
返回顶部