PANDUAN INSTALASI GENIEACS DASHBOARD (HESTIACP / LINUX)

1. INSTALASI
   A. Upload File:
      - Buka File Manager di HestiaCP.
      - Masuk ke: web > acs.tidar.net.id > public_html
      - Upload semua file project ke sini (index.php, map.php, folder include, folder data, dll).
      - Hapus file index.html bawaan HestiaCP jika ada.

   B. Izin Folder (Permissions):
      - Klik kanan pada folder 'data'.
      - Pilih Change Permissions (Chmod).
      - Set ke 755 atau 777 (Agar script bisa menyimpan tags.json).

   C. Aktifkan SSL (HTTPS):
      - Di HestiaCP, masuk menu WEB.
      - Edit domain acs.tidar.net.id.
      - Centang "Enable SSL for this domain".
      - Centang "Use Lets Encrypt to obtain SSL certificate".
      - Save. (Tunggu 1-2 menit).

2. PENGGUNAAN
   A. Login:
      - Buka Browser: https://acs.tidar.net.id/
      - Login Default: admin / 123456 (Bisa diubah di config.php).

   B. Dashboard:
      - Cari Device: Ketik Username/IP/SN di kolom pencarian.
      - Tambah Tag: Klik ikon Tag untuk memberi nama (misal: ODP-A).
      - Ganti WiFi: Klik ikon Kunci (Kuning).
      - Remote Web: Klik tombol Remote (jika IP public/bisa diakses).

   C. Peta (Map):
      - Klik tombol "Peta".
      - Device akan muncul jika memiliki tag koordinat (Format: GPS:-7.x,110.x) atau VirtualParameters.coordinates.

3. TROUBLESHOOTING
   - Peta Blank? Pastikan PC terkoneksi internet.
   - Gagal Simpan Tag? Pastikan folder 'data' memiliki izin tulis (writable).

4. RINGKASAN UPDATE TERBARU
   A. Sistem Tagging Lokal (Anti-Error):
      - Penyimpanan tag dipindah ke file lokal (data/tags.json) untuk menghindari error API GenieACS.
      - Fitur Edit Tag (Tombol Kuning) dan Hapus Tag (Kosongkan input).
      - Data tag aman dan tidak hilang meski device di-reset.

   B. Fitur Peta (Live Map):
      - Label Realtime: Menampilkan Sinyal (dBm) dan Suhu (°C) langsung di ikon peta.
      - Indikator Warna: Teks sinyal berubah merah jika < -27 dBm.
      - Info Traffic: Popup menampilkan kapasitas bandwidth (Download/Upload).

   C. Perbaikan Sistem:
      - Scan IP Pintar: Mendeteksi IP WAN secara rekursif untuk fitur Remote Web.
      - Diagnosa: File 'cek_data.php' untuk mengecek status koneksi ke server.
      - Keamanan: Perbaikan bug karakter spesial pada ID device.

   D. Integrasi Bot (Public Server):
      - Telegram WAJIB menggunakan HTTPS (SSL).
      - Karena Anda pakai HestiaCP + Let's Encrypt, SSL sudah aman.
      - Klik link ini untuk aktifkan bot:
        https://api.telegram.org/bot<TOKEN>/setWebhook?url=https://acs.tidar.net.id/telegram_bot.php
      - Ganti <TOKEN> dengan token bot Anda.

5. TESTING & VERIFIKASI
   A. Test Bot Telegram:
      - Buka Telegram, cari bot Anda.
      - Ketik: /start (Harus ada balasan "Halo! Saya GenieACS Bot...").
      - Ketik: /help (Harus muncul daftar perintah).
      - Ketik: /cek [username_pppoe] (Harus muncul status sinyal).
      - Ketik: /reboot [username_pppoe] (Test restart modem).
      - Ketik: /wifi [user] [ssid] [pass] (Test ganti nama wifi & password).

   B. Test Notifikasi Reboot:
      - Pastikan TELEGRAM_ADMIN_ID di config.php sudah diisi ANGKA ID Anda (bukan username).
      - Cek ID Anda dengan chat ke bot @userinfobot.
      - Coba reboot modem dari dashboard, cek apakah ada notifikasi masuk.

   C. Penggunaan di Grup Telegram (Multi-User):
      - Masukkan Bot ke dalam Grup Telegram teknisi Anda.
      - Ketik /id di dalam grup tersebut. Bot akan membalas ID Grup (contoh: -100123456).
      - Agar semua anggota bisa cek: Langsung ketik /cek [user] di grup.
      - Agar notifikasi reboot masuk ke grup:
        Buka include/config.php, ganti TELEGRAM_ADMIN_ID dengan ID Grup tersebut.
        Contoh: define('TELEGRAM_ADMIN_ID', '-100123456');

6. SETTING CRON JOB (MONITORING OTOMATIS)
   Agar notifikasi device offline berjalan otomatis:
   1. Di HestiaCP, masuk menu CRON.
   2. Klik Add Cron Job.
   3. Isi jadwal waktu (Time) sebagai berikut:
      - Minute: */5
      - Hour: *
      - Day: *
      - Month: *
      - Day of Week: *
   4. Command: /usr/bin/php /home/admin/web/acs.tidar.net.id/public_html/monitor.php
      (Sesuaikan 'admin' dengan username HestiaCP Anda).
   5. Save.