# Requirements: TCKRTUIYO - Rainfall Station RTU Web Interface **Defined:** 2026-03-12 **Core Value:** Real-time rainfall and environmental sensor monitoring with automatic data transmission to myvscada server ## v1 Requirements Requirements for initial release. Each maps to roadmap phases. ### Dashboard - [ ] **DASH-01**: Display current rainfall readings (Today, Hourly, MAR Acc, Yearly Acc) - [ ] **DASH-02**: Display solar voltage reading - [ ] **DASH-03**: Display battery voltage with status indicator (HIGH/NORMAL/LOW) - [ ] **DASH-04**: Display current date and time (HH:MM:SS DD-MM-YYYY) - [ ] **DASH-05**: Display station ID - [ ] **DASH-06**: Display communication status (signal strength, connection status) - [ ] **DASH-07**: Display software version - [ ] **DASH-08**: Real-time updates (auto-refresh or Socket.IO) - [ ] **DASH-09**: Last updated timestamp indicator ### User Interface - [ ] **UI-01**: Touch-optimized interface for 7" 1024x600 display - [ ] **UI-02**: Large touch targets (minimum 48px) - [ ] **UI-03**: Main menu navigation - [ ] **UI-04**: Responsive layout for remote HD access (1920x1080 on port 9090) - [ ] **UI-05**: Login/logout functionality ### Settings - [ ] **SETT-01**: Station Info display and edit - [ ] **SETT-02**: Date/Time setting - [ ] **SETT-03**: Mobile network settings view/edit - [ ] **SETT-04**: ADC channel configuration (4 channels, types: 4-20mA, 0-10vDC) - [ ] **SETT-05**: Rainfall sensor settings (ID, thresholds) - [ ] **SETT-06**: Water level threshold settings - [ ] **SETT-07**: EVAP settings - [ ] **SETT-08**: Network settings (IP, subnet, gateway, DNS, MAC) - [ ] **SETT-09**: Protocol settings (FTP, SCP, SFTP, WebDAV server config) ### Calibration - [ ] **CAL-01**: View live ADC readings (4 channels) - [ ] **CAL-02**: View current sensor readings with units - [ ] **CAL-03**: Reset rainfall counters - [ ] **CAL-04**: Display channel type, ADC value, datum, reading ### File Management - [ ] **FILE-01**: List CSV files in flash memory - [ ] **FILE-02**: View CSV file contents - [ ] **FILE-03**: Navigate file list (scroll up/down) - [ ] **FILE-04**: Delete CSV files - [ ] **FILE-05**: Generate tidEDA formatted files ### Backend - [ ] **BACK-01**: Flask backend running on Raspberry Pi - [ ] **BACK-02**: Sensor data API endpoints - [ ] **BACK-03**: Settings API (read/write) - [ ] **BACK-04**: File management API ## v2 Requirements Deferred to future release. Tracked but not in current roadmap. ### Historical Data - [ ] **HIST-01**: Historical rainfall graphs (daily, weekly, monthly) - [ ] **HIST-02**: Historical voltage graphs - [ ] **HIST-03**: Date range selection for historical view - [ ] **HIST-04**: Export data to CSV ### Alerts & Notifications - [ ] **ALERT-01**: Configurable rainfall threshold alerts (Warning, Danger) - [ ] **ALERT-02**: Configurable water level threshold alerts - [ ] **ALERT-03**: Visual indicators for alert states - [ ] **ALERT-04**: SMS notification on threshold breach ### Advanced Network - [ ] **NETW-01**: Automatic retry on transmission failure - [ ] **NETW-02**: Transmission queue status display - [ ] **NETW-03**: Manual trigger for immediate transmission - [ ] **NETW-04**: Transmission log/history ### GPS Integration - [ ] **GPS-01**: Display GPS coordinates - [ ] **GPS-02**: Manual coordinate entry (backup to USB GPS) ## Out of Scope Explicitly excluded. Documented to prevent scope creep. | Feature | Reason | |---------|--------| | Third-party cloud integration | Direct server connection only per requirements | | Mobile native apps | Web-first approach | | Multi-station dashboards | Server handles aggregation | | Real-time chat | Outside domain | | OAuth authentication | Simple session-based auth sufficient for local device | ## Traceability Which phases cover which requirements. Updated during roadmap creation. | Requirement | Phase | Status | |-------------|-------|--------| | DASH-01 | Phase 1 | Pending | | DASH-02 | Phase 1 | Pending | | DASH-03 | Phase 1 | Pending | | DASH-04 | Phase 1 | Pending | | DASH-05 | Phase 1 | Pending | | DASH-06 | Phase 1 | Pending | | DASH-07 | Phase 1 | Pending | | DASH-08 | Phase 1 | Pending | | DASH-09 | Phase 1 | Pending | | UI-01 | Phase 1 | Pending | | UI-02 | Phase 1 | Pending | | UI-03 | Phase 1 | Pending | | UI-04 | Phase 4 | Pending | | UI-05 | Phase 4 | Pending | | SETT-01 | Phase 1 | Pending | | SETT-02 | Phase 1 | Pending | | SETT-03 | Phase 1 | Pending | | SETT-04 | Phase 1 | Pending | | SETT-05 | Phase 1 | Pending | | SETT-06 | Phase 1 | Pending | | SETT-07 | Phase 1 | Pending | | SETT-08 | Phase 1 | Pending | | SETT-09 | Phase 3 | Pending | | CAL-01 | Phase 1 | Pending | | CAL-02 | Phase 1 | Pending | | CAL-03 | Phase 1 | Pending | | CAL-04 | Phase 1 | Pending | | FILE-01 | Phase 2 | Pending | | FILE-02 | Phase 2 | Pending | | FILE-03 | Phase 2 | Pending | | FILE-04 | Phase 2 | Pending | | FILE-05 | Phase 2 | Pending | | BACK-01 | Phase 1 | Pending | | BACK-02 | Phase 1 | Pending | | BACK-03 | Phase 1 | Pending | | BACK-04 | Phase 2 | Pending | **Coverage:** - v1 requirements: 41 total - Mapped to phases: 41 - Unmapped: 0 ✓ --- *Requirements defined: 2026-03-12* *Last updated: 2026-03-12 after initial definition*