一个本地运行的 Web 控制台,用于在局域网内查看并控制 Dyson HP09(或HP07)。提供实时环境数据、设备状态与控制面板,并带有 3D 设备预览和材质调色面板。本项目为纯AI开发项目。
- 设备控制:电源、冷热模式、风速、自动、夜间、摆风、摆风角度、睡眠定时
- 监测数据:温度、湿度、PM2.5、PM10、NOx、甲醛
- 诊断信息:滤网寿命、告警与错误码
- 3D 预览:基于 Three.js 的 HP09 模型与气流动效
- 账号绑定:支持中国区短信验证码与国际区邮箱验证码 + 密码登录
- 本地配置:设备信息与可视化材质参数持久化
- 后端:Flask
- 设备通讯:MQTT(
paho-mqtt) - 账号登录与设备信息:
libdyson-neon - 前端:原生 JS + Three.js(本地
static/vendor)
- Python 3.x
pip install -r requirements.txtpython app.py默认地址:http://127.0.0.1:6321/
启动时会自动打开浏览器,如需关闭可设置环境变量:
set DYSON_WEB_OPEN_BROWSER=0如需调整自动打开的地址:
set DYSON_WEB_URL=http://127.0.0.1:6321/- 打开页面右侧
Settings→Account & Device - 选择区域(Mainland China / Rest of World)
- 获取验证码并登录
- 选择设备,输入设备的局域网 IP
- 保存后即可开始控制
配置文件默认位置:config/config.json
示例(请勿提交真实凭据到 GitHub):
{
"materials": {
"silver": { "r": 165, "g": 165, "b": 160, "met": 0.56, "roug": 0.46 },
"gold": { "r": 190, "g": 147, "b": 53, "met": 0.31, "roug": 0.38 }
},
"dyson": {
"broker": "192.168.x.x",
"port": 1883,
"serial": "YOUR_SERIAL",
"credential": "YOUR_DEVICE_KEY",
"product_type": "YOUR_PRODUCT_TYPE"
}
}安全建议:
config/config.json含设备密钥与序列号,建议加入.gitignore- 本服务默认监听
0.0.0.0:6321,如果在公共网络运行请做好防火墙隔离
GET /api/data:获取设备状态与环境数据POST /api/dyson/power:{ "on": true|false }POST /api/dyson/mode:{ "mode": "cool"|"heat" }POST /api/dyson/fan-speed:{ "speed": 1..10 }POST /api/dyson/heat-target:{ "temperature": 1..37 }POST /api/dyson/auto-mode:{ "on": true|false }POST /api/dyson/night-mode:{ "on": true|false }POST /api/dyson/oscillation:{ "on": true|false }POST /api/dyson/oscillation-angle:{ "low": 5..355, "high": 5..355 }POST /api/dyson/sleep-timer:{ "minutes": 0..540 }GET/POST /api/config:读取/更新配置POST /api/auth/send-sms:请求验证码(CN/ROW)POST /api/auth/verify:验证并返回设备列表
dyson_web/
├─ app.py
├─ requirements.txt
├─ config/
│ └─ config.json
└─ static/
├─ index.html
├─ styles.css
├─ app.js
├─ preview.js
├─ dyson_mqtt_client.py
├─ dyson_hp09.glb
└─ vendor/
本项目仅用于本地设备控制与学习交流,请确保你拥有对应设备的合法使用权。Dyson 为其商标所有者,项目不隶属于 Dyson 官方。
- 3D 模型来源:Dyson Pure Humidify+Cool (Sketchfab)(用于本项目的设备预览)
- 3D 模型作者主页:BsIngA on Sketchfab
- 账号登录与控制能力基于 libdyson 生态与 ha-dyson 项目实现思路与接口整理
MIT License(见 LICENSE)。


