核心用法
Dyson CLI 是一款面向 Dyson 空气净化风扇、冷暖风扇的本地命令行控制工具。用户需先将 CLI 安装于 ~/dyson-cli 目录并配置 Python 虚拟环境,确保与设备处于同一 WiFi 网络后,即可通过 dyson 命令完成开关机、风速调节(1-10 档或自动模式)、摆头角度设置(45°/90°/180°/350°)、加热目标温度设定(1-37°C)、夜间模式切换及实时状态查询等操作。支持多设备环境,可通过 -d 参数指定特定设备名称。状态数据支持 JSON 输出,便于脚本化二次处理。
显著优点
1. 纯本地通信:采用 MQTT 协议直连设备,无需经过 Dyson 云端服务器,响应延迟极低且杜绝了云端服务宕机或隐私泄露风险。
2. 零订阅成本:区别于官方 App 的账户体系,本地控制无需持续联网验证,适合网络隔离环境或注重隐私的用户。
3. 脚本化友好:命令设计简洁,支持管道组合与 JSON 输出,可轻松集成至 Home Assistant、crontab 定时任务或语音助手回调。
4. 功能覆盖全面:涵盖主流 Dyson 设备的核心功能,包括 Hot+Cool 系列的加热控制、环境温湿度读取等,满足日常自动化需求。
潜在缺点与局限性
1. 网络绑定严格:必须与被控设备处于同一局域网,无法远程操控,外出场景需配合 VPN 或内网穿透方案。
2. 初始配置门槛:首次使用需通过 dyson setup 登录 Dyson 账号获取设备凭证,对非技术用户存在学习成本。
3. 设备兼容性:依赖社区维护的 libdyson-neon 库,新型号或固件更新后可能存在协议适配延迟。
4. 无图形界面:纯 CLI 交互,移动端或可视化场景体验欠佳。
适合的目标群体
- 智能家居极客与 Home Assistant 用户,追求本地化、去云化的设备控制方案
- 网络工程师或运维人员,需在隔离网络环境中管理办公环境设备
- 隐私敏感型用户,希望减少智能家居数据上传至厂商云端
- 开发者与自动化爱好者,需要将 Dyson 设备状态纳入自定义监控或告警系统
使用风险
- 凭证明文存储:设备认证信息以 JSON 明文形式存放于
~/.dyson/config.json,虽受用户目录权限保护,但共享设备或权限配置不当存在泄露风险 - 依赖项维护:核心功能依赖 libdyson-neon 社区库,若上游停止维护或出现协议变更,可能导致功能失效
- mDNS 发现可靠性:设备 IP 通过 mDNS 自动发现,复杂网络环境(如多 VLAN、组播隔离)可能导致设备离线误判
- 无加密传输:本地 MQTT 通信未启用 TLS,同一局域网内的流量可被嗅探(虽仅含控制指令,不含敏感账号密码)