Install
openclaw skills install duwi-smart-home迪惟智能家居技能,基于 Duwi 开放平台 API,支持设备控制、场景执行、状态查询等功能
openclaw skills install duwi-smart-home基于 Duwi 开放平台 API,支持设备控制、场景执行、状态查询等功能。
配置前确认:
方式 1:非交互模式(适合大模型)
python init_config.py --appkey <APPKEY> --secret <SECRET>
方式 2:交互模式
python init_config.py
按提示输入 APPKEY 和 SECRET(输入时 SECRET 会隐藏显示)。
方式 1:提供密码
python duwi_cli.py login <手机号> <密码>
方式 2:不输入密码(会提示输入,隐藏显示)
python duwi_cli.py login <手机号>
方式 1:交互选择
python duwi_cli.py choose-house
按提示选择房屋。
方式 2:直接指定房屋编号(推荐,无需交互)
python duwi_cli.py choose-house --house_no <房屋编号>
python duwi_cli.py device-operate switch on --room 客厅 --device_name 顶灯
| 功能 | CLI 指令 |
|---|---|
| 登录 | python duwi_cli.py login <手机号> [密码] |
| 退出 | python duwi_cli.py logout |
💡 提示:登录成功后 token 会自动保存,下次使用无需重新登录。Token 过期时会自动刷新。
| 功能 | CLI 指令 |
|---|---|
| 房屋列表 | python duwi_cli.py houses |
| 选择房屋 | python duwi_cli.py choose-house --house_no <编号> |
| 楼层列表 | python duwi_cli.py floors |
| 房间列表 | python duwi_cli.py rooms [--floor <楼层名>] |
大模型提示: 通过楼层名称查找房间列表,未找到相应的楼层时,先查找楼层列表,匹配相似的楼层名称,再通过精准楼层名称查找房间列表。
| 功能 | CLI 指令 |
|---|---|
| 设备列表 | python duwi_cli.py devices [--room <房间>] [--floor <楼层>] [--online] |
| 设备详情 | python duwi_cli.py device-info <设备编号> |
| 设备状态 | python duwi_cli.py device-value <设备编号> |
大模型提示: 设备列表的查询支持 --floor(楼层)、--room(房间)、--online(是否在线)、--type(设备类型编号)参数来精确定位设备,参数可选,可同时传入多个参数。
命令格式: python duwi_cli.py device-operate <动作> <值> [定位参数]
定位参数优先级: --device_no > --floor + --room + --device_name > --room + --device_name > --device_name
| 设备类型(类型前缀) | 动作 | 动作说明 | 值说明 | 示例 |
|---|---|---|---|---|
| 电源 (1-*) | switch | 开关 | on/off | switch on --room 客厅 --device_name 断路器 |
| 灯光 (3-*) | switch | 开关 | on/off | switch off --room 卧室 --device_name 顶灯 |
light | 调光 | 亮度 (0-100) | light 80 --room 客厅 --device_name 灯带 | |
color_temp | 调色温 | 色温 (2700-6200K) | color_temp 4000 --room 书房 --device_name 台灯 | |
color | 调色 | HSV 格式 (H:S:V) | color 180:100:100 --room 卧室 --device_name 灯 | |
| 窗帘 (4-*) | control | 开关停 | open/close/stop | control open --room 客厅 --device_name 窗帘 |
control_percent | 设开合度 | 百分比 (0-100) | control_percent 50 --room 主卧 --device_name 窗帘 | |
| 空调 (5-001) | ac_switch | 开关 | on/off | ac_switch on --room 客厅 --device_name 空调 |
ac_set_temp | 设温度 | 温度 (5-35℃) | ac_set_temp 26 --room 客厅 --device_name 空调 | |
ac_mode | 设模式 | auto/cold/hot/fan/wet | ac_mode cold --room 卧室 --device_name 空调 | |
ac_wind_speed | 设风速 | auto/high/mid/low | ac_wind_speed mid --room 客厅 --device_name 空调 | |
ac_wind_direction | 设风向 | auto/stop/swing/up_down/left_right | ac_wind_direction auto --room 客厅 --device_name 空调 | |
ac_lock_mode | 设锁定模式 | lock/half_lock/unlock | ac_lock_mode lock --room 客厅 --device_name 空调 | |
| 地暖 (5-002) | fh_switch | 开关 | on/off | fh_switch on --device_name 地暖 |
fh_set_temp | 设温度 | 温度 (10-30℃) | fh_set_temp 25 --device_name 地暖 | |
fh_lock_mode | 设锁定模式 | lock/half_lock/unlock | fh_lock_mode lock --device_name 地暖 | |
| 新风 (5-003) | fa_switch | 开关 | on/off | fa_switch on --device_name 新风机 |
fa_work_mode | 设模式 | fresh/auto/manual/sleep | fa_work_mode fresh --device_name 新风机 | |
fa_wind_speed | 设风速 | auto/high/mid/low | fa_wind_speed mid --device_name 新风机 | |
fa_set_humidity | 设湿度 | 湿度 (0-100%) | fa_set_humidity 60 --device_name 新风机 | |
fa_clean_switch | 开关UV 杀菌 | on/off | fa_clean_switch on --device_name 新风机 | |
fa_fan_speed | 设排风风速 | auto/high/mid/low | fa_fan_speed mid --device_name 新风机 | |
| 热泵 (5-004) | hp_switch | 开关 | on/off | hp_switch on --device_name 热泵 |
hp_set_temp | 设温度 | 温度 (5-55℃) | hp_set_temp 45 --device_name 热泵 | |
hp_mode | 设模式 | cold/hot | hp_mode hot --device_name 热泵 | |
| 温控 (5-005) | tc_switch | 开关 | on/off | tc_switch on --device_name 温控器 |
tc_set_temp | 设温度 | 温度 (5-35℃) | tc_set_temp 26 --device_name 温控器 | |
tc_set_humidity | 设湿度 | 湿度 (0-100%) | tc_set_humidity 26 --device_name 温控器 | |
tc_mode | 设模式 | auto/cold/hot | tc_mode cold --device_name 温控器 | |
tc_wind_speed | 设风速 | auto/high/mid/low | tc_wind_speed auto --device_name 温控器 | |
tc_lock_mode | 设锁定模式 | mix/lock/mode_wind/floorheat | tc_lock_mode lock --device_name 温控器 |
颜色 HSV 参考: 红色=0:100:100 | 绿色=120:100:100 | 蓝色=240:100:100 | 白色=0:0:100 | 黄色=60:100:100<br>
空调模式说明: auto (自动)、cold (制冷)、hot (制热)、fan (送风)、wet (除湿)、air (换气)<br>
空调风速说明: auto (自动)、super_strong (超强)、super_high (超高)、high (高)、mid (中)、low (低)、super_low (超低)、super_quiet (超静)<br>
空调风向说明: auto (自动)、stop (停止)、swing (摇摆)、up_down (上下)、left_right (左右)<br>
空调锁定模式说明: lock (全锁)、half_lock (半锁)、unlock (解锁)<br>
地暖锁定模式说明: lock (全锁)、half_lock (半锁)、unlock (解锁)<br>
新风风速和新风排风风速说明: auto (自动)、extreme_strong (极强)、super_high (超高)、high (高)、mid (中)、low (低)、super_low (超低)、super_quiet (超静)<br>
新风工作模式说明: fresh (新风)、wet (除湿)、auto (自动)、manual (手动)、indoor_loop (内循环)、sleep (睡眠)、pass (旁通)、common (普通)、smart (智能)、ventilate (通风)、outdoor_loop (外循环)、smart_auto (智慧自动)、eco_fresh (节能新风)、normal_air (普通换气)、cold_wet (制冷除湿)、hot_humidify (制热加湿)、cold_hot_auto (冷暖自动)、smart_humidify (智慧调湿)、timing (定时)、air (换气)、clean (净化)、program (编程)、exhaust (排风)、heat_exchange (热交换)、powerful (强力)、cold_room (冷房)、hot_room (暖房)、energy_recycle (能量回收)、night (夜间)、holiday (假日)<br>
热泵模式说明: cold (制冷)、hot (制热)<br>
温控模式说明: auto (自动)、cold (制冷)、hot (制热)、ventilate (通风)、floorheat (地暖)、mix (一体)、smart_floorheat (智能地暖)、cold_floorcold (制冷制热)<br>
温控风速说明: auto (自动)、super_strong (超强)、strong (强劲)、super_high (超高)、high (高)、mid (中)、low (低)、super_low (超低)、super_quiet (超静)<br>
温控锁定模式说明: mode (锁定模式)、mode_wind (锁定模式&风速)、mode_wind_temp (锁定模式&风速&温度)、unlock (解锁)、floorheat (地暖)、mix (一体)、lock (锁定)<br>
| 功能 | CLI 指令 |
|---|---|
| 场景列表 | python duwi_cli.py scenes [--room <房间>] [--floor <楼层>] |
| 执行场景 | python duwi_cli.py execute-scene --scene_no <编号> 或 --scene_name <名称> |
| 功能 | CLI 指令 |
|---|---|
| 传感器统计 | python duwi_cli.py sensor-stats <设备编号> --type <类型> --days <天数> |
| 电量统计 | python duwi_cli.py elec-stats [--device_no <编号>] --days <天数> |
传感器类型: 1=温度,2=湿度,3=光照度,4=甲醛,5=PM2.5,6=CO2,7=AQI,8=人体感应 <br>
| 功能 | CLI 指令 |
|---|---|
| 缓存统计 | python duwi_cli.py cache stats |
| 清理缓存 | python duwi_cli.py cache clean |
| 清空缓存 | python duwi_cli.py cache clear |
| 用户说法 | 识别要素 | 生成的 CLI 命令 |
|---|---|---|
| "打开客厅的灯" | 房间=客厅,设备=灯,动作=开 | python duwi_cli.py device-operate switch on --room 客厅 --device_name 灯 |
| "关闭一楼卧室的空调" | 楼层=一楼,房间=卧室,设备=空调 | python duwi_cli.py device-operate ac_switch off --floor 一楼 --room 卧室 --device_name 空调 |
| "把主卧窗帘开到 50%" | 房间=主卧,设备=窗帘,值=50 | python duwi_cli.py device-operate control_percent 50 --room 主卧 --device_name 窗帘 |
| "客厅空调 26 度制冷" | 房间=客厅,温度=26,模式=制冷 | python duwi_cli.py device-operate ac_set_temp 26 --room 客厅 --device_name 空调 |
| "把灯调成红色" | 设备=灯,颜色=红色 | python duwi_cli.py device-operate color 0:100:100 --device_name 灯 |
房屋 → 楼层 → 房间 → 设备/场景
房屋 (House)
├── 一楼 (Floor)
│ ├── 客厅 (Room)
│ │ ├── 顶灯 (Device)
│ │ ├── 会客模式 (Scene)
│ │ └── 客厅群组 (Group)
│ └── 厨房 (Room)
└── 二楼 (Floor)
└── 次卧 (Room)
| 层级 | 说明 | 示例 |
|---|---|---|
| 房屋 | 最高层级 | 北京的家 |
| 楼层 | 房屋的楼层 | 一楼、二楼 |
| 房间 | 楼层下的房间 | 客厅、卧室 |
| 设备 | 智能设备 | 灯、窗帘、空调 |
| 场景 | 预设场景 | 会客模式、睡眠模式 |
config.jsoncache clearcache clearcache clear| 返回码 | 说明 |
|---|---|
| 10000 | 操作成功 |
| 10001 | 请求参数不正确 |
| 10002 | accessToken 异常或过期 |
| 10003 | 暂无访问权限 |
| 11000 | 账户名或者密码错误 |
| 99001 | appKey 异常 |
| 99002 | 签名错误 |
| 99003 | 时间戳请求超时 |
| 19999 | 系统错误 |
pip install requests