Farm Controller Layer (Local / Federated)
See overview: System Architecture Overview
The Farm Controller Layer is the on-site AOFS controller that provides local supervision, configuration, and federation.
It sits between the Field Controller (authoritative safety layer) and HQ / Federated Controllers.
This layer is offline-first, federation-capable, and authoritative for non-critical decisions.
1. Responsibilities
The Farm Controller Layer must:
Aggregate telemetry from Field Controllers:
Soil moisture sensors
Tank levels
Flow meters
Power usage
Optical monitoring data
Provide a local operator interface for monitoring and configuration.
Validate all operator requests against Field Controller safety rules.
Manage irrigation schedules and configuration updates locally.
Enable push/pull federation with other Farm Controllers or HQ Controllers.
Log all local actions, operator inputs, and synchronization events for auditability.
—
2. Offline Operation
1. Full local autonomy:
Must operate independently of network connectivity.
Irrigation schedules, sensor monitoring, and fail-safe enforcement continue uninterrupted.
2. Local operator interface:
3. Local data storage:
—
3. Federation Model
Farm Controllers support a Git-like push/pull model:
Pull:
Farm Controller can pull configuration, software, or firmware updates from HQ or peer controllers.
Pulled changes are validated against local rules and logged.
Push:
Farm Controller can push logs, irrigation events, and audit data to HQ or peer controllers.
Push is queued if connectivity is unavailable.
Peer-to-peer:
Farm Controllers can synchronize directly with other farms for configuration and data exchange.
Conflicts are resolved using deterministic rules (see section 4).
—
4. Conflict Resolution
When multiple controllers modify configurations or schedules:
Timestamp precedence:
Operator approval:
Field Controller enforcement:
Logging:
—
5. Authority Rules
1. Safety authority:
Field Controller is authoritative for safety-critical decisions.
Farm Controller cannot override irrigation cut-offs, pump safety, or flood prevention rules.
2. Configuration authority:
Farm Controller is authoritative for non-critical configurations and local schedules.
HQ or peer controllers may propose updates, but local rules take precedence.
3. Audit and compliance:
All configuration changes, operator interactions, and sync operations must be logged.
Logs must be retained locally and transmitted to upstream controllers when possible.
—
6. Human Interface
The Farm Controller must provide a full local UI:
Monitoring dashboards for all irrigation zones
Configuration of schedules and thresholds
Alerts and notifications for operators
Operator actions are validated against Field Controller safety rules.
The interface supports manual requests, but these cannot bypass critical safety decisions.
—
7. Implementation Notes
Hardware: Industrial-grade single-board computers (e.g., NanoPi, Raspberry Pi).
Communication protocols:
LAN, WiFi, or cellular for synchronization.
Data format: Structured, versioned, and compatible with HQ controller ingestion.
Security: All communications must be encrypted; operator authentication is required.
Scalability: Supports multiple Field Controllers per farm; multiple zones; multi-farm federation.
—
8. Compliance Notes
Any AOFS-compliant Farm Controller must implement offline operation, federation, logging, and safety validation.
Failure to preserve Field Controller authority or provide audit logs invalidates compliance.
Synchronization conflicts must follow the deterministic resolution rules defined above.