德业除湿机接入HomeAssistant记录

2021-04-07 15:03:20 4点赞 53收藏 41评论
清明时节雨纷纷,没有除湿欲断魂---德业除湿机DYD-E12A3开箱体创作立场声明:本文所测商品为自费购入。如参加张大妈家的活动获得,我会在文中点明。坚持独立的评价观点是笔者创作的基本底线,绝不会因商品来源不同而有所偏颇,请各位放心。大家好,好久没有开箱作业了,最近其实也是买了些东西的,只是有些觉得没必要分享,有些懒得开箱作业了。最近武汉也到了传统的初春雨纷纷的季节了PEKO哑虎呸呸| 13 评论28 收藏6查看详情

之前也晒单过了,最近入手了DYD-E12A3这款除湿机。现在我购买家电首选是可以联网控制的,再就是看能不能整合到HomeAssistant。网上搜了下,发现有大佬成功的接入了,特地去学习了。

现在有大神推出了新的插件“ha-deye-dehumidifier”可以自行搜索一下。

德业除湿机接入HomeAssistant记录

所以这篇文章主要是记录下过程。方法不是我原创的,我只是按照大佬的方法试了一遍。

https://xiking.win/2020/11/12/3-deye-dehumidifer-add-to-homeassistant/

原文如上,感谢yongman

1.模拟登陆获取token

接下来要做的是从登陆认证接口开始查看,并模拟登陆过程。下载postman这个软件或者chrome的插件。

登陆地址https://api.deye.com.cn/v3/enduser/login/

德业除湿机接入HomeAssistant记录

添加键值,然后Send

loginname APP的登陆名

password APP的密码

appid 按图片填v2.16吧,其实随意

pushtype Ali

extend {"cid":"111111122223333","type":"0"}

结果返回:

{
"meta": {
"code": 0,
"message": "signup ok."
},
"data": {
"token": "eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx",
"clientid": "xxxxxxxxxxxxxxxxxxxxxx"
}
}

返回的结果可以用txt存下来备用

2.获取设备列表

登陆地址https://api.deye.com.cn/v3/enduser/deviceList/

德业除湿机接入HomeAssistant记录

添加键值,然后Send

Authorization JWT 刚才获取的token

结果返回:

{

"meta": {
"code": 0,
"message": "device list by user."
},
"data": [
{
"online": true,
"product_icon": "https://deye-cloud.oss-cn-shanghai.aliyuncs.com/profile/1597889707825.png",
"product_id": "xxxxxxxxxxxxxxxxxxxxxx",
"product_name": "DYD-E12A3",
"device_id": "xxxxxxxxxxxxxxxxxxxxxx",
"mac": "xxxxxxxxxxx",
"payload": "xxxxxxx00001E000000000000000000xxxxx000000000",
"role": 1,
"gatewaytype": 0,
"device_name": "客厅加湿器",
"product_type": "dehumidifier",
"is_combo": false
}
]
}

上面的信息中的product_id、device_id记好,后面会用到。

3.mqtt的信息

上面是访问服务端接口获取一些基本信息,控制设备并没有相关的api接口。看了下源码中的对应的按钮绑定的事件,找到对应的命令发送接口调用。mqtt的信息是在服务端接口请求来的。

登陆地址https://api.deye.com.cn/v3/enduser/mqttInfo/

德业除湿机接入HomeAssistant记录

添加键值,然后Send

Authorization JWT 刚才获取的token

结果返回:

{
"meta": {
"code": 0,
"message": "mqtt info"
},
"data": {
"loginname": "xxxxxxxxxx/xxxxxxxxxxxxxxx",
"clientid": "xxxxxxxxxxx",
"endpoint": "xxxxxxxxxxxxxxxx",
"password": "xxxxxxxxxx",
"mqtthost": "xxxxxxxxxxxxxxxxxxx.mqtt.iot.gz.baidubce.com",
"mqttport": 1883,
"sslport": 1884
}

集成到homeassistant

德业除湿机接入HomeAssistant记录

德业除湿机接入HomeAssistant记录

下载mqtt插件,复制mqtt模块到custom_components,系统启动时会优先在custom_components中加载mqtt模块,覆盖系统自带的mqtt集成模块。

增加配置,修改configuration.yaml

增加mqtt配置

# DEYE除湿机
mqtt:
broker: xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx.mqtt.iot.gz.baidubce.com
port: 1883
client_id: xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
username: xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
password: xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx

说明这里的内容对应填写上面mqtt info的返回结果值

增加switch配置

switch:
- platform: mqtt
name: deye
state_topic: xxxxxxxxx/xxxxxxxxxxxxx/xxxxxxxxxxxxxxxx/status/hex
command_topic: xxxxxxxxx/xxxxxxxxxxxxx/xxxxxxxxxxxxxxxx/command/hex
payload_on: deye_on
payload_off: deye_off

说明这里的

state_topic是mqtt_endpoint/productid/deviceid/status/hex

command_topic是mqtt_endpoint/productid/deviceid/command/hex

mqtt_endpoint在mqtt info的返回结果

productid在deviceList的返回结果

deviceid在deviceList的返回结果

重启HA 配置MQTT集成

德业除湿机接入HomeAssistant记录

进入HA后,打开配置--集成---MQTT配置

德业除湿机接入HomeAssistant记录

点击RE-CONFIGURE MQTT开始配置

德业除湿机接入HomeAssistant记录

这里已经按照configuration.yaml里的自动填写好了,不用理会。点击提交

德业除湿机接入HomeAssistant记录

德业除湿机接入HomeAssistant记录

关键点,要取消这两个的勾选,我也是误打误撞。后来得到了yongman的回复验证。如果不在这里设置,这个switch是一直不可用的状态,这个我也折腾了好几天才误打误撞搞好了。

德业除湿机接入HomeAssistant记录

德业除湿机接入HomeAssistant记录

德业除湿机接入HomeAssistant记录

好了,现在德业加湿器已经添加到HA了,也可以通过HA再添加到homekit里了。也可以配合温湿度传感器做自动化的设定,这就不再啰嗦了。

到这里就收工完成了。

展开 收起
41评论

  • 精彩
  • 最新
  • 那可以连米家么

    校验提示文案

    提交
    有两款是米家的,这个款不是

    校验提示文案

    提交
    收起所有回复
  • 这款是京东小鲸鱼的吗

    校验提示文案

    提交
    不是,是厂家的app控制

    校验提示文案

    提交
    收起所有回复
  • 菜鸡有点没懂,下载mqtt插件是指下载Mosquitto broker插件吗?docker运行的HA没有supervisor

    校验提示文案

    提交
    下载整个mqtt文件夹,放在你配置文件夹里啊

    校验提示文案

    提交
    收起所有回复
  • 重启HA报错了,是不是需要先安装MQTT集成?“mqtt配置”里的username对应mqttInfo里的"loginname"?

    校验提示文案

    提交
    你HA的版本号是多少啊,我之前好像也报错过,一定要取消那两个勾

    校验提示文案

    提交
    core-2021.4.6,我还没到那一步,“重启HA 配置MQTT集成”重启不了报错的

    校验提示文案

    提交
    还有1条回复
    收起所有回复
  • 我按第二步操作 返回没有结果

    校验提示文案

    提交
    ha又升级了,我的也接入不了了 [傻笑]

    校验提示文案

    提交
    oh no

    校验提示文案

    提交
    还有10条回复
    收起所有回复
  • 大佬,我获得了相关信息,用nodered的mqtt节点,连不上啊,请问您现在还能用嘛

    校验提示文案

    提交
    好像不能了,最近没研究这个了,好像是Ha升级了mqtt。用不了了

    校验提示文案

    提交
    我没有用魔改的mqtt,用的是桥接模式,状态可以更新,就是很慢,开关也不能控制,不知道哪里有问题,ha是最新版本,除湿机为T22A3

    校验提示文案

    提交
    还有13条回复
    收起所有回复
  • 不明觉厉,总之先点个赞! [高兴]

    校验提示文案

    提交
  • No 'version' key in the manifest file for custom integration 'mqtt'. As of Home Assistant 2021.6, this integration will no longer be loaded. Please report this to the maintainer of 'mqtt'

    校验提示文案

    提交
提示信息

取消
确认
评论举报

相关文章推荐

更多精彩文章
更多精彩文章
最新文章 热门文章
53
扫一下,分享更方便,购买更轻松