万和热水器接入HA的详细教程(苹果手机)更新2023 您所在的位置:网站首页 narcissus热水器 万和热水器接入HA的详细教程(苹果手机)更新2023

万和热水器接入HA的详细教程(苹果手机)更新2023

2024-01-13 04:58| 来源: 网络整理| 查看: 265

本帖最后由 hunl1986 于 2023-12-30 00:23 编辑

从零开始万和热水器接入home assistant的详细教程(苹果手机)

第一部份:APP抓包方法一、手机下载Stream和万和智能APP,万和添加热水器,Stream-设置-安装CA证书-下载配置文件,手机设置-通用-VPN与设备管理-Stream证书-安装,手机设置-通用-关于本机-证书信任设置-Stream信任 1.png 登录/注册后可看大图

1.png (468.56 KB, 下载次数: 0)

下载附件

2023-5-27 16:27 上传

2.jpg 登录/注册后可看大图

2.jpg (71.22 KB, 下载次数: 0)

下载附件

2023-5-27 16:27 上传

3.jpg 登录/注册后可看大图

3.jpg (72.53 KB, 下载次数: 0)

下载附件

2023-5-27 16:27 上传

二、打开“快捷指令”,添加操作-APP-万和智能-控制热水器-点击选择设备-热水器-点击选择动作-打开-把名称改为“打开热水器” 4.jpg 登录/注册后可看大图

4.jpg (113.15 KB, 下载次数: 0)

下载附件

2023-5-27 16:27 上传

三、重复第二的操作,把点击选择动作为关闭,名称为“关闭热水器” 5.jpg 登录/注册后可看大图

5.jpg (131.22 KB, 下载次数: 0)

下载附件

2023-5-27 16:27 上传

四、打开Stream-开始抓包,切换到快捷指令-打开热水器-关闭热水器,切换到Stream-关闭抓包-点击抓包历史-历史记录-记录里有四条记录 6.jpg 登录/注册后可看大图

6.jpg (157.21 KB, 下载次数: 0)

下载附件

2023-5-27 16:27 上传

结尾为VoiceControl的记录为操作热水器的命令,从下往上,第一条为打开,第二条为关闭。五、复制执行代码,点击记录-点击右上角上箭头图标-分享到微信。 分享文件内容 >> 本文件内容为 https://rubyapi.vanward.com/api/v1/public-device-service/voiceControl 的请求抓包详情,供您分析和定位问题。 1. 请求内容 Request: POST /api/v1/public-device-service/voiceControl HTTP/1.1 Host: rubyapi.vanward.com appId:XXXXXXXXXXXXXX Accept: */* timestamp: XXXXXXXXXXXXXX Accept-Encoding: gzip, deflate, br Accept-Language: zh-Hans-CN;q=1 signature: XXXXXXXXXXXXXX Content-Type: application/x-www-form-urlencoded;charset=utf-8 Content-Length: XXXXXXXXXXXXXX User-Agent: VanwardSiri/0.5.9 (iPhone; iOS 15.7.1; Scale/2.00) Connection: keep-alive Cookie: acw_tc=XXXXXXXXXXXXXX order=XXXXXXXXXXXXXX 2. 响应内容 Response: HTTP/1.1 200 Date: Sat, 27 May 2023 07:42:09 GMT Content-Type: application/json;charset=UTF-8 Content-Length: 252 Connection: keep-alive eagleeye-traceid: 0b3c7d7e16851733294908863e84fb {"Message":"{"header":{"messageId":"C5EECF24-56CF-4CF7-A4F4-D14D8ACF023D","name":"TurnOnResponse","namespace":"Vanward.Iot.Device.Control","payLoadVersion":1},"payload":{"deviceId":"826e7238c021424c9c74c890ab5c5446"}}","Code":200} ==== 该记录由 Stream 抓取,仅用于分析和学习,可 AppStore 搜索『抓包』下载,面向开发者永久免费使用。

appId、signature、timestamp、Content-Length、order为关键执行代码,Cookie有就加上去,没有就不填写 第二部分:Home Assistant执行代码一、在config文件夹新建packages文件夹,在packages里新建以.yaml扩展名的文件(例:heater.yaml)1、复制文件内容并保存,配置-菜单-重启Home assistant-快速重载 游客,如果您要查看本帖隐藏内容请回复 2、直接自动化创建,在configuration.yaml加入下面代码

homeassistant: packages: !include_dir_named packages 二、Noed-RED-拖一个events:state、一个switch、二个function、一个http response1、events:state设置:Name:热水器开关Setver:选择本机,如没有则新建(点击后面的笔-填写名称、Using the Home Assistant Add-on打勾)Entity:热水器开关(第一新建的辅助元素) 7.JPG 登录/注册后可看大图

7.JPG (35.51 KB, 下载次数: 0)

下载附件

2023-5-27 16:27 上传

2、Switch设置:添加二个值 on、off(第二个点击添加) 8.JPG 登录/注册后可看大图

8.JPG (19.48 KB, 下载次数: 0)

下载附件

2023-5-27 16:27 上传

3、Function设置:游客,如果您要查看本帖隐藏内容请回复

4、http respons设置请求方式:POSTURL:为“请求抓包详细”第一段话里的网址,一般为https://rubyapi.vanward.com/api/v1/public-device-service/voiceControl对连接启用Keep-alive:打勾 9.JPG 登录/注册后可看大图

9.JPG (21.5 KB, 下载次数: 0)

下载附件

2023-5-27 16:27 上传

2023-6-2最近进展,前几天把热水器状态(开关、温度)进行了同步,HA可以与APP状态同时响应,不过HA的刷新时间我设为了二分钟,避免发送太多数据包。代码整理后再发出,因为有一些关键字段要打码。现在在写代码把传感器和实体整合成一个设备来控制,但还没有写完,代码调试当中,后面看看有没有时间把代码写成一个组件,但python不是很熟。要查资料。

2023-6-4,已经上传流程,大家可以更新为自己的关键数据(需要更改:所有的温度设置、打开热水器、关闭热水器、查询状态),经过分析数据好像万和的Cookie是给第三方用的,只要不是抓包万和APP的数据库,其它的包Cookie是长期的。 附件为NOED-red流程

游客,如果您要查看本帖隐藏内容请回复 2023-6-5,已经完成把传感器与开关整合成一个设备来控制,更新了前面流程,删除了温度+和温度-两个开关。 2023-6-28,经过一段时间使用,发觉操作完热水器后服务器要10秒后才更新状态,如果这时刚好NODE-RED向服务器查询状态,有可能造成打开的热水器自动关闭或关闭热水器时又自动打开,更新了NODE-RED的流程的代码,在操作热水器后2分钟NODE-RED才能向服务器查询状态 。

2023-12-28,10月份的时候不知道是不是万和的服务器流量过大,挂了几次后把查询状态的API给关了,刚好看到论坛有贴子说用了浴控器后热水器会开UDP端口,买了一个试了一下,果然UDP端口开了,干脆把代码全部搬到Node-red用MQTT来控制,使用这个方法不用在packages文件夹新建以.yaml扩展名的文件,状态查询不用经过万和的服务器,直接在UDP里就包含了热水器的所有状态,直接本地化查询 ,现在就差控制本地化了,有了一点眉目,但还没做完所有实验,等忙完期末的工作再继续。(如果没有浴控器的朋友可以使用上面的流程,不过需要把二分钟一次查询状态给关了,或者到海鲜市场买一个,开了UDP后就卖出去,连接一次就永久开了,不过记得在home assistant服务器开UDP7799端口。) 注意: 1、需要安装mqtt服务器,可以去加载项里安装 2、需要在集成里添加mqtt客户端 3、需要更改node-red流程里的mqtt-broker节点-安全里的帐号密码 做老师习惯了讲详细,大家不要嫌弃我啰嗦

游客,如果您要查看本帖隐藏内容请回复


【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有