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

 找回密码
 立即注册
查看: 52121|回复: 241

[教程系列] 中弘中央空调控制器NodeRed(TCP连接)版本

  [复制链接]

4

主题

129

帖子

1265

积分

金牌会员

Rank: 6Rank: 6

积分
1265
金钱
1131
HASS币
20
发表于 2019-12-5 21:19:59 | 显示全部楼层 |阅读模式
本帖最后由 glxmostwanted 于 2021-6-5 13:08 编辑

首先介绍一下背景
----------------------------------------------(都是废话可以跳过)--------------------------------------------------------
本人在咸鱼买了一个日立的智控器的早期中弘版本,花了600大洋(貌似现在卖家还有货),然后弄回来本来以为直接用HA自带的zhonghong库就管用,结果状态反馈经常就没了。现在分析可能是HA的climate组件有问题。。。然后我又逛论坛看到 RobinVP大神发布了NodeRed版本的接入方式,用的是web界面实现的,不得不说很牛逼!! 然鹅我的这个不能用,那个页面的格式完全不同以至于改起来工作量巨大而且搞不清楚怎么发出控制指令。
但是受到了RobinVP大神的启发,我就试了试直接用TCP的方式可否好用,结果还真可以,于是我就用NodeRed搭了一个TCP版本的,理论上中弘系列的应该都是支持这个通讯协议的。经过紧张的两天调试以及1整天的实际测试,我家的一拖五空调完全没问题!当然这里面还是要再次感谢RobinVP大神之前提供的程序,我这里面MQTT模块的程序内容是直接复制RobinVP大神的,我只是把跟中弘通讯的部分重写了一下,因此省去了很大的工作量,非常感谢!!


----------------------------------------------(以下才是有用的信息)--------------------------------------------------------

首先下载附件中的程序,然后用文本打开这个json后全部复制,之后到Nodered里面粘贴就OK了。
然后只需要两步操作:
1、双击红圈里的这个,把ip地址 端口号修改成你的实际ip就ok了。(根据通讯协议,端口号应该就是9999,不需要修改)
Setup1.PNG
2、修改所有MQTT节点为你目前实际的MQTT服务器,还有设定正确的MQTT的用户名密码即可

第二步

第二步

记得往下翻 后面还有MQTT读取,就是这种藕粉色的都需要看一下
3、部署之后就应该出现了,如果已经打开MQTT discover。
mqtt:
  discovery: true
当然也有一个可能就是跟我一样,自动创建的这几个状态反馈依然会丢失,那么就手动在configuration.yaml里面添加这几个空调的climate配置即可,也是非常简单的: Q1.PNG
自动创建的这个时间长了状态会全部丢失
Q2.PNG
这是手动创建的climate设备
4、这时候可以看一下自动创建的这个HVAC名字:例如我这里的是Zhonghong HVAC 0_0~0_4,然后在configuration.yaml里面创建的这些也都要按照这个数字改写即可。
例如我的配置文件如下所示:
# AC Controller
climate:
  - platform: mqtt
    name: WorkshopHVAC
    modes:
      - "off"
      - "heat"
      - "dry"
      - "cool"
      - "fan_only"
    fan_modes:
      - "high"
      - "medium"
      - "low"
      - "auto"
      - "silent"
    power_command_topic: "homeassistant/climate/zhonghong/ac_0_4/power/set"
    mode_command_topic: "homeassistant/climate/zhonghong/ac_0_4/mode/set"
    current_temperature_topic: "homeassistant/climate/zhonghong/ac_0_4/cur_temp/state"
    mode_state_topic: "homeassistant/climate/zhonghong/ac_0_4/mode/state"
    temperature_command_topic: "homeassistant/climate/zhonghong/ac_0_4/temp/set"
    temperature_state_topic: "homeassistant/climate/zhonghong/ac_0_4/temp/state"
    fan_mode_command_topic: "homeassistant/climate/zhonghong/ac_0_4/fan/set"
    fan_mode_state_topic: "homeassistant/climate/zhonghong/ac_0_4/fan/state"
    precision: 1.0
  - platform: mqtt
    name: DiningroomHVAC
    modes:
      - "off"
      - "heat"
      - "dry"
      - "cool"
      - "fan_only"
    fan_modes:
      - "high"
      - "medium"
      - "low"
      - "auto"
      - "silent"
    power_command_topic: "homeassistant/climate/zhonghong/ac_0_0/power/set"
    mode_command_topic: "homeassistant/climate/zhonghong/ac_0_0/mode/set"
    current_temperature_topic: "homeassistant/climate/zhonghong/ac_0_0/cur_temp/state"
    mode_state_topic: "homeassistant/climate/zhonghong/ac_0_0/mode/state"
    temperature_command_topic: "homeassistant/climate/zhonghong/ac_0_0/temp/set"
    temperature_state_topic: "homeassistant/climate/zhonghong/ac_0_0/temp/state"
    fan_mode_command_topic: "homeassistant/climate/zhonghong/ac_0_0/fan/set"
    fan_mode_state_topic: "homeassistant/climate/zhonghong/ac_0_0/fan/state"
    precision: 1.0
  - platform: mqtt
    name: GuestroomHVAC
    modes:
      - "off"
      - "heat"
      - "dry"
      - "cool"
      - "fan_only"
    fan_modes:
      - "high"
      - "medium"
      - "low"
      - "auto"
      - "silent"
    power_command_topic: "homeassistant/climate/zhonghong/ac_0_1/power/set"
    mode_command_topic: "homeassistant/climate/zhonghong/ac_0_1/mode/set"
    current_temperature_topic: "homeassistant/climate/zhonghong/ac_0_1/cur_temp/state"
    mode_state_topic: "homeassistant/climate/zhonghong/ac_0_1/mode/state"
    temperature_command_topic: "homeassistant/climate/zhonghong/ac_0_1/temp/set"
    temperature_state_topic: "homeassistant/climate/zhonghong/ac_0_1/temp/state"
    fan_mode_command_topic: "homeassistant/climate/zhonghong/ac_0_1/fan/set"
    fan_mode_state_topic: "homeassistant/climate/zhonghong/ac_0_1/fan/state"
    precision: 1.0
  - platform: mqtt    
    name: LivingroomHVAC
    modes:
      - "off"
      - "heat"
      - "dry"
      - "cool"
      - "fan_only"
    fan_modes:
      - "high"
      - "medium"
      - "low"
      - "auto"
      - "silent"
    power_command_topic: "homeassistant/climate/zhonghong/ac_0_2/power/set"
    mode_command_topic: "homeassistant/climate/zhonghong/ac_0_2/mode/set"
    current_temperature_topic: "homeassistant/climate/zhonghong/ac_0_2/cur_temp/state"
    mode_state_topic: "homeassistant/climate/zhonghong/ac_0_2/mode/state"
    temperature_command_topic: "homeassistant/climate/zhonghong/ac_0_2/temp/set"
    temperature_state_topic: "homeassistant/climate/zhonghong/ac_0_2/temp/state"
    fan_mode_command_topic: "homeassistant/climate/zhonghong/ac_0_2/fan/set"
    fan_mode_state_topic: "homeassistant/climate/zhonghong/ac_0_2/fan/state"
    precision: 1.0
  - platform: mqtt 
    name: MasterroomHVAC
    modes:
      - "off"
      - "heat"
      - "dry"
      - "cool"
      - "fan_only"
    fan_modes:
      - "high"
      - "medium"
      - "low"
      - "auto"
      - "silent"
    power_command_topic: "homeassistant/climate/zhonghong/ac_0_3/power/set"
    mode_command_topic: "homeassistant/climate/zhonghong/ac_0_3/mode/set"
    current_temperature_topic: "homeassistant/climate/zhonghong/ac_0_3/cur_temp/state"
    mode_state_topic: "homeassistant/climate/zhonghong/ac_0_3/mode/state"
    temperature_command_topic: "homeassistant/climate/zhonghong/ac_0_3/temp/set"
    temperature_state_topic: "homeassistant/climate/zhonghong/ac_0_3/temp/state"
    fan_mode_command_topic: "homeassistant/climate/zhonghong/ac_0_3/fan/set"
    fan_mode_state_topic: "homeassistant/climate/zhonghong/ac_0_3/fan/state"
    precision: 1.0

修改其中/zhonghong/ac_0_0 为实际获得的名称即可,然后再重启HA就可以有两套一模一样的空调(name不同),我这边已经经过1整天的测试没有任何问题,若各位有发现其他问题可以及时反馈。
------------------------------------------------------题外话---------------------------------------------------------
个人分析感觉是HA的climate组件有点儿什么问题,由于本人编程能力实在有限,也不知道怎么调试HA的PY组件,所以研究了半天也不知道怎么弄。
所以就这样曲线救国搞了个这个,希望可以造福坛友增砖添瓦吧!
希望用过的坛友都能回复一下,不管好使还是不好使,谢谢啦!
游客,如果您要查看本帖隐藏内容请回复






评分

参与人数 3金钱 +35 收起 理由
guitengyue + 10 真的是大福星,终于搞定了这货!!!.
rickynow + 5 <font style="vertical-align: inh
+ 20 楼主不简单,阔以阔以!

查看全部评分

回复

使用道具 举报

12

主题

396

帖子

2277

积分

金牌会员

Rank: 6Rank: 6

积分
2277
金钱
1881
HASS币
10
发表于 2019-12-6 08:45:33 | 显示全部楼层
QQ图片20191206084459.png
请问填那个IP
回复

使用道具 举报

4

主题

129

帖子

1265

积分

金牌会员

Rank: 6Rank: 6

积分
1265
金钱
1131
HASS币
20
 楼主| 发表于 2019-12-6 13:21:04 来自手机 | 显示全部楼层
iciness 发表于 2019-12-6 08:45
请问填那个IP

192.168.1.251,端口号还是9999,不是8899
回复

使用道具 举报

8

主题

318

帖子

2162

积分

论坛技术达人

积分
2162
金钱
1834
HASS币
70
发表于 2019-12-9 10:48:12 | 显示全部楼层
我回头试试看。自己拿knx做了一个转换,暂时用着挺稳定的,但是状态读取需要1s种以上。
回复

使用道具 举报

4

主题

129

帖子

1265

积分

金牌会员

Rank: 6Rank: 6

积分
1265
金钱
1131
HASS币
20
 楼主| 发表于 2019-12-10 16:05:56 | 显示全部楼层
yuyamin 发表于 2019-12-9 10:48
我回头试试看。自己拿knx做了一个转换,暂时用着挺稳定的,但是状态读取需要1s种以上。 ...

KNX应该也是非常稳定的,Nodered目前也一直工作正常,看起来还是工业上用的这几种通讯协议比较稳
回复

使用道具 举报

4

主题

129

帖子

1265

积分

金牌会员

Rank: 6Rank: 6

积分
1265
金钱
1131
HASS币
20
 楼主| 发表于 2019-12-10 16:08:38 | 显示全部楼层

另外问一下这个Flow在你那里好使嘛?有没有什么问题?
回复

使用道具 举报

4

主题

159

帖子

1080

积分

论坛技术达人

积分
1080
金钱
906
HASS币
60
发表于 2019-12-12 21:53:31 | 显示全部楼层
厉害了楼主!
回复

使用道具 举报

4

主题

129

帖子

1265

积分

金牌会员

Rank: 6Rank: 6

积分
1265
金钱
1131
HASS币
20
 楼主| 发表于 2019-12-14 23:34:34 | 显示全部楼层

感谢大神提供思路,我只是在你的基础上略加修改。
回复

使用道具 举报

4

主题

195

帖子

565

积分

高级会员

Rank: 4

积分
565
金钱
370
HASS币
0
发表于 2019-12-23 13:23:37 | 显示全部楼层
学习学习
回复

使用道具 举报

9

主题

205

帖子

2358

积分

金牌会员

Rank: 6Rank: 6

积分
2358
金钱
2153
HASS币
0
发表于 2019-12-24 10:16:42 | 显示全部楼层
学习中,看来nodered还是挺好的
回复

使用道具 举报

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

本版积分规则

Archiver|手机版|小黑屋|Hassbian

GMT+8, 2024-4-25 10:17 , Processed in 0.061979 second(s), 35 queries .

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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