✓ Saved
MIDBAR × ROYAL HERBS
Controlled Environment Agriculture
🔒 Control access
Enter password to operate the system
EC-mS
pH-
Water-°C
Air-°C
Humid-%
Day-
Level estimate — today Full view
Tank A Tank B Now | Spray Water Cool mist Pump2 Circ
Scroll / pinch to zoom → spray steps · double-tap to reset
Cycle — / —
as of —:—
Sprays left (Tank A)
left
External water today
L
Tank A (estimated)
%
Tank B (est.) · recovery
%
Current device · sensor states
Float switches below are RAW sensor readings (can glitch) — separate from the controller level estimate above.
Water valve (CH4)OFF
Spray pump (CH7)OFF
Circulate Pump1 (CH5)OFF
Transfer Pump2 (CH6)OFF
Tank A highOFF
Tank A lowOFF
Tank B highOFF
Tank B lowOFF
🧪
Checking...
EC / pH
EC target-
pH target-
EC · pH
EC-
pH-
Water-
RZ1-
RZ2-
RZ3-
📷 View photo
EC (mS/cm) pH
Water temp · Root-zone (°C)
Water RZ1 RZ2 RZ3
RZ1
-°C
RZ2
-°C
RZ3
-°C
🌡
Checking...
Temp / Humidity
Temperature · Humidity
Temp-
Humidity-
CO₂-
📷 View photo
Temp (°C) Humidity (%) Cool mist (CH4)
CO₂
CO₂ (ppm)
Temp
-°C
Humidity
-%
CO₂
-ppm
No image
---
Temp
-
Humidity
-
CO₂
-
EC
-
pH
-
Water
-

📷 Capture interval

How often a photo is taken. Shorter = more detail, more storage.
Operation Mode
EC Dosing
Nutrient A/B (CH0/1). When OFF, EC is not adjusted.
pH Dosing
pH up/down (CH2/3). When OFF, pH is not adjusted.

💻 Display

Exit Fullscreen
Switches to windowed mode. Close browser to return to desktop.

🔋 ALT2 Controller Gateway

Sends MQTT set_relay commands. auto=0 for manual override.
CH0 EC Nutrient A
CH1 EC Nutrient B
CH2 pH Up ⚠ BROKEN
CH3 pH Down
CH4 Canopy Mist (fresh water)
CH5 Pump1 Circ.
CH6 Pump2 B→A
CH7 Spray Pump

📅 Growing season

Start date
Select date 📅
Total days

🧪 Nutrient schedule

Tap a stage to edit. Shorten a stage's end day and tap Done — the remaining days become a new stage automatically.

⚗ EC / pH Deadband (ALT2 dosing)

Dosing valve activates when value passes target + deadband. Shared with ALT2 channels.
EC deadband
mS/cm (neg)
pH deadband
Stable timesec

💉 Dosing pulse

EC/pH dosing solenoid. Length = how long the valve opens per pulse. Interval = gap between pulses (mixing / spacing).
Pulse length
sec
Pulse interval
sec

💦 Spray cycle (day / night)

Spray pump repeats ON then OFF. Set different intervals for day and night.
Day starts
Night starts
☀ Daytime
Spray ON
sec
Spray OFF
sec
🌙 Nighttime
Spray ON
sec
Spray OFF
sec
Changes are saved automatically.
📈 Growing Trend - / -
Select a day Touch the chart to see daily values

🌲 Side Vent — Status

Wind
Inside temp
Rain

📈 Wind · inside temp · rain · vent position

Wind (m/s, left) Inside temp (°C, right) Rain Vent OPEN (top band) Cool mist
Dashed lines = wind-close / temp-open / temp-close thresholds. The top band shows when the vent was open (green) or closed (dark). Wind usually spikes before rain — watch the blue line against the purple rain shading. Cyan ticks = canopy cooling mist runs (CH4).

⚙ Mode & control

Left = mode (AUTO / MANUAL). Right = manual open / stop / close (switches to MANUAL). The motor self-limits at each end.

⏰ Schedule & conditions

Open time
h (0–23)
Close time
h (1–24)
Day: close if temp ≤
°C
Night: open if temp ≥
°C
Temp deadband
°C
Wind deadband
m/s
Day: close if wind ≥
m/s
Ignore gusts under
sec
Motor run time
sec
Saved automatically. Wind must stay high for the gust-ignore time before closing; deadbands prevent flapping near a threshold.

💦 Canopy cooling mist (CH4, fresh water)

Sprays tap water over the grow beds to knock the canopy temperature down before the daily peak (misting at peak sun risks lens-effect leaf burn). Runs also appear on the Mist tab and on the Climate temp chart so you can track the temperature drop.
Schedule mode
Skip if air temp below
°C
Skip if humidity ≥
%
Extra run if temp crosses (0=off)
°C
Guards: max 60 s per run · daily budget 240 s · only 08–17h · skips while the rain sensor reports rain. "Skip below" stops misting on cool days; "Skip if humidity" stops it on overcast/humid days — misting when it's already damp risks fungal disease (mist is only for knocking temperature down; early in a shower the warmed greenhouse can still read 60–70% RH, so the rain sensor covers that gap). The spray-failure assist mist ignores these skips (emergency relief). The optional "crossing" trigger fires one extra 30 s run the moment the air temp rises past the value.
🛡 Spray-failure watch: if the root-zone temp drifts ≥6°C above the nutrient water temp for 30 min while the root spray cycle is running, you get a Telegram alarm (the spray pump is probably not wetting the roots) and one assist mist fires.

📖 AUTO logic

Night (close–open time): closed by default; opens if temp ≥ night limit (and calm); recloses once it cools past the deadband.
Day (open–close time): open by default; closes if temp ≤ day limit or wind stays high. Reopens only when both clear — calm and warm (past deadbands).
Short wind gusts are ignored. Wind sensor offline → closed (fail-safe). Rain sensor is display-only. MANUAL overrides all.
CPU temp
-°C
Memory
-%
Disk
-%
Uptime
-h
MQTT connections
Relay GW Water GW Air GW

💾 Data export (CSV)

Download sensor history to back up before the 90-day auto-delete, or for analysis.
From
-📅
To
-📅

📶 Current WiFi

Checking...

🔍 Available Networks

Input