起因:海尔设备是用单独的海尔智家app进行控制,无法使用siri控制或者接入homekit
目标:让海尔热水器能够接入homekit,实现用Siri调节温度,模式等等
方法:
1.安装Node-Red,并安装节点node-red-contrib-home-assistant-websocket
以及ode-red-contrib-haier
2.安装Homeassistant,安装集成node-red-contrib-home-assistant-websocket
3.在Node-Red中建立flow
已上具体安装方法不做赘述。目前已实现功能有:
- 开/关机
- 升高温度/降低温度
- 直接调节温度
- 关闭厨宝洗模式
PS:因Haier本身的缺陷无法实现打开厨宝洗模式
2023-8-26更新
获取天然气余额的时候报错:
Error: Request Error
url: http://ai.haier.net:11000/access/ai-access/nlp?engine=uapp&needcontent=yes&opmode=remote&syncmode=yes&ttssplit=no
retInfo: undefined
code: undefined
解决办法
:找到haier模块文件夹,找到const.js,修改里面的版本号为现状的新版app版本号即可,最后重启homeassistant和node-red
另外再说一下如何给http request添加请求头和请求体的新方法,可以直接加一个function函数
msg.headers = {
"Host": "www.klrqkm.com",
"Connection": "keep-alive",
"Content-Length": "42",
"wechat-header-token": "1553e026ba4c4009a2b750bc*******",
"content-type": "application/x-www-form-urlencoded",
"x-requested-with": "XMLHttpRequest",
"Accept-Encoding": "gzip,compress,br,deflate",
"User-Agent": "Mozilla/5.0 (iPhone; CPU iPhone OS 16_5_1 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Mobile/15E148 MicroMessenger/8.0.40(0x18002830) NetType/WIFI Language/zh_CN",
"Referer": "https://servicewechat.com/wx12bf8a6be3cc97ec/11/page-frame.html"
}
msg.payload = "accountId=f452427d249f2**********"
return msg;
Comments | 5 条评论
博主 404334553
const APP_VER = ‘7.23.0’
const USER_AGENT = ‘Uplus/7.23.0 (iPhone; iOS 13.4; Scale/2.00)’
const APP_KEY = ‘5dfca8714eb26e3a776e58a8273c8752’
const APP_ID = ‘MB-UZHSH-0001’
const PHONE_TYPE = ‘iPhone SE’
报错的问题改成这个还是不行
博主 香蕉弟弟
@404334553 你是改了什么?只修改了版本号是不是?改完有保存然后重启吗?
博主 404334553
@香蕉弟弟 前面两行的7.23.0原本是7.19.2,我都改成7.23.0了。改完重启后还是不行
博主 香蕉弟弟
@404334553 你贴一下你的报错看看
博主 404334553
Error: Request Error
url: https://zj.haier.net/oauthserver/account/v1/login
retInfo: undefined
code: undefined
才发现报错好像跟你的不一样