本帖最后由 zxlch 于 2020-2-26 16:34 编辑
现在有个简单的解决办法,在系统中查找modbus,然后拷贝出来,放入custom_components里面
修改__init__.py文件,在最后面添加如下代码
def read_discrete_inputs(self, unit, address, count):
"""Read input inputs."""
with self._lock:
kwargs = {"unit": unit} if unit else {}
return self._client.read_discrete_inputs(address, count, **kwargs)
然后修改binary_sensor.py文件,把
result = self._hub.read_coils(self._slave, self._coil, 1)
替换成
result = self._hub.read_discrete_inputs(self._slave, self._coil, 1)
然后保存重启,这样二进制传感器读取的就是离散输入。
因为我二进制传感器不需要读取线圈,所以就把这个功能改了
==================================================
在modbus中,命令码01是读线圈命令,02为读取离散输入命令。
我在HA的文档查了下好像只能read coils?但是我现在还要read discrete inpus,要怎么操作呢?在NR上是有的(那个FC选项)
|