Λυπούμαστε, το πρόγραμμα περιήγησής σας δεν υποστηρίζει JavaScript!
Σύνδεση

Εγγραφή σε Ενεργειακά Δεδομένα Πραγματικού Χρόνου μέσω MQTT Broker (Έκδοση 2025)

1. Εισαγωγή

Το IAMMETER-Cloud είναι μια επαγγελματική πλατφόρμα παρακολούθησης ενέργειας και διαχείρισης φωτοβολταϊκών συστημάτων. Εκτός από τις ισχυρές λειτουργίες απεικόνισης και αναφορών, το IAMMETER-Cloud παρέχει επίσης ευέλικτες διεπαφές δεδομένων. Αυτό επιτρέπει στους χρήστες με εξατομικευμένες απαιτήσεις να χρησιμοποιούν το IAMMETER-Cloud ως ενδιάμεσο λογισμικό δεδομένων, ανακτώντας δεδομένα προγραμματιστικά μέσω κώδικα.

Υπάρχουν δύο βασικοί τρόποι για να λαμβάνετε δεδομένα από το IAMMETER-Cloud μέσω κώδικα:

  • Εγγραφή σε δεδομένα μέσω του MQTT Broker της IAMMETER (το επίκεντρο αυτού του άρθρου)
  • Κλήση των επίσημων APIs του IAMMETER-Cloud

Αυτός ο οδηγός εξηγεί πώς να εγγραφείτε στα θέματα (topics) MQTT της IAMMETER, να ερμηνεύετε τις δομές δεδομένων (τόσο για μονοφασικούς όσο και για τριφασικούς μετρητές) και να υλοποιείτε λειτουργικά παραδείγματα σε Python και Node.js.


2. Επισκόπηση του MQTT Broker της IAMMETER

Σημείωση: Ο MQTT Broker της IAMMETER σχεδιάστηκε αρχικά ως υπηρεσία ανάπτυξης και δοκιμών για λόγους ευκολίας και δεν αποτελεί μέρος της τυπικής προσφοράς του IAMMETER-Cloud (αν και λειτουργεί σταθερά εδώ και περισσότερα από 5 χρόνια). Για παραγωγικές ή μεγάλης κλίμακας εγκαταστάσεις, συνιστούμε να ρυθμίσετε τον δικό σας MQTT broker.

Ρύθμιση του MQTT Broker της IAMMETER

Παράμετρος Περιγραφή
Διεύθυνση Broker mqtt.iammeter.com
Θύρα (Port) 1883 (χωρίς SSL)
Όνομα χρήστη / Κωδικός Πρέπει να δημιουργηθούν στο IAMMETER Cloud → Ρυθμίσεις → Ρυθμίσεις MQTTΣτιγμιότυπο Ρυθμίσεων MQTT
Μορφή θέματος device/{SN}/realtime
Μορφή φορτίου (Payload) JSON

⚠️ Σημαντικό: Μην χρησιμοποιείτε τα διαπιστευτήρια σύνδεσης του λογαριασμού σας στο IAMMETER Cloud εδώ. Πρέπει να δημιουργήσετε ένα αποκλειστικό όνομα χρήστη και κωδικό MQTT στον πίνακα ελέγχου του IAMMETER Cloud.

Ρύθμιση του Μετρητή IAMMETER σε Λειτουργία MQTT

Ρυθμίστε τον μετρητή IAMMETER σας σε λειτουργία αποστολής MQTT (δείτε τον οδηγό ρύθμισης υλικολογισμικού) και εισάγετε τις παραμέτρους του MQTT Broker της IAMMETER.

Ρυθμίστε τον μετρητή σε λειτουργία αποστολής MQTT και διαμορφώστε τις παραμέτρους του MQTT Broker της IAMMETER


3. Μορφή Θεμάτων MQTT

Κάθε συσκευή IAMMETER δημοσιεύει τα δεδομένα πραγματικού χρόνου της στο ακόλουθο θέμα:

device/{SN}/realtime

Όπου {SN} είναι ο σειριακός αριθμός του μετρητή σας. Για παράδειγμα, εάν ο σειριακός αριθμός της συσκευής σας είναι DA2BED94, το θέμα θα είναι:

device/DA2BED94/realtime

Μπορείτε να εγγραφείτε σε αυτό το θέμα για να λαμβάνετε συνεχή δεδομένα μετρήσεων πραγματικού χρόνου.


4. Μορφή Δεδομένων

4.1 Μορφή Δεδομένων Μονοφασικού Μετρητή

Ένας μονοφασικός μετρητής IAMMETER δημοσιεύει δεδομένα πραγματικού χρόνου σε μορφή JSON ως εξής:

{
  "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]
}
Δείκτης Πεδίο Περιγραφή Μονάδα
1 Τάση (Voltage) Τρέχουσα τάση γραμμής V
2 Ένταση (Current) Τρέχουσα ένταση γραμμής A
3 Ισχύς (Power) Ενεργός ισχύς W
4 Ενέργεια Προώθησης (Forward Energy) Εισαγόμενη ενέργεια (κατανάλωση) kWh
5 Αντιστρεφόμενη Ενέργεια (Reverse Energy) Εξαγόμενη ενέργεια (έγχυση, ηλιακή) kWh
6 Συχνότητα (Frequency) Συχνότητα δικτύου Hz
7 Συντελεστής Ισχύος (Power Factor) Τρέχων συντελεστής ισχύος PF

🟢 Σημειώσεις:

  • Θετική ισχύς → κατανάλωση ενέργειας
  • Αρνητική ισχύς → εξαγωγή ενέργειας (π.χ., έγχυση ηλιακής ενέργειας)

4.2 Μορφή Δεδομένων Τριφασικού Μετρητή (WEM3080T / WEM3046T / WEM3050T)

Οι τριφασικοί μετρητές IAMMETER δημοσιεύουν δεδομένα σε παρόμοια μορφή JSON, με τρεις πίνακες που αντιστοιχούν σε κάθε φάση.

{
  "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 είναι μια λίστα που περιέχει τρεις πίνακες, καθένας από τους οποίους αντιστοιχεί στις φάσεις A, B και C. Κάθε εσωτερικός πίνακας έχει την ίδια δομή με τον μονοφασικό πίνακα Data.

Δείκτης Πεδίο Περιγραφή Μονάδα
1 Τάση (Voltage) Τάση φάσης V
2 Ένταση (Current) Ένταση φάσης A
3 Ισχύς (Power) Ενεργός ισχύς W
4 Ενέργεια Προώθησης (Forward Energy) Εισαγόμενη ενέργεια kWh
5 Αντιστρεφόμενη Ενέργεια (Reverse Energy) Εξαγόμενη ενέργεια kWh
6 Συχνότητα (Frequency) Συχνότητα δικτύου Hz
7 Συντελεστής Ισχύος (Power Factor) Συντελεστής ισχύος φάσης PF

Εκτός από τα δεδομένα πραγματικής ισχύος, όταν είναι ενεργοποιημένη η μέτρηση άεργου ισχύος, θα δείτε επίσης το τμήμα EA ως εξής:

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

Αυτό το τμήμα εμφανίζει δεδομένα άεργων μετρήσεων, τα οποία εμφανίζονται μόνο όταν είναι ενεργοποιημένη η λειτουργία δοκιμής άεργου ισχύος (δείτε το στιγμιότυπο οθόνης παρακάτω).

Ενεργοποίηση μέτρησης άεργου ισχύος στον μετρητή

Κάθε πίνακας αντιπροσωπεύει τις τρεις φάσεις (A, B, C), εμφανίζοντας άεργο ισχύ (Q σε kVar) και άεργο ενέργεια (kVARh).

Q (kVar): Άεργος ισχύς — θετική = επαγωγική, αρνητική = χωρητική kVARh: Άεργος ενέργεια — κάθε φάση περιλαμβάνει δύο τιμές kVARh: μία για επαγωγικό φορτίο και μία για χωρητικό φορτίο.


5. Παράδειγμα Python: Εγγραφή σε Δεδομένα Πραγματικού Χρόνου

Παρακάτω ακολουθεί ένα λειτουργικό σενάριο Python που χρησιμοποιεί τη βιβλιοθήκη paho-mqtt.

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

Σας συνιστούμε να δοκιμάσετε αυτό το ενδιαφέρον έργο ανοιχτού κώδικα: Χρησιμοποιεί Node.js για να εγγραφεί σε δεδομένα πραγματικού χρόνου από τον MQTT broker της IAMMETER και να τα απεικονίσει σε μια διεπαφή ιστού (web UI), δημιουργώντας ένα εντυπωσιακό ταμπλό πραγματικού χρόνου.

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


7. Πρακτικές Περιπτώσεις Χρήσης

  1. Αυτοματισμός Έξυπνου Σπιτιού Ενσωματώστε δεδομένα ισχύος πραγματικού χρόνου στο Home Assistant ή στο Node-RED για να ενεργοποιείτε ενέργειες αυτοματισμού (π.χ., να ξεκινά ένας θερμαντήρας όταν η ηλιακή παραγωγή είναι υψηλή).
  2. Τοπική Απεικόνιση Δεδομένων Αποθηκεύστε τα εισερχόμενα δεδομένα MQTT στο InfluxDB και απεικονίστε τα με ταμπλό Grafana.
  3. Ιδιωτικό Νέφος ή Υπολογισμός στην Άκρη (Edge Computing) Λάβετε δεδομένα ισχύος πραγματικού χρόνου απευθείας μέσω MQTT για προσαρμοσμένες αναλύσεις ή λογική ελέγχου, χωρίς να εξαρτάστε από το IAMMETER Cloud.

8. Αντιμετώπιση Προβλημάτων

Πρόβλημα Πιθανή Αιτία / Λύση
Δεν είναι δυνατή η σύνδεση με τον broker Ελέγξτε εάν το όνομα χρήστη/κωδικός MQTT έχουν ρυθμιστεί σωστά στο IAMMETER Cloud.
Δεν λαμβάνονται δεδομένα Επαληθεύστε τη μορφή του θέματός σας (device/{SN}/realtime) και βεβαιωθείτε ότι ο μετρητής είναι συνδεδεμένος.
Καθυστέρηση δεδομένων Ελέγξτε τη σταθερότητα του δικτύου σας ή την ισχύ του σήματος Wi-Fi.
Πολλοί μετρητές Μπορείτε να εγγραφείτε σε πολλά θέματα ταυτόχρονα (ένα ανά SN).

9. Συμπέρασμα

Χρησιμοποιώντας τον MQTT Broker της IAMMETER, μπορείτε εύκολα να αποκτήσετε πρόσβαση σε ροές ενεργειακών δεδομένων πραγματικού χρόνου από τις συσκευές IAMMETER σας. Είναι μια ισχυρή και ευέλικτη μέθοδος για να δημιουργήσετε τοπικά ταμπλό, έξυπνους αυτοματισμούς ή συστήματα βελτιστοποίησης ενέργειας που βασίζονται σε AI.


📘 Αναφορές


Θα θέλατε να δημιουργήσω μια έκδοση άρθρου ιστολογίου σε μορφή Markdown (έτοιμη για δημοσίευση στο επίσημο ιστολόγιο της IAMMETER, με χρωματισμό σύνταξης και ενσωματωμένους συνδέσμους εικόνων ανέπαφους);

Πάνω