Jsholat atau luci-app-jsholat adalah aplikasi penjadwal waktu sholat otomatis untuk perangkat OpenWrt (Router/STB/Mini PC Server) yang dilengkapi pemutar adzan, pengingat TTS, dukungan nuansa Ramadhan (Imsak & Sahur, dan notifikasi telegram), serta integrasi Telegram Bot untuk kontrol jarak jauh.
- Jadwal Sholat Multi-Sumber: Mendukung jadwal dari JadwalSholat.Org, MyQuran API, Aladhan API, Arina.id, Equran.id dan AjiMedia API.
- Antarmuka LuCI Modern: Pengaturan lengkap melalui GUI dengan pemilihan provinsi, kota/kabupaten, dan zona waktu otomatis.
- Pengingat Waktu Sholat (TTS): Pengingat suara otomatis sebelum waktu sholat tiba dengan dukungan Google TTS, Edge-TTS, eSpeak, Murf.ai, dan Gemini AI TTS.
- Adzan Otomatis: Memutar file MP3 adzan (umum dan subuh) serta tarhim/imsak saat waktu tiba.
- Bot Telegram Terintegrasi: Kontrol penuh jadwal, pengaturan suara, alarm sahur, tarhim, dan monitoring melalui Telegram.
- Alarm Sahur Ramadhan: Pengingat bangun sahur dengan teks yang dapat dikustomisasi (hanya aktif saat Ramadhan) via bot Telegram.
- Ayat Acak: Mengirim ayat Al-Qur'an beserta terjemahan melalui notifikasi Telegram.
- Status Detail & Monitoring: Halaman status lengkap dengan informasi service, bot, memori sistem, dan jadwal hari ini.
- Installer Otomatis (jsi): Script instalasi yang mengurus dependensi, driver soundcard, dan pemilihan versi paket (MAIN/DEV/Latest Release).
- Logging Terpusat: Log untuk service utama, penjadwal, bot Telegram dengan rotasi otomatis.
- Perangkat dengan OpenWrt terinstal (termasuk arsitektur seperti x86, ARM, MIPS).
- Koneksi internet untuk mengunduh file dan update jadwal.
- USB Soundcard (jika tidak ada soundcard internal) dan speaker.
- Paket-paket berikut akan diinstall otomatis oleh
jsi:madplay/mpg123(pemutar MP3)alsa-utils(tools audio)python3,python3-pip,jq,curl,luci-lib-jsonc- Pillow (via pip) untuk generate gambar jadwal bulanan
- Edge-TTS (via pip) untuk suara reminder/pengingat dari Microst
- Gemini AI TTS untuk suara natural TTS berbasis AI dari Google. (via API key)
wget --no-check-certificate -q "https://github.com/ajisetiawan716/Jsholat/raw/refs/heads/main/jsi" \
-O /usr/bin/jsi && chmod +x /usr/bin/jsi && clear && /usr/bin/jsiCatatan: jalankan dengan perintah
jsidi terminal.
- Jalankan
jsidi terminal. - Pilih opsi 1 untuk menginstall semua dependensi dan file pendukung (MP3 adzan, tarhim, intro/outro reminder).
- Pilih opsi 2 untuk mendeteksi dan menginstall driver soundcard secara otomatis (membuat konfigurasi audio
/etc/asound.conf). - Pilih opsi 3 untuk menginstall paket luci-app-jsholat:
- a) dari URL/file lokal
- b) dari branch MAIN*
- c) dari branch DEV*
- d) dari Latest Release (GitHub) - Recommended
- Setelah install selesai bersihkan cache LuCi (Opsional).
/etc/init.d/uhttpd restart
/etc/init.d/rpcd restart-
Buka LuCI (mis.
http://192.168.1.1), masuk ke menu Services โ Jadwal Sholat. -
Cek status semua service:
/etc/init.d/jsholat status /etc/init.d/jadwal status /etc/init.d/jsholat-bot status
-
Atau cek status via menu monitoring di LuCi menu atau menu
Status Detail.
- Pilih Provinsi & Kota/Kabupaten: Sistem akan otomatis mengisi zona waktu.
- Pilih Sumber Jadwal:
JadwalSholat.Org,MyQuran API,Aladhan API,Arina.id, Equran.idatauAjiMedia API. (Rekomendasi pilihJadwalSholat.Org) - Atur Koreksi Hijriyah (jika perlu): Penyesuaian -2 hingga +2 hari.
- Atur Volume dan Mixer Device:
amixercontrol (Master, PCM, Speaker). - Pilih Metode TTS: Google, Edge-TTS, eSpeak, Murf.ai, atau Gemini AI.
- Aktifkan Reminder: Durasi sebelum adzan (5,10,15 menit), jumlah pengulangan, interval.
- Atur Tarhim Imsyak:
ramadhan_only: Tarhim selalu diputar, TTS reminder hanya saat Ramadhan.always: Tarhim dan TTS reminder diputar setiap hari.
- Masukkan Token dan Chat ID Bot Telegram (dapatkan dari @BotFather).
- Simpan (Save & Apply).
Setelah token dan chat ID dimasukkan, service jsholat-bot akan berjalan secara otomatis.
-
Mulai bot dengan perintah
/start. Bot akan secara otomatis menambahkan perintah bot. -
Daftar lengkap perintah bot:
/start - ๐ Mulai bot dan menu utama /jadwal - ๐ Jadwal sholat hari ini /jdwlbulan - ๐ Jadwal sholat bulan ini /statusbot - ๐ค Status detail bot /status - ๐ Status singkat pengaturan /lokasi - ๐ Lihat lokasi saat ini /setlokasi - ๐ Cari dan ubah lokasi /setjadwal - ๐ Ganti sumber jadwal /sethijri - ๐ Koreksi tanggal Hijriyah /update - ๐ Update jadwal sholat /setvolume - ๐ Atur volume suara /detectaudio - ๐๏ธ Deteksi mixer audio /reminder - ๐ Atur pengingat sholat /sahur - ๐ Atur alarm sahur Ramadhan /settts - ๐ฃ๏ธ Pilih metode TTS /gemini - ๐ค Konfigurasi Gemini TTS /tarhim - ๐ต Atur tarhim imsyak /ayat - ๐ Atur ayat acak /control - ๐ฎ Kontrol service /setupbot - ๐ค Atur profil bot (nama, foto, bio) /help - โ Bantuan daftar perintah
- Tes speaker:
speaker-test -D default -t sine -f 1000 -l 1di terminal, atauvia Bot:/detectaudio, lalu pilih "๐ง Tes Suara". - Tes TTS via bot:
/setttspilih metode TTS, lalu/reminderaktifkan suara pilih durasi pengingat sebelum waktu sholat, lalu/reminderpilih "๐ง Test TTS". - Tes adzan: Tunggu hingga waktu sholat atau putar manual dengan
madplay /root/jsholat/adzan.mp3. - Tes Sahur: Pilih
/sahurpada menu bot, pilih "๐ง Tes Suara".
- Manual di LuCI: Klik tombol "Perbarui Jadwal Sekarang".
- Bot Telegram: Kirim perintah
/update. - CLI:
jadwal-update.sh
- Halaman Status Detail:
Services โ Jadwal Sholat โ Status Detail.- Menampilkan status service jsholat & bot, uptime, penggunaan memori.
- Menampilkan jadwal hari ini, sholat berikutnya, dan countdown real-time.
- Informasi konfigurasi TTS (Gemini, Edge-TTS, Murf.AI), Tarhim, dan Sahur.
- Memory usage dengan progress bar yang diupdate setiap 5 detik.
- Halaman Log:
Services โ Jadwal Sholat โ Log Service.- Menampilkan log
service.logdanbot.logdengan auto-refresh.
- Menampilkan log
-
Jalankan
jsi, pilih opsi 4 (uninstall). -
Hapus sisa direktori jika masih ada:
rm -rf /root/jsholat /usr/share/jsholat /var/log/jsholat rm -f /etc/config/jsholat
/usr/bin/
โโโ jsholat # Script utama pemutar adzan & reminder
โโโ jsholat-bot # Script bot Telegram
โโโ jadwal-update.sh # Update jadwal multi-source (JSON)
โโโ jadwal-monthly # Generator gambar jadwal bulanan (Python)
/etc/init.d/
โโโ jsholat # Service Jsholat (pemutar)
โโโ jsholat-bot # Service Bot Telegram
โโโ jadwal # Service penjadwal update
/root/jsholat/ # File audio default
โโโ adzan.mp3 # Adzan umum
โโโ adzan_subuh.mp3 # Adzan subuh
โโโ tarhim.mp3 # Tarhim (menjelang imsyak)
/usr/share/jsholat/ # Data bersama
โโโ cities.json # Database kota & provinsi
โโโ last_updated.txt # Info update terakhir (JSON)
โโโ sounds/ # Audio intro/outro reminder
โ โโโ in_reminder.mp3
โ โโโ out_reminder.mp3
โโโ sahur-reminder.txt # Teks custom alarm sahur
/usr/lib/lua/luci/
โโโ controller/jsholat.lua # Controller LuCI
โโโ model/cbi/jsholat.lua # Model CBI untuk konfigurasi
โโโ view/jsholat/ # View
โโโ city_select.htm
โโโ output.htm
โโโ status_detail.htm
โโโ logs.htm
โโโ jadwal.htm
/var/log/jsholat/ # Log files
โโโ service.log
โโโ bot.log
Aplikasi ini dilisensikan di bawah Lisensi APACHE.
Berkontribusi: Buka Issues atau ajukan Pull Request.
- Mikodemos Ragil โ Jsholat (Original Script)
- Aji Setiawan โ Rewrite & Pengembangan Lanjutan
- Hanyasebuahpengalaman / Khadafi Husein โ Inspirasi Mesin Adzan OpenWrt
- JadwalSholat.Org โ Data jadwal sholat untuk wilayah Indonesia.
- MyQuran API โ Layanan API dari MyQuran yang menyediakan jadwal sholat, data Al-Qur'an (termasuk ayat acak) dan Kalender Hijriyah.
- Aladhan API โ API jadwal sholat internasional dengan berbagai metode perhitungan.
- AjiMedia API โ API jadwal sholat untuk wilayah Indonesia (sumber data internal).
- Arina.Id โ Penyedia jadwal sholat berbasis web untuk wilayah Indonesia dengan data per kota dan update berkala.
- Equran.Id โ API jadwal sholat serta data Al-Qur'an untuk wilayah Indonesia dengan format JSON yang mudah diproses.
- Google Translate TTS โ Layanan TTS gratis dari Google (tidak memerlukan API key).
- Edge-TTS (Microsoft) โ Layanan TTS premium dari Microsoft Edge, diakses melalui library Python
edge-tts. - eSpeak โ Mesin TTS sintesis suara ringan dan offline untuk OpenWrt.
- Murf.ai โ Layanan TTS berkualitas tinggi dengan suara profesional (memerlukan API key).
- Gemini AI TTS (Google) โ Teknologi TTS berbasis AI dari Google dengan berbagai pilihan voice premium (memerlukan API key dari Google AI Studio).
- Pillow (PIL) โ Library Python untuk pemrosesan gambar (digunakan untuk generate jadwal bulanan).
- jq โ Parser JSON untuk command-line (digunakan di berbagai script).
- madplay / mpg123 โ Pemutar audio MP3 untuk OpenWrt.
- ALSA (Advanced Linux Sound Architecture) โ Sistem suara pada Linux/OpenWrt.













