Project: SmartCrops Version: 1.0 Author: Miguel Ladines
This document defines the functional behavior of the SmartCrops Platform, a system designed to manage, automate, and monitor Flood & Drain hydroponic environments. It specifies what the system must do from a user-visible and operational standpoint, covering local and cloud behavior, control logic, user interactions, data flows, alerts, history, and offline autonomy.
The system provides:
- Fully autonomous local operation of a hydroponic installation.
- Local real-time monitoring through a Web App accessible on-site.
- Cloud interface for remote visibility and historical analytics.
- Configurable crop profiles and growth phases.
- Control of irrigation, environment, and nutrient management.
- Alerts, maintenance scheduling, calibration, and reporting.
- Long-term high-frequency sensor data retention.
- User roles with differentiated permissions.
The following are not included in this FSR:
- Hardware schematics, electrical wiring, embedded firmware.
- Network protocols, communication technologies, or architecture.
- Database engines, schemas, or physical storage structures.
- Deployment models, infrastructure, containers, and security stacks.
- Business models, pricing, monetization, or commercial logic.
- Technical design, internal algorithms, or implementation details.
| Term | Definition |
|---|---|
| SmartCrops | Complete platform for hydroponic automation and monitoring. |
| Local Server | On-site gateway providing full offline functionality and local Web App. |
| Cloud Platform | Remote interface for viewing synchronized data and historical analytics. |
| Control Loop | Sequence of reading sensors, evaluating rules, and controlling actuators. |
| Growth Phase | Development stage of a crop (Vegetative, Pre-Flowering, Fruiting). |
| Flood & Drain Cycle | Sequence of filling and draining the grow tray. |
| Override Mode | Manual mode where automatic actions are disabled. |
| Maintenance Task | Scheduled operations such as cleaning or solution renewal. |
| Sensor Event | A measurement recorded at a point in time. |
- Full access to all system modules.
- Configures operational parameters, crop profiles, and schedules.
- Manages users and permissions.
- Performs maintenance, calibration, reporting, and override actions.
- Performs operational actions such as manual control, maintenance, and calibration (when permitted).
- Views dashboards, alerts, and history.
- Read-only access to dashboards, alerts, and historical records.
| Function | Admin | Technician | Viewer |
|---|---|---|---|
| View dashboards & alerts | ✔ | ✔ | ✔ |
| View history & reports | ✔ | ✔ | ✔ |
| Modify crop profiles & phases | ✔ | ✘ | ✘ |
| Modify irrigation parameters | ✔ | ✘ | ✘ |
| Modify environment thresholds | ✔ | ✘ | ✘ |
| Manual actuator control | ✔ | Optional | ✘ |
| Activate/Deactivate override | ✔ | Optional | ✘ |
| Calibration | ✔ | Optional | ✘ |
| Maintenance scheduling | ✔ | Optional | ✘ |
| User management | ✔ | ✘ | ✘ |
The platform shall continue functioning fully, including the control loop and Local Web App, when disconnected from the Internet.
The platform shall provide a Cloud Web App where users can view synchronized historical data and the last known state of the local system.
The platform shall execute all monitoring, automation, and control functions continuously without requiring user interaction.
The platform shall store measurement history, events, configurations, and logs locally for long-term retention.
The system shall support at least three configurable growth phases:
- Vegetative
- Pre-Flowering
- Flowering/Fruiting
Each phase shall support:
- Target pH range
- Target EC range
- Irrigation frequency and duration
- Environmental thresholds
The system shall automatically determine the current phase based on configured duration.
Administrators shall be able to manually switch the active growth phase.
When the phase changes, all relevant system parameters shall update immediately.
The system shall display real-time and historical pH and EC values.
The system shall generate alerts when pH or EC values remain outside the configured target range beyond a defined tolerance period.
The system shall allow scheduling periodic nutrient solution renewals and generate reminders when due or overdue.
The system shall allow configuration of:
- Flood duration
- Flood frequency
- Active scheduling window
- Maximum allowed fill and drain times
The system shall execute Flood & Drain cycles according to schedule.
Authorized users shall be able to manually initiate a Flood cycle.
The system shall monitor tray water levels to validate successful fill and drain actions.
The system shall generate alerts when:
- Flood fails to reach the expected level
- Drain does not complete in time
- Pump exceeds safe runtime
The system shall monitor air temperature and humidity in real time.
Users shall configure high and low thresholds for environmental variables.
The system shall activate fans and extractors according to threshold logic.
Alerts shall be generated when values remain above or below thresholds for a sustained period.
Authorized users shall be able to manually operate:
- Pump
- Fans
- Extractor
- Valves (if present)
Enabling override shall disable all automatic control functions until manually deactivated.
The interface shall clearly indicate when override mode is active.
The system shall support alerts for:
- Out-of-range sensor values
- Irrigation failures
- Environmental deviations
- Overdue maintenance
- Calibration requirements
Alerts shall be displayed:
- On the dashboard
- On a dedicated alerts page
- On relevant module pages
The system shall provide guided calibration procedures for supported sensors.
Calibration events shall be logged with timestamp, user, and outcome.
The system shall provide diagnostic tests for actuators, enabling short test activations.
The system shall allow recurring maintenance tasks to be defined.
The system shall generate reminders when tasks are due.
Users shall record completion with timestamp and optional notes.
The system shall be capable of storing high-frequency sensor data for long-term retention.
The system shall provide sufficient local storage to maintain multiple years of historical data.
The system shall perform asynchronous synchronization of historical data and configurations when connectivity is available.
Users shall be able to view the last known synchronization timestamp and connection status.
All critical monitoring and control functions shall remain available without Internet connectivity.
Real-time values displayed in the Local Web App shall update with minimal perceptible delay.
Critical states shall be distinctly highlighted (e.g., irrigation failure, high temperature).
Actions capable of causing crop damage (override, manual flood, deletion of profiles) shall require confirmation.
The system shall support multi-year historical visualization without performance degradation from a user perspective.
The platform manages one hydroponic system per installation.
Automatic logic is disabled when override mode is active.
Irrigation safety checks take precedence over all other automated functions.
Deleting crop profiles or associated history is irreversible.
Actor: Administrator Goal: Initialize a crop using a chosen profile.
Main Flow:
- User opens Crop Setup.
- Selects a crop profile.
- Enters start date and confirms.
- System activates the first growth phase and applies parameters.
- Dashboard displays the active crop.
Actor: Administrator Goal: Set Flood & Drain behavior.
Main Flow:
- User opens irrigation settings.
- Configures flood duration and frequency.
- Sets schedule constraints.
- Saves configuration.
- System applies updated schedule.
Actor: All roles Goal: View real-time operational status.
Main Flow:
- User opens dashboard.
- System displays sensor values, actuator states, alerts, and phase.
Actor: Administrator or authorized Technician Goal: Trigger an immediate Flood cycle.
Main Flow:
- User selects Manual Flood.
- Confirms the action.
- System starts flood cycle.
- System monitors tray levels.
- Event is logged.
Actor: Administrator or Technician Goal: Address a flood or drain failure.
Main Flow:
- System raises alert.
- User opens alert details.
- User acknowledges alert.
- User performs physical inspection.
Actor: Administrator or authorized Technician
Main Flow:
- User opens Calibration.
- Selects a sensor type.
- Follows guided steps.
- System logs calibration.
Actor: Administrator or Technician
Main Flow:
- User accesses Maintenance section.
- Reviews tasks due.
- Completes physical work.
- Marks task as completed.
- System records completion.
- System scheduler triggers flood.
- Pump activates.
- Water level increases until safe threshold.
- Pump deactivates.
- Drain phase begins.
- System verifies full drain.
- Event is recorded.
- System evaluates crop timeline.
- Phase end date is reached.
- System switches to next phase.
- Updated parameters are applied.
- Internet connectivity is lost.
- Local Web App remains fully functional.
- All automation continues.
- History continues to accumulate locally.
- Sync occurs automatically when connectivity returns.
- Crop name and phase
- Connectivity status
- Key sensor tiles (pH, EC, water temp, air temp, humidity)
- Irrigation status
- Climate control status
- Alerts summary
- Buttons for manual flood, override, maintenance, and calibration
- Flood & Drain configuration
- Current schedule
- Last cycles and outcomes
- Manual activation button
- pH and EC live readings
- Target ranges
- Alerts
- Solution renewal schedule
- Temperature and humidity
- Thresholds
- Fan/extractor states
- Climate alerts
- Dashboard ↔ Monitoring: Displays real-time sensor values and alarms.
- Phase Manager → Irrigation / Nutrients / Climate: Applies updated parameters when phases change.
- Alerts Module ↔ All modules: Generates alerts based on deviations.
- Maintenance Module ↔ Alerts: Issues reminders when tasks are due.
- Local Storage ↔ Cloud Sync: Synchronizes data asynchronously.
- A single hydroponic system is operated per installation.
- Mechanical and electrical installation is functioning correctly.
- Users understand basic hydroponic processes.
- Local and cloud interfaces access the same logical dataset, with cloud data reflecting the last synchronization point.
- Multi-system or multi-zone management.
- Automatic nutrient dosing or chemical injection.
- Predictive analytics or AI-based recommendations.
- Integration with external greenhouse platforms.
- Remote actuation from the cloud beyond safe design constraints.