10 KiB
10 KiB
Feature Research
Domain: Rainfall Monitoring Station RTU Web Interface Researched: 2026-03-12 Confidence: HIGH
Feature Landscape
Table Stakes (Users Expect These)
Features users assume exist. Missing these = product feels incomplete.
| Feature | Why Expected | Complexity | Notes |
|---|---|---|---|
| Real-time Rainfall Display | Core function — users must see current rainfall values (Today, Hourly, MAR Acc, Yearly Acc) | LOW | Data directly from tipping bucket sensors; no transformation needed |
| Voltage Monitoring | Critical for remote station operation — battery and solar voltage indicate system health | LOW | ADC readings; critical for stations without grid power |
| Date/Time Display | Timestamp is essential for data interpretation and troubleshooting | LOW | NTP sync or manual configuration; GPS time if available |
| Station Identification | Operators manage multiple stations; must identify which unit they're viewing | LOW | Station ID displayed prominently |
| Communication Status | Operators must know if data is reaching the server | LOW | Signal strength (RSSI), connection status indicators |
| Main Menu Navigation | Access to settings, calibration, and file management is standard RTU behavior | MEDIUM | Must support 7" touchscreen (large touch targets) |
| Settings Configuration | RTUs require configurable parameters (thresholds, network, sensor types) | MEDIUM | Submenus for each category; form-based input |
| Calibration View | Technicians need to verify sensor readings during maintenance | LOW | Read-only display of live sensor values |
| File Management | Local CSV storage requires navigation, viewing, and deletion | MEDIUM | Must handle flash memory on embedded device |
Differentiators (Competitive Advantage)
Features that set the product apart. Not required, but valuable.
| Feature | Value Proposition | Complexity | Notes |
|---|---|---|---|
| Historical Data Graphs | Visual trends help operators anticipate conditions — rainfall patterns, battery drain cycles | MEDIUM | Chart.js can render on Pi Zero 2W; keep data points limited for performance |
| Configurable Alarm Thresholds | Users can set custom alerts for danger/warning levels; visual indicators for threshold breach | MEDIUM | Persist to local config file; apply on dashboard display |
| Touch-Optimized Interface | 7" capacitive touchscreen requires large buttons (min 48px), clear visual hierarchy | LOW | Bootstrap provides responsive components; custom CSS for kiosk sizing |
| Dual-Mode Display | Same app serves local kiosk (1024x600) and remote HD access — reduces maintenance | MEDIUM | Use CSS media queries to adapt layout; single codebase |
| Real-time Data Updates | Socket.IO push for live sensor values without page refresh | MEDIUM | Already in stack research; critical for professional appearance |
| Visual Threshold Indicators | Color-coded rainfall/level status (green/yellow/red) provides at-a-glance awareness | LOW | Simple CSS classes based on threshold comparison |
| CSV Transmission Status | Users want to know if/when data was successfully sent to server | LOW | Log transmission attempts; display last successful sync time |
Anti-Features (Commonly Requested, Often Problematic)
Features that seem good but create problems.
| Feature | Why Requested | Why Problematic | Alternative |
|---|---|---|---|
| Third-party Cloud Integration | Users may want Ambient Weather Network, Weather Underground, etc. | Adds complexity, requires accounts, breaks direct server model | Stick to direct myvscada server; provide CSV export if needed |
| Mobile Native App | "Users want an app" | Development/maintenance overhead for iOS/Android; web interface is accessible | Responsive web works on mobile browsers |
| Real-time Chat/Notifications | Operators want to communicate | Not the purpose of monitoring station; adds infrastructure | Email/SMS alerts via server-side (future consideration) |
| Multi-station Dashboard | View all stations from one screen | Requires server-side aggregation; out of RTU scope | Server-side dashboard aggregates; RTU shows local only |
| Cloud Data Storage | "Store data in the cloud" | RTU is embedded; limited storage is intentional | Direct CSV transmission to myvscada server |
| Video Streaming | Some systems include camera | Heavy bandwidth, storage; not in original spec | Out of scope |
| User Authentication (local) | "Secure the interface" | Adds complexity; kiosk mode typically runs without auth | Remote interface can have auth (port 9090); local is read-only by default |
Feature Dependencies
Dashboard Display
└──requires──> Real-time Data Updates (Socket.IO)
└──requires──> Backend Sensor Reading
Settings Menus
└──requires──> Configuration Persistence (local config file)
└──requires──> File System Access
Calibration View
└──requires──> Live Sensor Reading
File Management
└──requires──> CSV Data Storage
└──requires──> Sensor Data Collection
Threshold Alerts
└──requires──> Configurable Settings
└──enhances──> Dashboard Display
Historical Graphs
└──requires──> CSV Data Storage
└──enhances──> Dashboard Display
Dependency Notes
- Dashboard requires real-time updates: The UI must receive sensor readings via Socket.IO; this requires Flask-SocketIO backend infrastructure
- Historical graphs require CSV storage: Can't display trends without historical data; implies Phase 2 (CSV workflow) must precede graphs
- Settings require persistence: All configuration must survive reboot; store in JSON/text config file on local filesystem
- Threshold alerts enhance dashboard: Visual indicators (color-coded values) depend on both the threshold configuration AND the dashboard display
MVP Definition
Launch With (v1)
Minimum viable product — what's needed to validate the concept.
- Dashboard with rainfall readings — Core value: users see Today, Hourly, MAR Acc, Yearly Acc
- Voltage monitoring display — Battery and solar; critical for remote operation
- Date/time and station ID — Basic identification
- Communication status — Signal strength, connection state
- Main menu navigation — Access to settings submenus
- Real-time updates (Socket.IO) — Live data without refresh
Add After Validation (v1.x)
Features to add once core is working.
- Historical data graphs — Chart.js visualization of rainfall trends
- Configurable alarm thresholds — User-settable danger/warning levels
- Visual threshold indicators — Color-coded status on dashboard
- File management UI — Navigate/delete CSV files
- CSV transmission status — Show last sync time
Future Consideration (v2+)
Features to defer until product-market fit is established.
- Multi-day/hour trend analysis — Extended historical view
- Data export functionality — Download CSV from browser
- Remote authentication — Login for port 9090 interface
- SMS/email alerts — Server-side notification system
Feature Prioritization Matrix
| Feature | User Value | Implementation Cost | Priority |
|---|---|---|---|
| Dashboard rainfall display | HIGH | LOW | P1 |
| Voltage monitoring | HIGH | LOW | P1 |
| Date/time & station ID | HIGH | LOW | P1 |
| Communication status | HIGH | LOW | P1 |
| Main menu navigation | HIGH | MEDIUM | P1 |
| Real-time Socket.IO updates | HIGH | MEDIUM | P1 |
| Settings configuration | MEDIUM | MEDIUM | P1 |
| Calibration view | MEDIUM | LOW | P1 |
| File management | MEDIUM | MEDIUM | P2 |
| Historical graphs | MEDIUM | MEDIUM | P2 |
| Threshold indicators | MEDIUM | LOW | P2 |
| Alarm threshold config | MEDIUM | MEDIUM | P2 |
| Transmission status | LOW | LOW | P2 |
| Touch-optimized UI | HIGH | LOW | P1 |
| Dual-mode display | MEDIUM | MEDIUM | P2 |
Priority key:
- P1: Must have for launch
- P2: Should have, add when possible
- P3: Nice to have, future consideration
Competitor Feature Analysis
| Feature | Ambient Weather Network | Weather Display | Davis WeatherLink | Our Approach |
|---|---|---|---|---|
| Real-time dashboard | YES | YES | YES | P1 — Core |
| Historical graphs | YES | YES | YES | P2 — Post-launch |
| Alarm thresholds | YES (cloud) | YES (local) | YES (cloud) | P2 — Configurable |
| Touch interface | Responsive web | Windows app | Native app | P1 — Web-based |
| Data export | Via API | YES | YES | P2 — Future |
| Local storage | Cloud only | Local + cloud | Cloud + local | P1 — Local CSV |
| Multi-station | YES | Via addons | YES | Server handles |
Analysis Notes:
- Consumer solutions (Ambient, Davis) lean heavily on cloud — we differ by direct server transmission
- Professional solutions (Weather Display, AQUARIUS) offer local storage + sophisticated alarms
- Our differentiator: lightweight embedded design with direct myvscada integration
Sources
- Rainwise/Ambient Weather Network — Consumer weather station dashboard patterns
- Weather Display — Professional weather station software with extensive local features
- KISTERS datasphere — Enterprise hydrological monitoring platform
- Aquatic Informatics AQUARIUS — Professional water data management
- Hydro-Logic Timeview — Flood monitoring with automated alarms
- California Data Exchange Center (CDEC) — Government hydrological monitoring
- Perry Weather — Modern weather monitoring with threshold alerts
- Project context (THE_IDEA.md) — Existing RTU feature set
- Project context (PROJECT.md) — Core value and constraints
Feature research for: Rainfall Monitoring Station RTU Web Interface Researched: 2026-03-12