Abonnement op realtime energiegegevens via MQTT Broker (editie 2025)
1. Inleiding
IAMMETER-wolkis een professioneel platform voor energiemonitoring en fotovoltaïsch beheer. Naast de krachtige visualisatie- en rapportagefuncties biedt IAMMETER-Cloud ook flexibele data-interfaces. Hierdoor kunnen gebruikers met specifieke vereisten IAMMETER-Cloud gebruiken als eengegevensmiddleware, het programmatisch ophalen van gegevens via code.
Er zijn twee hoofdmanieren om gegevens uit IAMMETER-Cloud te verkrijgen met behulp van code:
- Abonneer u op gegevens viaIAMMETER's MQTT Broker(de focus van dit artikel)
- Bel de officiële IAMMETER-Cloud-serviceAPI's
In deze handleiding wordt uitgelegd hoe u zich kunt abonneren op IAMMETER MQTT-onderwerpen, hoe u gegevensstructuren (voor zowel eenfase- als driefasemeters) kunt interpreteren en hoe u werkende Python- en Node.js-voorbeelden kunt implementeren.
2. IAMMETER MQTT Broker Overzicht
Opmerking:De IAMMETER MQTT Broker is oorspronkelijk ontworpen als eenontwikkelings- en testservicevoor het gemak en maakt geen deel uit van het standaard IAMMETER-Cloud-aanbod (hoewel het al meer dan 5 jaar stabiel en actief is). Voor productie of grootschalige implementaties raden we aan om uweigen MQTT-makelaar.
IAMMETER MQTT Broker-configuratie
| parameter | Beschrijving |
|---|---|
| Adres van de makelaar | mqtt.iammeter.com |
| Haven | 1883(niet-SSL) |
| Gebruikersnaam / Wachtwoord | Moet worden aangemaakt inIAMMETER Cloud → Instellingen → MQTT-instellingen![]() |
| Onderwerpformaat | apparaat/{SN}/realtime |
| Payload-formaat | JSON |
⚠️ Belangrijk:DoennietGebruik hier uw IAMMETER Cloud-inloggegevens. U moetmaak een speciale MQTT-gebruikersnaam en wachtwoord aanin het IAMMETER Cloud-dashboard.
Configureer de IAMMETER-meter om de MQTT-modus te gebruiken
Stel uw IAMMETER-meter in opMQTT-uploadmodus(zienfirmwareconfiguratiehandleiding) en voer de IAMMETER MQTT Broker-parameters in.

3. MQTT-onderwerpformaat
Elk IAMMETER-apparaat publiceert zijn realtimegegevens onder het volgende onderwerp:
apparaat/{SN}/realtime
Waar{SN}is het serienummer van uw meter.
Als het serienummer van uw apparaat bijvoorbeeldDA2BED94, het onderwerp zal zijn:
apparaat/DA2BED94/realtime
U kunt zich op dit onderwerp abonneren om continu realtime meetgegevens te ontvangen.
4. Gegevensformaat
4.1 Gegevensformaat van eenfasemeter
Een eenfase IAMMETER-meter publiceert realtimegegevens in JSON-formaat als volgt:
{
"methode": "1-272",
"mac": "B0F8932A295C",
"versie": "i.91.062T6",
"server": "em",
"SN": "DA2BED94",
"Gegevens": [227,02, 1,81, 296,0, 21699,98, 0,00, 50,01, 0,72]
}
| inhoudsopgave | Veld | Beschrijving | Eenheid |
|---|---|---|---|
| 1 | Spanning | Huidige netspanning | V |
| 2 | Huidig | Huidige lijnstroom | EEN |
| 3 | Stroom | Actief vermogen | W |
| 4 | Voorwaartse energie | Geïmporteerde energie (verbruikt) | kWh |
| 5 | Omgekeerde energie | Geëxporteerde energie (feed-in, zonne-energie) | kWh |
| 6 | Frequentie | Netfrequentie | Hz |
| 7 | krachtfactor | Huidige vermogensfactor | PF |
🟢 Opmerkingen:
- Positief vermogen → energieverbruik
- Negatieve energie → energie-export (bijv. teruglevering van zonne-energie)
4.2 Driefasenmetergegevensformaat (WEM3080T / WEM3046T / WEM3050T)
Driefasige IAMMETER-meters publiceren gegevens in een vergelijkbaar JSON-formaat, met drie arrays die overeenkomen met elke fase.
{
"methode": "4-9",
"mac": "849DC2CEC625",
"versie": "i.91.062T6",
"server": "em",
"SN": "CB0A0CFB",
"EA": {
"Reactief": [
[-111,0, 0,000, 176,750],
[-113,0, 0,000, 179,110],
[-114,0, 36,120, 144,410]
]
},
"Gegevens": [
[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]
]
}
Gegevensis een lijst metdrie arrays, elk corresponderend metfase A, B en C.
Elke binnenste array heeft dezelfde structuur als de eenfaseGegevensreeks.
| inhoudsopgave | Veld | Beschrijving | Eenheid |
|---|---|---|---|
| 1 | Spanning | fase spanning | V |
| 2 | Huidig | fasestroom | EEN |
| 3 | Stroom | Actief vermogen | W |
| 4 | Voorwaartse energie | Geïmporteerde energie | kWh |
| 5 | Omgekeerde energie | Geëxporteerde energie | kWh |
| 6 | Frequentie | Netfrequentie | Hz |
| 7 | krachtfactor | Fasevermogensfactor | PF |
Naast de werkelijke vermogensgegevens, wanneerReactief vermogen metenis ingeschakeld, ziet u ook deEEsectie als volgt:
"EA": {
"Reactief": [
[-111,0, 0,000, 176,750],
[-113,0, 0,000, 179,110],
[-114,0, 36,120, 144,410]
]
}
In dit gedeelte wordt getoondreactieve meetgegevens, die alleen verschijnt als dereactieve testfunctieis ingeschakeld (zie onderstaande schermafbeelding).

Elke matrix vertegenwoordigt de drie fasen (A, B, C) en toont:reactief vermogen (Q in kVar)enReactieve energie (kVARh).
Q (kVar):Reactief vermogen — positief = inductief, negatief = capacitiefkVARh:Reactieve energie — elke fase omvat twee kVARh-waarden: één voorinductieve belastingen één voorcapacitieve belasting.
5. Python-voorbeeld: abonneren op realtimegegevens
Hieronder staat een werkend Python-script met behulp van depaho-mqttbibliotheek.
importeer paho.mqtt.client als mqtt
importeer json
# MQTT Broker-configuratie
MQTT_BROKER = "mqtt.iammeter.com"
MQTT_PORT = 1883
MQTT_USER = "uw_mqtt_gebruikersnaam" # Instellen in IAMMETER Cloud → MQTT-instellingen
MQTT_PASS = "uw_mqtt_wachtwoord"
ONDERWERP = "apparaat/DA2BED94/realtime" # Vervang door uw eigen apparaat-SN
# Callback bij verbinding met de broker
def on_connect(client, userdata, flags, rc):
if rc == 0:
print("✅ Succesvol verbonden met IAMMETER MQTT Broker")
client.subscribe(ONDERWERP)
print(f"📡 Geabonneerd op onderwerp: {ONDERWERP}")
else:
print(f"❌ Verbinding mislukt met code {rc}")
# Callback bij ontvangst van een bericht
def on_message(client, userdata, msg):
payload = json.loads(msg.payload.decode())
print("📊 Realtime gegevens ontvangen:")
print(json.dumps(payload, indent=2, ensure_ascii=False))
# Initialiseer MQTT-client
client = mqtt.Client()
client.username_pw_set(MQTT_USER, MQTT_PASS)
client.on_connect = on_connect
client.on_message = on_message
# Maak verbinding met de broker en start de lus
client.connect(MQTT_BROKER, MQTT_PORT, 60)
client.loop_forever()
6. Node.js-voorbeeld
We raden aan om dit interessante open-sourceproject te proberen: Het gebruiktNode.jsom u te abonneren op realtime gegevens van de IAMMETER MQTT-broker en deze te visualiseren in eenweb-UI, waardoor een gaaf real-time dashboard ontstaat.
🔗 https://github.com/lewei50/iammeterJS
7. Praktische use cases
- Slimme huisautomatiseringIntegreer realtime-vermogensgegevens inThuisassistentofKnooppunt-REDom automatiseringsacties te activeren (bijvoorbeeld een verwarming starten wanneer de zonne-energieproductie hoog is).
- Lokale datavisualisatieSla binnenkomende MQTT-gegevens op inInfluxDBen visualiseer het metGrafana-dashboards.
- Privécloud of edge computingHaal realtime-vermogensgegevens rechtstreeks op via MQTT voor aangepaste analyses of besturingslogica zonder dat u afhankelijk bent van IAMMETER Cloud.
8. Problemen oplossen
| Probleem | Mogelijke oorzaak / oplossing |
|---|---|
| Kan geen verbinding maken met makelaar | Controleer of uw MQTT-gebruikersnaam en -wachtwoord correct zijn ingesteld in IAMMETER Cloud. |
| Geen gegevens ontvangen | Controleer het formaat van uw onderwerp (apparaat/{SN}/realtime) en zorg ervoor dat de meter online is. |
| Gegevensvertraging | Controleer de stabiliteit van uw netwerk of de sterkte van uw Wi-Fi-signaal. |
| Meerdere meters | U kunt zich op meerdere onderwerpen tegelijk abonneren (één per SN). |
9. Conclusie
Gebruik makend vanIAMMETER MQTT Broker, kunt u eenvoudig toegang krijgenrealtime energiedatastromenvan uw IAMMETER-apparaten. Het is een krachtige en flexibele methode omlokale dashboards, slimme automatiseringen of op AI gebaseerde energie-optimalisatiesystemen.
📘 Referenties
- IAMMETER Firmware & Communicatiefuncties
- IAMMETER Cloud en MQTT API-documentatie
- Ontwikkel uw eigen energiemonitoringdashboard met NodeJS
Wil je dat ik eenMarkdown-geformatteerde blogberichtversie(klaar om te publiceren op de officiële IAMMETER-blog, met syntaxisaccentuering en ingesloten afbeeldingslinks intact)?
