MQTT Energy Meter untuk Home Assistant: Penyiapan YAML Manual
Mengonfigurasi MQTT Energy Meter di Home Assistant secara Manual
MQTT energy meter dapat memublikasikan tegangan, arus, daya aktif, dan energi impor/ekspor ke sebuah broker di jaringan lokal Anda. Home Assistant berlangganan data tersebut dan mengubah nilai JSON menjadi entitas sensor yang dapat digunakan pada dashboard, otomasi, dan Energy Dashboard.
Panduan ini menjelaskan metode Manual MQTT untuk energy meter IAMMETER:
- konfigurasikan broker MQTT di WebUI meter;
- hubungkan Home Assistant ke broker yang sama;
- definisikan sensor MQTT yang diperlukan dalam YAML;
- tambahkan energi impor dan ekspor ke Energy Dashboard.
Manual MQTT memberi Anda kendali penuh atas nama entitas, topic, template, dan metadata. Jika Anda lebih suka Home Assistant membuat perangkat dan entitas secara otomatis, gunakan MQTT Discovery sebagai gantinya.
Manual MQTT dan MQTT Discovery adalah metode yang berbeda
Kedua metode menggunakan broker MQTT, tetapi penyiapan Home Assistant-nya berbeda.
| Fitur | Manual MQTT | MQTT Discovery |
|---|---|---|
| Konfigurasi broker di sisi meter | Diperlukan | Diperlukan |
| Integrasi MQTT di HA | Diperlukan | Diperlukan |
| Definisi sensor YAML | Diperlukan | Tidak diperlukan |
| Nama dan template entitas | Sepenuhnya dikendalikan pengguna | Dibuat oleh meter |
| Pembuatan perangkat/entitas otomatis | Tidak | Ya |
| Paling cocok untuk | Sistem MQTT kustom dan definisi entitas khusus | Penyiapan Home Assistant tercepat |
Untuk panduan ini, biarkan HA MQTT Discovery dinonaktifkan di WebUI meter. Sakelar tersebut hanya diperlukan jika Anda menginginkan penemuan otomatis oleh Home Assistant.
Yang Anda butuhkan
- energy meter IAMMETER dengan firmware terkini;
- broker MQTT yang dapat dijangkau oleh meter maupun Home Assistant;
- alamat, port, nama pengguna, dan kata sandi broker;
- nomor seri meter;
- akses ke konfigurasi YAML Home Assistant.
Broker dapat berjalan di mesin yang sama dengan Home Assistant, pada add-on broker Mosquitto, di server LAN lain, atau di host jarak jauh. Gunakan broker lokal jika Anda ingin seluruh jalur data tetap berada di dalam LAN.
Semua meter IAMMETER terkini mendukung Manual MQTT. Model satu fasa, dua kanal, dan tiga fasa memublikasikan struktur array JSON yang berbeda, sehingga template nilai harus sesuai dengan payload yang sebenarnya.
Langkah 1: Konfigurasikan broker MQTT di WebUI meter
Buka WebUI lokal meter dan masuk ke Settings. Konfigurasikan:
| Pengaturan | Nilai |
|---|---|
| Run Mode | MQTT |
| Address | Hostname/IP dan port broker MQTT |
| Username | Nama pengguna broker, jika diperlukan |
| Password | Kata sandi broker, jika diperlukan |
| HA MQTT Discovery | Dinonaktifkan untuk panduan Manual MQTT ini |
Simpan pengaturan dan biarkan meter melakukan koneksi ulang.

WebUI firmware terkini mendukung pengaturan broker ini secara langsung. Anda tidak perlu mengonfigurasi nama pengguna dan kata sandi melalui prosedur API lokal versi lama.
Untuk konfigurasi lengkap di sisi meter dan petunjuk firmware lama, lihat publikasikan data IAMMETER ke broker MQTT.
Mode MQTT dan IAMMETER Cloud
Saat Run Mode meter diubah ke MQTT, meter memublikasikan hasil pengukuran ke broker Anda, bukan mengunggahnya ke IAMMETER Cloud. Karena itu, Manual MQTT dan IAMMETER Cloud tidak berjalan bersamaan dari meter yang sama.
Jika Anda memerlukan Home Assistant dan IAMMETER Cloud sekaligus, gunakan integrasi HTTP lokal atau Modbus TCP sebagai gantinya. Bandingkan metode yang tersedia di panduan integrasi energy meter Home Assistant.
Langkah 2: Verifikasi topic dan payload MQTT
IAMMETER memublikasikan pengukuran waktu nyata ke:
device/{SN}/realtime
Ganti {SN} dengan nomor seri meter. Sebagai contoh:
device/80123456/realtime
Sebelum mengonfigurasi sensor Home Assistant, berlanggananlah ke topic tersebut dengan klien MQTT dan pastikan pesan benar-benar masuk. Ini mencegah pemecahan masalah YAML tercampur dengan masalah broker, kredensial, firewall, atau topic.
JSON satu fasa
Meter satu fasa menggunakan array Data. Lima nilai pertama adalah:
| Posisi array | Pengukuran |
|---|---|
Data[0] |
Tegangan |
Data[1] |
Arus |
Data[2] |
Daya aktif |
Data[3] |
Energi impor |
Data[4] |
Energi ekspor |
Contoh:
{
"method": "uploadsn",
"SN": "12345678",
"Data": [228.91, 1.61, 225, 15066.47, 0]
}
JSON multi-kanal dan tiga fasa
Meter multi-kanal dan tiga fasa menggunakan array Datas. Setiap array bersarang mewakili satu fasa atau kanal pengukuran:
Datas[0] → fasa/kanal A
Datas[1] → fasa/kanal B
Datas[2] → fasa/kanal C, jika tersedia
Di dalam setiap array fasa/kanal, posisi yang umum adalah:
| Posisi array | Pengukuran |
|---|---|
[0] |
Tegangan |
[1] |
Arus |
[2] |
Daya aktif |
[3] |
Energi impor |
[4] |
Energi ekspor |
[5] |
Frekuensi, jika tersedia |
[6] |
Faktor daya, jika tersedia |
Selalu periksa pesan MQTT yang sebenarnya dari model dan firmware Anda sebelum menyalin template. Lihat definisi data JSON IAMMETER selengkapnya.
Langkah 3: Hubungkan Home Assistant ke broker
Di Home Assistant:
- Masuk ke Settings → Devices & services.
- Pilih Add integration.
- Cari MQTT.
- Masukkan alamat, port, nama pengguna, dan kata sandi broker yang sama seperti yang digunakan meter.
- Pastikan Integrasi MQTT berhasil terhubung.
Jika Home Assistant sudah menggunakan broker ini, jangan menambahkan Integrasi MQTT duplikat. Sensor yang didefinisikan secara manual akan memakai koneksi broker yang sudah ada.
Langkah 4: Tambahkan sensor Manual MQTT dalam YAML
Contoh di bawah ini menggunakan struktur konfigurasi mqtt: sensor: Home Assistant yang terkini. Ganti nomor seri pada setiap state_topic.
YAML energy meter satu fasa
mqtt:
sensor:
- name: "IAMMETER Voltage"
unique_id: "iammeter_12345678_voltage"
state_topic: "device/12345678/realtime"
value_template: "{{ value_json.Data[0] | float(0) }}"
unit_of_measurement: "V"
device_class: voltage
state_class: measurement
- name: "IAMMETER Current"
unique_id: "iammeter_12345678_current"
state_topic: "device/12345678/realtime"
value_template: "{{ value_json.Data[1] | float(0) }}"
unit_of_measurement: "A"
device_class: current
state_class: measurement
- name: "IAMMETER Active Power"
unique_id: "iammeter_12345678_active_power"
state_topic: "device/12345678/realtime"
value_template: "{{ value_json.Data[2] | float(0) }}"
unit_of_measurement: "W"
device_class: power
state_class: measurement
- name: "IAMMETER Imported Energy"
unique_id: "iammeter_12345678_import_energy"
state_topic: "device/12345678/realtime"
value_template: "{{ value_json.Data[3] | float(0) }}"
unit_of_measurement: "kWh"
device_class: energy
state_class: total_increasing
- name: "IAMMETER Exported Energy"
unique_id: "iammeter_12345678_export_energy"
state_topic: "device/12345678/realtime"
value_template: "{{ value_json.Data[4] | float(0) }}"
unit_of_measurement: "kWh"
device_class: energy
state_class: total_increasing
unique_id memungkinkan Home Assistant mengelola pengaturan entitas melalui UI. Jaga setiap ID tetap unik dan stabil. Jangan mengubahnya hanya untuk mengganti nama entitas yang ditampilkan.
YAML energy meter tiga fasa
Contoh berikut membuat entitas fasa A. Gandakan blok tersebut untuk fasa B dan C, ubah Datas[0] menjadi Datas[1] dan Datas[2], serta gunakan nama dan unique ID yang berbeda.
mqtt:
sensor:
- name: "IAMMETER Voltage A"
unique_id: "iammeter_80123456_voltage_a"
state_topic: "device/80123456/realtime"
value_template: "{{ value_json.Datas[0][0] | float(0) }}"
unit_of_measurement: "V"
device_class: voltage
state_class: measurement
- name: "IAMMETER Current A"
unique_id: "iammeter_80123456_current_a"
state_topic: "device/80123456/realtime"
value_template: "{{ value_json.Datas[0][1] | float(0) }}"
unit_of_measurement: "A"
device_class: current
state_class: measurement
- name: "IAMMETER Active Power A"
unique_id: "iammeter_80123456_active_power_a"
state_topic: "device/80123456/realtime"
value_template: "{{ value_json.Datas[0][2] | float(0) }}"
unit_of_measurement: "W"
device_class: power
state_class: measurement
- name: "IAMMETER Imported Energy A"
unique_id: "iammeter_80123456_import_energy_a"
state_topic: "device/80123456/realtime"
value_template: "{{ value_json.Datas[0][3] | float(0) }}"
unit_of_measurement: "kWh"
device_class: energy
state_class: total_increasing
- name: "IAMMETER Exported Energy A"
unique_id: "iammeter_80123456_export_energy_a"
state_topic: "device/80123456/realtime"
value_template: "{{ value_json.Datas[0][4] | float(0) }}"
unit_of_measurement: "kWh"
device_class: energy
state_class: total_increasing
Untuk WEM2067 dan model multi-kanal lainnya, buat hanya sejumlah blok kanal yang ada pada payload Datas yang sebenarnya.
Hindari dua blok mqtt: tingkat atas
Jika configuration.yaml sudah memiliki bagian mqtt:, tambahkan sensor di bawah bagian yang sudah ada tersebut. YAML tidak dapat memuat dua kunci tingkat atas dengan nama yang sama secara aman.
Untuk konfigurasi yang besar, Anda dapat menyimpan sensor MQTT dalam berkas yang disertakan (include), tetapi ikuti struktur include dan aturan indentasi Home Assistant.
Langkah 5: Periksa konfigurasi dan muat sensor
Setelah menyimpan YAML:
- jalankan pemeriksaan konfigurasi Home Assistant;
- perbaiki setiap kesalahan YAML, indentasi, atau template;
- mulai ulang Home Assistant jika diperlukan;
- buka Developer tools → States;
- pastikan setiap entitas MQTT memiliki nilai, satuan, device class, dan state class yang wajar.
Nilai entitas harus berubah setelah pesan baru masuk ke device/{SN}/realtime.
Langkah 6: Tambahkan energi impor dan ekspor ke Energy Dashboard
Energy Dashboard Home Assistant memerlukan entitas energi kumulatif. Contoh YAML menggunakan:
unit_of_measurement: "kWh"
device_class: energy
state_class: total_increasing
Masuk ke Settings → Dashboards → Energy dan pilih:
- IAMMETER Imported Energy untuk konsumsi dari grid;
- IAMMETER Exported Energy untuk pengiriman kembali ke grid.
Untuk meter tiga fasa, pilih struktur entitas yang sesuai dengan instalasi dan rancangan dashboard Home Assistant. Anda dapat menampilkan energi per fasa secara terpisah atau membuat entitas total yang sesuai, tetapi jangan menjumlahkan nilai tanpa memastikan bagaimana meter melaporkan energi fasa dan energi neto untuk mode pengkabelan yang dipilih.
Jangan memilih entitas daya aktif yang diukur dalam watt pada kolom energi Energy Dashboard. Daya adalah laju sesaat; dashboard memerlukan kWh kumulatif.
Pilih interval publikasi MQTT
Firmware IAMMETER terkini mendukung interval publikasi MQTT hingga 2 detik. Interval terpendek tidak selalu menjadi pengaturan terbaik.
Titik awal yang disarankan:
| Kasus penggunaan | Interval yang disarankan |
|---|---|
| Otomasi lokal yang cepat | 2–5 detik |
| Dashboard energi langsung | 5–12 detik |
| Pemantauan umum | 10–60 detik |
Pertimbangkan kapasitas broker, pertumbuhan recorder Home Assistant, keandalan jaringan, dan jumlah entitas. Satu pesan yang memuat banyak nilai fasa dapat memperbarui beberapa sensor Home Assistant sekaligus.
Model IAMMETER yang didukung
Semua energy meter IAMMETER terkini mendukung Manual MQTT. Perbedaan utamanya di Home Assistant adalah struktur payload dan jumlah kanal pengukuran.
| Model | Struktur umum | Informasi produk |
|---|---|---|
| WEM3080 | Array Data tunggal |
Energy meter satu fasa |
| WEM2067 | Array Datas multi-kanal |
Meter dua kanal untuk solar rumah |
| WEM3080T | Array Datas tiga kanal |
Energy meter tiga fasa |
| WEM3050T | Array Datas tiga kanal |
Meter tiga fasa/split-phase rumah |
| WEM3080TD | Data multi-kanal sesuai model/pengkabelan | WEM3080TD |
| WEM3046T / WEM3046TE | Data tiga kanal dengan pengukuran CT 5 A eksternal | Meter tiga fasa CT 5 A |
WEM3046T dan WEM3046TE mengukur keluaran sekunder 5 A dari CT eksternal. Terapkan rasio CT yang benar untuk memperoleh nilai sisi primer. Ini adalah karakteristik sistem pengukuran, bukan keterbatasan MQTT atau Home Assistant.
Pemecahan masalah
Tidak ada pesan MQTT yang masuk
- Verifikasi alamat dan port broker di WebUI meter.
- Pastikan nama pengguna dan kata sandinya.
- Periksa log broker untuk kesalahan autentikasi atau koneksi.
- Pastikan meter dapat menjangkau broker melewati aturan firewall atau VLAN.
- Berlanggananlah ke
device/{SN}/realtimedengan klien MQTT independen.
Pesan masuk, tetapi entitas Home Assistant tidak tersedia
- Pastikan Home Assistant terhubung ke broker yang sama.
- Periksa topic dan nomor seri secara tepat.
- Bandingkan
DatadenganDataspada payload yang sebenarnya. - Validasi indentasi YAML dan template.
- Periksa log Home Assistant setelah memuat ulang atau memulai ulang.
Beberapa entitas menampilkan nol atau pengukuran yang salah
- Jangan menyalin template
Datasatu fasa untuk payloadDatas. - Verifikasi posisi array terhadap definisi JSON.
- Pastikan indeks fasa/kanal.
- Untuk WEM3046T/WEM3046TE, pastikan rasio CT eksternal.
Entitas energi tidak muncul di Energy Dashboard
Pastikan ketiga kolom berikut:
unit_of_measurement: "kWh"
device_class: energy
state_class: total_increasing
Pastikan juga entitas telah menerima data numerik yang valid dan muncul di Developer tools → States.
Muncul perangkat atau sensor duplikat
Manual MQTT dan MQTT Discovery dapat membuat entitas terpisah dari meter yang sama. Jika Anda menggunakan metode YAML, biarkan HA MQTT Discovery dinonaktifkan kecuali Anda memang menginginkan kedua kumpulan entitas tersebut dan telah merencanakan nama entitas yang unik.
Panduan terkait
- Publikasikan data IAMMETER ke broker MQTT Anda
- Gunakan MQTT Discovery alih-alih YAML
- Bandingkan semua metode integrasi IAMMETER–Home Assistant
- Definisi data JSON IAMMETER
- Tingkatkan firmware IAMMETER
Diperbarui: 19 Juli 2026.