Prenumeration på energidata i realtid via MQTT Broker (2025 års utgåva)
1. Introduktion
IAMMETER-molnär en professionell plattform för energiövervakning och solcellshantering. Utöver sina kraftfulla visualiserings- och rapporteringsfunktioner erbjuder IAMMETER-Cloud även flexibla datagränssnitt. Detta gör det möjligt för användare med anpassade krav att använda IAMMETER-Cloud som endata mellanprogramvara, hämtar data programmatiskt via kod.
Det finns två huvudsakliga sätt att hämta data från IAMMETER-Cloud med hjälp av kod:
- Prenumerera på data viaIAMMETERs MQTT-mäklare(fokus för den här artikeln)
- Ring IAMMETER-Clouds officiellaAPI:er
Den här guiden förklarar hur man prenumererar på IAMMETER MQTT-ämnen, tolkar datastrukturer (för både enfas- och trefasmätare) och implementerar fungerande Python- och Node.js-exempel.
2. Översikt över IAMMETER MQTT-mäklaren
Notera:IAMMETER MQTT Broker designades ursprungligen som enutvecklings- och testtjänstför enkelhets skull och ingår inte i standarderbjudandet för IAMMETER-Cloud (även om det har varit stabilt och körts i över 5 år). För produktion eller storskaliga distributioner rekommenderar vi att du konfigurerar dinegen MQTT-mäklare.
IAMMETER MQTT Broker-konfiguration
| parameter | Beskrivning |
|---|---|
| Mäklaradress | mqtt.iammeter.com |
| Hamn | 1883(icke-SSL) |
| Användarnamn / Lösenord | Måste skapas iIAMMETER Cloud → Inställningar → MQTT-inställningar![]() |
| Ämnesformat | enhet/{SN}/realtid |
| Nyttolastformat | JSON |
⚠️ Viktig:DointeAnvänd dina IAMMETER Cloud-inloggningsuppgifter här. Du måsteskapa ett dedikerat MQTT-användarnamn och lösenordi IAMMETER Cloud-instrumentpanelen.
Konfigurera IAMMETER-mätaren för att använda MQTT-läge
Ställ in din IAMMETER-mätare påMQTT-uppladdningsläge(seguide för konfiguration av firmware) och ange parametrarna för IAMMETER MQTT Broker.

3. MQTT-ämnesformat
Varje IAMMETER-enhet publicerar sina realtidsdata under följande ämne:
enhet/{SN}/realtid
Där{SN}är serienumret på din mätare. Om till exempel ditt enhetsnummer ärDA2BED94, ämnet kommer att vara:
enhet/DA2BED94/realtid
Du kan prenumerera på det här ämnet för att få kontinuerliga mätdata i realtid.
4. Dataformat
4.1 Dataformat för enfasmätare
En enfas IAMMETER-mätare publicerar realtidsdata i JSON-format enligt följande:
{
"Metod": "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 | Fält | Beskrivning | Enhet |
|---|---|---|---|
| 1 | Spänning | Nuvarande nätspänning | V |
| 2 | Nuvarande | Nuvarande linjeström | A |
| 3 | Kraft | Aktiv effekt | W |
| 4 | Framåtriktad energi | Importerad energi (förbrukad) | kWh |
| 5 | Omvänd energi | Exporterad energi (inmatning, solenergi) | kWh |
| 6 | Frekvens | Nätfrekvens | Hz |
| 7 | effektfaktor | Nuvarande effektfaktor | PF |
🟢 Anmärkningar:
- Positiv effekt → energiförbrukning
- Negativ effekt → energiexport (t.ex. solenergiinmatning)
4.2 Trefasmätarens dataformat (WEM3080T / WEM3046T / WEM3050T)
Trefasiga IAMMETER-mätare publicerar data i ett liknande JSON-format, med tre matriser som motsvarar varje fas.
{
"Metod": "4-9",
"Mac": "849DC2CEC625",
"Version": "i.91.062T6",
"Server": "em",
"SN": "CB0A0CFB",
"EA": {
"Reaktiv": [
[-111.0, 0.000, 176.750],
[-113.0, 0.000, 179.110],
[-114.0, 36.120, 144.410]
]
},
"Data": [
[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]
]
}
Dataär en lista som innehållertre matriser, var och en motsvarandefas A, B och C. Varje inre matris har samma struktur som enfasmatrisenDatamatris.
| index | Fält | Beskrivning | Enhet |
|---|---|---|---|
| 1 | Spänning | fasspänning | V |
| 2 | Nuvarande | fasström | A |
| 3 | Kraft | Aktiv effekt | W |
| 4 | Framåtriktad energi | Importerad energi | kWh |
| 5 | Omvänd energi | Exporterad energi | kWh |
| 6 | Frekvens | Nätfrekvens | Hz |
| 7 | effektfaktor | Faseffektfaktor | PF |
Utöver de verkliga effektdata, närReaktiv effektmätningär aktiverad, kommer du också att seEAavsnitt enligt följande:
"EA": {
"Reaktiv": [
[-111,0, 0,000, 176,750],
[-113,0, 0,000, 179,110],
[-114,0, 36,120, 144,410]
]
}
Det här avsnittet visarreaktiva mätdata, vilket endast visas närreaktiv testfunktionär aktiverat (se skärmdump nedan).

Varje matris representerar de tre faserna (A, B, C), vilket visarreaktiv effekt (Q i kVar)ochReaktiv energi (kVARh).
Q (kVar):Reaktiv effekt — positiv = induktiv, negativ = kapacitivkVARh:Reaktiv energi — varje fas innehåller två kVARh-värden: ett förinduktiv belastningoch en förkapacitiv belastning.
5. Python-exempel: Prenumerera på realtidsdata
Nedan följer ett fungerande Python-skript som använderpaho-mqttbibliotek.
importera paho.mqtt.client som mqtt
importera json
# MQTT Broker-konfiguration
MQTT_BROKER = "mqtt.iammeter.com"
MQTT_PORT = 1883
MQTT_USER = "ditt_mqtt_användarnamn" # Ställ in i IAMMETER Cloud → MQTT-inställningar
MQTT_PASS = "ditt_mqtt_lösenord"
ÄMNE = "enhet/DA2BED94/realtid" # Ersätt med din egen enhets-SN
# Återuppringning vid anslutning till brokern
def on_connect(client, userdata, flags, rc):
if rc == 0:
print("✅ Ansluten till IAMMETER MQTT Broker framgångsrikt")
client.subscribe(TOPIC)
print(f"📡 Prenumererar på ämne: {TOPIC}")
else:
print(f"❌ Anslutning misslyckades med kod {rc}")
# Återuppringning när ett meddelande tas emot
def on_message(client, userdata, msg):
payload = json.loads(msg.payload.decode())
print("📊 Mottagen realtidsdata:")
print(json.dumps(payload, indent=2, ensure_ascii=False))
# Initiera MQTT-klienten
client = mqtt.Client()
client.username_pw_set(MQTT_USER, MQTT_PASS)
client.on_connect = on_connect
client.on_message = on_message
# Anslut till brokern och starta loopen
client.connect(MQTT_BROKER, MQTT_PORT, 60)
client.loop_forever()
6. Node.js-exempel
Vi rekommenderar att du provar detta intressanta projekt med öppen källkod: Det använderNode.jsatt prenumerera på realtidsdata från IAMMETER MQTT-mäklaren och visualisera den i enwebbgränssnitt, skapar en cool instrumentpanel i realtid.
🔗 https://github.com/lewei50/iammeterJS
7. Praktiska användningsfall
- Smart hemautomationIntegrera realtidsdata för strömförsörjning iHemassistentellerNod-REDför att utlösa automatiseringsåtgärder (t.ex. starta en värmare när solenergiproduktionen är hög).
- Lokal datavisualiseringLagra inkommande MQTT-data iInfluxDBoch visualisera det medGrafana-instrumentpaneler.
- Privat moln eller Edge ComputingHämta realtidsdata för strömförsörjning direkt via MQTT för anpassad analys eller styrlogik utan att förlita dig på IAMMETER Cloud.
8. Felsökning
| Utfärda | Möjlig orsak / lösning |
|---|---|
| Kan inte ansluta till mäklaren | Kontrollera om ditt MQTT-användarnamn/lösenord är korrekt inställt i IAMMETER Cloud. |
| Ingen data mottagen | Verifiera ditt ämnesformat (enhet/{SN}/realtid) och se till att mätaren är online. |
| Datafördröjning | Kontrollera nätverkets stabilitet eller Wi-Fi-signalstyrkan. |
| Flera meter | Du kan prenumerera på flera ämnen samtidigt (ett per SN). |
9. Slutsats
AnvänderIAMMETER MQTT-mäklare, kan du enkelt komma åtrealtidsströmmar av energidatafrån dina IAMMETER-enheter. Det är en kraftfull och flexibel metod för att byggalokala dashboards, smarta automatiseringar eller AI-baserade energioptimeringssystem.
📘 Referenser
- IAMMETER-firmware och kommunikationsfunktioner
- IAMMETER Cloud och MQTT API-dokumentation
- Utveckla din egen energiövervakningsdashboard med NodeJS
Vill du att jag ska göra enMarkdown-formaterad blogginläggsversion(redo att publiceras på IAMMETERs officiella blogg, med syntaxmarkering och inbyggda bildlänkar intakta)?
