Maaf, browser Anda tidak mendukung JavaScript!
Masuk

Langganan Data Energi Real-time melalui MQTT Broker (Edisi 2025)

1. Pendahuluan

IAMMETER-Cloud adalah platform profesional untuk pemantauan energi dan pengelolaan fotovoltaik. Selain fungsi visualisasi dan pelaporan yang canggih, IAMMETER-Cloud juga menyediakan antarmuka data yang fleksibel. Hal ini memungkinkan pengguna dengan kebutuhan khusus memanfaatkan IAMMETER-Cloud sebagai middleware data, mengambil data secara terprogram melalui kode.

Ada dua cara utama untuk memperoleh data dari IAMMETER-Cloud menggunakan kode:

  • Berlangganan data melalui MQTT Broker IAMMETER (fokus artikel ini)
  • Memanggil API resmi IAMMETER-Cloud

Panduan ini menjelaskan cara berlangganan topik MQTT IAMMETER, memahami struktur data (baik untuk meter satu fasa maupun tiga fasa), serta menerapkan contoh Python dan Node.js yang berfungsi.


2. Gambaran Umum MQTT Broker IAMMETER

Catatan: MQTT Broker IAMMETER awalnya dirancang sebagai layanan pengembangan dan pengujian demi kemudahan dan bukan bagian dari penawaran standar IAMMETER-Cloud (meskipun sudah stabil dan berjalan lebih dari 5 tahun). Untuk penerapan produksi atau skala besar, kami menyarankan Anda menyiapkan broker MQTT Anda sendiri.

Konfigurasi MQTT Broker IAMMETER

Parameter Deskripsi
Alamat broker mqtt.iammeter.com
Port 1883 (non-SSL)
Nama pengguna / Kata sandi Harus dibuat di IAMMETER Cloud → Settings → MQTT SettingsTangkapan Layar Pengaturan MQTT
Format topik device/{SN}/realtime
Format payload JSON

⚠️ Penting: Jangan gunakan kredensial login IAMMETER Cloud Anda di sini. Anda perlu membuat nama pengguna dan kata sandi MQTT khusus di dasbor IAMMETER Cloud.

Konfigurasikan Meter IAMMETER untuk Menggunakan Mode MQTT

Setel meter IAMMETER Anda ke mode unggah MQTT (lihat panduan konfigurasi firmware) dan masukkan parameter MQTT Broker IAMMETER.

Setel meter ke mode unggah MQTT dan konfigurasikan parameter MQTT Broker IAMMETER


3. Format Topik MQTT

Setiap perangkat IAMMETER memublikasikan data real-time-nya pada topik berikut:

device/{SN}/realtime

Di mana {SN} adalah nomor seri meter Anda. Misalnya, jika SN perangkat Anda adalah DA2BED94, maka topiknya menjadi:

device/DA2BED94/realtime

Anda dapat berlangganan topik ini untuk menerima data pengukuran real-time secara berkelanjutan.


4. Format Data

4.1 Format Data Meter Satu Fasa

Meter IAMMETER satu fasa memublikasikan data real-time dalam format JSON sebagai berikut:

{
  "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 Kolom Deskripsi Satuan
1 Tegangan Tegangan saluran saat ini V
2 Arus Arus saluran saat ini A
3 Daya Daya aktif W
4 Energi Maju Energi impor (yang dikonsumsi) kWh
5 Energi Balik Energi ekspor (umpan balik, solar) kWh
6 Frekuensi Frekuensi jaringan Hz
7 Faktor Daya Faktor daya saat ini PF

🟢 Catatan:

  • Daya positif → konsumsi energi
  • Daya negatif → ekspor energi (misalnya, umpan balik solar)

4.2 Format Data Meter Tiga Fasa (WEM3080T / WEM3046T / WEM3050T)

Meter IAMMETER tiga fasa memublikasikan data dalam format JSON yang serupa, dengan tiga larik (array) yang sesuai untuk setiap fasa.

{
  "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 adalah daftar yang berisi tiga larik, masing-masing sesuai untuk fasa A, B, dan C. Setiap larik di dalamnya memiliki struktur yang sama dengan larik Data pada meter satu fasa.

Indeks Kolom Deskripsi Satuan
1 Tegangan Tegangan fasa V
2 Arus Arus fasa A
3 Daya Daya aktif W
4 Energi Maju Energi impor kWh
5 Energi Balik Energi ekspor kWh
6 Frekuensi Frekuensi jaringan Hz
7 Faktor Daya Faktor daya fasa PF

Selain data daya aktif, ketika pengukuran daya reaktif diaktifkan, Anda juga akan melihat bagian EA seperti berikut:

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

Bagian ini menampilkan data pengukuran reaktif, yang hanya muncul ketika fungsi uji reaktif diaktifkan (lihat tangkapan layar di bawah).

Aktifkan pengukuran reaktif pada meter

Setiap larik mewakili tiga fasa (A, B, C), yang menunjukkan daya reaktif (Q dalam kVar) dan energi reaktif (kVARh).

Q (kVar): Daya reaktif — positif = induktif, negatif = kapasitif kVARh: Energi reaktif — setiap fasa mencakup dua nilai kVARh: satu untuk beban induktif dan satu untuk beban kapasitif.


5. Contoh Python: Berlangganan Data Real-time

Berikut adalah skrip Python yang berfungsi menggunakan pustaka paho-mqtt.

import paho.mqtt.client as mqtt
import json

# Konfigurasi MQTT Broker
MQTT_BROKER = "mqtt.iammeter.com"
MQTT_PORT = 1883
MQTT_USER = "your_mqtt_username"  # Setel di IAMMETER Cloud → MQTT Settings
MQTT_PASS = "your_mqtt_password"
TOPIC = "device/DA2BED94/realtime"  # Ganti dengan SN perangkat Anda sendiri

# Callback saat terhubung ke broker
def on_connect(client, userdata, flags, rc):
    if rc == 0:
        print("✅ Berhasil terhubung ke IAMMETER MQTT Broker")
        client.subscribe(TOPIC)
        print(f"📡 Berlangganan topik: {TOPIC}")
    else:
        print(f"❌ Koneksi gagal dengan kode {rc}")

# Callback saat pesan diterima
def on_message(client, userdata, msg):
    payload = json.loads(msg.payload.decode())
    print("📊 Data real-time diterima:")
    print(json.dumps(payload, indent=2, ensure_ascii=False))

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

# Hubungkan ke broker dan mulai loop
client.connect(MQTT_BROKER, MQTT_PORT, 60)
client.loop_forever()

6. Contoh Node.js

Kami menyarankan Anda mencoba proyek open-source yang menarik ini: Proyek ini menggunakan Node.js untuk berlangganan data real-time dari broker MQTT IAMMETER dan memvisualisasikannya dalam antarmuka web, sehingga tercipta dasbor real-time yang keren.

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


7. Kasus Penggunaan Praktis

  1. Otomatisasi Rumah Pintar Integrasikan data daya real-time ke dalam Home Assistant atau Node-RED untuk memicu tindakan otomatis (misalnya, menyalakan pemanas saat pembangkitan solar tinggi).
  2. Visualisasi Data Lokal Simpan data MQTT yang masuk di InfluxDB dan visualisasikan dengan dasbor Grafana.
  3. Cloud Pribadi atau Edge Computing Ambil data daya real-time langsung melalui MQTT untuk analitik khusus atau logika kontrol tanpa bergantung pada IAMMETER Cloud.

8. Pemecahan Masalah

Masalah Kemungkinan Penyebab / Solusi
Tidak dapat terhubung ke broker Periksa apakah nama pengguna/kata sandi MQTT Anda sudah diatur dengan benar di IAMMETER Cloud.
Tidak ada data yang diterima Verifikasi format topik Anda (device/{SN}/realtime) dan pastikan meter dalam keadaan online.
Keterlambatan data Periksa kestabilan jaringan atau kekuatan sinyal Wi-Fi Anda.
Beberapa meter Anda dapat berlangganan beberapa topik sekaligus (satu per SN).

9. Kesimpulan

Dengan MQTT Broker IAMMETER, Anda dapat dengan mudah mengakses aliran data energi real-time dari perangkat IAMMETER Anda. Ini adalah metode yang ampuh dan fleksibel untuk membangun dasbor lokal, otomatisasi pintar, atau sistem optimasi energi berbasis AI.


📘 Referensi


Apakah Anda ingin saya membuat versi postingan blog berformat Markdown (siap dipublikasikan di blog resmi IAMMETER, dengan penyorotan sintaks dan tautan gambar tersemat yang tetap utuh)?

Atas