reComputer R1000とModbusによるHome Assistant
はじめに
現代のビルディング管理システム(BMS)において、様々なプロトコルとデバイスの統合は、効率的な監視と制御にとって重要です。このガイドでは、強力なRaspberry PiベースのソリューションであるreComputer R1000を使用して、Home Assistant OSでModbus通信プロトコル(Modbus TCPとModbus RTU)の機能を活用することに焦点を当てています。新しいシステムを設定する場合でも、既存のシステムを強化する場合でも、このガイドではModbusデバイスをHome Assistantに接続するプロセスを説明し、シームレスな統合と制御を確実に行います。
はじめに
このプロジェクトを開始する前に、ここで説明されているようにハードウェアを事前に準備する必要があります。
ハードウェアの準備
reComputer R1000 |
---|
![]() |
ソフトウェア準備
統合プロセスに入る前に、必要なドライバーとツールがすべてインストールされていることを確認することが重要です。適切なドライバーのインストールは、Modbus RTUデバイスとHome Assistant間のシームレスな通信の前提条件です。このガイドを進める前に、必要なドライバーを十分に研究してインストールすることを強く推奨します。
また、まだHome Assistantをインストールしていない場合は、Home Assistantインストールガイドに従って、reComputer R1000にセットアップしてください。
File Editor アドオン
Home Assistantのほとんどは設定のユーザーインターフェースから直接設定できますが、一部はconfiguration.yamlなどのファイルを編集する必要があります。このファイルには、設定と共に読み込まれる統合が含まれています。この設定ファイルにコードスニペットを追加することで、Modbus統合を含む特定の機能を有効にできます。
開始するには、Home AssistantにFile Editorアドオンをインストールする必要があります:
- Home Assistantを開きます。
設定 > アドオン
に移動します。
アドオンストア
をクリックします。
File Editor
を検索してクリックします。
- インストールボタンをクリックします。
- インストールが完了したら、開始をクリックしてFile Editorを起動します。
- オプションで、クイックアクセスのためにサイドバーに表示を有効にします。
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統合のエンティティを設定するには、各エンティティに対してさまざまなパラメータを定義する必要があります。以下は、バイナリセンサーを設定するために必要なパラメータです: 複数のエンティティがあります。公式modbusHome 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
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
configuration.ymlファイルを変更した後は、HAを保存して再起動する必要があります
最終的に動作現象を確認できるようになります。

技術サポート & 製品ディスカッション
弊社製品をお選びいただき、ありがとうございます!弊社では、お客様の製品体験が可能な限りスムーズになるよう、さまざまなサポートを提供しています。異なる好みやニーズに対応するため、複数のコミュニケーションチャンネルを用意しています。