Radar Cuaca Termux Untuk Jabodetabek dan Indonesia

Radar Cuaca Termux Untuk Jabodetabek dan Indonesia

Radar Cuaca Ojol — Panduan Pasang & Pakai (Termux / Linux)

Ringkasan: Tutorial ini menjelaskan cara install, konfigurasi, dan menjalankan script Radar Cuaca Ojol — alat prakiraan 24 jam untuk driver ojol yang memadukan Open-Meteo, ensemble GFS, dan pemantauan BMKG. Termasuk opsi kirim notifikasi Telegram dan mode daemon. Cocok di Termux (Android) atau VPS/Linux.

Repo: Radar-Cuaca-Termux Repo: data-indonesia

Daftar Isi

  1. Prasyarat
  2. File & Struktur
  3. Instalasi cepat
  4. Konfigurasi environment
  5. Menjalankan (once / daemon)
  6. Konfigurasi Telegram
  7. Opsi tambahan & tips (Termux)
  8. Contoh penggunaan
  9. Penjelasan singkat output
  10. Troubleshooting cepat
  11. Menjadwalkan (cron / Termux)
  12. Lisensi & sumber

1. Prasyarat

  • Python 3.8+ (di Termux: pkg install python)
  • pip packages: requests, beautifulsoup4 (opsional), dan modul standar Python.
  • Koneksi internet (API Open-Meteo, ensemble-api.open-meteo.com, BMKG)
  • Opsional: akun Telegram bot (untuk notifikasi)

2. File & Struktur

Repo utama: Radar-Cuaca-Termux berisi script utama (seperti file yang kamu kirim). Repo data-indonesia menyediakan DB nama lokasi/koordinat lokal (opsional, dipakai saat arg --names).

3. Instalasi cepat

# di Termux / Linux
git clone https://github.com/hikamfajri96/Radar-Cuaca-Termux-.git
cd Radar-Cuaca-Termux-
python3 -m pip install --user requests beautifulsoup4
# (opsional) clone data lokasi
git clone https://github.com/hikamfajri96/data-indonesia.git data-indonesia

4. Konfigurasi environment

Script menggunakan environment variables untuk konfigurasi. Buat file .env atau export langsung.

export DATA_INDONESIA_DIR="./data-indonesia"
export TG_BOT_TOKEN="123456:ABCDEF..."   # token bot Telegram (opsional)
export TG_CHAT_ID="987654321"            # chat_id tujuan Telegram (opsional)
export OPENAI_API_KEY=""                 # opsional, hanya untuk ringkasan AI
export OPENAI_MODEL="gpt-4o-mini"        # opsional

Parameter default koordinat: Jakarta, Bogor, Depok, Tangerang, Bekasi. Kalau mau target lain, jalankan dengan arg --koordinat atau --names.

5. Menjalankan (once / daemon)

Mode sekali jalan (recommended untuk uji):

python3 radar_cuaca.py --once
# atau
python3 radar_cuaca.py

Mode daemon (loop tiap N detik):

python3 radar_cuaca.py --daemon --interval 3600
# menjalankan tiap 3600 detik (1 jam)

6. Konfigurasi Telegram (notifikasi)

Untuk mengirim ringkasan ke Telegram, lakukan:

  1. Buat bot via @BotFather → dapatkan TG_BOT_TOKEN.
  2. Dapatkan chat_id dengan mengirim pesan ke bot dan memanggil API getUpdates atau pakai @userinfobot.
  3. Set environment variables TG_BOT_TOKEN dan TG_CHAT_ID.

Jika token/chat kosong, script hanya menulis log dan menampilkan hasil di stdout.

7. Opsi tambahan & tips (Termux)

  • Jalankan di background: pakai termux-wake-lock + nohup atau tmux/screen.
  • Pastikan ~/.profile atau ~/.bashrc memuat env vars jika mau auto-start.
  • Install util opsional untuk fitur lebih lengkap: curl jq xmlstarlet — script menampilkan peringatan kalau tidak ada.

8. Contoh penggunaan & argumen berguna

# Pakai daftar nama dari file (format tiap baris: name[,lat,lon])
python3 radar_cuaca.py --names @my_targets.txt

# Pakai koordinat manual
python3 radar_cuaca.py --koordinat "Jakarta:-6.1754,106.8272;-6.3,106.7"

# Sembunyikan banner figlet (berguna di cron/termux)
python3 radar_cuaca.py --once --no-banner

9. Penjelasan singkat output

  • Setiap lokasi dicetak per jam (24 jam ke depan): suhu, peluang hujan, curah (mm), akumulasi 3/6 jam, kelembapan, deviasi 3-jam (deterministik & ensemble), kecepatan & arah angin, gust, UV, ringkasan status (✅/⚠️/❌).
  • Script menggabungkan data: Open-Meteo (hourly), ensemble GFS (ensemble API) untuk deviasi, dan BMKG nowcast (XML) bila tersedia — lalu membuat rekomendasi aman/waspada/rawan.
  • Notifikasi Telegram berisi ringkasan singkat + kesimpulan tegas (jika OPENAI_API_KEY tersedia gunakan summarizer AI; bila tidak, fallback lokal otomatis).

10. Troubleshooting cepat

  • Gagal fetch Open-Meteo: cek koneksi, rate limit, atau parameter lat/lon salah.
  • BMKG tidak muncul: BMKG index scraping kadang berubah—script mencoba dua URL bahasa; periksa BMKG_INDEX_URL.
  • Telegram tidak terkirim: cek token/chat_id benar. Perhatikan ukuran pesan (script chunking ke 3500 bytes).
  • Permasalahan encoding di Termux: jika karakter panah/figlet rusak, jalankan dengan --no-unicode --no-banner.

11. Menjadwalkan (cron / Termux)

Contoh cron (Linux): jalankan tiap jam:

0 * * * * /usr/bin/python3 /path/to/radar_cuaca.py --once >> /path/to/cuaca.log 2>&1

Di Termux, pakai termux-job-scheduler atau jalankan nohup + sleep loop sesuai kebutuhan.

12. Lisensi & sumber

Proyek ini mengandalkan data Open-Meteo, ensemble-api.open-meteo.com, dan BMKG. Untuk DB lokasi gunakan repo data-indonesia.


Repositori terkait (backlink):

https://github.com/hikamfajri96/Radar-Cuaca-Termux-
https://github.com/hikamfajri96/data-indonesia

Posting Komentar untuk "Radar Cuaca Termux Untuk Jabodetabek dan Indonesia"