news 2026/4/30 11:52:39

保姆级教程:用ApiPost抓取德业除湿机API,5分钟搞定HomeAssistant的MQTT配置

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
保姆级教程:用ApiPost抓取德业除湿机API,5分钟搞定HomeAssistant的MQTT配置

智能家居新手指南:5分钟用ApiPost实现德业除湿机MQTT接入HomeAssistant

第一次接触智能家居设备接入时,看到API、token、MQTT这些专业术语,很多人都会感到无从下手。其实只要选对工具,整个过程可以变得非常简单。本文将使用中文界面的ApiPost工具,带你一步步完成德业除湿机接入HomeAssistant的全过程,即使没有任何编程基础也能轻松掌握。

1. 准备工作与环境搭建

在开始之前,我们需要准备好必要的工具和环境。首先确保你已经拥有一台德业除湿机,并且已经在手机上下载安装了德业智能APP并完成设备绑定。这是后续操作的基础。

所需工具清单:

  • ApiPost(中文界面API调试工具,下载地址:www.apipost.cn)
  • HomeAssistant(建议使用2023年以后的版本)
  • 文本编辑器(用于修改configuration.yaml文件)

安装ApiPost后,你会看到一个非常直观的中文界面。与Postman等英文工具相比,ApiPost对中文用户更加友好,所有菜单和提示都是中文显示,这大大降低了学习成本。工具左侧是请求历史记录区,中间是请求构建区,右侧是响应展示区,整体布局清晰合理。

2. 获取设备认证信息

接入云端设备的第一步是获取必要的认证信息。德业除湿机使用标准的OAuth2.0认证流程,我们需要通过API获取token和clientid。

2.1 登录获取token

在ApiPost中新建一个POST请求,填写以下信息:

POST https://api.deye.com.cn/v3/enduser/login/ Content-Type: application/json { "loginname": "你的德业APP账号", "password": "你的德业APP密码", "appid": "1.0.0", "extend": "{\"cid\":\"111111122223333\",\"type\":\"0\"}" }

发送请求后,你会得到一个JSON格式的响应,其中包含两个关键信息:

{ "data": { "token": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9...", "clientid": "client_123456789" } }

提示:请妥善保存这个token和clientid,它们相当于设备的"身份证"和"钥匙",后续所有操作都需要使用。

2.2 获取设备列表

有了token之后,我们就可以查询账户下绑定的设备了。新建一个GET请求:

GET https://api.deye.com.cn/v3/enduser/deviceList/ Authorization: jwt eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9...

响应中将包含设备的关键信息:

{ "data": [{ "product_id": "p123456789", "device_id": "d987654321", "product_name": "DYD-T22A3" }] }

记录下product_id和device_id,这两个值在MQTT配置中会用到。

3. 配置MQTT连接信息

MQTT是智能家居设备通信的核心协议,我们需要从德业云获取MQTT服务器的连接参数。

3.1 获取MQTT服务器信息

继续使用之前的token,发送GET请求:

GET https://api.deye.com.cn/v3/enduser/mqttInfo/ Authorization: jwt eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9...

响应中包含了完整的MQTT连接信息:

{ "data": { "loginname": "mqtt_user_123", "password": "mqtt_pass_456", "mqtthost": "xxxxxx.mqtt.iot.gz.baidubce.com", "mqttport": 1883, "endpoint": "ff7534ccae4711e7829100163e0f811e" } }

3.2 MQTT参数对照表

参数名称说明配置位置
mqtthostMQTT服务器地址HA的MQTT集成配置
mqttport端口号(通常1883)HA的MQTT集成配置
loginname用户名HA的MQTT集成配置
password密码HA的MQTT集成配置
endpoint终端标识switch配置中的topic
product_id产品IDswitch配置中的topic
device_id设备IDswitch配置中的topic

4. HomeAssistant配置实战

现在我们已经收集了所有必要的信息,可以开始在HomeAssistant中进行配置了。

4.1 配置MQTT集成

首先编辑configuration.yaml文件,添加MQTT基础配置:

mqtt: broker: xxxxxx.mqtt.iot.gz.baidubce.com port: 1883 username: mqtt_user_123 password: mqtt_pass_456 client_id: homeassistant_123

保存后,通过HomeAssistant的网页界面添加MQTT集成:

  1. 进入"配置" > "设备与服务"
  2. 点击右下角"添加集成"
  3. 搜索并选择"MQTT"
  4. 系统会自动检测到yaml中的配置,确认无误后完成添加

4.2 配置除湿机开关

继续在configuration.yaml中添加switch配置:

switch: - platform: mqtt name: "德业除湿机" unique_id: "deye_dehumidifier" state_topic: "ff7534ccae4711e7829100163e0f811e/p123456789/d987654321/status/hex" command_topic: "ff7534ccae4711e7829100163e0f811e/p123456789/d987654321/command/hex" state_on: "30" state_off: "20" value_template: "{{ value_json.data[5:7] }}" payload_on: "\x08\x02\x03\x20\x19\x00\x00\x00\x00\x00" payload_off: "\x08\x02\x02\x20\x19\x00\x00\x00\x00\x00"

关键参数说明:

  • state_topiccommand_topic由endpoint、product_id和device_id拼接而成
  • payload_onpayload_off是控制设备开关的十六进制指令
  • value_template用于解析设备状态

5. 高级功能与自动化

基础配置完成后,我们可以进一步探索更高级的功能。

5.1 状态监控与反馈

除湿机接入后,你可以在HomeAssistant中看到设备的开关状态。如果需要更详细的信息监控,可以添加传感器配置:

sensor: - platform: mqtt name: "除湿机湿度" state_topic: "ff7534ccae4711e7829100163e0f811e/p123456789/d987654321/status/hex" value_template: "{{ value_json.data[9:11] | int(base=16) }}" unit_of_measurement: "%"

5.2 创建自动化规则

通过HomeAssistant的自动化功能,可以实现根据环境湿度自动控制除湿机:

automation: - alias: "高湿度自动开启除湿机" trigger: platform: numeric_state entity_id: sensor.living_room_humidity above: 65 action: - service: switch.turn_on target: entity_id: switch.deye_dehumidifier

5.3 常见问题排查

如果遇到连接问题,可以检查以下几点:

  1. 确认token没有过期(通常有效期为24小时)
  2. 检查MQTT服务器地址和端口是否正确
  3. 验证topic拼接是否正确
  4. 确保HomeAssistant和除湿机在同一网络环境下

在实际项目中,我发现德业除湿机的API响应非常稳定,但MQTT连接有时会受到家庭网络环境的影响。建议为IoT设备配置独立的2.4GHz WiFi网络,避免5GHz信号可能带来的兼容性问题。

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/4/30 11:46:25

告别盲操作:用S32KDS Flash组件实现车载数据黑匣子(附完整工程)

车载数据黑匣子实战:基于S32KDS Flash组件的可靠存储方案 在汽车电子系统中,关键运行数据的持久化存储一直是开发难点。想象这样一个场景:车辆在行驶过程中突然熄火,维修人员需要快速定位故障原因,但传统的RAM存储数据…

作者头像 李华
网站建设 2026/4/30 11:45:36

浏览器标签页防误关扩展开发:原理、实现与调试指南

1. 项目概述:一个专治“手滑”的浏览器标签页守护者 作为一名长期泡在代码编辑器里的开发者,我敢打赌,你肯定有过这样的经历:在浏览器里开着GitHub Codespaces或者VSCode Web版,正沉浸式地敲代码,脑子里想着…

作者头像 李华
网站建设 2026/4/30 11:42:16

Python环境下的Stable Diffusion实践:从原理到部署

1. 项目概述:Python环境下的Stable Diffusion实践 去年第一次在本地跑通Stable Diffusion时,那种看到AI生成第一张图片的兴奋感至今难忘。这个开源模型彻底改变了普通人接触图像生成的门槛,而Python作为最友好的实现语言,让技术探…

作者头像 李华