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 Settings![]() |
| 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.

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).

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
- 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).
- Visualisasi Data Lokal Simpan data MQTT yang masuk di InfluxDB dan visualisasikan dengan dasbor Grafana.
- 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
- Fitur Firmware & Komunikasi IAMMETER
- Dokumentasi API IAMMETER Cloud dan MQTT
- Kembangkan Dasbor Pemantauan Energi Anda Sendiri menggunakan NodeJS
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)?
