MQTTブローカーによるリアルタイムエネルギーデータサブスクリプション(2025年版)
1.はじめに
IAMMETER クラウドIAMMETER-Cloudは、プロフェッショナルなエネルギー監視および太陽光発電管理プラットフォームです。 強力な可視化機能とレポート機能に加え、IAMMETER-Cloudは柔軟なデータインターフェースも提供します。 これにより、カスタマイズされた要件を持つユーザーは、IAMMETER-Cloudをデータミドルウェアコードを通じてプログラム的にデータを取得します。
コードを使用して IAMMETER-Cloud からデータを取得するには、主に 2 つの方法があります。
- データの購読方法IAMMETERのMQTTブローカー(この記事の焦点)
- IAMMETER-Cloudの公式API
このガイドでは、IAMMETER MQTT トピックをサブスクライブする方法、データ構造を解釈する方法 (単相メーターと三相メーターの両方)、および実用的な Python および Node.js の例を実装する方法について説明します。
2. IAMMETER MQTTブローカーの概要
ノート:IAMMETER MQTTブローカーは、もともと開発およびテストサービス利便性のために提供されており、標準のIAMMETER-Cloudサービスには含まれていません(ただし、5年以上安定して稼働しています)。 本番環境または大規模な導入の場合は、独自のMQTTブローカー.
IAMMETER MQTTブローカー構成
| パラメータ | 説明 |
|---|---|
| ブローカーの住所 | mqtt.iammeter.com |
| ポート | 1883(非SSL) |
| ユーザー名 / パスワード | 作成する必要がありますIAMMETERクラウド → 設定 → MQTT設定![]() |
| トピック形式 | デバイス/{SN}/リアルタイム |
| ペイロード形式 | JSON |
⚠️ 重要:するないここでIAMMETER Cloudのログイン認証情報を使用してください。 専用のMQTTユーザー名とパスワードを作成するIAMMETER Cloud ダッシュボードで。
IAMMETERメーターをMQTTモードを使用するように設定
IAMMETERメーターをMQTTアップロードモード(見るファームウェア設定ガイド) をクリックし、IAMMETER MQTT ブローカー パラメータを入力します。

3. MQTTトピックフォーマット
各 IAMMETER デバイスは、次のトピックでリアルタイム データを公開します。
デバイス/{SN}/リアルタイム
どこ{SN}メーターのシリアル番号です。
例えば、デバイスのシリアル番号がDA2BED94、トピックは次のとおりです。
デバイス/DA2BED94/リアルタイム
このトピックをサブスクライブすると、継続的にリアルタイムの測定データを受信できます。
4. データ形式
4.1 単相メータデータフォーマット
単相 IAMMETER メーターは、次のように JSON 形式でリアルタイム データを公開します。
{
"method": "1-272",
"mac": "B0F8932A295C",
"version": "i.91.062T6",
"server": "em",
"SN": "DA2BED94",
"Data": [227.02, 1.81, 296.0, 21699.98, 0.00, 50.01, 0.72]
}
| 索引 | 分野 | 説明 | 単位 |
|---|---|---|---|
| 1 | 電圧 | 現在の線間電圧 | V |
| 2 | 現在 | 現在のライン電流 | A |
| 3 | 力 | 有効電力 | W |
| 4 | 前進エネルギー | 輸入エネルギー(消費) | kWh |
| 5 | 逆エネルギー | 輸出エネルギー(固定価格買い取り、太陽光) | kWh |
| 6 | 頻度 | グリッド周波数 | Hz |
| 7 | 力率 | 現在の力率 | PF |
🟢 ノート:
- 正の力 → エネルギー消費
- 負の電力 → エネルギー輸出(例:太陽光発電の固定価格買い取り)
4.2 三相メータデータフォーマット(WEM3080T / WEM3046T / WEM3050T)
3 相 IAMMETER メーターは、各相に対応する 3 つの配列を持つ同様の JSON 形式でデータを公開します。
{
"method": "4-9",
"mac": "849DC2CEC625",
"version": "i.91.062T6",
"server": "em",
"SN": "CB0A0CFB",
"EA": {
"Reactive": [
[-111.0, 0.000, 176.750],
[-113.0, 0.000, 179.110],
[-114.0, 36.120, 144.410]
]
},
"Datas": [
[225.9, 1.260, 194.0, 305.110, 0.000, 49.99, 0.87],
[225.8, 1.260, 193.0, 302.690, 0.000, 49.99, 0.86],
[225.9, 1.260, 192.0, 300.890, 0.000, 49.99, 0.86]
]
}
データを含むリストです3つの配列それぞれに対応するフェーズA、B、C.
各内部アレイは単相アレイと同じ構造である。データ配列。
| 索引 | 分野 | 説明 | 単位 |
|---|---|---|---|
| 1 | 電圧 | 相電圧 | V |
| 2 | 現在 | 相電流 | A |
| 3 | 力 | 有効電力 | W |
| 4 | 前進エネルギー | 輸入エネルギー | kWh |
| 5 | 逆エネルギー | 輸出エネルギー | kWh |
| 6 | 頻度 | グリッド周波数 | Hz |
| 7 | 力率 | 相力率 | PF |
実際の電力データに加えて、無効電力測定有効になっている場合は、EAセクションは次のとおりです。
「EA」: {
「リアクティブ」: [
[-111.0, 0.000, 176.750],
[-113.0, 0.000, 179.110],
[-114.0, 36.120, 144.410]
]
}
このセクションでは反応測定データ、これは、リアクティブテスト関数有効になっています (下のスクリーンショットを参照)。

各配列は3つのフェーズ(A、B、C)を表し、無効電力(Q、kVar)と無効エネルギー(kVARh).
Q(kVar):無効電力 - 正 = 誘導性、負 = 容量性kVARh:無効電力 - 各相には2つのkVARh値が含まれます。1つは誘導負荷そして1つは容量性負荷.
5. Pythonの例: リアルタイムデータの購読
以下は、パホ-mqtt図書館。
import paho.mqtt.client as mqtt
import json
# MQTTブローカーの設定
MQTT_BROKER = "mqtt.iammeter.com"
MQTT_PORT = 1883
MQTT_USER = "mqtt_username" # IAMMETER Cloud → MQTT設定で設定
MQTT_PASS = "mqtt_password"
TOPIC = "device/DA2BED94/realtime" # ご自身のデバイスSNに置き換えてください
# ブローカー接続時のコールバック
def on_connect(client, userdata, flags, rc):
if rc == 0:
print("✅ IAMMETER MQTTブローカーへの接続に成功しました")
client.subscribe(TOPIC)
print(f"📡 トピックをサブスクライブしました: {TOPIC}")
else:
print(f"❌ コード {rc}"で接続に失敗しました)
# メッセージ受信時のコールバック
def on_message(client, userdata, msg):
payload = json.loads(msg.payload.decode())
print("📊 リアルタイムデータを受信しました:")
print(json.dumps(payload, indent=2, ensure_ascii=False))
# MQTTクライアントを初期化
client = mqtt.Client()
client.username_pw_set(MQTT_USER, MQTT_PASS)
client.on_connect = on_connect
client.on_message = on_message
# ブローカーに接続し、ループを開始します
client.connect(MQTT_BROKER, MQTT_PORT, 60)
client.loop_forever()
6. Node.jsの例
この興味深いオープンソースプロジェクトを試してみることをお勧めします。 ノード.jsIAMMETER MQTTブローカーからのリアルタイムデータを購読し、それを視覚化するウェブUIクールなリアルタイムダッシュボードを作成します。
🔗 https://github.com/lewei50/iammeterJS
7. 実用的なユースケース
- スマートホームオートメーションリアルタイム電力データを統合ホームアシスタントまたNode-RED自動化アクションをトリガーします(例:太陽光発電量が多いときにヒーターを起動する)。
- ローカルデータの可視化受信したMQTTデータを保存インフルックスDBそしてそれを視覚化するGrafanaダッシュボード.
- プライベートクラウドまたはエッジコンピューティングIAMMETER Cloud に依存せずに、カスタム分析や制御ロジックのために MQTT 経由でリアルタイムの電力データを直接取得します。
8. トラブルシューティング
| 問題 | 考えられる原因 / 解決策 |
|---|---|
| ブローカーに接続できません | IAMMETER Cloud で MQTT ユーザー名/パスワードが正しく設定されているかどうかを確認します。 |
| データが受信されませんでした | トピックの形式を確認してください(デバイス/{SN}/リアルタイム) にアクセスし、メーターがオンラインになっていることを確認します。 |
| データ遅延 | ネットワークの安定性または Wi-Fi 信号強度を確認してください。 |
| 複数のメーター | 複数のトピックを同時にサブスクライブできます (SN ごとに 1 つ)。 |
9. 結論
使用IAMMETER MQTTブローカー簡単にアクセスできますリアルタイムのエネルギーデータストリームIAMMETERデバイスから。 これは、強力かつ柔軟な構築方法です。ローカルダッシュボード、スマートオートメーション、またはAIベースのエネルギー最適化システム.
📘 参考文献
作ってみませんか?Markdown形式のブログ投稿バージョン(構文の強調表示と埋め込み画像リンクをそのままにして、IAMMETER 公式ブログに公開する準備はできましたか?)
