This guide is written for absolute beginners. Follow each step in order.
1. Introduction to PumpPilot
PumpPilot is a smart motor control platform for fair and safe pump usage.
- One Admin controls one pump line with many users.
- System handles wallet minutes, queue, and load shedding automatically.
- ESP32 follows server command every few seconds.
2. Account Login and Access
Choose the correct role before login: Master Admin, Admin, or User.
- User and Admin can register from Home page.
- New Admin may stay pending until Master Admin approval.
- If login fails, check role + username + password.
Example: Admin 'Rahim' registers -> status pending -> Master approves -> then login works.
3. Understanding the Dashboard
Dashboard cards show real-time motor and wallet state.
- Motor Status: OFF / RUNNING / HOLD
- Remaining Minutes: current running timer
- Available Minutes: wallet balance
- Queue cards appear only when user is queued
4. Checking Your Balance
Always verify balance before starting.
- If balance is below 5 minutes, start controls are restricted.
- Recharge first, then run motor.
Example: Balance 4m -> Start disabled -> request recharge -> after approval balance updates.
5. Getting Minutes Recharge
User requests minutes; Admin approves/recharges from Admin Dashboard.
- User clicks Buy Minutes and sends request.
- Admin sees pending request and can Approve/Decline.
- Approved minutes are added instantly to user wallet.
6. How to Start the Pump
Set run time and start motor from User Dashboard.
- Enter requested minutes in Set Minutes.
- Press Start Motor.
- If pump is busy, user automatically joins queue.
Example: Request 10m while another user runs -> Queue Position becomes #1.
7. How to Stop the Pump
Stop can be pressed anytime, including queued state.
- Running user: motor stops and usage is finalized.
- Queued user: queue entry is removed.
- Dashboard refreshes to normal OFF state.
8. Unused Minute Return (Refund System)
If a run is stopped early, unused requested minutes are returned to wallet balance.
- System first reserves requested minutes for fair queue control.
- On early stop, actual used minutes are calculated from run time.
- Unused part is refunded automatically to Available Minutes.
Example: User sets 10m, stops at 6m -> Used 6m, Refund 4m, wallet gets 4m back.
9. Adding Extra Minutes
When RUNNING, user can extend by +1 minute.
- Button appears only during RUNNING.
- Each click increases remaining time by 1 minute.
- Wallet is adjusted accordingly.
10. Understanding the Queue System
Queue ensures only one active motor per admin.
- Position #1 waits for current run to finish.
- Estimated wait depends on current and earlier queue times.
- Next user auto-starts when current run ends.
Example: User A running 8m, User B queue #1 -> estimated wait about 8m.
11. What to Do During Load Shedding
Load shedding forces HOLD mode for safety.
- Motor output turns OFF immediately.
- Timer pauses during HOLD.
- After power return, RUNNING resumes from same remaining time.
12. Viewing Usage History
Use Logs page to track activity.
- See motor_start, motor_stop, recharge, hold, resume events.
- Master sees all logs, Admin sees own logs, User sees own logs.
- Useful for support and billing checks.
13. Common Problems and Solutions
Use this quick troubleshooting order.
- Check internet and API base URL.
- Check account status (active/suspended).
- Check wallet balance and queue status.
- Check load shedding state and ESP32 connectivity.
14. Safety Guidelines
Follow electrical and operational safety at all times.
- Do not bypass interlock or relay protection.
- Use proper rated contactor/relay and wiring.
- Keep panel dry and protected from dust/water.
15. Best Usage Practices
Good habits improve uptime and reduce disputes.
- Set realistic run minutes, avoid oversized requests.
- Approve/decline requests quickly to keep workflow smooth.
- Review logs weekly for unusual behavior.
- Protect credentials, secrets, and device access.