🎁 Get the FREE AI Skills Starter GuideSubscribe →
BytesAgainBytesAgain
🦀 ClawHub

Duwi Smart Home

by @duwi2024

迪惟智能家居技能,基于 Duwi 开放平台 API,支持设备控制、场景执行、状态查询等功能

Versionv1.0.6
Downloads389
Stars2
TERMINAL
clawhub install duwi-smart-home

📖 About This Skill


name: duwi-smart-home displayName: Duwi Smart Home version: 1.0.6 summary: 迪惟智能家居控制技能,支持灯光、窗帘、空调、地暖等设备控制 description: 迪惟智能家居技能,基于 Duwi 开放平台 API,支持设备控制、场景执行、状态查询等功能 author: 迪惟科技 tags: [duwi,smart-home, iot, device-control, home-automation]

Duwi 迪惟智能家居技能

基于 Duwi 开放平台 API,支持设备控制、场景执行、状态查询等功能。

功能特性

房屋管理

  • 多房屋支持
  • 楼层管理
  • 房间管理
  • 状态查询

  • 设备在线状态
  • 设备实时数值(温度、湿度、光照度、电压、电流等)
  • 传感器历史统计数据
  • 用电量统计数据
  • 设备控制

  • 电源断路器控制:开关控制等
  • 灯光控制:开关、亮度调节 (0-100%)、色温调节 (2700-6200K)、颜色调整(HSV 格式)等
  • 窗帘控制:开/关/停、百分比 (0-100%)、角度调节等
  • 空调控制:开关、温度设置 (5-35℃)、模式设置、风速设置、风向设置等
  • 地暖控制:开关、温度设置 (10-30℃) 等
  • 新风控制:开关、湿度设置(0-100%)、风速设置、工作模式设置等
  • 热泵控制:开关、温度设置、模式设置等
  • 二联供控制:开关、模式设置、温度设置(5-35℃)、湿度设置(0-100%)、风速控制等
  • 场景控制

  • 场景列表查询
  • 场景执行
  • 快速开始

    1. 配置应用凭证

    配置前确认:

  • ✅ 你已从迪惟开放平台获取了 APPKEY 和 SECRET
  • 方式 1:非交互模式(适合大模型)

    python init_config.py --appkey  --secret 
    

    方式 2:交互模式

    python init_config.py
    
    按提示输入 APPKEY 和 SECRET(输入时 SECRET 会隐藏显示)。

    2. 登录账户

    方式 1:提供密码

    python duwi_cli.py login <手机号> <密码>
    

    方式 2:不输入密码(会提示输入,隐藏显示)

    python duwi_cli.py login <手机号>
    

    3. 选择房屋

    方式 1:交互选择

    python duwi_cli.py choose-house
    
    按提示选择房屋。

    方式 2:直接指定房屋编号(推荐,无需交互)

    python duwi_cli.py choose-house --house_no <房屋编号>
    

    4. 开始控制

    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
    空调模式说明: auto (自动)、cold (制冷)、hot (制热)、fan (送风)、wet (除湿)、air (换气)
    空调风速说明: auto (自动)、super_strong (超强)、super_high (超高)、high (高)、mid (中)、low (低)、super_low (超低)、super_quiet (超静)
    空调风向说明: auto (自动)、stop (停止)、swing (摇摆)、up_down (上下)、left_right (左右)
    空调锁定模式说明: lock (全锁)、half_lock (半锁)、unlock (解锁)
    地暖锁定模式说明: lock (全锁)、half_lock (半锁)、unlock (解锁)
    新风风速和新风排风风速说明: auto (自动)、extreme_strong (极强)、super_high (超高)、high (高)、mid (中)、low (低)、super_low (超低)、super_quiet (超静)
    新风工作模式说明: 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 (假日)
    热泵模式说明: cold (制冷)、hot (制热)
    温控模式说明: auto (自动)、cold (制冷)、hot (制热)、ventilate (通风)、floorheat (地暖)、mix (一体)、smart_floorheat (智能地暖)、cold_floorcold (制冷制热)
    温控风速说明: auto (自动)、super_strong (超强)、strong (强劲)、super_high (超高)、high (高)、mid (中)、low (低)、super_low (超低)、super_quiet (超静)
    温控锁定模式说明: mode (锁定模式)、mode_wind (锁定模式&风速)、mode_wind_temp (锁定模式&风速&温度)、unlock (解锁)、floorheat (地暖)、mix (一体)、lock (锁定)

    场景控制

    | 功能 | 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=人体感应

    缓存管理

    | 功能 | CLI 指令 | |------|---------| | 缓存统计 | python duwi_cli.py cache stats | | 清理缓存 | python duwi_cli.py cache clean | | 清空缓存 | python duwi_cli.py cache clear |


    大模型集成指南

    意图识别 → CLI 命令映射

    | 用户说法 | 识别要素 | 生成的 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)
    

    | 层级 | 说明 | 示例 | |------|------|------| | 房屋 | 最高层级 | 北京的家 | | 楼层 | 房屋的楼层 | 一楼、二楼 | | 房间 | 楼层下的房间 | 客厅、卧室 | | 设备 | 智能设备 | 灯、窗帘、空调 | | 场景 | 预设场景 | 会客模式、睡眠模式 |


    注意事项

    1. Token 管理: 登录后自动缓存,过期自动刷新 2. 房屋选择: 首次使用需选择房屋,配置保存到 config.json 3. 设备在线: 控制前请确认设备在线 4. 参数范围: 亮度 0-100%,色温 2700-6200K,空调温度 5-35℃,地暖温度 10-30℃ 5. 缓存刷新: 设备控制后自动刷新缓存,如需手动刷新执行 cache clear 6. 安全: 配置文件仅本地保存,不要分享或提交到 Git 7. 控制反馈:如果控制失败,请反馈给用户相关控制失败原因 8. 设备缓存:设备列表会自动缓存 5 分钟,如需刷新请等待或调用 cache clear 9. 用户反馈处理:如果提出设备状态和实际设备状态不一致,请及时调用 cache clear


    错误码

    | 返回码 | 说明 | |-------|------| | 10000 | 操作成功 | | 10001 | 请求参数不正确 | | 10002 | accessToken 异常或过期 | | 10003 | 暂无访问权限 | | 11000 | 账户名或者密码错误 | | 99001 | appKey 异常 | | 99002 | 签名错误 | | 99003 | 时间戳请求超时 | | 19999 | 系统错误 |


    依赖

    pip install requests