Beklager, din browser understøtter ikke JavaScript!
Log ind

Abonnement på realtids-energidata via MQTT Broker (2025-udgave)

1. Introduktion

IAMMETER-Cloud er en professionel platform til energiovervågning og administration af solcelleanlæg. Ud over sine kraftfulde visualiserings- og rapporteringsfunktioner tilbyder IAMMETER-Cloud også fleksible datagrænseflader. Dette giver brugere med skræddersyede behov mulighed for at bruge IAMMETER-Cloud som datamellemvare og hente data programmatisk via kode.

Der er to hovedmåder at hente data fra IAMMETER-Cloud via kode:

  • Abonner på data via IAMMETERs MQTT Broker (fokus i denne artikel)
  • Kald IAMMETER-Clouds officielle API'er

Denne guide forklarer, hvordan du abonnerer på IAMMETERs MQTT-emner, fortolker datastrukturer (for både enfasede og trefasede målere) og implementerer fungerende Python- og Node.js-eksempler.


2. Oversigt over IAMMETER MQTT Broker

Bemærk: IAMMETER MQTT Broker blev oprindeligt designet som en udviklings- og testtjeneste for bekvemmelighedens skyld og er ikke en del af det standardmæssige IAMMETER-Cloud-tilbud (selvom den har kørt stabilt i over 5 år). Til produktions- eller storskalainstallationer anbefaler vi, at du opretter din egen MQTT-broker.

Konfiguration af IAMMETER MQTT Broker

Parameter Beskrivelse
Brokeradresse mqtt.iammeter.com
Port 1883 (uden SSL)
Brugernavn / Adgangskode Skal oprettes i IAMMETER Cloud → Indstillinger → MQTT-indstillingerSkærmbillede af MQTT-indstillinger
Emneformat device/{SN}/realtime
Payload-format JSON

⚠️ Vigtigt: Brug ikke dine IAMMETER Cloud-loginoplysninger her. Du skal oprette et dedikeret MQTT-brugernavn og -adgangskode i IAMMETER Cloud-dashboardet.

Konfigurer IAMMETER-måleren til at bruge MQTT-tilstand

Indstil din IAMMETER-måler til MQTT-upload-tilstand (se vejledning til firmwarekonfiguration) og indtast parametrene for IAMMETER MQTT Broker.

Indstil måleren til MQTT-upload-tilstand og konfigurér parametrene for IAMMETER MQTT Broker


3. MQTT-emneformat

Hver IAMMETER-enhed offentliggør sine realtidsdata under følgende emne:

device/{SN}/realtime

Hvor {SN} er serienummeret på din måler. Hvis din enheds SN f.eks. er DA2BED94, bliver emnet:

device/DA2BED94/realtime

Du kan abonnere på dette emne for at modtage løbende realtidsmåledata.


4. Dataformat

4.1 Dataformat for enfasede målere

En enfaset IAMMETER-måler offentliggør realtidsdata i JSON-format som følger:

{
  "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]
}
Indeks Felt Beskrivelse Enhed
1 Voltage Aktuel netspænding V
2 Current Aktuel netstrøm A
3 Power Aktiv effekt W
4 Forward Energy Importeret energi (forbrug) kWh
5 Reverse Energy Eksporteret energi (indfødning, sol) kWh
6 Frequency Netfrekvens Hz
7 Power Factor Aktuel effektfaktor PF

🟢 Bemærkninger:

  • Positiv effekt → energiforbrug
  • Negativ effekt → energieksport (f.eks. solindfødning)

4.2 Dataformat for trefasede målere (WEM3080T / WEM3046T / WEM3050T)

Trefasede IAMMETER-målere offentliggør data i et lignende JSON-format med tre arrays, der hver svarer til en fase.

{
  "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]
  ]
}

Datas er en liste, der indeholder tre arrays, som hver svarer til fase A, B og C. Hvert indre array har samme struktur som det enfasede Data-array.

Indeks Felt Beskrivelse Enhed
1 Voltage Fasespænding V
2 Current Fasestrøm A
3 Power Aktiv effekt W
4 Forward Energy Importeret energi kWh
5 Reverse Energy Eksporteret energi kWh
6 Frequency Netfrekvens Hz
7 Power Factor Fasens effektfaktor PF

Ud over de aktive effektdata vil du, når måling af reaktiv effekt er aktiveret, også se EA-afsnittet som følger:

"EA": {
  "Reactive": [
    [-111.0, 0.000, 176.750],
    [-113.0, 0.000, 179.110],
    [-114.0, 36.120, 144.410]
  ]
}

Dette afsnit viser måledata for reaktiv effekt, som kun vises, når den reaktive testfunktion er aktiveret (se skærmbilledet nedenfor).

Aktiver reaktiv måling i måleren

Hvert array repræsenterer de tre faser (A, B, C) og viser reaktiv effekt (Q i kVar) og reaktiv energi (kVARh).

Q (kVar): Reaktiv effekt — positiv = induktiv, negativ = kapacitiv kVARh: Reaktiv energi — hver fase indeholder to kVARh-værdier: én for induktiv belastning og én for kapacitiv belastning.


5. Python-eksempel: Abonnement på realtidsdata

Nedenfor er et fungerende Python-script, der bruger paho-mqtt-biblioteket.

import paho.mqtt.client as mqtt
import json

# MQTT Broker configuration
MQTT_BROKER = "mqtt.iammeter.com"
MQTT_PORT = 1883
MQTT_USER = "your_mqtt_username"  # Set in IAMMETER Cloud → MQTT Settings
MQTT_PASS = "your_mqtt_password"
TOPIC = "device/DA2BED94/realtime"  # Replace with your own device SN

# Callback when connected to the broker
def on_connect(client, userdata, flags, rc):
    if rc == 0:
        print("✅ Connected to IAMMETER MQTT Broker successfully")
        client.subscribe(TOPIC)
        print(f"📡 Subscribed to topic: {TOPIC}")
    else:
        print(f"❌ Connection failed with code {rc}")

# Callback when a message is received
def on_message(client, userdata, msg):
    payload = json.loads(msg.payload.decode())
    print("📊 Received real-time data:")
    print(json.dumps(payload, indent=2, ensure_ascii=False))

# Initialize MQTT client
client = mqtt.Client()
client.username_pw_set(MQTT_USER, MQTT_PASS)
client.on_connect = on_connect
client.on_message = on_message

# Connect to the broker and start the loop
client.connect(MQTT_BROKER, MQTT_PORT, 60)
client.loop_forever()

6. Node.js-eksempel

Vi anbefaler at prøve dette interessante open source-projekt: Det bruger Node.js til at abonnere på realtidsdata fra IAMMETER MQTT-brokeren og visualisere dem i en web-UI, så du får et sejt realtidsdashboard.

🔗 https://github.com/lewei50/iammeterJS


7. Praktiske anvendelsestilfælde

  1. Smarthome-automatisering Integrer realtids-effektdata i Home Assistant eller Node-RED for at udløse automatiseringshandlinger (f.eks. start en varmeovn, når solproduktionen er høj).
  2. Lokal datavisualisering Gem indkommende MQTT-data i InfluxDB og visualiser dem med Grafana-dashboards.
  3. Privat cloud eller edge computing Hent realtids-effektdata direkte via MQTT til brugerdefineret analyse eller styringslogik uden at være afhængig af IAMMETER Cloud.

8. Fejlfinding

Problem Mulig årsag / løsning
Kan ikke oprette forbindelse til broker Kontrollér, at dine MQTT-brugernavn og -adgangskode er korrekt indstillet i IAMMETER Cloud.
Ingen data modtaget Bekræft dit emneformat (device/{SN}/realtime), og sørg for, at måleren er online.
Dataforsinkelse Kontrollér din netværksstabilitet eller Wi-Fi-signalstyrke.
Flere målere Du kan abonnere på flere emner samtidigt (ét pr. SN).

9. Konklusion

Med IAMMETER MQTT Broker kan du nemt få adgang til realtids-energidatastrømme fra dine IAMMETER-enheder. Det er en kraftfuld og fleksibel metode til at opbygge lokale dashboards, smarte automatiseringer eller AI-baserede energioptimeringssystemer.


📘 Referencer


Vil du have, at jeg laver en Markdown-formateret blogindlægsversion (klar til udgivelse på IAMMETERs officielle blog, med syntaksfremhævning og intakte indlejrede billedlinks)?

Top