Maaf, browser Anda tidak mendukung JavaScript!
Masuk

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:

  1. konfigurasikan broker MQTT di WebUI meter;
  2. hubungkan Home Assistant ke broker yang sama;
  3. definisikan sensor MQTT yang diperlukan dalam YAML;
  4. 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.

Konfigurasi broker MQTT pada WebUI IAMMETER terbaru

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:

  1. Masuk ke Settings → Devices & services.
  2. Pilih Add integration.
  3. Cari MQTT.
  4. Masukkan alamat, port, nama pengguna, dan kata sandi broker yang sama seperti yang digunakan meter.
  5. 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:

  1. jalankan pemeriksaan konfigurasi Home Assistant;
  2. perbaiki setiap kesalahan YAML, indentasi, atau template;
  3. mulai ulang Home Assistant jika diperlukan;
  4. buka Developer tools → States;
  5. 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}/realtime dengan 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 Data dengan Datas pada 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 Data satu fasa untuk payload Datas.
  • 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

Diperbarui: 19 Juli 2026.

Atas