Files
rtu_v5/.planning/research/FEATURES.md
2026-03-12 06:04:19 +08:00

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