如何解决带 MODBUS 的家庭助理
将 MODBUS 安装与 Home Assistant 集成
Gavazzi 中的 MODBUS 控制器 SH2WEB24
家庭助理配置.yaml:
modbus:
name: SmartHouse
type: tcp
host: <my_ip_addr>
port: 502
# SmartHouse Functions
switch:
platform: modbus
scan_interval: 10
registers:
- name: test1
hub: SmartHouse
slave: 1
register: 352
command_on: 1
command_off: 0
# SmartHouse Convert to light
light:
- platform: switch
name: Light_test1
entity_id: switch.test1
在 Home Assistant 启动日志中,我们看到此错误:
记录器:pymodbus.client.sync 来源: /usr/local/lib/python3.8/site-packages/pymodbus/client/sync.py:214 第一次发生:10:40:02(出现 1 次)最后记录:10:40:02
连接到 (
modbus 控制器与 Gavazzi (windows) 软件一起使用时工作正常。 在该软件中,只需要指定 IP 和端口,无需其他凭据。 那么,为什么 Home Assistant 会出现“连接被拒绝”错误?
解决方法
成功了。
关键是在SHTOOL软件中启用模式:在项目设置/通讯中启用“Modbus TCP/IP”
还必须创建模式映射: Modbus / Modbus 映射:单击灯泡,将其展开并单击“v”图标以启用映射。您也可以对所有实体执行此操作,将所有实体都映射到 modbus。
注意“使用地址”字段。这很重要,将用作下面的“寄存器”值(见**)。 此列表可以通过“将 modbus 保存为 CSV”导出到 ckv
转到家庭助理 如果您还没有这样做,请启用“文件编辑器”。 查看此link了解更多信息
现在编辑配置文件:单击左窗格中的“文件编辑器”。 寻找 /config/configuration.yaml
然后添加这些条目:
modbus:
name: SmartHouse
type: tcp
host: <your smart house IP>
port: 502
# SmartHouse Functions
switch:
platform: modbus
scan_interval: 10
registers:
- name: light1
hub: SmartHouse
slave: 1
register: <register as noted above **>
command_on: 1
command_off: 0
# SmartHouse Convert to light
light:
- platform: switch
name: light1
entity_id: light1
基本上就是这样。现在您可以使用此灯,例如在仪表板中。 转到仪表板,对其进行编辑并添加灯光。 您可以点击它进行切换,也可以查看状态。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。