德业DYD-T22A3除湿机接入HomeAssistant记录

前言

上个月小苏同学买了一台除湿机,第一次配对绑定比较麻烦,应该是 WIFI 模块的网络兼容性不大好,不过连上之后就没问题了

老苏第一个想法就是把这玩意接入 HomeAssistant,搜了一下网上已经有大牛搞成功了,虽然型号不同,但是过程是一样的

原文在这里:https://xiking.win/2020/11/12/3-deye-dehumidifer-add-to-homeassistant/

准备

因为要用到 API 调试,所以需要下载相关的工具,例如 PostmanApiPost 之类的,老苏建议用 ApiPost,因为界面是中文,看着比较习惯。

ApiPost 下载地址:https://www.apipost.cn/download.html

获取除湿机信息

获取 token

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

直接 POST 这个地址会返回需要填写的参数

{
	"meta": {
		"code": 10000,
		"message": {
			"loginname": "This field is required.",
			"password": "This field is required.",
			"appid": "This field is required.",
			"extend": "This field is required."
		}
	},
	"data": {}
}
参数容器端口
loginname德业智能 APP 的登陆账号
password德业智能 APP 的登陆密码
appid这个似乎可以随便填,老苏填了软件版本
extend{"cid":"111111122223333","type":"0"}

返回的是认证 tokenclientidtoken 要保存好,后面会用到

{
    "meta": {
        "code": 0,
        "message": "signup ok."
    },
    "data": {
        "token": "你的token",
        "clientid": "你的clientid"
    }
}

获取设备列表

获取设备列表的地址:https://api.deye.com.cn/v3/enduser/deviceList/

直接 GET 这个地址会返回需要填写的参数

{
	"meta": {
		"code": 10001,
		"message": "Miss jwt header."
	},
	"data": {}
}

参数容器端口
Authorizationjwt +空格+上前面获取的 token 拼接而成

jwt 或者 JWT 都可以,应该不区分大小写;JWT 的全称是 JSON Web Tokens

返回的 product_iddevice_id 要记好

{
	"meta": {
		"code": 0,
		"message": "device list by user."
	},
	"data": [
		{
			"online": true,
			"product_icon": "https://deye-cloud.oss-cn-shanghai.aliyuncs.com/profile/1597889877269.png",
			"product_id": "你的设备的product_id",
			"product_name": "DYD-T22A3",
			"device_id": "你的设备的device_id",
			"mac": "设备的mac地址",
			"payload": "14110200203700000000000000002E3B452800000000",
			"role": 1,
			"gatewaytype": 0,
			"device_name": "DYD-T22A3",
			"product_type": "dehumidifier",
			"is_combo": false,
			"protocol_version": "wifi_V2.4"
		}
	]
}

获取MQTT信息

MQTT服务地址:https://api.deye.com.cn/v3/enduser/mqttInfo/

直接 GET 这个地址会返回需要填写的参数

{
	"meta": {
		"code": 10001,
		"message": "Miss jwt header."
	},
	"data": {}
}
参数容器端口
Authorizationjwt 头假设前面获取的 token

返回的 loginnamepasswordmqtthostmqttport 等要记好

{
	"meta": {
		"code": 0,
		"message": "mqtt info"
	},
	"data": {
		"loginname": "你的设备的mqtt登录账号",
		"clientid": "你的设备的的clientid",
		"endpoint": "ff7534ccae4711e7829100163e0f811e",
		"password": "你的设备的mqtt登录密码",
		"mqtthost": "xxxxxxxxx.mqtt.iot.gz.baidubce.com",
		"mqttport": 1883,
		"sslport": 1884
	}
}

与HA集成

先说下 HomeAssistant 的版本,因为按照以往的经验,HA 版本的影响可能还是很大的

实测这个版本可以不需要下载原文作者的修改版 MQTT 组件,至于多少版本的需要下载,我也不是太清楚,老苏主要研究了 https://github.com/yongman/homeassistant-components/issues/2

配置文件

修改 configuration.yaml 文件

增加 mqtt 配置

其中 broker 中填写前面获取的 mqtthost地址

mqtt:
  broker: xxxxxxxxx.mqtt.iot.gz.baidubce.com
  port: 1883
  client_id: 你的设备的的clientid
  username: 你的设备的mqtt登录账号
  password: 你的设备的mqtt登录密码

增加 switch 配置

其中 state_topiccommand_topic 由上面获取的返回值 endpointproduct_iddevice_id 三个值拼接而成

参数容器端口
state_topicendpoint/product_id/device_id/status/hex
command_topicendpoint/product_id/device_id/command/hex
switch:
  - platform: mqtt
    name: DYD-T22A3
    unique_id: deye_switch
    state_topic: xxxxxxxxx/xxxxxxxxxxxxx/xxxxxxxxxxxxxxxx/status/hex
    command_topic: xxxxxxxxx/xxxxxxxxxxxxx/xxxxxxxxxxxxxxxx/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"

集成设置

配置 进入到 集成 界面,右下角 添加集成 ,找到 MQTT

通过 选项 进入 MQTT 的设置界面

RE-CONFIGURE MQTT 进行设置

依次填入 MQTT 服务地址 mqtthost、端口 mqttport、用户名 loginname、密码 password,然后点 NEXT

默认就可以了,不要去修改

反正按网友的说法这两个红框是绝对不能勾选的,否则会报错

提交 就完成了 MQTT 的设置

实体卡片

只有开关状态

自动化

老苏没有湿度计,也没弄明白怎么获取 DYD-T22A3 中的 湿度 信息,所以只能根据室外的 湿度 来决定开启和关闭,感觉意义也不是特别大

老苏是在界面上新建的描述

触发条件设置

环境条件没设

动作设置

最后生成在 automations.yaml 中的代码片段

- id: '1636371731858'
  alias: 自动除湿(室外湿度大于60)
  description: 根据室外的湿度自动开机除湿
  trigger:
  - platform: numeric_state
    entity_id: sensor.heweather_hum
    above: '60'
    below: '90'
    for: '30'
  condition: []
  action:
  - service: switch.turn_on
    target:
      area_id: ke_ting
      entity_id: switch.dyd_t22a3
  mode: single

参考文档

德业除湿机接入HomeAssistant - 人生如逆旅,我亦是行人。
地址:https://xiking.win/2020/11/12/3-deye-dehumidifer-add-to-homeassistant/

Homeassistant mqtt 报错 - 德业型号 T22A3 · Issue #2 · yongman/homeassistant-components
地址:https://github.com/yongman/homeassistant-components/issues/2

德业除湿机接入HomeAssistant记录_除湿器_什么值得买
地址:https://post.smzdm.com/p/a3d2r8x5/

如何控制德业 DYD E12A3 土豆不好吃
地址:https://dmesg.app/dyd-e12a3.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

杨浦老苏

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值