エネルギー計のための Home Assistant MQTT Discovery
エネルギー計のための Home Assistant MQTT Discovery
Home Assistant MQTT Discovery を使用すると、エネルギー計がデバイスとセンサーのエンティティを自動的に作成できます。エネルギー計と Home Assistant が同じ MQTT ブローカーに接続されると、手動の MQTT センサー YAML を書かなくても、Home Assistant がエネルギー計を自動的に検出できます。
IAMMETER は、現在販売中のすべてのエネルギー計で MQTT Discovery をサポートしています。モデルに応じて、Home Assistant は電圧、電流、有効電力、インポート電力量、エクスポート電力量、その他の利用可能な相またはチャンネルの測定値のエンティティを作成します。
次のような場合にこの方法を使用してください:
- ローカルでの MQTT エネルギー監視。
- デバイスとエンティティの自動作成。
- HTTP 統合よりも高速な更新。
- Energy Dashboard に対応したインポート/エクスポート電力量エンティティ。
- 最小限の Home Assistant 設定。
トピック、テンプレート、エンティティ名、メタデータを完全に制御する必要がある場合は、代わりに手動 MQTT エネルギー計ガイドを使用してください。
MQTT Discovery と手動 MQTT の比較
どちらの方法も MQTT ブローカーが必要ですが、エンティティを自動的に作成するのは Discovery だけです。
| 機能 | MQTT Discovery | 手動 MQTT |
|---|---|---|
| メーターの WebUI でブローカーを設定 | はい | はい |
| HA で MQTT 統合を有効化 | はい | はい |
| センサー YAML を記述 | いいえ | はい |
| デバイス/エンティティの自動作成 | はい | いいえ |
| カスタム値テンプレート | いいえ | はい |
| すべてのエンティティ定義をユーザーが制御 | 限定 | はい |
| Energy Dashboard のメタデータ | 自動送信 | ユーザーが YAML で追加 |
意図的に 2 つの別々のエンティティセットを作成する場合を除き、Discovery を有効にしたうえで同じ測定値を手動で定義しないでください。
必要条件
必要なもの:
- ファームウェア
i.76.058.8以降を実行している IAMMETER エネルギー計。 - エネルギー計と Home Assistant の両方からアクセスできる MQTT ブローカー。
- ブローカーのアドレス、ポート、ユーザー名、パスワード。
- MQTT 統合が有効な Home Assistant。
ファームウェア i.76.058.8 は MQTT Discovery の安定版リリース基準です。以前の i.76.02 イメージはテスト用ファームウェアであり、推奨バージョンとしてインストールしたりリンクしたりしないでください。
最新の修正内容と MQTT オプションについては、最新の IAMMETER ファームウェアにアップグレードしてください。
手順 1:Home Assistant を MQTT ブローカーに接続する
Home Assistant がまだブローカーに接続されていない場合:
- Settings → Devices & services を開きます。
- Add integration を選択します。
- MQTT を検索します。
- ブローカーのアドレス、ポート、ユーザー名、パスワードを入力します。
- MQTT 統合が正常に接続されることを確認します。
Home Assistant がすでに目的のブローカーを使用している場合は、既存の MQTT 統合をそのまま使用してください。IAMMETER デバイス用に 2 つ目のブローカー接続を作成しないでください。
通常の Home Assistant MQTT 設定では、MQTT Discovery はデフォルトで有効になっています。ディスカバリーが無効になっている場合や、デフォルト以外のディスカバリープレフィックスが使用されている場合は、エネルギー計と Home Assistant が互換性のある設定を使用していることを確認してください。
手順 2:メーターの WebUI で MQTT Discovery を設定する
メーターのローカル WebUI を開き、Settings に移動します。次のように設定します:
| 設定項目 | 値 |
|---|---|
| 実行モード | MQTT |
| アドレス | MQTT ブローカーのホスト名/IP とポート |
| ユーザー名 | 必要な場合のブローカーのユーザー名 |
| パスワード | 必要な場合のブローカーのパスワード |
| HA MQTT Discovery | 有効 |
設定を保存し、メーターが再起動または再接続するまで待ちます。

最新のファームウェアでは、必要な設定が WebUI に表示されます。以前の /api/mqttha?x=1 エンドポイントを呼び出す必要はありません。
HA MQTT Discovery オプションは、Home Assistant の自動ディスカバリー専用です。一般的なブローカー、カスタムシステム、Node-RED フロー、手動 MQTT 設定の場合は、このオプションを無効のままにして、メーターの標準的な MQTT 公開形式を使用してください。
手順 3:Home Assistant がメーターを検出することを確認する
メーターがブローカーに接続した後:
- Settings → Devices & services → MQTT を開きます。
- 新しく検出された IAMMETER デバイスを探します。
- デバイスを開いてエンティティを確認します。
- 電圧、電流、電力、電力量の値が妥当であることを確認します。
- 期待される相数または計測チャンネルが存在することを確認します。
ディスカバリー設定と測定状態は、異なる MQTT トピックで送信されます。Home Assistant はディスカバリー設定を使用してエンティティを作成し、状態メッセージが届くと値を更新します。
デバイスが表示されない場合は、ブローカー接続とトピックを確認したうえで再起動してください。Home Assistant を再起動しても、誤ったブローカーアドレスや拒否された MQTT 認証情報は修正できません。
Energy Dashboard のサポート
現在の IAMMETER MQTT Discovery ペイロードには、インポート/エクスポート電力量エンティティに必要なメタデータが含まれています:
unit_of_measurement: kWh
device_class: energy
state_class: total_increasing
IAMMETER は、これらのフィールドに対応するコンパクトな MQTT Discovery キーを使用します。例:
{
"unit_of_meas": "kWh",
"dev_cla": "energy",
"stat_cla": "total_increasing"
}
エンティティが有効なデータを受信した後:
- Settings → Dashboards → Energy に移動します。
- 系統消費量にはインポート電力量エンティティを選択します。
- 系統への還元量にはエクスポート電力量エンティティを選択します。
- Energy Dashboard の設定を保存します。
エネルギー項目にワット単位の瞬時有効電力エンティティを選択しないでください。Energy Dashboard には累積 kWh が必要です。
単相モデルと三相モデルでは、作成される電力量エンティティが異なります。メーターの配線と、設備が系統のインポート/エクスポートを測定する方法に対応するエンティティを選択してください。
MQTT 更新間隔の選択
最新の IAMMETER ファームウェアは、最短 2 秒の MQTT 更新をサポートしています。間隔を短くすると Home Assistant の電力測定値が新しくなりますが、ブローカーのトラフィック、エンティティの更新、レコーダーのデータも増加します。
推奨される初期値:
| 用途 | 推奨間隔 |
|---|---|
| 高速なローカル自動化 | 2~5 秒 |
| ライブ電力ダッシュボード | 5~12 秒 |
| 一般的なエネルギー監視 | 10~60 秒 |
自動化にメリットがある場合にのみ、最短の間隔を使用してください。Energy Dashboard の合計値は、通常 2 秒ごとの更新を必要としません。
IAMMETER Cloud との互換性
MQTT Discovery を有効にすると、メーターの実行モードが MQTT に変更されます。メーターは測定値を設定したブローカーに送信し、IAMMETER Cloud へのアップロードは同時に行われません。
同じメーターで Home Assistant と IAMMETER Cloud の両方を利用する必要がある場合は、代わりにローカル HTTP または Modbus TCP 統合を選択してください。これらの方法では、通常の Cloud アップロードを継続しながらメーターをローカルで読み取ります。
各オプションの比較は、Home Assistant エネルギー計統合の概要を参照してください。
対応 IAMMETER モデル
現在販売中のすべての IAMMETER エネルギー計が MQTT Discovery をサポートしています。主な違いは相数/チャンネル数であり、それに応じて作成されるエンティティの数も異なります。
| モデル | 標準的なエンティティ構成 | 製品情報 |
|---|---|---|
| WEM3080 | 単相エンティティ | 単相エネルギー計 |
| WEM2067 | 2 つの計測チャンネル | 家庭用ソーラーのデュアルチャンネル計 |
| WEM3080T | 三相エンティティ | 三相エネルギー計 |
| WEM3050T | 3 つの計測チャンネル | 家庭用三相/スプリットフェーズ計 |
| WEM3080TD | 配線モードに応じて解釈されるエンティティ | WEM3080TD |
| WEM3046T / WEM3046TE | 外部 5 A CT 計測による三相エンティティ | 5 A CT 三相計 |
WEM3046T と WEM3046TE は、外部変流器の 5 A 二次出力を測定します。一次側の電流、電力、電力量を求めるには、正しい CT 比を適用する必要があります。これは計量システムの要件であり、Home Assistant や MQTT Discovery の制限ではありません。
製造中止となった WEM3162 は、現在の互換性の対象には含まれません。
MQTT Discovery のトラブルシューティング
Home Assistant がメーターを検出しない
- メーターと Home Assistant が同じブローカーを使用していることを確認します。
- ブローカーのアドレス、ポート、ユーザー名、パスワードを確認します。
- メーターの WebUI で HA MQTT Discovery が有効になっていることを確認します。
- ブローカーのログで、接続拒否や認証エラーを確認します。
- Home Assistant の MQTT 統合が接続されていることを確認します。
- MQTT クライアントでブローカーの Home Assistant ディスカバリープレフィックスにサブスクライブし、設定メッセージが存在するか確認します。
デバイスは表示されるが、エンティティが利用できない
- ディスカバリー設定後もメーターが状態メッセージを公開し続けていることを確認します。
- ファイアウォール、VLAN、ブローカー ACL がディスカバリートピックと状態トピックの両方を許可しているか確認します。
- メーターが別のブローカーに切り替わっていないことを確認します。
- 最新のファームウェアにアップグレードして再接続します。
Energy Dashboard でインポート/エクスポート電力量を選択できない
- エンティティが有効な数値 kWh 値を受信していることを確認します。
- Developer tools → States を開き、単位、デバイスクラス、ステートクラスを確認します。
- 現在のディスカバリーペイロードを評価する前に、初期のテストファームウェアによって作成された古いエンティティを削除します。
- 有効電力エンティティではなく、電力量エンティティを選択していることを確認します。
MQTT エンティティが重複して表示される
重複は通常、次のような場合に発生します:
- 手動 MQTT YAML と MQTT Discovery の両方が有効になっている。
- メーターのシリアル番号またはディスカバリーの一意 ID が変更された。
- 初期のファームウェアが別のディスカバリー設定を公開していた。
- 古い設定の保持されたディスカバリートピックがブローカーに残っている。
同じ測定値に対して手動 MQTT または MQTT Discovery のどちらかを選択し、古い設定を削除してください。
古い保持された Discovery エンティティを削除する
MQTT Discovery の設定メッセージは、Home Assistant が再起動後にエンティティを再作成できるように、ブローカーによって保持されるのが一般的です。古い設定トピックが残っている場合、Home Assistant の UI でデバイスを削除するだけでは不十分なことがあります。保持された設定が再度受信されると、エンティティが復活する可能性があります。
安全なクリーンアップ手順:
- メーターの HA MQTT Discovery を無効にするか、一時的に切断して、古い設定がすぐに再公開されないようにします。
- MQTT クライアントを使用して、Home Assistant のディスカバリープレフィックス(通常は
homeassistant/#)を確認します。 - 影響を受ける IAMMETER のシリアル番号/デバイスに属する設定トピックだけを特定します。
- 不要になった各設定トピックに、空の保持ペイロードを公開します。
- 不要になったデバイス/エンティティが Home Assistant に残っている場合は削除します。
- 現在のファームウェアで Discovery を再度有効にします。
- 1 つのデバイスと期待される現在のエンティティが作成されることを確認します。
共有ブローカー上の homeassistant/# 保持トピックツリー全体を削除しないでください。無関係なデバイスのディスカバリー設定まで削除される可能性があります。
手動 MQTT が適している場合
次のようなニーズがある場合は、代わりに手動 MQTTを使用してください:
- カスタムのエンティティ名と一意 ID。
- カスタムの JSON テンプレートまたは計算。
- 選択した測定値のサブセットのみ。
- Home Assistant 以外のアプリケーションと共有するトピック構造。
- デバイスクラスとステートクラスの明示的な制御。
- Home Assistant Discovery が意図的に無効化されているシステムとの互換性。
関連ガイド
- Home Assistant 向け手動 MQTT エネルギー計の設定
- IAMMETER データを MQTT ブローカーに公開する
- IAMMETER と Home Assistant のすべての統合方法の比較
- 最新の IAMMETER ファームウェアにアップグレード
- Home Assistant MQTT ドキュメント
更新日:2026年7月19日