Home Assistant与MODBUS

4

将MODBUS安装与Home Assistant集成

Gavazzi SH2WEB24中的MODBUS控制器

Home Assistant Configuration.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的启动日志中,我们看到了这个错误:

日志记录器(Logger): pymodbus.client.sync
来源(Source): /usr/local/lib/python3.8/site-packages/pymodbus/client/sync.py:214
第一次出现(First occurred): 10:40:02 (1 次)
最后记录(Last logged): 10:40:02

与(<my_ip_addr>, 502)的连接失败:[Errno 111] 连接被拒绝(Connection refused)

当使用Gavazzi(Windows)软件时,Modbus控制器正常工作。在该软件中,只需指定IP和端口,无需其他凭据。那么为什么从Home Assistant对其进行寻址时会出现“连接被拒绝”的错误呢?
1个回答

3

成功了。

关键是要在 SHTOOL 软件中启用模式:在项目设置/通信中启用 "Modbus TCP/IP"。

此外,必须创建模式映射: Modbus / Modbus 映射:单击灯泡,展开并点击“v”图标以启用映射。您也可以对所有实体执行此操作,以将它们全部映射到 Modbus。

请注意“使用地址”字段。这很重要,并且将用作下面的“寄存器”值(参见**)。 此列表可以通过“将 modbus 另存为 CSV”导出到 ckv 中

进入 Home Assistant 如果您还没有这样做,请启用“文件编辑器”。 有关更多信息,请参见此链接

现在编辑配置文件:单击左窗格中的“文件编辑器”。 查找 /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

基本上就是这样了。现在,您可以在仪表板中使用这个小灯。

进入仪表板,进行编辑并添加该灯。

您可以单击它进行切换,并查看状态。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接