01 前言
本文章原文发表于我的微信公众号,请大家关注阅读,涉及的源代码等都在公众号,请搜索公众号: 智能家居NodeRed和HomeAssistant 即可关注。
02 说明
本次是在Modus解析全新流程核心基础上对私有485协议解析流程进行升级更新,全新升级2.0版!新增中弘小超人空调网关支持,配置定义如下:
Device配置(从站配置)
Add:设置从站地址;
FC:读功能码;
RegStAdd:设置开始寄存器;
QTY:需要读取的寄存器数量;
DevName:自动发现为设备的名称;
analysis配置(寄存器配置)
CH:通道序号,保留定义项,可以任意设置值;
RegAdd:寄存器地址;
FC:写功能;
DrvClass:HA中的设备类别;
entities:HA中的实体名称定义;
Path:MQTT路径,需以“/”结尾;
Notes:HA中显示的中文名称;
Fun:定义空调的功能配置分别为:开关、设置的温度、工作模式、风速模式、当前回风温度;前面的数值为Fun功能值所在Modbus报文的位置,例如报文第4位值为0,则对应power值为0;
Funset:为调用写寄存器功能时的寄存器地址与功能值的对应关系,如果寄存器地址以16进制表示可以在数组前加上0x;
modes:为空调模式显示、选择设置,可根据功能可选功能设置,HomeAssistant支持的模式有:"auto", "dry", "cool", "heat", "off", "fan_only"六种,前面数值对应与模式的关系,例如1: "heat",表示值为1时解析为当前为制热模式;
fan_mode:为风速模式显示、选择设置,可根据功能可选功能设置,HomeAssistant支持的模式有:"auto", "high","medium", "low"四种,前面数值对应与模式的关系,例如0: "auto",表示值为1时解析为当前为自动模式;
power:为电源开关设置,一般都是0关1开,这里不用多说。
以下是自动发现的截图:


03 更新概要
241210更新如下:
1.全新解析核心2.0版
2.校验方式支持CRC16、与或校验、SUM校验和校验方式可选;
3.支持校验起始位计算的定义设置;
4.定义和识别Modbus和私有485协议;
5.增加Modbus空调设备的支持;
更新历史:
240915
1·修复了端口输出异常的BUG;
2.修复传感器自动发现的BUC;
3.增加二元传感器的自动发现;
4.增加HA中自动发现为设备的功能;
5.可选是否自动发现为设备或实体;
240813
1.集成Modbus协议解析,可以同时解析私有协议和标准modbus协议;
2.简单定义,一键接入HomeAssistant
3.两种协议同时支持,统一轮询;
4.支持Modbus16位无符号数和位的数据类型解析;
5.报文11进行CRC校验,保证数据的准确性。
240717
1.HomeAssistant自动发现增加支持开关和全系传感器;
2.同时解析窗帘、开关、传感器;
3.NodeRed直接显示解析的各类设备数量;
4.支持不同类型从站的轮询;
5.调整了RS485ParamsData的结构;
6.显示窗帘、开关、传感器的数量;
7.增加窗帘、开关、传感器的示例配置;
240709
1.设置简单,轻松定义;
2.同时解析和自动发现多个485协议的设备;
3.支持485接入和串口服务器方式的接入;
4.可以灵活切换反转开关状态;
5.防止窗帘设备回弹而造成开度显示不正确;
6.反馈数据校验功能,防止数据错误而导致的显示异常;
7.多种窗帘、开合帘等设备类型的全支持;
8.基于485通讯轮询机制进行数据采集;
9.采用异步通讯机制构建消息队列,防止读写冲突;
10.HomeAssistant中自动发现实体;
11.设置变量输出及清除功能,方便调试;
12.设置函数节点状态显示,实时检测函数运行状态。
04 经过测试的设备
MODBUS协议:
1.科星互联:CX-5102S、 CX-5014S、 CX-8112S;
2.雷龙电器:LGZM-12/16A;
3.博朗通:BR-K新风控制器;
4.金凯曼:可燃气体、烟雾探测器;
5.中弘小超人空调网关;
私有485协议:
1.奥科电动窗帘电机;
以上是实测通过的设备,理论上和以上设备协议相同或相似的设备都能够支持,欢迎大家测试反馈!

5489

被折叠的 条评论
为什么被折叠?



