Skip to main content

reComputer R1000 和 Modbus 与 Home Assistant

介绍

在现代楼宇管理系统 (BMS) 中,集成各种协议和设备对于高效监控和控制至关重要。本指南重点介绍如何利用 Modbus 通信协议(Modbus TCP 和 Modbus RTU)与 Home Assistant OS 的功能,使用强大的 reComputer R1000,这是一个基于树莓派的解决方案。无论您是在设置新系统还是增强现有系统,本指南都将引导您完成将 Modbus 设备连接到 Home Assistant 的过程,确保无缝集成和控制。

开始使用

在开始此项目之前,您可能需要按照此处所述提前准备硬件。

硬件准备

reComputer R1000

软件准备

在深入集成过程之前,确保安装所有必要的驱动程序和工具至关重要。正确安装驱动程序是Modbus RTU设备与Home Assistant之间无缝通信的先决条件。强烈建议在继续本指南之前彻底研究并安装所需的驱动程序。

此外,如果您尚未安装Home Assistant,请按照Home Assistant安装指南在您的reComputer R1000上进行设置。

文件编辑器插件

虽然您可以在设置下直接从用户界面配置Home Assistant的大部分功能,但某些部分需要您编辑文件,如configuration.yaml。此文件包含要加载的集成及其配置。通过向此配置文件添加代码片段,您可以启用特定功能,包括Modbus集成。

要开始,您需要在Home Assistant中安装文件编辑器插件:

  • 打开Home Assistant。
  • 导航到设置 > 插件
  • 点击插件商店
  • 搜索File Editor并点击它。
  • 点击安装按钮。
  • 安装完成后,点击启动来启动文件编辑器。
  • 可选择启用在侧边栏显示以便快速访问。

使用文件编辑器插件,您现在可以编辑configuration.yaml文件来添加Modbus集成

启用Modbus TCP集成

要在Home Assistant中启用Modbus集成,您需要向configuration.yaml文件添加特定参数。以下是您需要配置的参数及其描述:

  • name: 此集线器的名称。必须是唯一的。
  • host: 您的Modbus设备的IP地址或名称,例如192.168.1.1
  • port: 通信的网络端口。
  • type: Modbus连接的类型。选项有tcp或serial。这里我们使用tcp

要为您的Modbus集成配置实体,您需要为每个实体定义各种参数。以下是设置二进制传感器所需的参数: 有几种实体类型。您可以查看官方modbus Home Assistant页面

  • binary_sensors: 为此连接配置的所有二进制传感器的列表。
  • address: 线圈/寄存器的地址。
  • name: 实体的名称,在实体类型内必须是唯一的。
  • scan_interval: 更新间隔(秒)。设置scan_interval = 0表示不轮询。实体在启动后不久被读取,然后根据scan_interval进行读取。
  • slave: 与device_address相同。
  • input_type: 请求的类型。选项有coil、holding或input。

示例

modbus:
- name: modbus_hub
type: tcp
host: IP_ADDRESS_of_PLC
port: 502
binary_sensors:
- name: Relay_1
address: 8193
slave: 1
input_type: coil
scan_interval: 1
- name: Relay_2
address: 8194
slave: 1
input_type: coil
scan_interval: 1
note

修改 configuration.yml 文件后,必须保存并重启 HA

启用 Modbus RTU 集成

要在 Home Assistant 中启用 Modbus RTU 集成,您需要在 configuration.yaml 文件中添加以下参数:

  • name: 此集线器的名称。必须是唯一的。
  • type: Modbus 连接的类型。这里应该是 serial。
  • port: 您的 Modbus 设备连接到 Home Assistant 主机的串行端口或 USB 设备。我们发现它是 /dev/ttyAMA30
  • baudrate: 串行连接的速度。
  • method: 连接到 Modbus 的方法。选项有 rtu 和 ascii。
  • parity: 数据字节的奇偶校验。选项有 E(偶校验)、O(奇校验)、N(无校验)。
  • bytesize: 每个字节的数据大小(以位为单位)。通常为 8。
  • stopbits: 数据字节的停止位。

要为您的 Modbus RTU 集成配置实体,您需要为每个传感器定义各种参数。以下是设置传感器所需的参数:

  • sensors: Modbus 传感器允许您从 Modbus 寄存器收集数据。
  • name: 实体的名称,在实体类型内必须是唯一的。
  • address: 寄存器的地址。
  • slave: 与 device_address 相同。
  • input_type: 传感器的 Modbus 寄存器类型。选项有 holding 或 input。
  • scale: 比例因子。
  • device_class: 传感器的类型/类别,用于在前端设置图标。
  • unit_of_measurement: 附加到值的单位。

示例:

modbus:
- name: modbus_hub2
type: serial
port: /dev/ttyAMA30
baudrate: 9600
bytesize: 8
method: rtu
parity: N
stopbits: 1
sensors:
- name: Room Temperature
address: 1
input_type: input
slave: 1
scale: 0.01
device_class: temperature
unit_of_measurement: °C
- name: Room Humidity
address: 2
input_type: input
slave: 1
scale: 0.01
unit_of_measurement: '%'
device_class: humidity
note

修改 configuration.yml 文件后,必须保存并重启 HA

最后,您将能够看到工作现象。

技术支持与产品讨论

感谢您选择我们的产品!我们在这里为您提供不同的支持,以确保您使用我们产品的体验尽可能顺畅。我们提供多种沟通渠道,以满足不同的偏好和需求。

Loading Comments...