基于 Duwi 开放平台 API,支持设备控制、场景执行、状态查询等功能。
配置前确认:
方式 1:非交互模式(适合大模型)
bash
python init_config.py --appkey <APPKEY> --secret <SECRET>
方式 2:交互模式
bash
python init_config.py
按提示输入 APPKEY 和 SECRET(输入时 SECRET 会隐藏显示)。
方式 1:提供密码
bash
python duwi_cli.py login <手机号> <密码>
方式 2:不输入密码(会提示输入,隐藏显示)
bash
python duwi_cli.py login <手机号>
方式 1:交互选择
bash
python duwi_cli.py choose-house
按提示选择房屋。
方式 2:直接指定房屋编号(推荐,无需交互)
bash
python duwi_cli.py choose-house --house_no <房屋编号>
bash
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 命令"打开客厅的灯"房间=客厅,设备=灯,动作=开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%"房间=主卧,设备=窗帘,值=50python 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 灯
text
房屋 → 楼层 → 房间 → 设备/场景
text
房屋 (House)
├── 一楼 (Floor)
│ ├── 客厅 (Room)
│ │ ├── 顶灯 (Device)
│ │ ├── 会客模式 (Scene)
│ │ └── 客厅群组 (Group)
│ └── 厨房 (Room)
└── 二楼 (Floor)
└── 次卧 (Room)
层级说明示例房屋最高层级北京的家楼层房屋的楼层一楼、二楼房间楼层下的房间客厅、卧室设备智能设备灯、窗帘、空调场景预设场景会客模式、睡眠模式
config.jsoncache clearcache clearcache clear返回码说明10000操作成功10001请求参数不正确10002accessToken 异常或过期10003暂无访问权限11000账户名或者密码错误99001appKey 异常99002签名错误99003时间戳请求超时19999系统错误
bash
pip install requests