Home Assistant Modbus TCP エネルギーメーター設定ガイド
Home Assistant Modbus TCP エネルギーメーター統合ガイド
Modbus TCP は、エネルギーメーターを Home Assistant に接続する最も高速な方法の 1 つです。ローカルネットワーク上で動作し、インターネット接続に依存せず、リアルタイムの電力監視、太陽光余剰電力の自動化、負荷制御、Home Assistant Energy Dashboard に適しています。
現在のすべての IAMMETER エネルギーメーターは Modbus TCP をサポートしています。Home Assistant との統合方法は次の 2 通りです:
- IAMMETER HACS Modbus 統合 — UI での設定、エンティティの自動作成、設定可能なスキャン間隔。
- Home Assistant 内蔵 Modbus 統合 — レジスタとセンサーを直接制御できる YAML 設定。
このガイドでは、両方法の違いを説明し、適切な方法を設定する手助けをします。
HACS Modbus それとも Home Assistant 内蔵 Modbus?
両方の方法は、メーターから同じローカル Modbus TCP データを読み取ります。主な違いは、Home Assistant エンティティの設定方法です。
| 機能 | IAMMETER HACS Modbus | Home Assistant 内蔵 Modbus |
|---|---|---|
| HA 側の設定 | UI | YAML |
| レジスタ設定 | 統合によって作成 | 手動で定義 |
| スキャン間隔 | 設定可能、デフォルト 3 秒 | センサーごとに設定可能 |
| Energy Dashboard メタデータ | 対応するエネルギーエンティティに含まれる | YAML で設定する必要がある |
| 自動/アシスト検出 | SSDP によるセットアップ支援 | なし |
| ローカル動作 | あり | あり |
| IAMMETER Cloud の継続利用 | 可能 | 可能 |
| 最適な用途 | ほとんどの Home Assistant ユーザー | 上級ユーザーとカスタムレジスタ |
ほとんどのユーザーにとって、HACS Modbus 統合がより簡単な選択肢です。カスタムレジスタリスト、エンティティ命名規則、スケーリングルール、個別センサーのポーリング間隔が必要な場合は、Home Assistant 内蔵の Modbus 統合を使用してください。
高速な更新が必要ない場合は、Home Assistant エネルギーメーター統合の概要で HTTP と MQTT の代替案を比較してください。
始める前に
必要なもの:
- Home Assistant と同じ LAN に接続された IAMMETER エネルギーメーター
- メーターのローカル IP アドレス
- Home Assistant とメーターの間でアクセス可能な TCP ポート
502 - 最新のメーターファームウェア
- IAMMETER HACS 統合を選択する場合は HACS がインストールされていること
ルーターでメーターの IP アドレスを予約しておくことをお勧めします。DHCP アドレスが変わると、正常に動作していた Modbus 統合が後で利用できなくなる一般的な原因になります。
方法 1:HACS で IAMMETER Modbus を設定する
IAMMETER HACS Modbus 統合は、YAML で各レジスタを手動定義せずに高速なローカルデータを利用したいユーザー向けに設計されています。
ステップ 1:統合をインストールする
- Home Assistant で HACS を開きます。
- IamMeter Modbus を検索します。
- 最新リリースをインストールします。
- プロンプトが表示されたら Home Assistant を再起動します。
プロジェクトとリリース情報:
利用可能な最新リリースを使用してください。スキャン間隔設定は更新された統合でサポートされており、DataUpdateCoordinator に渡されます。
ステップ 2:Home Assistant にメーターを追加する
- 設定 → デバイスとサービス に移動します。
- 統合を追加 を選択します。
- IamMeter Modbus を検索します。
- メーターの IP アドレスと Modbus TCP ポートを入力します。
- 適切なメータータイプまたは相設定を選択します。
- スキャン間隔を設定するか、デフォルト値の 3 秒 のままにします。
- フォームを送信し、デバイスとエンティティが作成されたことを確認します。
統合は、単相、2 チャンネル、三相メーターで異なる数のエンティティを作成します。エンティティリストが短くても、単相モデルの Home Assistant サポートが限定的であることを意味するわけではありません。
ステップ 3:エンティティを確認する
設定 → デバイスとサービス で IAMMETER デバイスを開きます。モデルによって、利用可能なエンティティには次のものが含まれます:
- 電圧
- 電流
- 有効電力
- 力率
- 買電量
- 売電量
- 該当するメーターとレジスタセットで公開されている場合は、無効電力または無効電力量
買電量と売電量のエンティティは kWh を使用し、Energy Dashboard に必要な Home Assistant のエネルギーメタデータを含みます。
ステップ 4:適切なスキャン間隔を選択する
デフォルトのスキャン間隔は 3 秒 です。これはライブダッシュボードと電力ベースの自動化の実用的な出発点です。
推奨される出発点:
| 用途 | 推奨スキャン間隔 |
|---|---|
| リアルタイムリレーまたは太陽光余剰電力制御 | 1〜5 秒 |
| ライブ電力ダッシュボード | 3〜10 秒 |
| 一般的なエネルギー監視 | 10〜30 秒 |
1 秒設定はポーリングリクエストであり、すべての Home Assistant ダッシュボードが毎秒確実に更新されることを保証するものではありません。ネットワークレイテンシ、レジスタ数、レコーダーの負荷、フロントエンドの更新動作も結果に影響します。
不必要に積極的なポーリングは避けてください。ほとんどの自動化では、最短間隔よりも安定した 2〜5 秒の更新の方が有用です。
方法 2:Home Assistant 内蔵の Modbus 統合を使用する
Home Assistant には標準の Modbus 統合が含まれています。この方法は完全にローカルで動作し、HACS を必要としませんが、接続とセンサーは YAML で定義されます。
次の例は、単相メーターから電圧と有効電力を読み取ります:
modbus:
- name: iammeter_hub
type: tcp
host: 192.168.1.6
port: 502
sensors:
- name: IAMMETER Voltage
slave: 1
address: 0
input_type: holding
data_type: uint16
scale: 0.01
precision: 1
unit_of_measurement: V
device_class: voltage
state_class: measurement
scan_interval: 5
- name: IAMMETER Active Power
slave: 1
address: 2
input_type: holding
data_type: int32
unit_of_measurement: W
device_class: power
state_class: measurement
scan_interval: 5
192.168.1.6 をメーターの実際の IP アドレスに置き換えてください。センサーを追加する前に、該当するレジスタマップを確認してください:
一般的な IAMMETER Modbus レジスタ
次のアドレスは、一般的な IAMMETER メーターで使用される標準の相ブロックを示しています。常に最新のレジスタドキュメントを正規のリファレンスとして使用してください。
| 測定項目 | A 相 / 単相 | B 相 | C 相 | データ型 |
|---|---|---|---|---|
| 電圧 | 0 | 10 | 20 | uint16 |
| 電流 | 1 | 11 | 21 | uint16 |
| 有効電力 | 2 | 12 | 22 | int32 |
| 買電量 | 4 | 14 | 24 | uint32 |
| 売電量 | 6 | 16 | 26 | uint32 |
各レジスタについて、ドキュメントに記載されたスケール、精度、ワードオーダーを使用してください。電圧の例からエネルギー・スケーリングを推測しないでください。
YAML を編集した後:
- Home Assistant の設定チェックを実行します
- Home Assistant を再起動します
- 開発者ツール → 状態 を開きます
- 新しいエンティティに妥当な値と単位があることを確認します
買電量と売電量を Energy Dashboard に追加する
Home Assistant Energy Dashboard には、瞬間電力ではなく累積エネルギーエンティティが必要です。
手動で設定した Modbus エネルギーセンサーには、適切なメタデータを含めてください:
unit_of_measurement: kWh
device_class: energy
state_class: total_increasing
次に、設定 → ダッシュボード → エネルギー に移動し、買電量エンティティを系統消費(grid consumption)、売電量エンティティを系統への返電(return to grid)として選択します。
Energy Dashboard のエネルギー欄に、ワット単位の有効電力エンティティを選択しないでください。電力は現在のレートを示し、買電・売電 kWh は累積エネルギーを記録します。
対応している IAMMETER モデル
現在のすべての IAMMETER エネルギーメーターは、HACS Modbus と Home Assistant 内蔵 Modbus 統合の両方をサポートしています。
| モデル | メーター設定 | Home Assistant の注意点 |
|---|---|---|
| WEM3080 | 単相 | 単相エンティティセット |
| WEM2067 | 単相アプリケーション用デュアルチャンネル | 2 つの測定チャンネル |
| WEM3080T | 三相 | 三相/エンティティグループ |
| WEM3050T | 三相または分相 | 3 つの測定チャンネル |
| WEM3080TD | 三相3線および特殊配線 | 配線モードに応じてエンティティを解釈 |
| WEM3046T / WEM3046TE | 外部 5 A CT 入力 | 外部 CT 比を適用 |
WEM3046T と WEM3046TE は、外部変流器の 5 A 二次出力を測定します。実際の一次側の電流、電力、エネルギーを得るには、正しい CT 比を適用する必要があります。これは 5 A CT 計測システムの特性であり、Home Assistant や Modbus の互換性の制限ではありません。
Modbus と IAMMETER Cloud を同時に使えますか?
はい。Home Assistant はローカルで Modbus TCP を読み取り、メーターは IAMMETER Cloud へのアップロードを継続できます。Modbus を使用するためにメーターを MQTT アップロードモードに変更する必要はありません。
これにより、2 つの補完的なビューが得られます:
- Home Assistant での高速なローカルデータと自動化
- IAMMETER Cloud での長期レポート、電気料金分析、太陽光分析、リモートアクセス
複数の高頻度 Modbus クライアントを避ける
安全な導入モデルとして、メーター 1 台につきアクティブな Modbus TCP ポーリングクライアントを 1 つ使用してください。Home Assistant、Node-RED、PLC、別のロガーが同じメーターを高頻度で個別にポーリングしないでください。
複数のシステムが同じライブ測定値を必要とする場合は、1 つのシステムに Modbus を読み取らせてデータを再配布するか、複数のコンシューマーがブローカーにサブスクライブする MQTT アーキテクチャを使用してください。
トラブルシューティング
Home Assistant がポート 502 に接続できない
- Home Assistant とメーターが同じ到達可能なネットワーク上にあることを確認します。
- メーターの IP アドレスを確認し、ルーターで予約します。
- TCP ポート
502がファイアウォールや VLAN ルールでブロックされていないことを確認します。 - 別の Modbus クライアントが接続を保持または繰り返し再オープンしていないことを確認します。
エンティティが利用できない、または値が変わらない
- HACS 統合で選択したメーター/相タイプを確認します。
- YAML の場合、スレーブ ID、レジスタアドレス、データ型、スケール、ワードオーダーを確認します。
- 過度に積極的なポーリングを除外するため、一時的にスキャン間隔を長くします。
- メーターの IP アドレスを変更した後、統合を再起動します。
値が非現実的に高い、または低い
- レジスタのスケーリングとデータ型を確認します。
- WEM3046T/WEM3046TE の場合、外部 CT 比を確認します。
- エンティティが期待する相または測定チャンネルに対応していることを確認します。
エネルギーエンティティが Energy Dashboard に表示されない
- kWh 単位の累積買電・売電エネルギーを使用します。
device_class: energyを確認します。state_class: total_increasingを確認します。- ワット単位の電力エンティティを使用しないでください。
リアルタイム電力データで自動化を構築する
Modbus エンティティが動作するようになると、Home Assistant は有効電力または系統への売電電力を使用して他のデバイスを制御できます。例:
- リアルタイム Modbus 電力データからリレーを制御する
- 太陽光の売電量がしきい値を超えたときに EV を充電する
- 利用可能な太陽光余剰電力でお湯を沸かす
- 家庭の需要が上限を超えたときにユーザーに通知する
- 高価なピーク時電力の輸入前に、制御可能な負荷を減らす
統合ガイドは、まず信頼性の高いデータの確立に焦点を当ててください。符号の規約、単位、更新間隔、メーターが利用できなくなったときの動作を確認した後にのみ、制御ロジックを追加してください。