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

Timehighlowvpd_hhystd_coolengageallpulsegapwtNotes
18:0582··0.33··90·2Backfilled core param for chart continui
18:30·60········Frost protection: 30F forecast at 7AM. R

Saturday March 28

Timehighlowvpd_hhystd_coolengageallpulsegapwtNotes
06:00··1.6··1.21.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.62···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

Timehighlowvpd_hhystd_coolengageallpulsegapwtNotes
06:00·······60·1.5Restore 60s sweet spot from 3/25 tuning.
06:0582601.60.331.51.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

Timehighlowvpd_hhystd_coolengageallpulsegapwtNotes
12:048258·0.33··60·1.5Backfilled core param for chart continui
19:00··2··1.62·45·Evening restore: normal all-zone thresho

Sunday March 29

Timehighlowvpd_hhystd_coolengageallpulsegapwtNotes
06:00··1.6··1.31.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

DateHeat (h)VPD High (h)Cold (h)
2026-03-220.018.50.0
2026-03-231.86.60.0
2026-03-243.68.40.0
2026-03-258.714.20.0
2026-03-263.59.90.0
2026-03-270.00.00.0
2026-03-280.63.00.0

End-of-Day Summary

Climate

MetricMinAvgMax
Temperature (°F)54.867.486.8
VPD (kPa)0.320.992.77
Relative Humidity (%)30.979.5

Stress Hours

  • Heat stress (>85°F): 0.6h
  • VPD stress (>2.0 kPa): 3.0h
  • Cold stress (<55°F): 0.0h

Economics

ElectricGasWaterTotal
$2.15$0.87$0.270$3.29

Equipment Runtimes

EquipmentRuntime
Fan 1252 min
Fan 2256 min
Vent293 min
Fog37 min
Heat 1 (electric)0 min
Heat 2 (gas)84 min
Grow lights1470 min
Mister south0.26h
Mister west0.07h
Mister center0.26h

Water

  • Total: 55 gal
  • Mister: 12 gal

Hourly Pattern

HourTemp °FVPD kPaRH %
12:0064.20.5772.3
13:0066.20.6470.7
14:0069.80.8068.1
15:0072.20.9266.1
16:0069.90.8067.9
17:0069.50.7868.6
18:0060.40.9149.5
19:0057.40.5168.3
20:0056.00.4073.8
21:0055.60.5960.7
22:0056.70.6260.8
23:0056.70.4968.8
00:0056.90.4770.1
01:0056.30.4571.1
02:0057.10.4770.8
03:0056.40.4570.9
04:0056.60.4869.8
05:0056.80.4869.5
06:0056.20.3776.3
07:0056.90.4075.1
08:0056.70.4074.2
09:0058.60.4474.0
10:0065.60.6769.6
11:0074.31.5048.3