Maaf, browser Anda tidak mendukung JavaScript!
Masuk

Pemantauan Energi Self-Hosted dengan Docker

Pemantauan Energi Self-Hosted dengan Docker

Sistem pemantauan energi self-hosted menjaga server pemantauan dan data listrik tetap berada dalam kendali Anda. Alih-alih mengirim setiap pembacaan ke cloud publik, meter energi mengunggah data ke kontainer Docker yang berjalan di server lokal, NAS, Raspberry Pi, atau router yang kompatibel.

IAMMETER-Docker menyediakan server pemantauan energi lokal siap pakai untuk konsumsi listrik dan sistem PV surya. Perangkat ini dapat mengumpulkan hasil pengukuran, menampilkan data real-time dan historis, menyediakan API, dan secara opsional beroperasi sebagai datalogger offline.

Meter energi IAMMETER
        │
        │ Wi-Fi / jaringan lokal
        ▼
IAMMETER-Docker
        │
        ├── Dasbor web lokal
        ├── Data energi historis
        ├── REST API
        ├── MQTT
        ├── Datalogger CSV
        └── Penerusan opsional

IAMMETER-Docker adalah opsi self-hosted yang praktis, tetapi tidak mereplikasi seluruh fitur dan laporan di IAMMETER-Cloud. Jika Anda masih memilih arsitektur, bandingkan opsi yang tersedia di halaman solusi pemantauan energi self-hosted.

🎬 Tonton tutorial video IAMMETER-Docker

1. Kapan Sebaiknya Anda Menggunakan Sistem Pemantauan Energi Self-Hosted?

IAMMETER-Docker cocok digunakan ketika Anda ingin:

  • menyimpan data energi di server yang Anda kelola sendiri;
  • memantau kelistrikan di LAN tanpa bergantung pada akses Internet;
  • menerapkan dasbor pemantauan surya lokal;
  • mengumpulkan data di lokasi terpencil menggunakan datalogger offline;
  • mengakses hasil pengukuran melalui REST API atau MQTT lokal;
  • meneruskan data tertentu ke platform lain;
  • membangun dasbor atau integrasi privat di sekitar data energi yang tersimpan.

Instalasi yang umum meliputi:

  • pemantauan listrik rumah dan PV surya;
  • bengkel, kantor, dan lokasi komersial kecil;
  • sistem surya terpencil dan ruang peralatan;
  • lingkungan pengembangan dan pengujian;
  • proyek yang memerlukan jalur data lokal.

Jika Anda hanya memerlukan pembacaan meter langsung untuk Home Assistant, Node-RED, PLC, atau perangkat lunak khusus, menerapkan server lengkap mungkin tidak diperlukan. Lihat opsi integrasi lokal dan self-hosted sebelum memilih.

2. Yang Anda Perlukan

Sebelum melakukan penerapan, siapkan:

  • perangkat yang dapat menjalankan Docker, seperti server Linux, NAS, Raspberry Pi, atau router yang kompatibel;
  • penyimpanan persisten untuk basis data aplikasi;
  • port TCP 5050 yang tersedia untuk aplikasi web dan API;
  • port TCP 1883 jika layanan MQTT bawaan akan digunakan;
  • alamat IP yang stabil atau reservasi DHCP untuk host Docker;
  • meter energi IAMMETER, atau sumber data lain yang dapat mengirimkan format API yang didukung.

Host Docker dan meter harus dapat saling menjangkau melalui jaringan lokal. Untuk operasi offline, akses Internet tidak diperlukan setelah image dan perangkat lunak yang dibutuhkan terpasang.

3. Menerapkan IAMMETER-Docker

Rilis Docker Hub saat ini adalah IAMMETER-Docker V2.4.

3.1 Opsi A: Docker run

Buat direktori kerja dan jalankan kontainer dengan penyimpanan persisten:

docker run -d \
  --name myiammeter \
  --restart always \
  -p 5050:5050 \
  -p 1883:1883 \
  -e TZ=Etc/UTC \
  -v "$PWD/data:/app/data" \
  iammeter/iammeter

Ubah TZ=Etc/UTC menjadi zona waktu yang benar untuk lokasi pemantauan. Laporan energi bergantung pada tanggal dan waktu lokal, jadi atur ini sebelum mulai mengumpulkan data produksi.

3.2 Opsi B: Docker Compose

Buat file compose.yaml:

services:
  iammeter:
    image: iammeter/iammeter
    container_name: myiammeter
    restart: always
    ports:
      - "5050:5050"
      - "1883:1883"
    environment:
      TZ: Etc/UTC
    volumes:
      - ./data:/app/data

Jalankan layanan:

docker compose up -d

Periksa statusnya:

docker compose ps
docker compose logs --tail=100 iammeter

3.3 Membuka dasbor lokal

Buka alamat berikut dari browser di jaringan yang sama:

http://<docker-host-ip>:5050

Kredensial default:

Username: testuser
Password: 123456

Segera ubah kata sandi default. Jangan mengekspos port 5050 atau 1883 secara langsung ke Internet publik tanpa firewall, autentikasi, dan desain jaringan yang aman.

Login IAMMETER-Docker

4. Konfigurasi Awal

Setelah masuk:

  1. Buat sebuah Place untuk rumah, lokasi surya, atau fasilitas yang dipantau.
  2. Tambahkan sebuah Meter.
  3. Masukkan nomor seri (SN) meter.
  4. Pilih jenis meter satu fasa atau tiga fasa yang benar.
  5. Tetapkan setiap fasa atau kanal sebagai Grid, Inverter, atau Load.
  6. Pastikan zona waktu lokasi dan struktur pengukuran sebelum mengevaluasi laporan.

Konfigurasi meter di IAMMETER-Docker

Penetapan kanal yang benar sangat penting untuk pemantauan surya. Sistem perlu mengetahui pengukuran mana yang mewakili grid, inverter, atau beban sebelum dapat menampilkan hasil aliran energi yang bermakna.

5. Menghubungkan Meter Energi IAMMETER

Meter IAMMETER dapat mengunggah data langsung ke server Docker lokal.

Di WebUI meter, konfigurasikan unggahan HTTP pihak ketiga dan gunakan alamat host Docker:

<docker-host-ip>:5050/api/v1/sensor/uploadsensor

IP host Docker harus dapat dijangkau dari jaringan Wi-Fi meter. Gunakan SN meter yang sama seperti yang telah ditambahkan ke IAMMETER-Docker.

Konfigurasi unggahan HTTP ke IAMMETER-Docker

Setelah menyimpan konfigurasi meter:

  1. tunggu unggahan pertama;
  2. pastikan meter muncul online di IAMMETER-Docker;
  3. bandingkan nilai tegangan, daya, dan energi dengan data lokal meter;
  4. verifikasi arah dan penetapan kanal sebelum mengandalkan perhitungan surya atau impor/ekspor.

Menggunakan IAMMETER-Cloud secara bersamaan

IAMMETER-Docker dapat secara opsional meneruskan data meter ke IAMMETER-Cloud. Aktifkan penerusan hanya jika Anda menginginkan penyimpanan lokal sekaligus layanan IAMMETER-Cloud.

Meneruskan data lokal ke IAMMETER-Cloud

Untuk instalasi offline atau yang tidak bergantung pada cloud, biarkan penerusan cloud dinonaktifkan.

6. Mengunggah Data dari Perangkat atau Aplikasi Lain

IAMMETER-Docker juga dapat menerima data energi yang didukung melalui REST API-nya. Ini berguna untuk simulator, gateway, atau aplikasi pelanggan yang tidak menggunakan meter IAMMETER.

Buat meter dengan SN khusus, lalu gunakan SN yang sama pada setiap permintaan API.

Dokumentasi API interaktif tersedia di server lokal:

http://<docker-host-ip>:5050/docs

Dokumentasi API IAMMETER-Docker

Menguji permintaan API IAMMETER-Docker

Uji API terlebih dahulu pada meter non-produksi. Jaga konsistensi SN, jumlah fasa, urutan field, dan satuan agar data historis tetap dapat digunakan.

7. Menjalankan Datalogger Energi Offline

IAMMETER-Docker V2.4 dapat menyimpan data ke CSV ketika direktori datalogger di-mount. Ini berguna untuk lokasi surya terpencil, pabrik, atau ruang peralatan tanpa koneksi Internet yang andal.

Docker run dengan penyimpanan datalogger

docker run -d \
  --name myiammeter \
  --restart always \
  -p 5050:5050 \
  -p 1883:1883 \
  -e TZ=Etc/UTC \
  -v "$PWD/data:/app/data" \
  -v "$PWD/datalogger:/app/datalogger" \
  iammeter/iammeter

Untuk Docker Compose, tambahkan volume berikut:

volumes:
  - ./data:/app/data
  - ./datalogger:/app/datalogger

Buka halaman datalogger di:

http://<docker-host-ip>:5050/datalogger

Halaman datalogger awalnya menggunakan:

Username: admin
Password: admin

Ubah kata sandi ini sebagai bagian dari proses penerapan. Untuk alur kerja lengkap berbasis router dan ekspor CSV, lihat Datalogger Energi Offline dengan IAMMETER-Docker.

8. MQTT dan Fitur Lanjutan Lainnya

Port 1883 digunakan oleh layanan MQTT IAMMETER-Docker. Sebuah meter atau aplikasi lain dapat memublikasikan data pengukuran yang didukung ke IAMMETER-Docker, dan klien MQTT dapat berlangganan nilai real-time.

IAMMETER-Docker juga mendukung fitur seperti:

  • MySQL sebagai pengganti basis data lokal default untuk kumpulan data yang lebih besar;
  • publikasi dan langganan MQTT;
  • penerusan PVOutput;
  • data energi Tasmota yang kompatibel;
  • alarm real-time dan skenario datalogger satu detik.

Fitur-fitur ini sengaja dipisahkan dari jalur penerapan dasar. Konfigurasikan dan uji kontainer inti terlebih dahulu, lalu lanjutkan dengan panduan lanjutan IAMMETER-Docker.

9. Mencadangkan Data Energi Anda

Volume /app/data berisi data aplikasi yang persisten. Cadangkan direktori host yang bersangkutan secara berkala.

Prosedur dasar yang aman adalah:

  1. hentikan atau jeda penulisan ke kontainer;
  2. salin seluruh direktori data yang di-mount ke penyimpanan cadangan;
  3. sertakan direktori datalogger ketika pencatatan CSV diaktifkan;
  4. simpan lebih dari satu generasi cadangan;
  5. uji pemulihan pada kontainer terpisah sebelum bergantung pada rencana pencadangan.

Jangan menganggap sistem berkas kontainer sebagai penyimpanan permanen. Jika /app/data tidak di-mount, menghapus kontainer dapat sekaligus menghapus basis data pemantauan.

10. Memperbarui IAMMETER-Docker

Sebelum memperbarui, cadangkan direktori data persisten.

Untuk Docker Compose:

docker compose pull
docker compose up -d
docker compose logs --tail=100 iammeter

Untuk kontainer yang dibuat dengan docker run:

  1. catat port, zona waktu, dan mount volume yang ada;
  2. tarik image baru;
  3. hentikan dan hapus kontainer lama;
  4. buat kontainer kembali dengan volume persisten yang sama;
  5. verifikasi login, status meter, dan data historis.
docker pull iammeter/iammeter
docker stop myiammeter
docker rm myiammeter

Kemudian ulangi perintah docker run yang asli. Menghapus kontainer hanya aman jika data aplikasi telah tersimpan di direktori host yang di-mount dengan benar dan telah dicadangkan.

11. Pemecahan Masalah

Halaman web tidak terbuka

  • Pastikan kontainer berjalan dengan docker ps atau docker compose ps.
  • Periksa apakah port host 5050 sudah digunakan.
  • Tinjau log kontainer.
  • Pastikan firewall mengizinkan akses dari jaringan lokal.

Meter tidak muncul online

  • Pastikan meter dapat menjangkau IP host Docker.
  • Periksa URL dan port unggahan.
  • Pastikan SN di IAMMETER-Docker cocok dengan SN meter.
  • Hindari penggunaan localhost sebagai alamat server pada meter; itu merujuk pada meter itu sendiri, bukan host Docker.
  • Pastikan isolasi klien atau jaringan Wi-Fi tamu tidak memblokir lalu lintas LAN.

Data surya tampak tidak benar

  • Verifikasi arah dan pengkabelan CT.
  • Pastikan kanal mana yang ditetapkan sebagai Grid dan mana yang ditetapkan sebagai Inverter.
  • Periksa tanda daya aktif selama impor dan ekspor.
  • Pastikan zona waktu sebelum membandingkan total energi harian.

Data hilang setelah kontainer dibuat ulang

  • Pastikan /app/data telah di-mount ke direktori host yang persisten.
  • Periksa izin direktori.
  • Pulihkan cadangan terverifikasi terbaru jika volume asli tidak tersedia.

12. IAMMETER-Docker, IAMMETER-Cloud, atau Sistem Kustom?

Opsi Paling cocok untuk Lokasi data Upaya penyiapan Trade-off utama
IAMMETER-Docker Server pemantauan lokal siap pakai Host Docker Anda Rendah hingga sedang Fitur cloud terkelola lebih sedikit
IAMMETER-Cloud Pemantauan, laporan, dan akses jarak jauh siap pakai IAMMETER-Cloud Rendah Menggunakan layanan cloud terkelola
Home Assistant / Node-RED Entitas smart home dan otomatisasi kustom Platform Anda sendiri Sedang Anda merancang dasbor dan alur kerjanya
Server kustom Produk, EMS, atau pipeline data khusus Infrastruktur Anda Tinggi Anda mengembangkan dan memelihara sistemnya

Lanjutkan dengan:

13. Daftar Periksa Penerapan

  • Host Docker memiliki alamat LAN yang stabil.
  • /app/data di-mount ke penyimpanan persisten.
  • Zona waktu sesuai dengan lokasi pemantauan.
  • Kata sandi default telah diubah.
  • Port 5050 dan 1883 tidak diekspos ke Internet tanpa keperluan.
  • SN meter dan penetapan kanal sudah benar.
  • Unggahan lokal telah diverifikasi dengan pengukuran langsung.
  • Penerusan cloud hanya diaktifkan bila diperlukan.
  • Prosedur pencadangan dan pembaruan telah diuji.
  • Volume datalogger di-mount jika ekspor CSV diperlukan.

Terakhir diperbarui: 17 Juli 2026.

Atas