March 28, 2026
🌅 Morning Cycle (18:05 MDT) — iris-20260328-0000
Observations
Frost protection: 30F forecast at 7AM. Raise floor 2F for earlier heater engagement. Gas fires at 57F.
Setpoint Waypoints
Friday March 27
| Time | high | low | vpd_h | hyst | d_cool | engage | all | pulse | gap | wt | Notes |
|---|---|---|---|---|---|---|---|---|---|---|---|
| 18:05 | 82 | · | · | 0.3 | 3 | · | · | 90 | · | 2 | Backfilled core param for chart continui |
| 18:30 | · | 60 | · | · | · | · | · | · | · | · | Frost protection: 30F forecast at 7AM. R |
Saturday March 28
| Time | high | low | vpd_h | hyst | d_cool | engage | all | pulse | gap | wt | Notes |
|---|---|---|---|---|---|---|---|---|---|---|---|
| 06:00 | · | · | 1.6 | · | · | 1.2 | 1.5 | · | · | · | Aggressive all-zone rotation at 1.5 kPa |
| 08:00 | · | 58 | · | · | · | · | · | · | · | · | Frost risk passed by 8AM — outdoor warmi |
| 10:00 | · | · | · | · | · | · | · | · | 25 | · | Peak dry hours 10AM-3PM: tighten gap fro |
| 16:00 | · | · | · | · | · | · | · | · | 45 | · | Post-peak 4PM: relax gap. VPD easing, re |
| 18:00 | · | · | 2 | · | · | 1.6 | 2 | · | · | · | Evening relaxation: restore normal all-z |
Parameters changed: mister_pulse_gap_s,set_vpd_high_kpa,temp_low,vpd_mister_all_kpa,vpd_mister_engage_kpa
Outcome
Score: 3/10
Accuracy: 0%, MAE: 2.53
🌅 Morning Cycle (06:05 MDT) — iris-20260328-0600
Observations
Outdoor 30F-82F swing, 8-11% RH at peak, gusts 20-28mph. Indoor 56.8F, VPD 0.48, HEAT_S1.
Hypothesis & Experiment
Hypothesis: 60s mister pulses with 1.5x VPD weight will produce fewer VPD-high stress hours than 120s/2.0x on extreme dry days, by exploiting fresh-zone rotation effect.
Test: Compare VPD-high stress hours and water usage today (60s/1.5x) vs 3/25 baseline (120s/2.0x) at similar outdoor conditions.
Expected outcome: Less than 12h VPD-high stress AND less than 50 gal misting water.
Setpoint Waypoints
Saturday March 28
| Time | high | low | vpd_h | hyst | d_cool | engage | all | pulse | gap | wt | Notes |
|---|---|---|---|---|---|---|---|---|---|---|---|
| 06:00 | · | · | · | · | · | · | · | 60 | · | 1.5 | Restore 60s sweet spot from 3/25 tuning. |
| 06:05 | 82 | 60 | 1.6 | 0.3 | 3 | 1.5 | 1.8 | · | 45 | · | Backfilled core param for chart continui |
Parameters changed: mister_pulse_on_s,mister_vpd_weight
Outcome
Score: 5/10
PARTIALLY CONFOUNDED: Pulse params (60s/1.5x) were correct all morning, but vpd_high/engage/all thresholds were wrong names until 11:44 AM fix (iris-fix-20260328). Morning VPD rose from 0.48→1.50 avg by noon. South zone hit 2.14 kPa. Only 1.07h VPD-high stress so far — mostly because morning was cool (56-58°F until 10 AM). Clouds suppressed temps vs forecast clear. Cannot cleanly compare vs 3/25 baseline — different weather + naming bug. Mister_state shows 0.0 at noon despite VPD above engage — possible the naming fix at 11:44 just arrived.
Lesson: Param naming mismatches silently break experiments. Always verify ESP32 /setpoints output after plan dispatch.
☀️ Midday Cycle (12:05 MDT) — iris-20260328-1200
Observations
Sat noon: 74F/48%RH indoor, VPD 1.50 rising. Outdoor warming through 80F peak at 2PM with 9-14% RH. South VPD 2.14, east 1.64. Afternoon peak incoming. 100% cloud cover moderating solar load — peak indoor likely 85-90F not 95F+. Overnight mild: 59F low. No frost risk.
Hypothesis & Experiment
Hypothesis: Extending aggressive misting settings 1h later (7PM MDT vs 6PM) will capture the late-afternoon VPD tail that often persists 1-2h after peak temp. Following Lesson #4 with 30s gap (not 45s) for tomorrow should show better VPD control than todays 25s gap which was untested.
Test: Evening restore delayed from 6PM→7PM MDT to test if extended misting window reduces afternoon VPD stress by 1-2 zone-hours. Sunday: pulse_gap=30s per Lesson #4 validated data (0.42 kPa drop).
Expected outcome: Saturday afternoon: <3h additional VPD-high zone-hours between noon-7PM. Sunday: repeat comparison — VPD-high stress <10h with 30s gap setting.
Setpoint Waypoints
Saturday March 28
| Time | high | low | vpd_h | hyst | d_cool | engage | all | pulse | gap | wt | Notes |
|---|---|---|---|---|---|---|---|---|---|---|---|
| 12:04 | 82 | 58 | · | 0.3 | 3 | · | · | 60 | · | 1.5 | Backfilled core param for chart continui |
| 19:00 | · | · | 2 | · | · | 1.6 | 2 | · | 45 | · | Evening restore: normal all-zone thresho |
Sunday March 29
| Time | high | low | vpd_h | hyst | d_cool | engage | all | pulse | gap | wt | Notes |
|---|---|---|---|---|---|---|---|---|---|---|---|
| 06:00 | · | · | 1.6 | · | · | 1.3 | 1.6 | · | 30 | · | Sunday morning: all-zone rotation early |
Parameters changed: vpd_mister_engage_kpa,vpd_mister_all_kpa,vpd_high,mister_pulse_gap_s
Outcome
Score: 4/10
Afternoon VPD-high zone-hours (noon-7PM MDT): south 7.1h, north 13.5h, east 4.3h, west 7.3h = 32.1 total zone-hours. Misting was active but outdoor RH 7-14% overwhelmed evaporative capacity. 100% cloud cover moderated temps (83F peak vs 90F+ expected) but VPD remained extreme due to bone-dry air. Extended misting window to 7PM helped — VPD was still 1.77 avg at 6PM with north at 2.0. ALSO FOUND: temp_high=0 on ESP32 causing COOL_S3 state at 74F — fans/vent running unnecessarily at moderate temps. Critical fix needed.
Lesson: temp_high=0 causes COOL_S3 at any temperature — must explicitly set temp_high=82 in plans. The planner has never set temp_high, relying on a default that didnt persist.
7-Day Stress Context
| Date | Heat (h) | VPD High (h) | Cold (h) |
|---|---|---|---|
| 2026-03-22 | 0.0 | 18.5 | 0.0 |
| 2026-03-23 | 1.8 | 6.6 | 0.0 |
| 2026-03-24 | 3.6 | 8.4 | 0.0 |
| 2026-03-25 | 8.7 | 14.2 | 0.0 |
| 2026-03-26 | 3.5 | 9.9 | 0.0 |
| 2026-03-27 | 0.0 | 0.0 | 0.0 |
| 2026-03-28 | 0.6 | 3.0 | 0.0 |
End-of-Day Summary
Climate
| Metric | Min | Avg | Max |
|---|---|---|---|
| Temperature (°F) | 54.8 | 67.4 | 86.8 |
| VPD (kPa) | 0.32 | 0.99 | 2.77 |
| Relative Humidity (%) | 30.9 | — | 79.5 |
Stress Hours
- Heat stress (>85°F): 0.6h
- VPD stress (>2.0 kPa): 3.0h
- Cold stress (<55°F): 0.0h
Economics
| Electric | Gas | Water | Total |
|---|---|---|---|
| $2.15 | $0.87 | $0.270 | $3.29 |
Equipment Runtimes
| Equipment | Runtime |
|---|---|
| Fan 1 | 252 min |
| Fan 2 | 256 min |
| Vent | 293 min |
| Fog | 37 min |
| Heat 1 (electric) | 0 min |
| Heat 2 (gas) | 84 min |
| Grow lights | 1470 min |
| Mister south | 0.26h |
| Mister west | 0.07h |
| Mister center | 0.26h |
Water
- Total: 55 gal
- Mister: 12 gal
Hourly Pattern
| Hour | Temp °F | VPD kPa | RH % |
|---|---|---|---|
| 12:00 | 64.2 | 0.57 | 72.3 |
| 13:00 | 66.2 | 0.64 | 70.7 |
| 14:00 | 69.8 | 0.80 | 68.1 |
| 15:00 | 72.2 | 0.92 | 66.1 |
| 16:00 | 69.9 | 0.80 | 67.9 |
| 17:00 | 69.5 | 0.78 | 68.6 |
| 18:00 | 60.4 | 0.91 | 49.5 |
| 19:00 | 57.4 | 0.51 | 68.3 |
| 20:00 | 56.0 | 0.40 | 73.8 |
| 21:00 | 55.6 | 0.59 | 60.7 |
| 22:00 | 56.7 | 0.62 | 60.8 |
| 23:00 | 56.7 | 0.49 | 68.8 |
| 00:00 | 56.9 | 0.47 | 70.1 |
| 01:00 | 56.3 | 0.45 | 71.1 |
| 02:00 | 57.1 | 0.47 | 70.8 |
| 03:00 | 56.4 | 0.45 | 70.9 |
| 04:00 | 56.6 | 0.48 | 69.8 |
| 05:00 | 56.8 | 0.48 | 69.5 |
| 06:00 | 56.2 | 0.37 | 76.3 |
| 07:00 | 56.9 | 0.40 | 75.1 |
| 08:00 | 56.7 | 0.40 | 74.2 |
| 09:00 | 58.6 | 0.44 | 74.0 |
| 10:00 | 65.6 | 0.67 | 69.6 |
| 11:00 | 74.3 | 1.50 | 48.3 |