Valitettavasti selaimesi ei tue JavaScriptiä!
Kirjaudu sisään

Reaaliaikaisen energiadatan tilaus MQTT-välittäjän kautta (2025-versio)

1. Johdanto

IAMMETER-Cloud on ammattitason energianseuranta- ja aurinkosähkönhallinta-alusta. Visualisointi- ja raportointiominaisuuksiensa lisäksi IAMMETER-Cloud tarjoaa myös joustavia datarajapintoja. Näin käyttäjät, joilla on räätälöityjä vaatimuksia, voivat käyttää IAMMETER-Cloudia datavälittäjänä ja hakea dataa ohjelmallisesti koodin avulla.

IAMMETER-Cloudista voi hakea dataa koodin avulla kahdella päätavalla:

  • Tilaa dataa IAMMETERin MQTT-välittäjän kautta (tämän artikkelin aihe)
  • Kutsu IAMMETER-Cloudin virallisia API-rajapintoja

Tässä oppaassa kerrotaan, miten IAMMETERin MQTT-aiheisiin tilataan, miten datarakenteet tulkitaan (sekä yksivaiheisilla että kolmivaiheisilla mittareilla) ja miten toimivat Python- ja Node.js-esimerkit toteutetaan.


2. IAMMETERin MQTT-välittäjän yleiskatsaus

Huomautus: IAMMETERin MQTT-välittäjä suunniteltiin alun perin kehitys- ja testauspalveluksi käytön helpottamiseksi, eikä se ole osa IAMMETER-Cloudin vakiotarjontaa (vaikka se onkin toiminut vakaasti yli viisi vuotta). Tuotantokäyttöön tai laajamittaisiin käyttöönottoihin suosittelemme oman MQTT-välittäjän perustamista.

IAMMETERin MQTT-välittäjän asetukset

Parametri Kuvaus
Välittäjän osoite mqtt.iammeter.com
Portti 1883 (ei SSL:ää)
Käyttäjänimi / Salasana Luotava kohtaan IAMMETER Cloud → Asetukset → MQTT-asetuksetKuvakaappaus MQTT-asetuksista
Aiheformaatti device/{SN}/realtime
Hyötykuormamuoto JSON

⚠️ Tärkeää: Älä käytä tässä IAMMETER Cloud -kirjautumistunnuksiasi. Sinun on luotava erillinen MQTT-käyttäjänimi ja -salasana IAMMETER Cloud -hallintapaneelissa.

IAMMETER-mittarin määrittäminen MQTT-tilaan

Aseta IAMMETER-mittarisi MQTT-lähetystilaan (katso laiteohjelmiston määritysopas) ja syötä IAMMETERin MQTT-välittäjän parametrit.

Aseta mittari MQTT-lähetystilaan ja määritä IAMMETERin MQTT-välittäjän parametrit


3. MQTT-aiheen formaatti

Jokainen IAMMETER-laite julkaisee reaaliaikaisen datansa seuraavassa aiheessa:

device/{SN}/realtime

Missä {SN} on mittarisi sarjanumero. Esimerkiksi jos laitteesi sarjanumero on DA2BED94, aihe on:

device/DA2BED94/realtime

Voit tilata tämän aiheen vastaanottaaksesi jatkuvaa reaaliaikaista mittaustietoa.


4. Datan formaatti

4.1 Yksivaiheisen mittarin dataformaatti

Yksivaiheinen IAMMETER-mittari julkaisee reaaliaikaisen datan JSON-muodossa seuraavasti:

{
  "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]
}
Indeksi Kenttä Kuvaus Yksikkö
1 Voltage Nykyinen verkkojännite V
2 Current Nykyinen virta A
3 Power Pätöteho W
4 Forward Energy Tuotu energia (kulutus) kWh
5 Reverse Energy Viety energia (syöttö, aurinko) kWh
6 Frequency Verkkotaajuus Hz
7 Power Factor Nykyinen tehokerroin PF

🟢 Huomautuksia:

  • Positiivinen teho → energiankulutusta
  • Negatiivinen teho → energian luovutusta (esim. aurinkosähkön syöttö verkkoon)

4.2 Kolmivaiheisen mittarin dataformaatti (WEM3080T / WEM3046T / WEM3050T)

Kolmivaiheiset IAMMETER-mittarit julkaisevat dataa samankaltaisessa JSON-muodossa, ja kolme taulukkoa vastaavat kutakin vaihetta.

{
  "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 on lista, joka sisältää kolme taulukkoa, joista jokainen vastaa vaihetta A, B ja C. Jokainen sisempi taulukko noudattaa samaa rakennetta kuin yksivaiheinen Data-taulukko.

Indeksi Kenttä Kuvaus Yksikkö
1 Voltage Vaihejännite V
2 Current Vaihevirta A
3 Power Pätöteho W
4 Forward Energy Tuotu energia kWh
5 Reverse Energy Viety energia kWh
6 Frequency Verkkotaajuus Hz
7 Power Factor Vaiheen tehokerroin PF

Reaalitehodatan lisäksi, kun loistehon mittaus on käytössä, näet myös EA-osion seuraavasti:

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

Tämä osio näyttää loismittaustiedot, jotka näkyvät vain, kun loistehon testitoiminto on käytössä (katso alla oleva kuvakaappaus).

Ota loistehon mittaus käyttöön mittarissa

Jokainen taulukko edustaa kolmea vaihetta (A, B, C) ja näyttää loistehon (Q yksikössä kVar) ja loisenergian (kVARh).

Q (kVar): Loisteho — positiivinen = induktiivinen, negatiivinen = kapasitiivinen kVARh: Loisenergia — jokainen vaihe sisältää kaksi kVARh-arvoa: yhden induktiiviselle kuormalle ja yhden kapasitiiviselle kuormalle.


5. Python-esimerkki: reaaliaikaisen datan tilaaminen

Alla on toimiva Python-skripti, joka käyttää paho-mqtt-kirjastoa.

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-esimerkki

Suosittelemme kokeilemaan tätä mielenkiintoista avoimen lähdekoodin projektia: Se käyttää Node.js:ää tilatakseen reaaliaikaista dataa IAMMETERin MQTT-välittäjästä ja visualisoidakseen sen verkkokäyttöliittymässä luoden hienon reaaliaikaisen kojelaudan.

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


7. Käytännön käyttötapaukset

  1. Älykodin automaatio Integroi reaaliaikainen tehdata Home Assistantiin tai Node-REDiin käynnistääksesi automaatiotoimintoja (esim. käynnistä lämmitin, kun aurinkotuotanto on korkea).
  2. Paikallinen datan visualisointi Tallenna saapuva MQTT-data InfluxDB:hen ja visualisoi se Grafana-kojelaudoilla.
  3. Yksityinen pilvi tai reunalaskenta Hae reaaliaikainen tehdata suoraan MQTT:n kautta räätälöityä analytiikkaa tai ohjauslogiikkaa varten luottamatta IAMMETER Cloudiin.

8. Vianmääritys

Ongelma Mahdollinen syy / ratkaisu
Ei yhteyttä välittäjään Tarkista, että MQTT-käyttäjänimesi ja -salasanasi on asetettu oikein IAMMETER Cloudissa.
Dataa ei vastaanoteta Varmista aiheformaattisi (device/{SN}/realtime) ja että mittari on verkossa.
Datan viive Tarkista verkkosi vakaus tai Wi-Fi-signaalin voimakkuus.
Useita mittareita Voit tilata useita aiheita samanaikaisesti (yksi kutakin sarjanumeroa kohti).

9. Johtopäätös

IAMMETERin MQTT-välittäjän avulla pääset helposti käsiksi reaaliaikaisiin energiadatavirtoihin IAMMETER-laitteistasi. Se on tehokas ja joustava tapa rakentaa paikallisia kojelautoja, älykkäitä automaatioita tai tekoälypohjaisia energianoptimointijärjestelmiä.


📘 Viitteet


Haluatko, että teen Markdown-muotoisen blogipostausversion (valmiina julkaistavaksi IAMMETERin virallisessa blogissa, syntaksin korostuksella ja upotetuilla kuvien linkeillä)?

Ylös