Tyvärr, din webbläsare stöder inte JavaScript!

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ällningarSkärmdump av 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.

Ställ in mätaren på MQTT-uppladdningsläge och konfigurera IAMMETER MQTT Broker-parametrar


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).

Aktivera reaktiv mätning i mätaren

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

  1. 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).
  2. Lokal datavisualiseringLagra inkommande MQTT-data iInfluxDBoch visualisera det medGrafana-instrumentpaneler.
  3. 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


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)?

Topp