114 lines
3.2 KiB
Markdown
114 lines
3.2 KiB
Markdown
# Status Proyek ApsGo
|
|
|
|
**Tanggal Update:** 11 Februari 2026
|
|
|
|
## ✅ Status Saat Ini
|
|
|
|
### Sistem Berjalan
|
|
- ✅ **Real-time automation** dengan delay 20 detik/section
|
|
- ✅ Railway Worker aktif 24/7
|
|
- ✅ Firebase Realtime Database sync
|
|
- ✅ Mobile app Flutter (Android & iOS ready)
|
|
- ✅ Auto-recovery dari timeout errors
|
|
|
|
### Konfigurasi Terkini
|
|
- **1 waktu jadwal → banyak pompa sekaligus**
|
|
- Ketika waktu penjadwalan match (contoh: 12:05)
|
|
- Semua pompa yang terkonfigurasi akan ON bersamaan
|
|
- Duration: 600 detik (10 menit) default
|
|
- Mosvets 1-7 bisa dikontrol simultan
|
|
|
|
## 🔧 Komponen Teknis
|
|
|
|
### Railway Worker
|
|
- **Repository:** https://github.com/awisnuu/myreppril.git
|
|
- **Status:** Deployed & Running
|
|
- **Features:**
|
|
- Firebase SDK + REST API fallback
|
|
- BullMQ job queue (concurrency: 1)
|
|
- Timezone: Asia/Jakarta (UTC+7)
|
|
- Health checks: Firebase, Redis, Queue
|
|
- Auto timeout handling (10s limit)
|
|
- Job-level timeout (15 min max)
|
|
|
|
### Firebase Configuration
|
|
- **Database:** project-ta-951b4-default-rtdb.firebaseio.com
|
|
- **Nodes:**
|
|
- `/kontrol` - Scheduling configuration
|
|
- `/aktuator` - Real-time device control
|
|
- `/sensor` - Sensor data
|
|
- `/history` - Activity logs
|
|
|
|
### Mobile App
|
|
- **Framework:** Flutter
|
|
- **Auth:** Firebase Auth + Google Sign-In
|
|
- **Features:**
|
|
- Manual control page
|
|
- Schedule configuration (waktu mode)
|
|
- Real-time sensor monitoring
|
|
- History viewer
|
|
|
|
## ⚠️ Known Issues
|
|
|
|
### 1. Multiple Pumps per Schedule
|
|
**Status:** By Design
|
|
- Satu waktu penjadwalan mengontrol semua pompa bersamaan
|
|
- Jika butuh kontrol terpisah, perlu implementasi:
|
|
- Jadwal terpisah per pompa
|
|
- Queue scheduling dengan interval
|
|
- Individual pump selection
|
|
|
|
### 2. Delay 20 Detik
|
|
**Status:** Normal Behavior
|
|
- Scheduler check setiap 60 detik
|
|
- Processing job: ~20 detik
|
|
- Total effective delay: 20-60 detik dari waktu target
|
|
|
|
## 📊 Performance Metrics
|
|
|
|
- **Scheduler Accuracy:** ±20 detik
|
|
- **Firebase Sync Latency:** <2 detik
|
|
- **Job Processing Time:** ~20 detik (turn ON + countdown + turn OFF)
|
|
- **Uptime:** 24/7 dengan auto-recovery
|
|
- **Error Rate:** <1% (dengan REST API fallback)
|
|
|
|
## 🚀 Repository Links
|
|
|
|
- **Main Project:** https://github.com/awisnuu/Apsgo.git
|
|
- **Railway Worker:** https://github.com/awisnuu/myreppril.git
|
|
|
|
## 📝 Dokumentasi
|
|
|
|
- [README.md](README.md) - Project overview
|
|
- [DEPLOYMENT_GUIDE.md](DEPLOYMENT_GUIDE.md) - Deployment instructions
|
|
- [DEBUG_TESTING_GUIDE.md](DEBUG_TESTING_GUIDE.md) - Testing procedures
|
|
- [RAILWAY_TROUBLESHOOTING.md](RAILWAY_TROUBLESHOOTING.md) - Common issues
|
|
- [railway-worker/](railway-worker/) - Worker documentation
|
|
|
|
## 🔄 Next Steps (Future Improvements)
|
|
|
|
1. **Separate Pump Scheduling**
|
|
- Individual pump control per schedule
|
|
- Queue-based sequential execution
|
|
- Configurable delays between pumps
|
|
|
|
2. **Enhanced Monitoring**
|
|
- Real-time dashboard
|
|
- Alert notifications
|
|
- Performance analytics
|
|
|
|
3. **Advanced Scheduling**
|
|
- Multiple schedules per day
|
|
- Day-of-week selection
|
|
- Holiday exceptions
|
|
|
|
4. **Sensor Integration**
|
|
- Auto-adjust based on soil moisture
|
|
- Weather API integration
|
|
- Smart duration calculation
|
|
|
|
---
|
|
|
|
**Last Updated:** 2026-02-11 13:30 WIB
|
|
**System Status:** ✅ Operational
|