Odběr energetických dat v reálném čase prostřednictvím MQTT brokera (vydání 2025)
1. Úvod
IAMMETER-Cloud je profesionální platforma pro monitorování energie a správu fotovoltaických systémů. Kromě výkonných funkcí vizualizace a vytváření přehledů nabízí IAMMETER-Cloud také flexibilní datová rozhraní. To umožňuje uživatelům s individuálními požadavky používat IAMMETER-Cloud jako datové middleware a získávat data programově pomocí kódu.
Existují dva hlavní způsoby, jak získávat data z IAMMETER-Cloud pomocí kódu:
- Odběr dat prostřednictvím MQTT brokera IAMMETER (hlavní téma tohoto článku)
- Volání oficiálních API IAMMETER-Cloud
Tento průvodce vysvětluje, jak se přihlásit k odběru témat MQTT IAMMETER, interpretovat datové struktury (pro jednofázové i třífázové elektroměry) a implementovat funkční příklady v Pythonu a Node.js.
2. Přehled MQTT brokera IAMMETER
Poznámka: Broker MQTT IAMMETER byl původně navržen jako vývojová a testovací služba pro pohodlí a není součástí standardní nabídky IAMMETER-Cloud (i když funguje stabilně již více než 5 let). Pro produkční nasazení nebo nasazení ve velkém měřítku doporučujeme zprovoznit vlastní MQTT broker.
Konfigurace MQTT brokera IAMMETER
| Parametr | Popis |
|---|---|
| Adresa brokera | mqtt.iammeter.com |
| Port | 1883 (bez SSL) |
| Uživatelské jméno / Heslo | Musí být vytvořeno v IAMMETER Cloud → Nastavení → Nastavení MQTT![]() |
| Formát tématu | device/{SN}/realtime |
| Formát dat | JSON |
⚠️ Důležité: Nepoužívejte zde své přihlašovací údaje k IAMMETER Cloud. V panelu IAMMETER Cloud musíte vytvořit vyhrazené uživatelské jméno a heslo MQTT.
Konfigurace elektroměru IAMMETER pro režim MQTT
Nastavte svůj elektroměr IAMMETER do režimu odesílání MQTT (viz průvodce konfigurací firmwaru) a zadejte parametry MQTT brokera IAMMETER.

3. Formát tématu MQTT
Každé zařízení IAMMETER publikuje svá data v reálném čase pod následujícím tématem:
device/{SN}/realtime
Kde {SN} je sériové číslo vašeho elektroměru.
Pokud je například SN vašeho zařízení DA2BED94, téma bude:
device/DA2BED94/realtime
K tomuto tématu se můžete přihlásit k odběru a přijímat průběžná měřicí data v reálném čase.
4. Formát dat
4.1 Formát dat jednofázového elektroměru
Jednofázový elektroměr IAMMETER publikuje data v reálném čase ve formátu JSON takto:
{
"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]
}
| Index | Pole | Popis | Jednotka |
|---|---|---|---|
| 1 | Voltage | Aktuální síťové napětí | V |
| 2 | Current | Aktuální síťový proud | A |
| 3 | Power | Činný výkon | W |
| 4 | Forward Energy | Odebraná energie (spotřeba) | kWh |
| 5 | Reverse Energy | Dodaná energie (přetok, solární) | kWh |
| 6 | Frequency | Frekvence sítě | Hz |
| 7 | Power Factor | Aktuální účiník | PF |
🟢 Poznámky:
- Kladný výkon → spotřeba energie
- Záporný výkon → vývoz energie (např. solární přetok)
4.2 Formát dat třífázového elektroměru (WEM3080T / WEM3046T / WEM3050T)
Třífázové elektroměry IAMMETER publikují data v podobném formátu JSON se třemi poli, která odpovídají jednotlivým fázím.
{
"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]
]
}
Pole Datas je seznam obsahující tři pole, přičemž každé odpovídá fázi A, B a C.
Každé vnitřní pole má stejnou strukturu jako jednofázové pole Data.
| Index | Pole | Popis | Jednotka |
|---|---|---|---|
| 1 | Voltage | Fázové napětí | V |
| 2 | Current | Fázový proud | A |
| 3 | Power | Činný výkon | W |
| 4 | Forward Energy | Odebraná energie | kWh |
| 5 | Reverse Energy | Dodaná energie | kWh |
| 6 | Frequency | Frekvence sítě | Hz |
| 7 | Power Factor | Účiník fáze | PF |
Kromě dat činného výkonu se po zapnutí měření jalového výkonu zobrazí také sekce EA v následující podobě:
"EA": {
"Reactive": [
[-111.0, 0.000, 176.750],
[-113.0, 0.000, 179.110],
[-114.0, 36.120, 144.410]
]
}
Tato sekce zobrazuje data jalového měření, která se objevují pouze při zapnuté funkci testu jalového výkonu (viz snímek obrazovky níže).

Každé pole představuje jednu ze tří fází (A, B, C) a zobrazuje jalový výkon (Q v kVar) a jalovou energii (kVARh).
Q (kVar): Jalový výkon — kladná hodnota = induktivní, záporná hodnota = kapacitní kVARh: Jalová energie — každá fáze obsahuje dvě hodnoty kVARh: jednu pro induktivní zátěž a jednu pro kapacitní zátěž.
5. Příklad v Pythonu: Odběr dat v reálném čase
Níže je funkční skript v Pythonu využívající knihovnu paho-mqtt.
import paho.mqtt.client as mqtt
import json
# Konfigurace MQTT brokera
MQTT_BROKER = "mqtt.iammeter.com"
MQTT_PORT = 1883
MQTT_USER = "your_mqtt_username" # Nastavte v IAMMETER Cloud → Nastavení MQTT
MQTT_PASS = "your_mqtt_password"
TOPIC = "device/DA2BED94/realtime" # Nahraďte vlastním SN zařízení
# Zpětné volání po připojení k brokeru
def on_connect(client, userdata, flags, rc):
if rc == 0:
print("✅ Úspěšně připojeno k MQTT brokeru IAMMETER")
client.subscribe(TOPIC)
print(f"📡 Přihlášeno k odběru tématu: {TOPIC}")
else:
print(f"❌ Připojení selhalo s kódem {rc}")
# Zpětné volání po přijetí zprávy
def on_message(client, userdata, msg):
payload = json.loads(msg.payload.decode())
print("📊 Přijata data v reálném čase:")
print(json.dumps(payload, indent=2, ensure_ascii=False))
# Inicializace klienta MQTT
client = mqtt.Client()
client.username_pw_set(MQTT_USER, MQTT_PASS)
client.on_connect = on_connect
client.on_message = on_message
# Připojení k brokeru a spuštění smyčky
client.connect(MQTT_BROKER, MQTT_PORT, 60)
client.loop_forever()
6. Příklad v Node.js
Doporučujeme vyzkoušet tento zajímavý open-source projekt: Využívá Node.js k odběru dat v reálném čase z MQTT brokera IAMMETER a k jejich vizualizaci v webovém rozhraní, čímž vytváří skvělý dashboard v reálném čase.
🔗 https://github.com/lewei50/iammeterJS
7. Praktické případy použití
- Automatizace chytré domácnosti (Smart Home) Integrujte data o výkonu v reálném čase do Home Assistant nebo Node-RED a spouštějte akce automatizace (např. zapnutí topení při vysoké solární výrobě).
- Lokální vizualizace dat Ukládejte příchozí data MQTT do InfluxDB a vizualizujte je pomocí dashboardů Grafana.
- Soukromý cloud nebo edge computing Získávejte data o výkonu v reálném čase přímo přes MQTT pro vlastní analýzy nebo řídicí logiku, aniž byste se spoléhali na IAMMETER Cloud.
8. Řešení problémů
| Problém | Možná příčina / Řešení |
|---|---|
| Nelze se připojit k brokeru | Zkontrolujte, zda jsou uživatelské jméno a heslo MQTT správně nastaveny v IAMMETER Cloud. |
| Žádná přijatá data | Ověřte formát tématu (device/{SN}/realtime) a ujistěte se, že je elektroměr online. |
| Zpoždění dat | Zkontrolujte stabilitu sítě nebo sílu signálu Wi-Fi. |
| Více elektroměrů | Můžete odebírat více témat současně (jedno pro každé SN). |
9. Závěr
Pomocí MQTT brokera IAMMETER můžete snadno získat přístup k datovým tokům energie v reálném čase ze svých zařízení IAMMETER. Jedná se o výkonnou a flexibilní metodu pro vytváření lokálních dashboardů, chytrých automatizací nebo systémů optimalizace energie založených na AI.
📘 Odkazy
- Funkce firmwaru a komunikace IAMMETER
- Dokumentace API IAMMETER Cloud a MQTT
- Vytvořte si vlastní dashboard pro monitorování energie pomocí Node.js
Chcete, abych vytvořil verzi příspěvku ve formátu Markdown (připravenou k publikaci na oficiálním blogu IAMMETER, se zvýrazněním syntaxe a neporušenými odkazy na vložené obrázky)?
