IAMMETER Wi-Fi エネルギー計:ローカル API とオープンインターフェース
IAMMETER Wi-Fi エネルギー計:ローカル API とオープンインターフェース
IAMMETER Wi-Fi エネルギー計は、IAMMETER-Cloud に加えて、ローカルおよびサードパーティとの統合をサポートしています。
利用可能なインターフェースは次のとおりです。
- LAN 上のローカル HTTP API
- MQTT および MQTTS によるパブリッシュ
- Modbus TCP
- TCP/TLS アップロード
- HTTP/HTTPS アップロード
- スタンドアロンでのローカル運用
これらのインターフェースにより、IAMMETER のエネルギー計は、以下のオープンデータソースとして機能します。
- Home Assistant およびその他のスマートホームプラットフォーム
- Node-RED オートメーション
- セルフホスト型ダッシュボード
- PLC および SCADA システム
- カスタム Energy Management System(EMS)
- カスタム Building Management System(BMS)
- サードパーティのデータサーバー
このガイドでは、最新のファームウェアと WebUI を最初に説明します。旧ファームウェアのスクリーンショットと設定方法は、最後の Legacy セクションに残されています。
これらの機能を活用したすぐに使えるアプリケーションについては、家庭用エネルギー監視、太陽光発電の監視、またはインターネットなしのローカル監視を参照してください。
1) 最新ファームウェアへの更新
IAMMETER のファームウェアは継続的に更新されています。統合を構成する前に、現在のリリースとモデルの互換性を確認してください。
最新のファームウェアの WebUI では、よく使用される設定オプションを直接公開しています。この記事の後半で説明する手動の設定 API 呼び出しは、主に既存のインストールを維持する場合に役立ちます。
2) 現在の WebUI で実行モードを選択する
メーターがデータを送信する先、またはローカルでの動作方法に応じて、実行モードを選択します。
| モード | 動作 | 代表的な用途 |
|---|---|---|
| Cloud | IAMMETER-Cloud へアップロード | すぐに使えるダッシュボードとレポート |
| TCP | TCP、TLS、またはサポートされている TCP モード構成でサードパーティのエンドポイントへアップロード | カスタムサーバーへの取り込み |
| HTTP | サードパーティの HTTP/HTTPS エンドポイントへデータを送信 | REST または Web バックエンド |
| MQTT | MQTT または MQTTS ブローカーへ直接パブリッシュ | ホームオートメーションと安全な IoT メッセージング |
| Stand-Alone | アップロードせず、ローカル API または Modbus TCP リクエストに応答 | LAN 限定またはセルフホスト型の監視 |

実行モードはデータのアップロード動作を制御します。ローカル API と Modbus TCP の利用可否は、メーターのモデル、ファームウェア、および選択した統合に応じて確認する必要があります。
3) オープンインターフェースが重要な理由
オープンインターフェースにより、ユーザーは電力データの処理場所と保存場所を決めることができます。
主な理由は次のとおりです。
- 測定値をローカルネットワーク内に保持する
- 既存のサーバーにテレメトリを送信する
- エネルギーデータを Home Assistant や Node-RED に接続する
- カスタムダッシュボードとアラームを構築する
- 電力データを料金、太陽光発電、または負荷制御ロジックと組み合わせる
- インターネットアクセスが限られている、または不安定なサイトで運用する
クラウドアクセスとローカルアクセスは、必ずしも相互排他ではありません。適切なアーキテクチャは、プロジェクトが IAMMETER-Cloud のレポート、ローカルプラットフォーム、サードパーティのサーバー、またはこれらの組み合わせのどれを必要とするかによって異なります。
4) サードパーティのサーバーへデータをプッシュする
4.1 TCP と TLS
IAMMETER は、TCP または TLS のエンドポイントにメーターデータをプッシュできます。
現在の WebUI では:
- TCP 実行モードを選択します。
- 宛先アドレスを入力します。
- アップロード間隔を設定します。
- 設定を保存し、受信サーバーでデータを確認します。
TCP サーバーの場合は、次を使用します:
{domain-or-ip}:{port}
例:
abc.com:12345

TLS サーバーの場合は、次を使用します:
tls://{domain-or-ip}:{port}
例:
tls://abc.com:12345

現在のファームウェアの概要では、最小アップロード間隔は 2 秒 と記載されています。短い間隔を選択する前に、現在のファームウェアと受信サーバーの容量を確認してください。
4.2 MQTT と MQTTS
IAMMETER は、テレメトリを通常の MQTT ブローカーに直接パブリッシュできます。また、対応するファームウェアでは、暗号化された転送に MQTTS を使用できます。
現在の WebUI では:
- MQTT 実行モードを選択します。
- 適切な MQTT または MQTTS 形式を使用して、ブローカーの IP アドレスまたはドメインとポートを入力します。
- 認証が必要な場合は、ブローカーのユーザー名とパスワードを入力します。
- アップロード間隔を設定します。
- 保存し、メッセージがブローカーに届くことを確認します。
通常の MQTT の場合は、mqtt:// プレフィックスなしでブローカーアドレスとポートを入力します:
192.168.11.163:1883

MQTTS の場合は、mqtts:// プレフィックスを含めます:
mqtts://{mqtt-broker-address}:{port}
例:
mqtts://broker.example.com:8883

2025 年 11 月のファームウェア更新で文書化された MQTTS サポートには、現在次の制限があります:
- TLS 1.2 以下をサポートします。
- カスタム CA 証明書のアップロードはサポートされていません。
- ホスト名の検証はサポートされていません。
- 相互 TLS 認証用のクライアント側証明書はサポートされていません。
これらの制限は、ブローカーを選択し、導入のセキュリティ要件を評価する際に重要です。
現在のファームウェアの概要では、最小アップロード間隔は 2 秒 と記載されています。
Home Assistant MQTT Discovery は、追加の Home Assistant ディスカバリー機能です。すべての MQTT 統合に必須ではありません。次を参照してください:
MQTT/MQTTS 経由で uploadInterval をリモート変更する
2025 年 11 月の更新で説明されているファームウェアでは、MQTT モードで動作しているメーターは、次のトピックを自動的に購読します:
device/{sn}/config
別の MQTT クライアントから次の JSON をパブリッシュすると、アップロード間隔をリモートで変更できます:
{"uploadInterval": 10}
10 を必要な秒数に置き換え、トピック内の {sn} をメーターのシリアル番号に置き換えます。

このリモート MQTT 設定は、Legacy セクションに残されている従来のローカル /api/uploadinterval メソッドとは異なります。
4.3 HTTP と HTTPS
IAMMETER は、カスタム HTTP/HTTPS サーバーにデータを送信できます。
現在の WebUI では:
- HTTP 実行モードを選択します。
- サーバーのアドレスとポートを入力します。
- アップロード間隔を設定します。
- 保存し、サーバーでリクエストを確認します。
現在のファームウェアは、デフォルトの HTTPS ポートとカスタム HTTPS ポートの両方をサポートしています。
次のいずれかの形式を使用します:
- ポートを明示しないプレーン HTTP:
{address}— デフォルトはポート 80。 - カスタムポートを使用するプレーン HTTP:
{address}:{port}。 - ポートを明示しない HTTPS:
https://{address}— デフォルトはポート 443。 - カスタムポートを使用する HTTPS:
https://{address}:{port}— 指定したポートを使用します。
https:// プレフィックスは HTTPS を選択します。ポート 443 は、HTTPS で使用できる唯一のポートではなくなりました。
例:
api.example.com
api.example.com:8080
https://api.example.com
https://api.example.com:8443


ファームウェアのリリースノートについては、新ファームウェアに MQTTS、リモート設定、カスタム HTTPS ポートを追加を参照してください。
サーバー側のペイロード処理については、IAMMETER をサードパーティのサーバーと統合するも参照してください。
5) HTTP でローカルにデータを読み取る
メーターを LAN に接続し、ローカル IP アドレスからデータを要求します。これらの要求には IAMMETER-Cloud は必要ありません。
API を対話的にテストする:IAMMETER Local API Explorer を開き、メーターのローカル IP アドレスを入力して WEM API テストページを選択します。Swagger スタイルのエクスプローラーには利用可能なローカル API が一覧表示され、ブラウザーから直接テストリクエストを送信できます。ブラウザーと IAMMETER メーターは同じ LAN 上にある必要があります。
5.1 GET /api/monitorjson
リアルタイムの電気測定値を返します。
標準データには次のような値が含まれます:
- 電圧(Voltage)
- 電流(Current)
- 有効電力(Active power)
- 順方向/買電 kWh(Forward/import kWh)
- 逆方向/売電 kWh(Reverse/export kWh)
- 周波数(Frequency)
- 力率(Power factor)
レスポンスの例:
{
"method": "uploadsn",
"mac": "B0F8933C4F94",
"version": "i.75.97.9",
"server": "em",
"SN": "3E0BAF87",
"Datas": [
[220.0, 9.99, 2198, 11.337, 11.201, 49.99, 1.00],
[222.5, 9.99, 1100, 11.039, 10.908, 49.99, 0.50],
[263.5, 9.99, 1213, 10.975, 10.846, 49.99, 0.55]
]
}
測定配列の数は、メーターのモデルとチャンネル数によって異なります。
対応するモデル/ファームウェアで無効電力測定が有効になっている場合、レスポンス形式に追加フィールドが含まれることがあります。無効電力測定のデータ形式を参照してください。
5.2 GET /api/monitor
Wi-Fi 情報も含む拡張リアルタイムレスポンスを返します。例:
ssid— 接続中のアクセスポイント名sig— Wi-Fi 信号強度
統合で電気測定値と基本的な Wi-Fi ステータスの両方が必要な場合は、このエンドポイントを使用します。
5.3 GET /api/wifidata
ファームウェア、デバイス、ネットワーク構成情報を返します。
例:
{
"version": "i.75.97.9",
"SN": "3E0BAF87",
"mac": "B0F8933C4F94",
"type": "PM",
"ssid": "example-wifi",
"ip": "192.168.11.62",
"netmask": "255.255.255.0",
"gw": "192.168.11.1",
"dns": "192.168.11.1",
"dhcp": 1,
"runMode": "tcp",
"uploadinterval": 60
}
デバイスのシリアル番号、MAC アドレス、内部アドレス、Wi-Fi 情報を含むレスポンスは、値がサニタイズされていない限り公開しないでください。
6) アップロードモード間の JSON 形式
IAMMETER は、HTTP、TCP、MQTT、ローカル API で一貫したコア JSON 測定構造を使用します。これにより、1 つの受信システムが複数の転送方法をサポートする場合の作業が軽減されます。
転送方法とエンベロープによって、受信側の接続方法、認証方法、メッセージのフレーミング方法が異なる場合があります。選択したモードの文書化された形式に従って受信システムを実装してください。
7) Modbus TCP
IAMMETER のメーターは、互換性のあるクライアントとの直接 LAN 統合のための Modbus TCP をサポートしています。
一般的なクライアントには次のものがあります:
- Home Assistant
- PLC
- SCADA システム
- 産業用ゲートウェイ
- カスタム Modbus アプリケーション
参考資料:
導入前に、メーターのモデル、ファームウェア、レジスタ定義、ポーリング間隔、クライアントの動作を確認してください。
8) 統合シナリオ
| システム | 代表的なプロトコル | 使用例 | 参照 |
|---|---|---|---|
| Home Assistant | HTTP、Modbus TCP または MQTT | ローカルダッシュボードと自動化 | Home Assistant ガイド |
| Node-RED | HTTP、Modbus TCP または MQTT | 自動化フロー | Node-RED ガイド |
| openHAB / ioBroker | HTTP または対応アダプター | ローカルダッシュボード | ioBroker 統合 |
| Zabbix | HTTP | 監視ダッシュボード | Zabbix の例 |
| ThingsBoard | HTTP または MQTT | IoT 可視化 | ThingsBoard の例 |
| カスタムサーバー | HTTP、MQTT、TCP または TLS | ローカルまたはエンタープライズでの取り込み | 独自システムの構築 |
9) 現在のインターフェースの概要とリソース
| 要件 | 現在のインターフェース |
|---|---|
| LAN 経由でリアルタイム測定値を読み取る | /api/monitorjson または /api/monitor |
| ネットワーク/デバイス情報を読み取る | /api/wifidata |
| ブローカーへプッシュする | 現在の WebUI で設定された MQTT または MQTTS |
| カスタム TCP/TLS サーバーへプッシュする | 現在の WebUI で設定された TCP/TLS |
| カスタム Web エンドポイントへプッシュする | 現在の WebUI で設定された HTTP/HTTPS |
| 標準的な産業用クライアントからポーリングする | Modbus TCP |
| 継続的なデータアップロードなしで運用する | Stand-Alone モード |
追加リソース:
- 最新ファームウェア
- MQTTS とカスタム HTTPS ポートのファームウェアノート
- ビデオチュートリアル
- JSON データ定義
- Modbus TCP 概要
- 独自システムの開発
- インターネットなしでの監視
IAMMETER のローカル API とオープンプロトコルにより、リアルタイム監視から始めて、後でカスタム EMS、セルフホスト型ダッシュボード、自動化ワークフローを追加することができます。
10) レガシーファームウェアのページと設定方法
以下の資料は、古いファームウェアを実行しているメーター、または既存の統合を維持しているユーザーのためにのみ残されています。新しいインストールでは、最新ファームウェアに更新し、必要なオプションが利用可能な場所では現在の WebUI を使用してください。
10.1 レガシーの実行モードページ
古いファームウェアでは、次の実行モード選択ページが使用されていました:

レイアウトとオプション名は、このガイドで前述した現在の WebUI と一致しない場合があります。
10.2 レガシーの TCP/TLS ページ
古いファームウェアの統合では、この TCP/TLS 設定ページと関連ガイドが参照される場合があります:

10.3 レガシーの MQTT ページ
古い MQTT ドキュメントでは、次の設定インターフェースが使用されていました:

現在のワークフローでは、この記事で前述した現在の WebUI の手順と、更新された MQTT 統合ガイドを使用してください。
10.4 レガシーの HTTP/HTTPS ページ
古いファームウェアでは、次の HTTP/HTTPS 宛先ページが使用されていました:

レガシーの統合ガイドは、HTTP/HTTPS 経由でのアップロードに残されています。
この古いワークフローでは、HTTPS はデフォルトのポート 443 に関連付けられており、https:// プレフィックスは必要ありませんでした。現在のファームウェアでは、代わりに https:// プレフィックスを使用して HTTPS を選択し、デフォルトのポート 443 または明示的に指定されたカスタムポートのいずれかをサポートします。
10.5 レガシーの設定 API
次のローカル API 呼び出しは、以前の設定ワークフローで使用されていました。現在のファームウェアでは、対応する設定は、オプションが利用可能な場合は通常 WebUI で設定する必要があります。
/api/uploadinterval?x=<seconds>
非クラウドのアップロード間隔を設定するためのレガシーメソッドです。
/api/mqtt
MQTT の資格情報を設定するためのレガシーメソッドです。
/api/netmetring
ネットメータリング(Net Energy Metering)モードを有効または無効にするためのレガシーメソッドです。
/api/ctcratio
特定のスプリットフェーズまたはバランスシナリオで、文書化された Phase-C 乗数を適用するためのレガシーメソッドです。
/api/reactive
対応するファームウェア/モデルで無効電力と無効電力量の測定を有効または無効にするためのレガシーメソッドです。
/api/ratio — WEM3046T のみ
WEM3046T は、5 A の二次出力を持つ外部 CT を使用します。古い設定手順では、CT 比率を次のように設定していました:
/api/ratio?x={ct_ratio}
例:
/api/ratio?x=400
このエンドポイントは WEM3046T に固有であり、他の IAMMETER モデルでは無効です。現在のファームウェアでは、利用可能な場合はモデルの現在の WebUI 設定を使用してください。
レガシー資料は後方参照用に残されています。現在のインストールでは、最新のファームウェア WebUI に従ってください。