『瀚思彼岸』» 智能家居技术论坛

 找回密码
 立即注册
查看: 437|回复: 12

[经验分享] 【全网首发】日立中央空调i-EZII成功接入HA

[复制链接]

16

主题

337

帖子

2440

积分

金牌会员

Rank: 6Rank: 6

积分
2440
金钱
2103
HASS币
0
发表于 2024-6-7 16:54:12 | 显示全部楼层 |阅读模式
本帖最后由 cjnt007 于 2024-6-13 15:19 编辑

01.jpg

背景

家里空调用的是日立的,其专用i-EZII远程控制器虽然能接入到小度、米家、天猫精灵、华为等智能平台,但就是无法接入到HA,万物HA的乐趣就多了一丝遗憾,真是后悔当初没有下狠心花重金直接入手米家的VRF中央空调控制器或相关兼容产品,那样一步到位就省了后续的折腾,当然可能也就没有今天这篇分享了。

一直在网上搜索i-EZII接入HA方面的资料,用抓包工具查看过【日立智家】的数据,做过一些研究,无奈能力不行、精力也有限,整个项目基本没什么进展。幸运的是,2022年论坛上的一篇帖子海信5G中央空调抓包接入HA并打通Homekit让我看到了项目有望实现的曙光,该帖作者hudan717介绍的是实现海信中央空调接入HA的案例,而日立与海信是两个深度绑定的品牌,从抓包数据上看,实现远程控制的服务器,甚至API接口也几乎是一致的,这就有戏了。

因此,我也就顺理成章地站在巨人的肩膀上实现了日立中央空调接入HA的重大突破,所以,非常有必要特别感谢hudan717所做的探索!虽然时隔两年,但总算完成了,懒癌啊,没办法!

下面就正式进入正文。

实现

日立接入基本原理与海信接入是一样的,区别于hudan717的方案,我在他基础上以模块化的思路精简优化了一些代码,特别是增加了自动更新访问令牌功能,这样就再也不用频繁抓包手动更换token了。

HA配置文件里添加MQTT climate配置代码:

mqtt:
  #日立空调配置
  climate:
    - name: '储藏室空调'
      unique_id: chu_cang_shi_kong_diao
      modes:     #空调支持的模式
        - "off"
        - "cool"
        - "dry"
        - "fan_only"
        - "heat" 
      fan_modes:    #风力
        - "low"
        - "medium"
        - "high"
      max_temp: 32        #空调最高温度
      min_temp: 16        #最低温度
      power_command_topic: "/ac_00/power"        #电源开关,climate.turn_on/off调用需要
      mode_command_topic: "/ac_00/mode"                #模式控制
      temperature_command_topic: "/ac_00/temp"        #温度控制
      fan_mode_command_topic: "/ac_00/fan"        #风力控制
      current_temperature_topic: "/ac_00/tempnow"        #当前室温(如果空调本身由这个功能可以加上)
      fan_mode_state_topic: "/ac_00/fannow"                #当前风力状态
      mode_state_topic: "/ac_00/state"                        #当前模式
      temperature_state_topic: "/ac_00/tempstate"        #当前选择的温度

此处配置代码里各topic定义上要注意几点:

  • 有多台内机,就要复制“- name:”往后在多份代码,其中name、unique_id要确保唯一性。各个topic字符串定义要规范统一,我给出的示例是"/ac_00/XXX",一般多台内机,就按ac_01、ac_02……依次编号,这样在Node-RED中可以从topic中获取内机编号,编写代码时更加方便,抄作业时不要乱改。
  • modes、fan_modes子项可以根据自家空调实际情况调整,具体可参考HA文档资料
  • 如果需要增加其他配置项,请仔细研究第二项里给出的文档资料,还要在NR里添加相应的节点、流程,我提供的方案只针对我家的实际情况。

Node-RED里导入以下流程:
02.jpg
03.jpg
04.jpg
05.jpg
上面所示“00 储藏室”“01 次卧”内机控制模块,按自己实际情况添加。

根据自己抓包获取的信息,修改下面所示几个function节点里的数据。抓包技能相信玩HA的终归要自行掌握的,我也就不多啰嗦了。

修改1.jpg
修改2.jpg
修改3.jpg
补充说明:上图中content-length后面的436是按我自己的请求体长度计算的,没有测试字符数是否会影响request,如果提交报失败,需要各位按自己的msg.payload内容重新计算下,或者按“控制指令配置”节点里的代码,用JSON.stringify(msg.payload).length来自动计算。
修改3-2.jpg
修改4.jpg
修改5.jpg
修改6.jpg

MQTT In/Out节点里的服务端,要按自己系统配置,主题要按HA里配置代码更改。

修改7.jpg

几个模块之间,使用link节点连接,按以下总览图恢复:

修改8-link.jpg

特别说明下,HA的MQTT Climate集成对于开机控制的机理我还没有完全搞明白,仪表板里,只提供了“关闭、制冷、除湿、送风、制热”几个模式按钮,查了一大堆资料后,只能在控制模块里添加代码变通实现,即判断在模式按钮点击时,如果是关机状态,则先发送开机指令,再发送模式切换指令,这样来实现开机。坛友们有如更好方法,也请多赐教!

flow.zip (8.03 KB, 下载次数: 4)

最后

本接入方案是在坛友基础上进一步修改完成的,本着共享互助的精神分享到论坛上,也算是对多年来从论坛索取的回报,希望大家能把这样的理念宗旨传递下去,造福广大坛友。

此方案只经过短期的试用,还没有经过长时间的测试,在稳定、安全、合规等方面没有任何承诺。如果在按此方案实现过程中造成任何有形或无形的财产损失、人身伤害,或面临任何法律风险,本人不承担任何责任。



评分

参与人数 3金钱 +28 收起 理由
ybcswz + 10 感谢楼主分享!
wuqiyu007 + 10 高手,这是高手!
hzcoolwind + 8 感谢楼主分享!

查看全部评分

回复

使用道具 举报

3

主题

61

帖子

1103

积分

金牌会员

Rank: 6Rank: 6

积分
1103
金钱
1042
HASS币
0
发表于 2024-6-7 18:09:08 | 显示全部楼层
先赞,再慢慢学习,一直等着有大佬把i-EZII成功接入HA。
回复

使用道具 举报

0

主题

266

帖子

1971

积分

金牌会员

Rank: 6Rank: 6

积分
1971
金钱
1705
HASS币
0
发表于 6 天前 | 显示全部楼层
感谢感谢,我终于等到了。马上试验
回复

使用道具 举报

0

主题

245

帖子

1747

积分

金牌会员

Rank: 6Rank: 6

积分
1747
金钱
1502
HASS币
0
发表于 6 天前 | 显示全部楼层
先恭喜楼主。我的是老一代的i-EZ,用不了海信智家,之前也抓过包,因为懒+菜,没有搞定。
我之前在海鲜市场看过这个控制器,很便宜,貌似不能控制vam mini系列,放弃折腾的念头了
回复

使用道具 举报

16

主题

337

帖子

2440

积分

金牌会员

Rank: 6Rank: 6

积分
2440
金钱
2103
HASS币
0
 楼主| 发表于 6 天前 | 显示全部楼层
ybcswz 发表于 2024-6-12 11:30
先恭喜楼主。我的是老一代的i-EZ,用不了海信智家,之前也抓过包,因为懒+菜,没有搞定。
我之前在海鲜市场 ...

老一代的i-EZ控制器就是那个大很多的黑盒子吧,我最开始也是入的这个,1000大洋从海鲜市场淘的,搁置一年多后装修好房子,才装上没用几天就发现时常离线,咨询本地日立售后,都说一代盒子不稳定。这时候再找当时的卖家已经退不了了,就这样砸在手里。之后发现反而二代的更便宜,现在300多就可以从PDD上入一个支持米家的wifi版VRF盒子,唉!说多了心酸。
回复

使用道具 举报

0

主题

266

帖子

1971

积分

金牌会员

Rank: 6Rank: 6

积分
1971
金钱
1705
HASS币
0
发表于 6 天前 | 显示全部楼层
有几个问题问问楼主。运行这个的时候,需要退出APP 吗?
回复

使用道具 举报

16

主题

337

帖子

2440

积分

金牌会员

Rank: 6Rank: 6

积分
2440
金钱
2103
HASS币
0
 楼主| 发表于 6 天前 | 显示全部楼层
wuqiyu007 发表于 2024-6-12 15:16
有几个问题问问楼主。运行这个的时候,需要退出APP 吗?

是这样的,Node-RED与APP用同一个账号同时登录,会导致令牌不停刷新,虽然我也加入了自动更新令牌的流程,但多少会有点影响,如果不在意这些也无所谓。
最好的解决办法是,用一个家人的手机号注册一个新日立账号,再把设备分享给这个新账号,用新的账号登录,杜绝令牌重复刷新的问题。
回复

使用道具 举报

24

主题

608

帖子

3436

积分

元老级技术达人

积分
3436
金钱
2823
HASS币
0

卓越贡献

发表于 6 天前 | 显示全部楼层
感谢分享!!这个是不是要定时更新token?
回复

使用道具 举报

16

主题

337

帖子

2440

积分

金牌会员

Rank: 6Rank: 6

积分
2440
金钱
2103
HASS币
0
 楼主| 发表于 6 天前 | 显示全部楼层
eric 发表于 2024-6-12 15:45
感谢分享!!这个是不是要定时更新token?

流程里检测到令牌失效会自动更新
回复

使用道具 举报

0

主题

245

帖子

1747

积分

金牌会员

Rank: 6Rank: 6

积分
1747
金钱
1502
HASS币
0
发表于 4 天前 | 显示全部楼层
cjnt007 发表于 2024-6-12 14:17
老一代的i-EZ控制器就是那个大很多的黑盒子吧,我最开始也是入的这个,1000大洋从海鲜市场淘的,搁置一年 ...

没错,就是这货,我也是一千多从海鲜市场买的。之前装空调外机的时候,我就让师傅预留了一根网线,回来自己摸索着装上,用着还行。

之前还从github上把Android应用源码找到了,因为比较菜,一直没怎么研究,按理说有源码比较容易搞定
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

Archiver|手机版|小黑屋|Hassbian

GMT+8, 2024-6-18 20:33 , Processed in 0.061303 second(s), 36 queries .

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表