April 11, 2026
Generated lab notebook from daily_summary, plan_journal, plan_delivery_log, and setpoint audit data. It is intentionally chronological and may include in-progress cycles before validation.
🌅 Morning Cycle (11:57 PM) — iris-20260411-0000
validated
4/10
vpd_hysteresis, vpd_watch_dwell_s, mister_engage_kpa, mister_all_kpa, mister_pulse_on_s, mister_pulse_gap_s, mister_vpd_weight, mister_water_budget_gal ...
Reflection
Validating previous cycle: iris-20260410-1755
Previous hypothesis: Aggressive pre-dawn heating bias (+1°F) with bias_cool +3°F on all cold nights will prevent vent oscillation. During daytime dry periods (Sat-Mon), early mister engagement (1.3 kPa), short pulse gaps (20-25s), extended sealed-vent time (900s on Sun/Mon), and fog escalation at 0.3 kPa will maximize humidity retention against extreme outdoor dryness. This should reduce VPD_high stress hours compared to standard posture. Result: [backfill] compliance unavailable over plan window 2026-04-11 05:57 → 2026-04-11 06:42 Score: 4/10
Hypothesis
Conditions: Three challenging days ahead: Saturday (Apr 11) overcast with 75°F peak, 18% low RH, moderate VPD stress expected 5h; Sunday (Apr 12) clear skies, 76°F peak, extreme 8% RH — worst day, 11h stress forecast; Monday (Apr 13) partly cloudy, 70°F peak, 11% low RH with high winds (20-29 mph), 9h stress. Current nighttime bands are tight (vpd_high=0.6, temp_high=65) requiring engage at 1.3 and bias_cool=+3 at all times during heating. Crop health shows lettuce/strawberry stress in east zone (nutrient/light issues outside planner control). Dew point margin healthy at 9.9°F, no condensation risk. Testing: Compare Saturday (overcast, 18% RH) vs Sunday (clear, 8% RH) with identical peak-stress tuning (engage 1.3, gap 20s, weight 3.0, max_closed_vent 900s) to isolate whether solar load or humidity deficit is the dominant VPD driver. If Sunday vpd_high_stress exceeds Saturday by >3h despite identical tuning, solar load dominates and shade cloth is the structural fix. Expected outcome: Saturday vpd_high_stress ~3-4h (midday only), Sunday vpd_high_stress ~7-9h (solar + extreme dryness), Monday vpd_high_stress ~5-7h. If Sunday exceeds Saturday by >3h with identical tuning, solar load is confirmed as dominant driver. | target_score=45 | target_compliance=45% | expected_stress=[heat=4.0, cold=0.5, vpd_high=8.0, vpd_low=0.5] | expected_cost=USD 6.0
Setpoints
Friday April 10
Primary crop-band changes:
| Time | Values | Note |
|---|---|---|
| 23:57 | hyst 0.2 | Immediate coverage (copied from first transition) |
Tactical tunable changes:
| Time | Values | Note |
|---|---|---|
| 23:57 | d_cool 3; engage 1.3; all 1.6; pulse 60; gap 35; wt 1.5 | Immediate coverage (copied from first transition) |
Saturday April 11
Primary crop-band changes:
| Time | Values | Note |
|---|---|---|
| 00:00 | hyst 0.2 | Immediate corrective posture. Current VPD 0.82-0.89 with vpd |
| 05:35 | hyst 0.2 | Pre-dawn Saturday. Outdoor 40°F, 88% RH — heaters running. b |
| 09:59 | hyst 0.3 | Tree shade clears east zone — VPD ramp accelerates. Outdoor |
| 13:00 | hyst 0.4 | Peak stress Saturday. Forecast 75°F/18% RH outdoor — extreme |
| 15:00 | hyst 0.3 | Post-peak decline Saturday. Forecast shows temp drop to 62°F |
| 19:25 | hyst 0.2 | Evening Saturday into cold night. Outdoor dropping to 51°F b |
Tactical tunable changes:
| Time | Values | Note |
|---|---|---|
| 00:00 | d_cool 3; engage 1.3; all 1.6; pulse 60; gap 35; wt 1.5 | Immediate corrective posture. Current VPD 0.82-0.89 with vpd |
| 05:35 | d_cool 3; engage 1.3; all 1.6; pulse 60; gap 30; wt 1.5 | Pre-dawn Saturday. Outdoor 40°F, 88% RH — heaters running. b |
| 09:59 | d_cool 3; engage 1.3; all 1.6; pulse 60; gap 25; wt 2 | Tree shade clears east zone — VPD ramp accelerates. Outdoor |
| 13:00 | d_cool 3; engage 1.3; all 1.6; pulse 60; gap 20; wt 3 | Peak stress Saturday. Forecast 75°F/18% RH outdoor — extreme |
| 15:00 | d_cool 3; engage 1.3; all 1.7; pulse 60; gap 25; wt 2 | Post-peak decline Saturday. Forecast shows temp drop to 62°F |
| 19:25 | d_cool 3; engage 1.3; all 1.9; pulse 60; gap 45; wt 1.5 | Evening Saturday into cold night. Outdoor dropping to 51°F b |
Sunday April 12
Primary crop-band changes:
| Time | Values | Note |
|---|---|---|
| 05:34 | hyst 0.2 | Pre-dawn Sunday. Outdoor 43°F/46% RH, clear skies. Heaters a |
| 09:58 | hyst 0.3 | Tree shade clears Sunday — aggressive early. Clear skies, ou |
| 16:00 | hyst 0.4 | Peak stress Sunday — VPD peaks at 16:00 per milestone table |
| 17:00 | hyst 0.3 | Decline Sunday. Fog window closes at 17:00 — raise fog_escal |
| 19:26 | hyst 0.2 | Evening Sunday into Monday overnight. Outdoor 64°F dropping |
Tactical tunable changes:
| Time | Values | Note |
|---|---|---|
| 05:34 | d_cool 3; engage 1.3; all 1.6; pulse 60; gap 30; wt 1.5 | Pre-dawn Sunday. Outdoor 43°F/46% RH, clear skies. Heaters a |
| 09:58 | d_cool 3; engage 1.3; all 1.6; pulse 60; gap 20; wt 2.5 | Tree shade clears Sunday — aggressive early. Clear skies, ou |
| 16:00 | d_cool 3; engage 1.3; all 1.6; pulse 60; gap 20; wt 3 | Peak stress Sunday — VPD peaks at 16:00 per milestone table |
| 17:00 | d_cool 3; engage 1.3; all 1.7; pulse 60; gap 25; wt 2 | Decline Sunday. Fog window closes at 17:00 — raise fog_escal |
| 19:26 | d_cool 3; engage 1.3; all 1.9; pulse 60; gap 45; wt 1.5 | Evening Sunday into Monday overnight. Outdoor 64°F dropping |
Monday April 13
Primary crop-band changes:
| Time | Values | Note |
|---|---|---|
| 05:33 | hyst 0.2 | Pre-dawn Monday. Outdoor 51°F/25% — dry and cool. Heaters li |
| 09:58 | hyst 0.3 | Tree shade clears Monday. Outdoor 63°F/15% at 10AM. High win |
| 13:00 | hyst 0.4 | Peak stress Monday. Outdoor 69°F/11% at 1PM with 25 mph wind |
| 14:00 | hyst 0.3 | Post-peak decline Monday. Outdoor 70°F/12% at 2PM, still win |
| 19:27 | hyst 0.2 | Evening Monday. Outdoor dropping from 60°F to 45°F overnight |
Tactical tunable changes:
| Time | Values | Note |
|---|---|---|
| 05:33 | d_cool 3; engage 1.3; all 1.6; pulse 60; gap 30; wt 1.5 | Pre-dawn Monday. Outdoor 51°F/25% — dry and cool. Heaters li |
| 09:58 | d_cool 3; engage 1.3; all 1.6; pulse 60; gap 20; wt 2 | Tree shade clears Monday. Outdoor 63°F/15% at 10AM. High win |
| 13:00 | d_cool 3; engage 1.3; all 1.6; pulse 60; gap 20; wt 3 | Peak stress Monday. Outdoor 69°F/11% at 1PM with 25 mph wind |
| 14:00 | d_cool 3; engage 1.3; all 1.7; pulse 60; gap 25; wt 2 | Post-peak decline Monday. Outdoor 70°F/12% at 2PM, still win |
| 19:27 | d_cool 3; engage 1.3; all 1.9; pulse 60; gap 45; wt 1.5 | Evening Monday. Outdoor dropping from 60°F to 45°F overnight |
Changed secondary parameters:
| Time | Parameter | Change |
|---|---|---|
| 23:57 | bias_cool | initial 3 |
| 23:57 | bias_heat | initial 1 |
| 23:57 | enthalpy_close | initial 1 |
| 23:57 | enthalpy_open | initial -2 |
| 23:57 | fog_escalation_kpa | initial 0.3 |
| 23:57 | min_fog_off_s | initial 60 |
| 23:57 | min_fog_on_s | initial 60 |
| 23:57 | min_heat_off_s | initial 300 |
| 23:57 | min_heat_on_s | initial 120 |
| 23:57 | min_vent_off_s | initial 60 |
| 23:57 | min_vent_on_s | initial 60 |
| 23:57 | mist_max_closed_vent_s | initial 600 |
| 23:57 | mist_thermal_relief_s | initial 90 |
| 23:57 | mist_vent_close_lead_s | initial 15 |
| 23:57 | mist_vent_reopen_delay_s | initial 45 |
| 23:57 | mister_water_budget_gal | initial 500 |
| 23:57 | vpd_watch_dwell_s | initial 30 |
| 09:59 | bias_cool | 3 → 0 |
| 09:59 | bias_heat | 1 → 0 |
| 09:59 | mist_max_closed_vent_s | 600 → 900 |
| 09:59 | vpd_watch_dwell_s | 30 → 45 |
| 13:00 | bias_cool | 0 → -1 |
| 13:00 | vpd_watch_dwell_s | 45 → 30 |
| 15:00 | bias_cool | -1 → 0 |
| 15:00 | fog_escalation_kpa | 0.3 → 0.4 |
| 15:00 | mist_max_closed_vent_s | 900 → 600 |
| 15:00 | vpd_watch_dwell_s | 30 → 45 |
| 19:25 | bias_cool | 0 → 4 |
| 19:25 | bias_heat | 0 → 1 |
| 19:25 | vpd_watch_dwell_s | 45 → 30 |
| 05:34 | bias_cool | 4 → 3 |
| 05:34 | fog_escalation_kpa | 0.4 → 0.3 |
| 09:58 | bias_cool | 3 → 0 |
| 09:58 | bias_heat | 1 → 0 |
| 09:58 | mist_max_closed_vent_s | 600 → 900 |
| 16:00 | bias_cool | 0 → -1 |
| 16:00 | fog_escalation_kpa | 0.3 → 0.2 |
| 16:00 | mist_vent_reopen_delay_s | 45 → 60 |
| 17:00 | bias_cool | -1 → 0 |
| 17:00 | fog_escalation_kpa | 0.2 → 0.5 |
| 17:00 | min_fog_off_s | 60 → 120 |
| 17:00 | mist_max_closed_vent_s | 900 → 600 |
| 17:00 | mist_vent_reopen_delay_s | 60 → 45 |
| 17:00 | vpd_watch_dwell_s | 30 → 45 |
| 19:26 | bias_cool | 0 → 4 |
| 19:26 | bias_heat | 0 → 2 |
| 19:26 | fog_escalation_kpa | 0.5 → 0.4 |
| 19:26 | min_fog_off_s | 120 → 60 |
| 19:26 | vpd_watch_dwell_s | 45 → 30 |
| 05:33 | bias_cool | 4 → 3 |
| 05:33 | bias_heat | 2 → 1 |
| 05:33 | fog_escalation_kpa | 0.4 → 0.3 |
| 09:58 | bias_cool | 3 → 0 |
| 09:58 | bias_heat | 1 → 0 |
| 09:58 | min_vent_off_s | 60 → 90 |
| 09:58 | min_vent_on_s | 60 → 90 |
| 09:58 | mist_max_closed_vent_s | 600 → 900 |
| 09:58 | vpd_watch_dwell_s | 30 → 45 |
| 13:00 | bias_cool | 0 → -1 |
| 13:00 | mist_vent_reopen_delay_s | 45 → 60 |
| 13:00 | vpd_watch_dwell_s | 45 → 30 |
| 14:00 | bias_cool | -1 → 0 |
| 14:00 | fog_escalation_kpa | 0.3 → 0.4 |
| 14:00 | min_fog_off_s | 60 → 120 |
| 14:00 | mist_max_closed_vent_s | 900 → 600 |
| 14:00 | mist_vent_reopen_delay_s | 60 → 45 |
| 14:00 | vpd_watch_dwell_s | 30 → 45 |
| 19:27 | bias_cool | 0 → 3 |
| 19:27 | bias_heat | 0 → 1 |
| 19:27 | min_fog_off_s | 120 → 60 |
| 19:27 | min_vent_off_s | 90 → 60 |
| 19:27 | min_vent_on_s | 90 → 60 |
| 19:27 | vpd_watch_dwell_s | 45 → 30 |
🌅 Morning Cycle (12:42 AM) — iris-20260411-0045
validated
4/10
vpd_hysteresis, vpd_watch_dwell_s, mister_engage_kpa, mister_all_kpa, mister_pulse_on_s, mister_pulse_gap_s, mister_vpd_weight, mister_water_budget_gal ...
Reflection
Validating previous cycle: iris-20260410-1840
Previous hypothesis: By maintaining bias_cool=+3 during all heating periods and deploying maximum-aggression misting (engage 1.3, gap 20s, weight 2.5, sealed vent 900s) during the extreme dry afternoons of Sunday and Monday, we can reduce vpd_high stress from 34h to under 8h per day while eliminating cold stress from vent oscillation. Result: [backfill] compliance unavailable over plan window 2026-04-11 06:42 → 2026-04-11 07:27 Score: 4/10
Hypothesis
Conditions: Today (Sat) is overcast with a brief dry window 11AM-2PM (75°F, 18% RH outdoor), then clouds return with possible light rain. Sunday is the hardest day: clear skies, 76°F, 8% RH outdoor — extreme VPD stress expected for 11+ hours. Monday is windy (25-29 mph) with 70°F high and 11% RH, moderating by evening. Current nighttime VPD is 0.81-0.92 kPa against a band ceiling of 0.6 kPa — we’re already out of band. Today’s partial scorecard shows 17.3h total stress dominated by vpd_high (12.6h). East zone seedlings (lettuce, strawberry, pepper) show stress signs (wilting, yellowing, browning) — likely light/nutrient related, not directly addressable by this planner. Testing: Compare Sunday peak stress (gap=15s, fog_escalation=0.2, max_closed=900s) vs Monday peak stress (gap=20s, fog_escalation=0.3, max_closed=900s) to test whether 15s gap + 0.2 fog escalation provides meaningfully better VPD control on the drier day (8% RH Sun vs 11% RH Mon). If Sunday’s vpd_high_stress per outdoor VPD unit is lower than Monday’s, the ultra-aggressive posture justifies the water cost. Expected outcome: Sunday vpd_high_stress_h / avg_outdoor_vpd should be ≤ Monday’s ratio despite Sunday being drier, demonstrating that 15s gap + 0.2 fog escalation compensates for extreme dryness. | target_score=55 | target_compliance=55% | expected_stress=[heat=3.0, cold=0.5, vpd_high=8.0, vpd_low=0.5] | expected_cost=USD 6.5
Setpoints
Saturday April 11
Primary crop-band changes:
| Time | Values | Note |
|---|---|---|
| 00:42 | hyst 0.2 | Immediate coverage (copied from first transition) |
| 00:45 | hyst 0.2 | Current VPD is 0.81-0.92 against nighttime band ceiling of 0 |
| 05:35 | hyst 0.2 | Coldest hour approaching (40°F outdoor, 88% RH). Heaters wil |
| 09:59 | hyst 0.3 | Tree shade clears east zone at 09:59. Outdoor temp rising to |
| 13:00 | hyst 0.4 | Peak outdoor temp 75°F with 18% RH (VPD 2.39 kPa outdoor). T |
| 15:00 | hyst 0.3 | Forecast shows temp dropping to 62°F with 50% RH at 15:00 — |
| 19:00 | hyst 0.2 | Sunset at 19:25, brief clear sky at 19:00 (0% cloud). Outdoo |
Tactical tunable changes:
| Time | Values | Note |
|---|---|---|
| 00:42 | d_cool 3; engage 1.3; all 1.6; pulse 60; gap 30; wt 1.5 | Immediate coverage (copied from first transition) |
| 00:45 | d_cool 3; engage 1.3; all 1.6; pulse 60; gap 30; wt 1.5 | Current VPD is 0.81-0.92 against nighttime band ceiling of 0 |
| 05:35 | d_cool 3; engage 1.3; all 1.6; pulse 60; gap 30; wt 1.5 | Coldest hour approaching (40°F outdoor, 88% RH). Heaters wil |
| 09:59 | d_cool 3; engage 1.3; all 1.6; pulse 60; gap 25; wt 2 | Tree shade clears east zone at 09:59. Outdoor temp rising to |
| 13:00 | d_cool 3; engage 1.3; all 1.6; pulse 60; gap 20; wt 3 | Peak outdoor temp 75°F with 18% RH (VPD 2.39 kPa outdoor). T |
| 15:00 | d_cool 3; engage 1.3; all 1.7; pulse 60; gap 25; wt 2 | Forecast shows temp dropping to 62°F with 50% RH at 15:00 — |
| 19:00 | d_cool 3; engage 1.3; all 1.9; pulse 60; gap 35; wt 1.5 | Sunset at 19:25, brief clear sky at 19:00 (0% cloud). Outdoo |
Sunday April 12
Primary crop-band changes:
| Time | Values | Note |
|---|---|---|
| 05:34 | hyst 0.2 | Outdoor 43°F/46% RH, clear skies. Heaters active. Maintain b |
| 09:58 | hyst 0.3 | Tree shade clears. Outdoor already 60°F/27% RH and dropping |
| 16:00 | hyst 0.4 | Peak stress at 16:00: 76°F/8% RH outdoor (VPD 2.83 kPa). Thi |
| 17:00 | hyst 0.3 | Fog window closed at 17:00. Outdoor still extreme: 75°F/9% R |
| 19:26 | hyst 0.2 | Sunset. Outdoor 69°F/15% RH dropping to 56°F/24% overnight. |
Tactical tunable changes:
| Time | Values | Note |
|---|---|---|
| 05:34 | d_cool 3; engage 1.3; all 1.6; pulse 60; gap 30; wt 1.5 | Outdoor 43°F/46% RH, clear skies. Heaters active. Maintain b |
| 09:58 | d_cool 3; engage 1.3; all 1.6; pulse 60; gap 20; wt 2.5 | Tree shade clears. Outdoor already 60°F/27% RH and dropping |
| 16:00 | d_cool 3; engage 1.3; all 1.6; pulse 60; gap 15; wt 3 | Peak stress at 16:00: 76°F/8% RH outdoor (VPD 2.83 kPa). Thi |
| 17:00 | d_cool 3; engage 1.3; all 1.7; pulse 60; gap 20; wt 2.5 | Fog window closed at 17:00. Outdoor still extreme: 75°F/9% R |
| 19:26 | d_cool 3; engage 1.3; all 1.9; pulse 60; gap 35; wt 1.5 | Sunset. Outdoor 69°F/15% RH dropping to 56°F/24% overnight. |
Monday April 13
Primary crop-band changes:
| Time | Values | Note |
|---|---|---|
| 05:33 | hyst 0.2 | Monday overnight is warmer (55-56°F) but dry (24-29% RH). He |
| 09:58 | hyst 0.3 | Tree shade clears. Outdoor 59°F/19% RH. Cloud shift at 11:00 |
| 13:00 | hyst 0.4 | Peak VPD at 13:00: 69°F/11% RH outdoor with 25 mph wind. Out |
| 14:00 | hyst 0.3 | Post-peak solar decline. Outdoor temp dropping from 70°F to |
| 19:27 | hyst 0.2 | Sunset Monday. Outdoor dropping to 45°F by 22:00 with 36% RH |
Tactical tunable changes:
| Time | Values | Note |
|---|---|---|
| 05:33 | d_cool 3; engage 1.3; all 1.6; pulse 60; gap 30; wt 1.5 | Monday overnight is warmer (55-56°F) but dry (24-29% RH). He |
| 09:58 | d_cool 3; engage 1.3; all 1.6; pulse 60; gap 20; wt 2 | Tree shade clears. Outdoor 59°F/19% RH. Cloud shift at 11:00 |
| 13:00 | d_cool 3; engage 1.3; all 1.6; pulse 60; gap 20; wt 3 | Peak VPD at 13:00: 69°F/11% RH outdoor with 25 mph wind. Out |
| 14:00 | d_cool 3; engage 1.3; all 1.7; pulse 60; gap 25; wt 2 | Post-peak solar decline. Outdoor temp dropping from 70°F to |
| 19:27 | d_cool 3; engage 1.3; all 1.9; pulse 60; gap 45; wt 1.5 | Sunset Monday. Outdoor dropping to 45°F by 22:00 with 36% RH |
Changed secondary parameters:
| Time | Parameter | Change |
|---|---|---|
| 00:42 | bias_cool | initial 3 |
| 00:42 | bias_heat | initial 1 |
| 00:42 | enthalpy_close | initial 1 |
| 00:42 | enthalpy_open | initial -2 |
| 00:42 | fog_escalation_kpa | initial 0.4 |
| 00:42 | min_fog_off_s | initial 60 |
| 00:42 | min_fog_on_s | initial 60 |
| 00:42 | min_heat_off_s | initial 300 |
| 00:42 | min_heat_on_s | initial 120 |
| 00:42 | min_vent_off_s | initial 60 |
| 00:42 | min_vent_on_s | initial 60 |
| 00:42 | mist_max_closed_vent_s | initial 600 |
| 00:42 | mist_thermal_relief_s | initial 90 |
| 00:42 | mist_vent_close_lead_s | initial 15 |
| 00:42 | mist_vent_reopen_delay_s | initial 45 |
| 00:42 | mister_water_budget_gal | initial 500 |
| 00:42 | vpd_watch_dwell_s | initial 30 |
| 05:35 | fog_escalation_kpa | 0.4 → 0.3 |
| 09:59 | bias_cool | 3 → 0 |
| 09:59 | bias_heat | 1 → 0 |
| 09:59 | vpd_watch_dwell_s | 30 → 45 |
| 13:00 | bias_cool | 0 → -1 |
| 13:00 | enthalpy_close | 1 → 2 |
| 13:00 | enthalpy_open | -2 → -3 |
| 13:00 | min_vent_off_s | 60 → 90 |
| 13:00 | min_vent_on_s | 60 → 45 |
| 13:00 | mist_max_closed_vent_s | 600 → 900 |
| 13:00 | mist_vent_close_lead_s | 15 → 20 |
| 13:00 | mist_vent_reopen_delay_s | 45 → 60 |
| 13:00 | vpd_watch_dwell_s | 45 → 30 |
| 15:00 | bias_cool | -1 → 0 |
| 15:00 | enthalpy_close | 2 → 1 |
| 15:00 | enthalpy_open | -3 → -2 |
| 15:00 | fog_escalation_kpa | 0.3 → 0.4 |
| 15:00 | min_vent_off_s | 90 → 60 |
| 15:00 | min_vent_on_s | 45 → 60 |
| 15:00 | mist_max_closed_vent_s | 900 → 600 |
| 15:00 | mist_vent_close_lead_s | 20 → 15 |
| 15:00 | mist_vent_reopen_delay_s | 60 → 45 |
| 15:00 | vpd_watch_dwell_s | 30 → 45 |
| 19:00 | bias_cool | 0 → 3 |
| 19:00 | bias_heat | 0 → 1 |
| 05:34 | fog_escalation_kpa | 0.4 → 0.3 |
| 05:34 | vpd_watch_dwell_s | 45 → 30 |
| 09:58 | bias_cool | 3 → 0 |
| 09:58 | bias_heat | 1 → 0 |
| 09:58 | enthalpy_close | 1 → 2 |
| 09:58 | enthalpy_open | -2 → -3 |
| 09:58 | fog_escalation_kpa | 0.3 → 0.2 |
| 09:58 | min_vent_off_s | 60 → 90 |
| 09:58 | min_vent_on_s | 60 → 45 |
| 09:58 | mist_max_closed_vent_s | 600 → 900 |
| 09:58 | mist_vent_close_lead_s | 15 → 20 |
| 09:58 | mist_vent_reopen_delay_s | 45 → 60 |
| 16:00 | bias_cool | 0 → -1 |
| 16:00 | enthalpy_close | 2 → 3 |
| 16:00 | enthalpy_open | -3 → -4 |
| 16:00 | min_fog_on_s | 60 → 90 |
| 16:00 | min_vent_off_s | 90 → 120 |
| 16:00 | min_vent_on_s | 45 → 30 |
| 16:00 | mist_thermal_relief_s | 90 → 120 |
| 16:00 | mist_vent_close_lead_s | 20 → 25 |
| 17:00 | bias_cool | -1 → 0 |
| 17:00 | enthalpy_close | 3 → 2 |
| 17:00 | enthalpy_open | -4 → -3 |
| 17:00 | fog_escalation_kpa | 0.2 → 0.5 |
| 17:00 | min_fog_on_s | 90 → 60 |
| 17:00 | min_vent_off_s | 120 → 60 |
| 17:00 | min_vent_on_s | 30 → 60 |
| 17:00 | mist_max_closed_vent_s | 900 → 600 |
| 17:00 | mist_thermal_relief_s | 120 → 90 |
| 17:00 | mist_vent_close_lead_s | 25 → 15 |
| 17:00 | mist_vent_reopen_delay_s | 60 → 45 |
| 17:00 | vpd_watch_dwell_s | 30 → 45 |
| 19:26 | bias_cool | 0 → 4 |
| 19:26 | bias_heat | 0 → 2 |
| 19:26 | enthalpy_close | 2 → 1 |
| 19:26 | enthalpy_open | -3 → -2 |
| 19:26 | fog_escalation_kpa | 0.5 → 0.4 |
| 19:26 | vpd_watch_dwell_s | 45 → 30 |
| 05:33 | bias_cool | 4 → 3 |
| 05:33 | bias_heat | 2 → 1 |
| 05:33 | fog_escalation_kpa | 0.4 → 0.3 |
| 09:58 | bias_cool | 3 → 0 |
| 09:58 | bias_heat | 1 → 0 |
| 09:58 | enthalpy_close | 1 → 2 |
| 09:58 | enthalpy_open | -2 → -3 |
| 09:58 | min_vent_off_s | 60 → 90 |
| 09:58 | min_vent_on_s | 60 → 45 |
| 09:58 | mist_max_closed_vent_s | 600 → 900 |
| 09:58 | mist_vent_close_lead_s | 15 → 20 |
| 09:58 | mist_vent_reopen_delay_s | 45 → 60 |
| 13:00 | bias_cool | 0 → -1 |
| 13:00 | enthalpy_close | 2 → 3 |
| 13:00 | enthalpy_open | -3 → -4 |
| 13:00 | min_fog_on_s | 60 → 90 |
| 13:00 | min_vent_off_s | 90 → 120 |
| 13:00 | min_vent_on_s | 45 → 30 |
| 13:00 | mist_thermal_relief_s | 90 → 120 |
| 14:00 | bias_cool | -1 → 0 |
| 14:00 | enthalpy_close | 3 → 2 |
| 14:00 | enthalpy_open | -4 → -3 |
| 14:00 | fog_escalation_kpa | 0.3 → 0.4 |
| 14:00 | min_fog_on_s | 90 → 60 |
| 14:00 | min_vent_off_s | 120 → 60 |
| 14:00 | min_vent_on_s | 30 → 60 |
| 14:00 | mist_max_closed_vent_s | 900 → 600 |
| 14:00 | mist_thermal_relief_s | 120 → 90 |
| 14:00 | mist_vent_close_lead_s | 20 → 15 |
| 14:00 | mist_vent_reopen_delay_s | 60 → 45 |
| 14:00 | vpd_watch_dwell_s | 30 → 45 |
| 19:27 | bias_cool | 0 → 3 |
| 19:27 | bias_heat | 0 → 1 |
| 19:27 | enthalpy_close | 2 → 1 |
| 19:27 | enthalpy_open | -3 → -2 |
| 19:27 | vpd_watch_dwell_s | 45 → 30 |
🌅 Morning Cycle (1:27 AM) — iris-20260411-0130
validated
4/10
vpd_hysteresis, vpd_watch_dwell_s, mister_engage_kpa, mister_all_kpa, mister_pulse_on_s, mister_pulse_gap_s, mister_vpd_weight, mister_water_budget_gal ...
Reflection
Validating previous cycle: iris-20260410-1925
Previous hypothesis: Maintaining bias_cool=+4 during all heating periods prevents the vent oscillation that caused 8.6h cold stress on April 10. Engaging misters at 1.3 kPa with 20s gap during peak dry hours (Sat-Mon) and extending mist_max_closed_vent_s to 900s on the driest days (Sun/Mon with RH 9-10%) will keep VPD closer to band despite extreme outdoor dryness. Result: [backfill] compliance unavailable over plan window 2026-04-11 07:27 → 2026-04-11 08:12 Score: 4/10
Hypothesis
Conditions: Three challenging days ahead: Saturday (today) high 75°F with 17% RH and 100% cloud cover most of the day, Sunday extreme dry (76°F, 8% RH, clear afternoon), Monday windy and dry (70°F, 11% RH, high winds 25-29 mph). Today’s partial scorecard shows 19.3h total stress dominated by 14.6h vpd_high — the current plan’s daytime posture hasn’t engaged yet (it’s 1:25 AM). Cold nights all three days (lows 40-51°F) require heating bias. East zone seedlings (lettuce, strawberry, pepper) show stress indicators but these are likely light/nutrient issues outside tuning control. Tuesday transitions to much cooler (46°F high) with higher humidity — easy day. Testing: Compare Saturday (cloud-moderated, fog_escalation=0.3, max_closed=600, dwell=45s) vs Monday (clear+windy, fog_escalation=0.3, max_closed=900, dwell=30s) on vpd_high_stress hours. Monday is windier (25-29 mph) which increases infiltration losses. If Monday’s vpd_high_stress per outdoor VPD is comparable to Saturday’s despite worse conditions, the 900s sealed-vent + 30s dwell compensates for wind-driven humidity loss. Expected outcome: Monday’s vpd_high_stress_h / avg_outdoor_vpd ratio should be within 20% of Saturday’s ratio, demonstrating that extended sealed-vent time offsets wind-driven infiltration losses. | target_score=62 | target_compliance=65% | expected_stress=[heat=1.5, cold=0.0, vpd_high=6.0, vpd_low=0.5] | expected_cost=USD 6.5
Setpoints
Saturday April 11
Primary crop-band changes:
| Time | Values | Note |
|---|---|---|
| 01:27 | hyst 0.2 | Immediate coverage (copied from first transition) |
| 01:30 | hyst 0.2 | Cold night (outdoor 46°F dropping to 40°F). bias_cool +3 pre |
| 05:35 | hyst 0.2 | Sunrise 06:35, outdoor 41°F. Keep heating bias active. Lower |
| 09:59 | hyst 0.3 | East zone gets direct sun. Outdoor 62°F/42% RH at 10:00, cli |
| 14:00 | hyst 0.4 | Peak at 75°F/17% RH outdoor (2.43 kPa outdoor VPD). Most agg |
| 16:00 | hyst 0.3 | Outdoor temp dropping to 66°F/29% RH. Solar declining. Relax |
| 19:25 | hyst 0.2 | Sunset. Outdoor dropping to 58°F/31% then 51°F/41% overnight |
Tactical tunable changes:
| Time | Values | Note |
|---|---|---|
| 01:27 | d_cool 3; engage 1.3; all 1.9; pulse 60; gap 45; wt 1.5 | Immediate coverage (copied from first transition) |
| 01:30 | d_cool 3; engage 1.3; all 1.9; pulse 60; gap 45; wt 1.5 | Cold night (outdoor 46°F dropping to 40°F). bias_cool +3 pre |
| 05:35 | d_cool 3; engage 1.3; all 1.6; pulse 60; gap 30; wt 1.5 | Sunrise 06:35, outdoor 41°F. Keep heating bias active. Lower |
| 09:59 | d_cool 3; engage 1.3; all 1.6; pulse 60; gap 25; wt 2 | East zone gets direct sun. Outdoor 62°F/42% RH at 10:00, cli |
| 14:00 | d_cool 3; engage 1.3; all 1.6; pulse 60; gap 20; wt 3 | Peak at 75°F/17% RH outdoor (2.43 kPa outdoor VPD). Most agg |
| 16:00 | d_cool 3; engage 1.3; all 1.7; pulse 60; gap 25; wt 2 | Outdoor temp dropping to 66°F/29% RH. Solar declining. Relax |
| 19:25 | d_cool 3; engage 1.3; all 1.9; pulse 60; gap 45; wt 1.5 | Sunset. Outdoor dropping to 58°F/31% then 51°F/41% overnight |
Sunday April 12
Primary crop-band changes:
| Time | Values | Note |
|---|---|---|
| 05:34 | hyst 0.2 | Sunday will be extreme: 76°F high, 8% RH low, clear sky afte |
| 09:58 | hyst 0.3 | Outdoor 65°F/21% RH at 10:00, clear sky. VPD ramp will be st |
| 16:00 | hyst 0.4 | Sunday peak: 76°F/8% RH outdoor (2.83 kPa outdoor VPD). Maxi |
| 17:00 | hyst 0.3 | Fog window closes at 17:00. Outdoor 75°F/9% still very dry b |
| 19:26 | hyst 0.2 | Sunday night is warmer than Saturday (low 56°F vs 43°F) but |
Tactical tunable changes:
| Time | Values | Note |
|---|---|---|
| 05:34 | d_cool 3; engage 1.3; all 1.6; pulse 60; gap 30; wt 1.5 | Sunday will be extreme: 76°F high, 8% RH low, clear sky afte |
| 09:58 | d_cool 3; engage 1.3; all 1.6; pulse 60; gap 20; wt 2.5 | Outdoor 65°F/21% RH at 10:00, clear sky. VPD ramp will be st |
| 16:00 | d_cool 3; engage 1.3; all 1.5; pulse 60; gap 15; wt 3 | Sunday peak: 76°F/8% RH outdoor (2.83 kPa outdoor VPD). Maxi |
| 17:00 | d_cool 3; engage 1.3; all 1.7; pulse 60; gap 25; wt 2.5 | Fog window closes at 17:00. Outdoor 75°F/9% still very dry b |
| 19:26 | d_cool 3; engage 1.3; all 1.9; pulse 60; gap 45; wt 1.5 | Sunday night is warmer than Saturday (low 56°F vs 43°F) but |
Monday April 13
Primary crop-band changes:
| Time | Values | Note |
|---|---|---|
| 05:33 | hyst 0.2 | Monday: 70°F high, 11% RH, winds 20-29 mph afternoon. Outdoo |
| 09:58 | hyst 0.3 | Outdoor 63°F/15% at 10:00. Wind picking up (3→20 mph by noon |
| 13:00 | hyst 0.4 | Monday peak: 69°F/11% outdoor (2.18 kPa), winds 25 mph. Clou |
| 14:00 | hyst 0.3 | Post-peak: outdoor 70°F/12% but declining. Wind still strong |
| 19:27 | hyst 0.2 | Monday night: cold front arriving, dropping to 45°F by 22:00 |
Tactical tunable changes:
| Time | Values | Note |
|---|---|---|
| 05:33 | d_cool 3; engage 1.3; all 1.6; pulse 60; gap 30; wt 1.5 | Monday: 70°F high, 11% RH, winds 20-29 mph afternoon. Outdoo |
| 09:58 | d_cool 3; engage 1.3; all 1.6; pulse 60; gap 20; wt 2 | Outdoor 63°F/15% at 10:00. Wind picking up (3→20 mph by noon |
| 13:00 | d_cool 3; engage 1.3; all 1.6; pulse 60; gap 20; wt 3 | Monday peak: 69°F/11% outdoor (2.18 kPa), winds 25 mph. Clou |
| 14:00 | d_cool 3; engage 1.3; all 1.7; pulse 60; gap 25; wt 2 | Post-peak: outdoor 70°F/12% but declining. Wind still strong |
| 19:27 | d_cool 3; engage 1.3; all 1.9; pulse 60; gap 45; wt 1.5 | Monday night: cold front arriving, dropping to 45°F by 22:00 |
Changed secondary parameters:
| Time | Parameter | Change |
|---|---|---|
| 01:27 | bias_cool | initial 3 |
| 01:27 | bias_heat | initial 1 |
| 01:27 | enthalpy_close | initial 1 |
| 01:27 | enthalpy_open | initial -2 |
| 01:27 | fog_escalation_kpa | initial 0.4 |
| 01:27 | min_fog_off_s | initial 60 |
| 01:27 | min_fog_on_s | initial 60 |
| 01:27 | min_heat_off_s | initial 300 |
| 01:27 | min_heat_on_s | initial 120 |
| 01:27 | min_vent_off_s | initial 60 |
| 01:27 | min_vent_on_s | initial 60 |
| 01:27 | mist_max_closed_vent_s | initial 600 |
| 01:27 | mist_thermal_relief_s | initial 90 |
| 01:27 | mist_vent_close_lead_s | initial 15 |
| 01:27 | mist_vent_reopen_delay_s | initial 45 |
| 01:27 | mister_water_budget_gal | initial 500 |
| 01:27 | vpd_watch_dwell_s | initial 60 |
| 05:35 | fog_escalation_kpa | 0.4 → 0.3 |
| 09:59 | bias_cool | 3 → 0 |
| 09:59 | bias_heat | 1 → 0 |
| 09:59 | vpd_watch_dwell_s | 60 → 45 |
| 14:00 | bias_cool | 0 → -1 |
| 14:00 | enthalpy_open | -2 → -3 |
| 14:00 | vpd_watch_dwell_s | 45 → 30 |
| 16:00 | bias_cool | -1 → 0 |
| 16:00 | enthalpy_open | -3 → -2 |
| 16:00 | fog_escalation_kpa | 0.3 → 0.4 |
| 16:00 | vpd_watch_dwell_s | 30 → 45 |
| 19:25 | bias_cool | 0 → 3 |
| 19:25 | bias_heat | 0 → 1 |
| 19:25 | vpd_watch_dwell_s | 45 → 60 |
| 05:34 | fog_escalation_kpa | 0.4 → 0.3 |
| 05:34 | vpd_watch_dwell_s | 60 → 45 |
| 09:58 | bias_cool | 3 → 0 |
| 09:58 | bias_heat | 1 → 0 |
| 09:58 | enthalpy_close | 1 → 2 |
| 09:58 | enthalpy_open | -2 → -3 |
| 09:58 | fog_escalation_kpa | 0.3 → 0.2 |
| 09:58 | min_vent_off_s | 60 → 90 |
| 09:58 | mist_max_closed_vent_s | 600 → 900 |
| 09:58 | mist_vent_close_lead_s | 15 → 20 |
| 09:58 | mist_vent_reopen_delay_s | 45 → 60 |
| 09:58 | vpd_watch_dwell_s | 45 → 30 |
| 16:00 | bias_cool | 0 → -1 |
| 16:00 | min_fog_off_s | 60 → 45 |
| 17:00 | bias_cool | -1 → 0 |
| 17:00 | enthalpy_close | 2 → 1 |
| 17:00 | enthalpy_open | -3 → -2 |
| 17:00 | fog_escalation_kpa | 0.2 → 0.5 |
| 17:00 | min_fog_off_s | 45 → 60 |
| 17:00 | min_vent_off_s | 90 → 60 |
| 17:00 | mist_max_closed_vent_s | 900 → 600 |
| 17:00 | mist_vent_close_lead_s | 20 → 15 |
| 17:00 | mist_vent_reopen_delay_s | 60 → 45 |
| 17:00 | vpd_watch_dwell_s | 30 → 45 |
| 19:26 | bias_cool | 0 → 4 |
| 19:26 | bias_heat | 0 → 2 |
| 19:26 | fog_escalation_kpa | 0.5 → 0.4 |
| 19:26 | vpd_watch_dwell_s | 45 → 60 |
| 05:33 | bias_cool | 4 → 3 |
| 05:33 | bias_heat | 2 → 1 |
| 05:33 | fog_escalation_kpa | 0.4 → 0.3 |
| 05:33 | vpd_watch_dwell_s | 60 → 45 |
| 09:58 | bias_cool | 3 → 0 |
| 09:58 | bias_heat | 1 → 0 |
| 09:58 | enthalpy_close | 1 → 2 |
| 09:58 | enthalpy_open | -2 → -3 |
| 09:58 | min_vent_off_s | 60 → 90 |
| 09:58 | mist_max_closed_vent_s | 600 → 900 |
| 09:58 | mist_thermal_relief_s | 90 → 120 |
| 09:58 | mist_vent_close_lead_s | 15 → 20 |
| 09:58 | mist_vent_reopen_delay_s | 45 → 60 |
| 09:58 | vpd_watch_dwell_s | 45 → 30 |
| 13:00 | bias_cool | 0 → -1 |
| 13:00 | min_fog_off_s | 60 → 45 |
| 14:00 | bias_cool | -1 → 0 |
| 14:00 | enthalpy_close | 2 → 1 |
| 14:00 | enthalpy_open | -3 → -2 |
| 14:00 | fog_escalation_kpa | 0.3 → 0.4 |
| 14:00 | min_fog_off_s | 45 → 60 |
| 14:00 | min_vent_off_s | 90 → 60 |
| 14:00 | mist_max_closed_vent_s | 900 → 600 |
| 14:00 | mist_thermal_relief_s | 120 → 90 |
| 14:00 | mist_vent_close_lead_s | 20 → 15 |
| 14:00 | mist_vent_reopen_delay_s | 60 → 45 |
| 14:00 | vpd_watch_dwell_s | 30 → 45 |
| 19:27 | bias_cool | 0 → 3 |
| 19:27 | bias_heat | 0 → 1 |
| 19:27 | vpd_watch_dwell_s | 45 → 60 |
🌅 Morning Cycle (2:12 AM) — iris-20260411-0215
validated
4/10
vpd_hysteresis, vpd_watch_dwell_s, mister_engage_kpa, mister_all_kpa, mister_pulse_on_s, mister_pulse_gap_s, mister_vpd_weight, mister_water_budget_gal ...
Reflection
Validating previous cycle: iris-20260410-2010
Previous hypothesis: Maintaining bias_cool=+4 during all heating periods prevents vent oscillation cold stress, while aggressive daytime misting (engage 1.3, gap 20s, weight 2.5) with extended sealed-vent time (900s) and low fog escalation (0.3 kPa) will minimize vpd_high stress on these extreme dry days. The key validated lesson is that nighttime vpd_high ~0.6 means mister_engage_kpa must be at 1.3 even overnight to have any chance of engaging before the band ceiling. Result: [backfill] compliance unavailable over plan window 2026-04-11 08:12 → 2026-04-11 08:57 Score: 4/10
Hypothesis
Conditions: Today (Sat) is cloud-moderated with high 74°F and outdoor RH dropping to 17% — moderate VPD stress expected. Sunday is the hardest day: clear skies, 76°F high, outdoor RH plunging to 8%, extreme dryness requiring maximum misting aggression. Monday is windy (25-29 mph) with 70°F high and 11% RH — wind-driven infiltration will challenge humidity retention. Tuesday brings a cold front (46°F high, 33% RH) — much easier. Current partial-day scorecard shows 15.63h vpd_high_stress already accumulated today, indicating the active plan’s daytime posture needs more aggressive misting and longer sealed-vent periods. East zone seedlings (lettuce, strawberry, pepper) show stress signs but these are likely nutrient/light issues outside this planner’s control surface. Testing: Compare Sunday (fog_escalation_kpa=0.2, mist_max_closed_vent_s=900, vpd_watch_dwell_s=30, mister_pulse_gap_s=15) vs Monday (fog_escalation_kpa=0.3, mist_max_closed_vent_s=900, vpd_watch_dwell_s=30, mister_pulse_gap_s=20) on vpd_high_stress hours normalized by outdoor VPD. Sunday is drier (8% RH) but calmer; Monday is windier (25-29 mph) but slightly less dry (11% RH). If fog_escalation_kpa=0.2 on Sunday produces fewer normalized vpd_high_stress hours than 0.3 on Monday, the lower fog threshold compensates for extreme dryness better than sealed-vent alone. Expected outcome: Sunday’s vpd_high_stress_h / avg_outdoor_vpd should be lower than Monday’s ratio despite worse outdoor humidity, demonstrating that fog_escalation_kpa=0.2 provides meaningful additional humidity control beyond misting alone on extreme dry days. | target_score=55 | target_compliance=55% | expected_stress=[heat=2.0, cold=0.5, vpd_high=7.0, vpd_low=0.5] | expected_cost=USD 7.0
Setpoints
Saturday April 11
Primary crop-band changes:
| Time | Values | Note |
|---|---|---|
| 02:12 | hyst 0.2 | Immediate coverage (copied from first transition) |
| 02:15 | hyst 0.2 | Cold night (outdoor 42-44°F). bias_heat +1 for pre-heat, bia |
| 05:35 | hyst 0.2 | Sunrise 06:35, outdoor 42°F. Keep heating bias active. Lower |
| 09:59 | hyst 0.3 | Tree shade clears east zone. Outdoor warming to 60°F, RH dro |
| 14:00 | hyst 0.4 | Peak VPD stress window. Outdoor 73°F/17% RH. Aggressive mist |
| 15:00 | hyst 0.3 | Solar declining, outdoor temp dropping to 64°F. Relax mistin |
| 19:25 | hyst 0.2 | Sunset. Outdoor dropping to 51°F overnight. bias_heat +1 for |
Tactical tunable changes:
| Time | Values | Note |
|---|---|---|
| 02:12 | d_cool 3; engage 1.3; all 1.9; pulse 60; gap 45; wt 1.5 | Immediate coverage (copied from first transition) |
| 02:15 | d_cool 3; engage 1.3; all 1.9; pulse 60; gap 45; wt 1.5 | Cold night (outdoor 42-44°F). bias_heat +1 for pre-heat, bia |
| 05:35 | d_cool 3; engage 1.3; all 1.6; pulse 60; gap 30; wt 1.5 | Sunrise 06:35, outdoor 42°F. Keep heating bias active. Lower |
| 09:59 | d_cool 3; engage 1.3; all 1.6; pulse 60; gap 25; wt 2 | Tree shade clears east zone. Outdoor warming to 60°F, RH dro |
| 14:00 | d_cool 3; engage 1.3; all 1.5; pulse 60; gap 20; wt 3 | Peak VPD stress window. Outdoor 73°F/17% RH. Aggressive mist |
| 15:00 | d_cool 3; engage 1.3; all 1.7; pulse 60; gap 25; wt 2 | Solar declining, outdoor temp dropping to 64°F. Relax mistin |
| 19:25 | d_cool 3; engage 1.3; all 1.9; pulse 60; gap 45; wt 1.5 | Sunset. Outdoor dropping to 51°F overnight. bias_heat +1 for |
Sunday April 12
Primary crop-band changes:
| Time | Values | Note |
|---|---|---|
| 05:34 | hyst 0.2 | Sunday is the hardest day: 76°F high, 8% RH low, clear skies |
| 09:58 | hyst 0.3 | East zone direct sun. Outdoor 65°F/21% RH and dropping fast. |
| 16:00 | hyst 0.4 | Peak VPD at 16:00 per milestone table. Outdoor 76°F/8% RH — |
| 17:00 | hyst 0.3 | Fog window closes at 17:00. Widen fog_escalation to 0.5 (eff |
| 19:26 | hyst 0.2 | Sunset. Sunday night is warmer than Saturday (low 56°F vs 48 |
Tactical tunable changes:
| Time | Values | Note |
|---|---|---|
| 05:34 | d_cool 3; engage 1.3; all 1.5; pulse 60; gap 25; wt 1.5 | Sunday is the hardest day: 76°F high, 8% RH low, clear skies |
| 09:58 | d_cool 3; engage 1.3; all 1.5; pulse 60; gap 20; wt 2.5 | East zone direct sun. Outdoor 65°F/21% RH and dropping fast. |
| 16:00 | d_cool 3; engage 1.3; all 1.5; pulse 60; gap 15; wt 3 | Peak VPD at 16:00 per milestone table. Outdoor 76°F/8% RH — |
| 17:00 | d_cool 3; engage 1.3; all 1.7; pulse 60; gap 25; wt 2.5 | Fog window closes at 17:00. Widen fog_escalation to 0.5 (eff |
| 19:26 | d_cool 3; engage 1.3; all 1.9; pulse 60; gap 45; wt 1.5 | Sunset. Sunday night is warmer than Saturday (low 56°F vs 48 |
Monday April 13
Primary crop-band changes:
| Time | Values | Note |
|---|---|---|
| 05:33 | hyst 0.2 | Monday: 70°F high, 11% RH, winds 25-29 mph. Wind increases i |
| 09:58 | hyst 0.3 | East zone direct sun. Outdoor 63°F/15% RH, wind picking up t |
| 13:00 | hyst 0.4 | Peak VPD at 13:00. Cloud shift at 11:00 (clear→cloudy) may m |
| 14:00 | hyst 0.3 | Post-peak decline. Outdoor 70°F/12% RH but wind still 28 mph |
| 19:27 | hyst 0.2 | Sunset. Cold front arriving — overnight low 45°F, dropping t |
Tactical tunable changes:
| Time | Values | Note |
|---|---|---|
| 05:33 | d_cool 3; engage 1.3; all 1.5; pulse 60; gap 25; wt 1.5 | Monday: 70°F high, 11% RH, winds 25-29 mph. Wind increases i |
| 09:58 | d_cool 3; engage 1.3; all 1.5; pulse 60; gap 20; wt 2 | East zone direct sun. Outdoor 63°F/15% RH, wind picking up t |
| 13:00 | d_cool 3; engage 1.3; all 1.5; pulse 60; gap 20; wt 3 | Peak VPD at 13:00. Cloud shift at 11:00 (clear→cloudy) may m |
| 14:00 | d_cool 3; engage 1.3; all 1.7; pulse 60; gap 25; wt 2 | Post-peak decline. Outdoor 70°F/12% RH but wind still 28 mph |
| 19:27 | d_cool 3; engage 1.3; all 1.9; pulse 60; gap 45; wt 1.5 | Sunset. Cold front arriving — overnight low 45°F, dropping t |
Tuesday April 14
Primary crop-band changes:
| Time | Values | Note |
|---|---|---|
| 02:00 | hyst 0.2 | Tuesday cold front: 46°F high, 33% RH, 100% clouds. Minimal |
Tactical tunable changes:
| Time | Values | Note |
|---|---|---|
| 02:00 | d_cool 3; engage 1.6; all 1.9; pulse 60; gap 45; wt 1.5 | Tuesday cold front: 46°F high, 33% RH, 100% clouds. Minimal |
Changed secondary parameters:
| Time | Parameter | Change |
|---|---|---|
| 02:12 | bias_cool | initial 3 |
| 02:12 | bias_heat | initial 1 |
| 02:12 | enthalpy_close | initial 1 |
| 02:12 | enthalpy_open | initial -2 |
| 02:12 | fog_escalation_kpa | initial 0.4 |
| 02:12 | min_fog_off_s | initial 60 |
| 02:12 | min_fog_on_s | initial 60 |
| 02:12 | min_heat_off_s | initial 300 |
| 02:12 | min_heat_on_s | initial 120 |
| 02:12 | min_vent_off_s | initial 60 |
| 02:12 | min_vent_on_s | initial 60 |
| 02:12 | mist_max_closed_vent_s | initial 600 |
| 02:12 | mist_thermal_relief_s | initial 90 |
| 02:12 | mist_vent_close_lead_s | initial 15 |
| 02:12 | mist_vent_reopen_delay_s | initial 45 |
| 02:12 | mister_water_budget_gal | initial 500 |
| 02:12 | vpd_watch_dwell_s | initial 60 |
| 05:35 | fog_escalation_kpa | 0.4 → 0.3 |
| 05:35 | vpd_watch_dwell_s | 60 → 45 |
| 09:59 | bias_cool | 3 → 0 |
| 09:59 | bias_heat | 1 → 0 |
| 14:00 | bias_cool | 0 → -1 |
| 14:00 | min_vent_off_s | 60 → 90 |
| 14:00 | mist_vent_close_lead_s | 15 → 20 |
| 14:00 | vpd_watch_dwell_s | 45 → 30 |
| 15:00 | bias_cool | -1 → 0 |
| 15:00 | fog_escalation_kpa | 0.3 → 0.4 |
| 15:00 | min_vent_off_s | 90 → 60 |
| 15:00 | mist_vent_close_lead_s | 20 → 15 |
| 15:00 | vpd_watch_dwell_s | 30 → 45 |
| 19:25 | bias_cool | 0 → 3 |
| 19:25 | bias_heat | 0 → 1 |
| 19:25 | vpd_watch_dwell_s | 45 → 60 |
| 05:34 | fog_escalation_kpa | 0.4 → 0.2 |
| 05:34 | min_vent_off_s | 60 → 90 |
| 05:34 | mist_max_closed_vent_s | 600 → 900 |
| 05:34 | mist_vent_close_lead_s | 15 → 20 |
| 05:34 | mist_vent_reopen_delay_s | 45 → 60 |
| 05:34 | vpd_watch_dwell_s | 60 → 45 |
| 09:58 | bias_cool | 3 → 0 |
| 09:58 | bias_heat | 1 → 0 |
| 09:58 | vpd_watch_dwell_s | 45 → 30 |
| 16:00 | bias_cool | 0 → -1 |
| 16:00 | enthalpy_close | 1 → 2 |
| 16:00 | enthalpy_open | -2 → -3 |
| 16:00 | min_vent_off_s | 90 → 120 |
| 16:00 | mist_vent_close_lead_s | 20 → 25 |
| 17:00 | bias_cool | -1 → 0 |
| 17:00 | enthalpy_close | 2 → 1 |
| 17:00 | enthalpy_open | -3 → -2 |
| 17:00 | fog_escalation_kpa | 0.2 → 0.5 |
| 17:00 | min_fog_off_s | 60 → 90 |
| 17:00 | min_vent_off_s | 120 → 60 |
| 17:00 | mist_max_closed_vent_s | 900 → 600 |
| 17:00 | mist_vent_close_lead_s | 25 → 15 |
| 17:00 | mist_vent_reopen_delay_s | 60 → 45 |
| 17:00 | vpd_watch_dwell_s | 30 → 45 |
| 19:26 | bias_cool | 0 → 4 |
| 19:26 | bias_heat | 0 → 2 |
| 19:26 | fog_escalation_kpa | 0.5 → 0.4 |
| 19:26 | min_fog_off_s | 90 → 60 |
| 19:26 | vpd_watch_dwell_s | 45 → 60 |
| 05:33 | bias_cool | 4 → 3 |
| 05:33 | bias_heat | 2 → 1 |
| 05:33 | fog_escalation_kpa | 0.4 → 0.3 |
| 05:33 | min_vent_off_s | 60 → 90 |
| 05:33 | mist_max_closed_vent_s | 600 → 900 |
| 05:33 | mist_vent_close_lead_s | 15 → 20 |
| 05:33 | mist_vent_reopen_delay_s | 45 → 60 |
| 05:33 | vpd_watch_dwell_s | 60 → 45 |
| 09:58 | bias_cool | 3 → 0 |
| 09:58 | bias_heat | 1 → 0 |
| 09:58 | mist_thermal_relief_s | 90 → 120 |
| 09:58 | vpd_watch_dwell_s | 45 → 30 |
| 13:00 | bias_cool | 0 → -1 |
| 13:00 | enthalpy_close | 1 → 2 |
| 13:00 | enthalpy_open | -2 → -3 |
| 13:00 | min_vent_off_s | 90 → 120 |
| 13:00 | mist_vent_close_lead_s | 20 → 25 |
| 14:00 | bias_cool | -1 → 0 |
| 14:00 | enthalpy_close | 2 → 1 |
| 14:00 | enthalpy_open | -3 → -2 |
| 14:00 | fog_escalation_kpa | 0.3 → 0.4 |
| 14:00 | min_fog_off_s | 60 → 90 |
| 14:00 | min_vent_off_s | 120 → 60 |
| 14:00 | mist_max_closed_vent_s | 900 → 600 |
| 14:00 | mist_thermal_relief_s | 120 → 90 |
| 14:00 | mist_vent_close_lead_s | 25 → 15 |
| 14:00 | mist_vent_reopen_delay_s | 60 → 45 |
| 14:00 | vpd_watch_dwell_s | 30 → 45 |
| 19:27 | bias_cool | 0 → 3 |
| 19:27 | bias_heat | 0 → 1 |
| 19:27 | min_fog_off_s | 90 → 60 |
| 19:27 | vpd_watch_dwell_s | 45 → 60 |
| 02:00 | bias_cool | 3 → 4 |
| 02:00 | bias_heat | 1 → 2 |
🌅 Morning Cycle (2:57 AM) — iris-20260411-0300
validated
4/10
vpd_hysteresis, vpd_watch_dwell_s, mister_engage_kpa, mister_all_kpa, mister_pulse_on_s, mister_pulse_gap_s, mister_vpd_weight, mister_water_budget_gal ...
Reflection
Validating previous cycle: iris-20260410-2010
Result: [backfill] compliance unavailable over plan window 2026-04-11 08:57 → 2026-04-11 09:42 Score: 4/10
Hypothesis
Conditions: Today (Sat) is overcast with 75°F high, 18% low RH — moderate VPD stress expected. Sunday is the hardest day: 76°F, 7% RH, extreme dryness with clear-to-cloud transition at 11:00. Monday brings 70°F, 11% RH with high winds (25-29 mph) and cloud cover clearing at 11:00. Tuesday drops to 46°F with 33% RH — cold front arrives, minimal stress. Current partial-day scorecard shows 22.3h total stress (17.6h vpd_high + 4.7h heat) with only 7% compliance, but nighttime bands are tight (vpd_high=0.6, temp_high=65) and indoor VPD is 0.85-1.00 — the overnight band is very narrow. Lettuce and strawberry seedlings in east zone show stress (wilting, yellowing, browning) — likely nutrient/light issues outside this planner’s control surface. Testing: Compare Sunday (fog_escalation_kpa=0.2, wind 3-18 mph, outdoor RH 7-15%) vs Monday (fog_escalation_kpa=0.3, wind 20-29 mph, outdoor RH 11-22%) on vpd_high_stress hours normalized by average outdoor VPD. If fog_escalation_kpa=0.2 on Sunday yields a lower stress-to-outdoor-VPD ratio than 0.3 on Monday, earlier fog engagement is the dominant lever for extreme dryness. Expected outcome: Sunday’s vpd_high_stress_hours / avg_outdoor_vpd should be lower than Monday’s ratio despite Sunday being 2x drier, demonstrating that fog_escalation_kpa=0.2 compensates for extreme dryness better than 0.3 with sealed-vent alone. | target_score=55 | target_compliance=55% | expected_stress=[heat=2.0, cold=0.5, vpd_high=8.0, vpd_low=0.5] | expected_cost=USD 6.5
Setpoints
Saturday April 11
Primary crop-band changes:
| Time | Values | Note |
|---|---|---|
| 02:57 | hyst 0.2 | Immediate coverage (copied from first transition) |
| 03:00 | hyst 0.2 | Cold night (outdoor 40-44°F). bias_cool +3 prevents vent osc |
| 05:35 | hyst 0.2 | Pre-dawn Saturday. Outdoor 41°F, 86% RH, overcast. Heaters s |
| 09:59 | hyst 0.3 | Tree shade clears east zone. Outdoor 60°F, 46% RH, overcast. |
| 13:00 | hyst 0.4 | Peak stress Saturday: 75°F, 18% RH outdoor, partial cloud br |
| 16:00 | hyst 0.3 | Post-solar decline Saturday. Outdoor 68°F, 30% RH, still ove |
| 19:25 | hyst 0.2 | Evening Saturday. Outdoor dropping to 52°F overnight, clear |
Tactical tunable changes:
| Time | Values | Note |
|---|---|---|
| 02:57 | d_cool 3; engage 1.3; all 1.9; pulse 60; gap 45; wt 1.5 | Immediate coverage (copied from first transition) |
| 03:00 | d_cool 3; engage 1.3; all 1.9; pulse 60; gap 45; wt 1.5 | Cold night (outdoor 40-44°F). bias_cool +3 prevents vent osc |
| 05:35 | d_cool 3; engage 1.3; all 1.6; pulse 60; gap 30; wt 1.5 | Pre-dawn Saturday. Outdoor 41°F, 86% RH, overcast. Heaters s |
| 09:59 | d_cool 3; engage 1.3; all 1.6; pulse 60; gap 25; wt 2 | Tree shade clears east zone. Outdoor 60°F, 46% RH, overcast. |
| 13:00 | d_cool 3; engage 1.3; all 1.5; pulse 60; gap 20; wt 3 | Peak stress Saturday: 75°F, 18% RH outdoor, partial cloud br |
| 16:00 | d_cool 3; engage 1.3; all 1.7; pulse 60; gap 25; wt 2 | Post-solar decline Saturday. Outdoor 68°F, 30% RH, still ove |
| 19:25 | d_cool 3; engage 1.3; all 1.9; pulse 60; gap 45; wt 1.5 | Evening Saturday. Outdoor dropping to 52°F overnight, clear |
Sunday April 12
Primary crop-band changes:
| Time | Values | Note |
|---|---|---|
| 05:34 | hyst 0.2 | Pre-dawn Sunday. Outdoor 44°F, 54% RH, clear. Extreme drynes |
| 09:58 | hyst 0.3 | Tree shade clears Sunday. Outdoor 65°F, 18% RH, clear sky. V |
| 11:00 | hyst 0.3 | Cloud shift Sunday 11:00 — clouds arrive (63% cover) but out |
| 15:00 | hyst 0.4 | Peak stress Sunday: 76°F, 7% RH outdoor — extreme. Maximum m |
| 16:00 | hyst 0.4 | Post-solar decline Sunday. Outdoor 75°F, 7% RH, 100% cloud, |
| 19:26 | hyst 0.2 | Evening Sunday. Outdoor dropping to 56°F overnight, still ve |
Tactical tunable changes:
| Time | Values | Note |
|---|---|---|
| 05:34 | d_cool 3; engage 1.3; all 1.5; pulse 60; gap 25; wt 1.5 | Pre-dawn Sunday. Outdoor 44°F, 54% RH, clear. Extreme drynes |
| 09:58 | d_cool 3; engage 1.3; all 1.5; pulse 60; gap 20; wt 2.5 | Tree shade clears Sunday. Outdoor 65°F, 18% RH, clear sky. V |
| 11:00 | d_cool 3; engage 1.3; all 1.5; pulse 60; gap 20; wt 2.5 | Cloud shift Sunday 11:00 — clouds arrive (63% cover) but out |
| 15:00 | d_cool 3; engage 1.3; all 1.5; pulse 60; gap 15; wt 3 | Peak stress Sunday: 76°F, 7% RH outdoor — extreme. Maximum m |
| 16:00 | d_cool 3; engage 1.3; all 1.5; pulse 60; gap 20; wt 2.5 | Post-solar decline Sunday. Outdoor 75°F, 7% RH, 100% cloud, |
| 19:26 | d_cool 3; engage 1.3; all 1.9; pulse 60; gap 45; wt 1.5 | Evening Sunday. Outdoor dropping to 56°F overnight, still ve |
Monday April 13
Primary crop-band changes:
| Time | Values | Note |
|---|---|---|
| 05:33 | hyst 0.2 | Pre-dawn Monday. Outdoor 51°F, 25% RH, overcast, 9 mph wind. |
| 09:58 | hyst 0.3 | Tree shade clears Monday. Outdoor 63°F, 15% RH, overcast. VP |
| 11:00 | hyst 0.4 | Cloud shift Monday 11:00 — clearing to 0% cloud by noon. Sol |
| 14:00 | hyst 0.3 | Post-solar decline Monday. Outdoor 70°F, 12% RH, 28 mph wind |
| 19:27 | hyst 0.2 | Evening Monday. Cold front arriving — outdoor drops to 45°F |
Tactical tunable changes:
| Time | Values | Note |
|---|---|---|
| 05:33 | d_cool 3; engage 1.3; all 1.5; pulse 60; gap 25; wt 1.5 | Pre-dawn Monday. Outdoor 51°F, 25% RH, overcast, 9 mph wind. |
| 09:58 | d_cool 3; engage 1.3; all 1.5; pulse 60; gap 20; wt 2 | Tree shade clears Monday. Outdoor 63°F, 15% RH, overcast. VP |
| 11:00 | d_cool 3; engage 1.3; all 1.5; pulse 60; gap 20; wt 3 | Cloud shift Monday 11:00 — clearing to 0% cloud by noon. Sol |
| 14:00 | d_cool 3; engage 1.3; all 1.7; pulse 60; gap 25; wt 2 | Post-solar decline Monday. Outdoor 70°F, 12% RH, 28 mph wind |
| 19:27 | d_cool 3; engage 1.6; all 1.9; pulse 60; gap 45; wt 1.5 | Evening Monday. Cold front arriving — outdoor drops to 45°F |
Tuesday April 14
Primary crop-band changes:
| Time | Values | Note |
|---|---|---|
| 02:00 | hyst 0.2 | Tuesday 02:00 — cold front in full effect. Outdoor 45°F, 38% |
Tactical tunable changes:
| Time | Values | Note |
|---|---|---|
| 02:00 | d_cool 3; engage 1.6; all 1.9; pulse 60; gap 45; wt 1.5 | Tuesday 02:00 — cold front in full effect. Outdoor 45°F, 38% |
Changed secondary parameters:
| Time | Parameter | Change |
|---|---|---|
| 02:57 | bias_cool | initial 3 |
| 02:57 | bias_heat | initial 1 |
| 02:57 | enthalpy_close | initial 1 |
| 02:57 | enthalpy_open | initial -2 |
| 02:57 | fog_escalation_kpa | initial 0.4 |
| 02:57 | min_fog_off_s | initial 60 |
| 02:57 | min_fog_on_s | initial 60 |
| 02:57 | min_heat_off_s | initial 300 |
| 02:57 | min_heat_on_s | initial 120 |
| 02:57 | min_vent_off_s | initial 60 |
| 02:57 | min_vent_on_s | initial 60 |
| 02:57 | mist_max_closed_vent_s | initial 600 |
| 02:57 | mist_thermal_relief_s | initial 90 |
| 02:57 | mist_vent_close_lead_s | initial 15 |
| 02:57 | mist_vent_reopen_delay_s | initial 45 |
| 02:57 | mister_water_budget_gal | initial 500 |
| 02:57 | vpd_watch_dwell_s | initial 60 |
| 05:35 | fog_escalation_kpa | 0.4 → 0.3 |
| 09:59 | bias_cool | 3 → 0 |
| 09:59 | bias_heat | 1 → 0 |
| 09:59 | vpd_watch_dwell_s | 60 → 45 |
| 13:00 | bias_cool | 0 → -1 |
| 13:00 | vpd_watch_dwell_s | 45 → 30 |
| 16:00 | bias_cool | -1 → 0 |
| 16:00 | fog_escalation_kpa | 0.3 → 0.4 |
| 16:00 | vpd_watch_dwell_s | 30 → 45 |
| 19:25 | bias_cool | 0 → 3 |
| 19:25 | bias_heat | 0 → 1 |
| 19:25 | vpd_watch_dwell_s | 45 → 60 |
| 05:34 | fog_escalation_kpa | 0.4 → 0.2 |
| 05:34 | mist_max_closed_vent_s | 600 → 900 |
| 09:58 | bias_cool | 3 → 0 |
| 09:58 | bias_heat | 1 → 0 |
| 09:58 | vpd_watch_dwell_s | 60 → 30 |
| 11:00 | bias_cool | 0 → -1 |
| 11:00 | enthalpy_close | 1 → 2 |
| 11:00 | enthalpy_open | -2 → -3 |
| 11:00 | min_fog_off_s | 60 → 45 |
| 11:00 | min_vent_off_s | 60 → 90 |
| 11:00 | mist_thermal_relief_s | 90 → 120 |
| 11:00 | mist_vent_reopen_delay_s | 45 → 60 |
| 16:00 | bias_cool | -1 → 0 |
| 16:00 | enthalpy_close | 2 → 1 |
| 16:00 | enthalpy_open | -3 → -2 |
| 16:00 | fog_escalation_kpa | 0.2 → 0.3 |
| 16:00 | min_fog_off_s | 45 → 60 |
| 16:00 | min_vent_off_s | 90 → 60 |
| 16:00 | mist_thermal_relief_s | 120 → 90 |
| 16:00 | mist_vent_reopen_delay_s | 60 → 45 |
| 19:26 | bias_cool | 0 → 4 |
| 19:26 | bias_heat | 0 → 2 |
| 19:26 | fog_escalation_kpa | 0.3 → 0.4 |
| 19:26 | mist_max_closed_vent_s | 900 → 600 |
| 19:26 | vpd_watch_dwell_s | 30 → 60 |
| 05:33 | bias_cool | 4 → 3 |
| 05:33 | bias_heat | 2 → 1 |
| 05:33 | fog_escalation_kpa | 0.4 → 0.3 |
| 05:33 | mist_max_closed_vent_s | 600 → 900 |
| 09:58 | bias_cool | 3 → 0 |
| 09:58 | bias_heat | 1 → 0 |
| 09:58 | vpd_watch_dwell_s | 60 → 30 |
| 11:00 | bias_cool | 0 → -1 |
| 11:00 | enthalpy_close | 1 → 2 |
| 11:00 | enthalpy_open | -2 → -3 |
| 11:00 | min_fog_off_s | 60 → 45 |
| 11:00 | min_vent_off_s | 60 → 90 |
| 11:00 | mist_thermal_relief_s | 90 → 120 |
| 11:00 | mist_vent_reopen_delay_s | 45 → 60 |
| 14:00 | bias_cool | -1 → 0 |
| 14:00 | enthalpy_close | 2 → 1 |
| 14:00 | enthalpy_open | -3 → -2 |
| 14:00 | fog_escalation_kpa | 0.3 → 0.4 |
| 14:00 | min_fog_off_s | 45 → 60 |
| 14:00 | min_vent_off_s | 90 → 60 |
| 14:00 | mist_max_closed_vent_s | 900 → 600 |
| 14:00 | mist_thermal_relief_s | 120 → 90 |
| 14:00 | mist_vent_reopen_delay_s | 60 → 45 |
| 14:00 | vpd_watch_dwell_s | 30 → 45 |
| 19:27 | bias_cool | 0 → 4 |
| 19:27 | bias_heat | 0 → 2 |
| 19:27 | vpd_watch_dwell_s | 45 → 60 |
🌅 Morning Cycle (3:42 AM) — iris-20260411-0345
validated
4/10
vpd_hysteresis, vpd_watch_dwell_s, mister_engage_kpa, mister_all_kpa, mister_pulse_on_s, mister_pulse_gap_s, mister_vpd_weight, mister_water_budget_gal ...
Reflection
Validating previous cycle: iris-20260410-2100
Previous hypothesis: By maintaining bias_cool=+4 during all heating periods to prevent vent oscillation, keeping mister_engage_kpa=1.3 at all times (since nighttime vpd_high band is 0.6-0.8, well below the default 1.6 engage threshold), and using aggressive sealed-vent misting (gap=20s, max_closed=900s) during peak dry hours, we can reduce total stress hours from 69.6h to under 15h across the 3-day period. Result: [backfill] compliance unavailable over plan window 2026-04-11 09:42 → 2026-04-11 10:27 Score: 4/10
Hypothesis
Conditions: Today (Sat): overcast, high 75°F, outdoor RH dropping to 18% by 1 PM — moderate VPD stress expected. Sunday is the hardest day: clear-to-partly-cloudy, 76°F high, outdoor RH plunging to 7% with winds 14-18 mph — extreme dryness will drive sustained VPD_high stress. Monday: windy (20-29 mph), 70°F high, 11-12% RH, clearing by afternoon — still aggressive but slightly less extreme. Tuesday cold front arrives (46°F high, 33% RH) — easy day. Current partial scorecard shows 18.6h vpd_high_stress today already, indicating the active plan’s evening revert to engage=1.3/gap=45 was too conservative for the dry overnight. East zone seedlings (lettuce, strawberry) show stress signs but these are likely light/nutrient issues outside tuning scope. Testing: Compare Saturday (overcast, fog_escalation_kpa=0.3, mist_max_closed_vent_s=600) vs Monday (clear+windy, fog_escalation_kpa=0.3, mist_max_closed_vent_s=900) on vpd_high_stress hours. Monday has higher wind (20-29 mph) but similar outdoor VPD. If 900s sealed-vent on Monday yields fewer vpd_high stress hours per unit outdoor VPD than Saturday’s 600s, extended sealed-vent is the dominant lever even in windy conditions. Expected outcome: Monday’s vpd_high_stress_hours / avg_outdoor_vpd ratio should be lower than Saturday’s ratio, demonstrating that 900s sealed-vent compensates for wind-driven infiltration losses better than 600s. | target_score=45 | target_compliance=40% | expected_stress=[heat=3.0, cold=0.5, vpd_high=12.0, vpd_low=0.5] | expected_cost=USD 7.0
Setpoints
Saturday April 11
Primary crop-band changes:
| Time | Values | Note |
|---|---|---|
| 03:42 | hyst 0.2 | Immediate coverage (copied from first transition) |
| 03:45 | hyst 0.2 | Cold night (40°F outdoor). bias_cool +3 prevents vent oscill |
| 05:35 | hyst 0.2 | Pre-dawn: still cold (41°F), keep heating bias. Lower mister |
| 09:59 | hyst 0.3 | Tree shade clears east zone. Outdoor warming to 60°F — drop |
| 13:00 | hyst 0.4 | Peak stress: 75°F outdoor, 18% RH, clouds breaking briefly a |
| 16:00 | hyst 0.3 | Declining solar, temp dropping to 68°F but outdoor RH still |
| 19:25 | hyst 0.2 | Sunset. Overnight low ~47°F, heaters will run. bias_cool +3 |
Tactical tunable changes:
| Time | Values | Note |
|---|---|---|
| 03:42 | d_cool 3; engage 1.3; all 1.9; pulse 60; gap 45; wt 1.5 | Immediate coverage (copied from first transition) |
| 03:45 | d_cool 3; engage 1.3; all 1.9; pulse 60; gap 45; wt 1.5 | Cold night (40°F outdoor). bias_cool +3 prevents vent oscill |
| 05:35 | d_cool 3; engage 1.3; all 1.6; pulse 60; gap 30; wt 1.5 | Pre-dawn: still cold (41°F), keep heating bias. Lower mister |
| 09:59 | d_cool 3; engage 1.3; all 1.5; pulse 60; gap 25; wt 2 | Tree shade clears east zone. Outdoor warming to 60°F — drop |
| 13:00 | d_cool 3; engage 1.3; all 1.5; pulse 60; gap 20; wt 3 | Peak stress: 75°F outdoor, 18% RH, clouds breaking briefly a |
| 16:00 | d_cool 3; engage 1.3; all 1.7; pulse 60; gap 25; wt 2 | Declining solar, temp dropping to 68°F but outdoor RH still |
| 19:25 | d_cool 3; engage 1.3; all 1.9; pulse 60; gap 45; wt 1.5 | Sunset. Overnight low ~47°F, heaters will run. bias_cool +3 |
Sunday April 12
Primary crop-band changes:
| Time | Values | Note |
|---|---|---|
| 05:34 | hyst 0.2 | Sunday is the hardest day: 76°F high, 7% RH, winds 14-18 mph |
| 09:58 | hyst 0.3 | Tree shade clears. Outdoor 62°F, 24% RH — VPD ramp accelerat |
| 11:00 | hyst 0.3 | Cloud shift at 11:00 — 63% cloud cover arrives but outdoor R |
| 15:00 | hyst 0.4 | Peak stress: 76°F outdoor, 7% RH, outdoor VPD 2.84 kPa, wind |
| 16:00 | hyst 0.4 | Fog window closes at 17:00. Widen fog_escalation to 0.3 — ca |
| 19:26 | hyst 0.2 | Sunset Sunday. Overnight low dropping to 55-56°F (warmer tha |
Tactical tunable changes:
| Time | Values | Note |
|---|---|---|
| 05:34 | d_cool 3; engage 1.3; all 1.5; pulse 60; gap 25; wt 1.5 | Sunday is the hardest day: 76°F high, 7% RH, winds 14-18 mph |
| 09:58 | d_cool 3; engage 1.3; all 1.5; pulse 60; gap 20; wt 2.5 | Tree shade clears. Outdoor 62°F, 24% RH — VPD ramp accelerat |
| 11:00 | d_cool 3; engage 1.3; all 1.5; pulse 60; gap 20; wt 2.5 | Cloud shift at 11:00 — 63% cloud cover arrives but outdoor R |
| 15:00 | d_cool 3; engage 1.3; all 1.5; pulse 60; gap 15; wt 3 | Peak stress: 76°F outdoor, 7% RH, outdoor VPD 2.84 kPa, wind |
| 16:00 | d_cool 3; engage 1.3; all 1.5; pulse 60; gap 20; wt 2.5 | Fog window closes at 17:00. Widen fog_escalation to 0.3 — ca |
| 19:26 | d_cool 3; engage 1.3; all 1.9; pulse 60; gap 45; wt 1.5 | Sunset Sunday. Overnight low dropping to 55-56°F (warmer tha |
Monday April 13
Primary crop-band changes:
| Time | Values | Note |
|---|---|---|
| 05:33 | hyst 0.2 | Monday: 70°F high, 11-12% RH, winds 20-29 mph. Wind will inc |
| 09:58 | hyst 0.3 | Tree shade clears. Overcast (100%) but outdoor RH only 19%. |
| 11:00 | hyst 0.4 | Clouds clearing (0% by 11AM), solar load jumps to 698 W/m². |
| 14:00 | hyst 0.3 | Post-peak solar. Temp declining (70→68°F) but wind still 28- |
| 19:27 | hyst 0.2 | Sunset Monday. Cold front arriving — overnight low 45°F, out |
Tactical tunable changes:
| Time | Values | Note |
|---|---|---|
| 05:33 | d_cool 3; engage 1.3; all 1.5; pulse 60; gap 25; wt 1.5 | Monday: 70°F high, 11-12% RH, winds 20-29 mph. Wind will inc |
| 09:58 | d_cool 3; engage 1.3; all 1.5; pulse 60; gap 20; wt 2 | Tree shade clears. Overcast (100%) but outdoor RH only 19%. |
| 11:00 | d_cool 3; engage 1.3; all 1.5; pulse 60; gap 20; wt 3 | Clouds clearing (0% by 11AM), solar load jumps to 698 W/m². |
| 14:00 | d_cool 3; engage 1.3; all 1.7; pulse 60; gap 25; wt 2 | Post-peak solar. Temp declining (70→68°F) but wind still 28- |
| 19:27 | d_cool 3; engage 1.6; all 1.9; pulse 60; gap 45; wt 1.5 | Sunset Monday. Cold front arriving — overnight low 45°F, out |
Tuesday April 14
Primary crop-band changes:
| Time | Values | Note |
|---|---|---|
| 02:00 | hyst 0.2 | Tuesday: cold front (46°F high, 33% RH, 100% cloud at 02:00) |
Tactical tunable changes:
| Time | Values | Note |
|---|---|---|
| 02:00 | d_cool 3; engage 1.6; all 1.9; pulse 60; gap 45; wt 1.5 | Tuesday: cold front (46°F high, 33% RH, 100% cloud at 02:00) |
Changed secondary parameters:
| Time | Parameter | Change |
|---|---|---|
| 03:42 | bias_cool | initial 3 |
| 03:42 | bias_heat | initial 1 |
| 03:42 | enthalpy_close | initial 1 |
| 03:42 | enthalpy_open | initial -2 |
| 03:42 | fog_escalation_kpa | initial 0.4 |
| 03:42 | min_fog_off_s | initial 60 |
| 03:42 | min_fog_on_s | initial 60 |
| 03:42 | min_heat_off_s | initial 300 |
| 03:42 | min_heat_on_s | initial 120 |
| 03:42 | min_vent_off_s | initial 60 |
| 03:42 | min_vent_on_s | initial 60 |
| 03:42 | mist_max_closed_vent_s | initial 600 |
| 03:42 | mist_thermal_relief_s | initial 90 |
| 03:42 | mist_vent_close_lead_s | initial 15 |
| 03:42 | mist_vent_reopen_delay_s | initial 45 |
| 03:42 | mister_water_budget_gal | initial 500 |
| 03:42 | vpd_watch_dwell_s | initial 60 |
| 05:35 | fog_escalation_kpa | 0.4 → 0.3 |
| 05:35 | vpd_watch_dwell_s | 60 → 45 |
| 09:59 | bias_cool | 3 → 0 |
| 09:59 | bias_heat | 1 → 0 |
| 13:00 | bias_cool | 0 → -1 |
| 13:00 | vpd_watch_dwell_s | 45 → 30 |
| 16:00 | bias_cool | -1 → 0 |
| 16:00 | fog_escalation_kpa | 0.3 → 0.4 |
| 16:00 | vpd_watch_dwell_s | 30 → 45 |
| 19:25 | bias_cool | 0 → 3 |
| 19:25 | bias_heat | 0 → 1 |
| 19:25 | vpd_watch_dwell_s | 45 → 60 |
| 05:34 | enthalpy_close | 1 → 2 |
| 05:34 | enthalpy_open | -2 → -3 |
| 05:34 | fog_escalation_kpa | 0.4 → 0.2 |
| 05:34 | min_fog_off_s | 60 → 45 |
| 05:34 | min_vent_off_s | 60 → 90 |
| 05:34 | mist_max_closed_vent_s | 600 → 900 |
| 05:34 | mist_vent_close_lead_s | 15 → 20 |
| 05:34 | mist_vent_reopen_delay_s | 45 → 60 |
| 05:34 | vpd_watch_dwell_s | 60 → 30 |
| 09:58 | bias_cool | 3 → 0 |
| 09:58 | bias_heat | 1 → 0 |
| 11:00 | bias_cool | 0 → -1 |
| 16:00 | bias_cool | -1 → 0 |
| 16:00 | fog_escalation_kpa | 0.2 → 0.3 |
| 16:00 | min_fog_off_s | 45 → 60 |
| 19:26 | bias_cool | 0 → 4 |
| 19:26 | bias_heat | 0 → 2 |
| 19:26 | enthalpy_close | 2 → 1 |
| 19:26 | enthalpy_open | -3 → -2 |
| 19:26 | fog_escalation_kpa | 0.3 → 0.4 |
| 19:26 | min_vent_off_s | 90 → 60 |
| 19:26 | mist_max_closed_vent_s | 900 → 600 |
| 19:26 | mist_vent_close_lead_s | 20 → 15 |
| 19:26 | mist_vent_reopen_delay_s | 60 → 45 |
| 19:26 | vpd_watch_dwell_s | 30 → 60 |
| 05:33 | bias_cool | 4 → 3 |
| 05:33 | bias_heat | 2 → 1 |
| 05:33 | enthalpy_close | 1 → 2 |
| 05:33 | enthalpy_open | -2 → -3 |
| 05:33 | fog_escalation_kpa | 0.4 → 0.3 |
| 05:33 | min_fog_off_s | 60 → 45 |
| 05:33 | min_vent_off_s | 60 → 90 |
| 05:33 | mist_max_closed_vent_s | 600 → 900 |
| 05:33 | mist_thermal_relief_s | 90 → 120 |
| 05:33 | mist_vent_close_lead_s | 15 → 20 |
| 05:33 | mist_vent_reopen_delay_s | 45 → 60 |
| 05:33 | vpd_watch_dwell_s | 60 → 30 |
| 09:58 | bias_cool | 3 → 0 |
| 09:58 | bias_heat | 1 → 0 |
| 11:00 | bias_cool | 0 → -1 |
| 14:00 | bias_cool | -1 → 0 |
| 14:00 | enthalpy_close | 2 → 1 |
| 14:00 | enthalpy_open | -3 → -2 |
| 14:00 | fog_escalation_kpa | 0.3 → 0.4 |
| 14:00 | min_fog_off_s | 45 → 60 |
| 14:00 | min_vent_off_s | 90 → 60 |
| 14:00 | mist_max_closed_vent_s | 900 → 600 |
| 14:00 | mist_thermal_relief_s | 120 → 90 |
| 14:00 | mist_vent_close_lead_s | 20 → 15 |
| 14:00 | mist_vent_reopen_delay_s | 60 → 45 |
| 14:00 | vpd_watch_dwell_s | 30 → 45 |
| 19:27 | bias_cool | 0 → 4 |
| 19:27 | bias_heat | 0 → 2 |
| 19:27 | vpd_watch_dwell_s | 45 → 60 |
🌅 Morning Cycle (4:27 AM) — iris-20260411-0430
validated
4/10
vpd_hysteresis, vpd_watch_dwell_s, mister_engage_kpa, mister_all_kpa, mister_pulse_on_s, mister_pulse_gap_s, mister_vpd_weight, mister_water_budget_gal ...
Reflection
Validating previous cycle: iris-20260410-2145
Previous hypothesis: By maintaining mister_engage_kpa=1.3 and bias_cool=+4 at ALL times (including overnight), we prevent the two dominant failure modes: (1) mister engage threshold above the tight nighttime vpd_high band ceiling, and (2) vent oscillation during heating. During daytime peak stress, aggressive misting (gap=20s, weight=2.5-3.0) with extended sealed-vent periods (900s) will maximize evaporative cooling. This should dramatically reduce the 41.1h vpd_high stress seen on April 10. Result: [backfill] compliance unavailable over plan window 2026-04-11 10:27 → 2026-04-11 11:12 Score: 4/10
Hypothesis
Conditions: Three challenging days ahead: Saturday (today) overcast with 76°F high and 17% low RH, Sunday extremely dry (7% RH, 76°F, clear afternoon), Monday windy (20-29 mph) with 70°F and 11% RH clearing to sun midday. Tuesday brings a cold front (46°F high, 33% RH) — much easier. Current state is SEALED_MIST_S1 at 4:25 AM with indoor temps 61-68°F and VPD 0.82-1.16 kPa. Today’s partial scorecard shows 0% compliance and 20.6h vpd_high stress — the active plan’s daytime settings are struggling against dry conditions despite overcast skies. Lettuce and strawberry seedlings in east zone show stress (wilting, yellowing, browning) likely from temperature/light issues outside this planner’s control surface. Testing: Compare Sunday (fog_escalation_kpa=0.2, mist_max_closed_vent_s=900, pulse_gap=15s at peak) vs Saturday (fog_escalation_kpa=0.3, mist_max_closed_vent_s=600, pulse_gap=20s at peak) on vpd_high stress hours normalized by outdoor VPD. Sunday is ~2.5x drier. If fog_escalation 0.2 + 900s sealed-vent compensates, Sunday’s vpd_high_stress / avg_outdoor_VPD ratio should be ≤ Saturday’s ratio. Expected outcome: Sunday vpd_high_stress_h / avg_outdoor_VPD ≤ Saturday’s ratio, demonstrating that tighter fog escalation (0.2 vs 0.3) is the dominant lever for extreme dryness beyond sealed-vent extension alone. | target_score=55 | target_compliance=55% | expected_stress=[heat=2.0, cold=0.5, vpd_high=7.0, vpd_low=0.5] | expected_cost=USD 7.0
Setpoints
Saturday April 11
Primary crop-band changes:
| Time | Values | Note |
|---|---|---|
| 04:27 | hyst 0.2 | Immediate coverage (copied from first transition) |
| 04:30 | hyst 0.2 | Pre-dawn cold night posture. Outdoor 41°F, heaters active. b |
| 09:59 | hyst 0.3 | East zone gets direct sun, VPD ramp accelerates. Overcast bu |
| 14:00 | hyst 0.4 | Peak at 76°F/17% RH outdoor. Forecast shows 453 W/m² solar a |
| 16:00 | hyst 0.3 | Solar declining, outdoor temp dropping to 69°F. Relax mistin |
| 19:25 | hyst 0.2 | Sunset. Outdoor dropping to 61°F/32% RH overnight then 52°F |
Tactical tunable changes:
| Time | Values | Note |
|---|---|---|
| 04:27 | d_cool 3; engage 1.3; all 1.6; pulse 60; gap 30; wt 1.5 | Immediate coverage (copied from first transition) |
| 04:30 | d_cool 3; engage 1.3; all 1.6; pulse 60; gap 30; wt 1.5 | Pre-dawn cold night posture. Outdoor 41°F, heaters active. b |
| 09:59 | d_cool 3; engage 1.3; all 1.5; pulse 60; gap 25; wt 2 | East zone gets direct sun, VPD ramp accelerates. Overcast bu |
| 14:00 | d_cool 3; engage 1.3; all 1.5; pulse 60; gap 20; wt 3 | Peak at 76°F/17% RH outdoor. Forecast shows 453 W/m² solar a |
| 16:00 | d_cool 3; engage 1.3; all 1.7; pulse 60; gap 25; wt 2 | Solar declining, outdoor temp dropping to 69°F. Relax mistin |
| 19:25 | d_cool 3; engage 1.3; all 1.9; pulse 60; gap 45; wt 1.5 | Sunset. Outdoor dropping to 61°F/32% RH overnight then 52°F |
Sunday April 12
Primary crop-band changes:
| Time | Values | Note |
|---|---|---|
| 05:34 | hyst 0.2 | Sunday is the hardest day: 7% RH, 76°F, clear afternoon. Pre |
| 09:58 | hyst 0.3 | Clear sky, 503 W/m² solar by 10AM, outdoor 65°F/18% RH. VPD |
| 11:00 | hyst 0.3 | Cloud cover increases to 63% at 11AM but solar still 591 W/m |
| 15:00 | hyst 0.4 | Peak conditions: 76°F/7% RH outdoor, 636 W/m² solar, wind 14 |
| 16:00 | hyst 0.3 | Solar declining but still dry (75°F/7% RH, wind 17 mph). Fog |
| 19:26 | hyst 0.2 | Sunday night: outdoor drops from 70°F to 56°F by midnight, s |
Tactical tunable changes:
| Time | Values | Note |
|---|---|---|
| 05:34 | d_cool 3; engage 1.3; all 1.5; pulse 60; gap 25; wt 1.5 | Sunday is the hardest day: 7% RH, 76°F, clear afternoon. Pre |
| 09:58 | d_cool 3; engage 1.3; all 1.5; pulse 60; gap 20; wt 2.5 | Clear sky, 503 W/m² solar by 10AM, outdoor 65°F/18% RH. VPD |
| 11:00 | d_cool 3; engage 1.3; all 1.5; pulse 60; gap 20; wt 2.5 | Cloud cover increases to 63% at 11AM but solar still 591 W/m |
| 15:00 | d_cool 3; engage 1.3; all 1.5; pulse 60; gap 15; wt 3 | Peak conditions: 76°F/7% RH outdoor, 636 W/m² solar, wind 14 |
| 16:00 | d_cool 3; engage 1.3; all 1.5; pulse 60; gap 20; wt 2.5 | Solar declining but still dry (75°F/7% RH, wind 17 mph). Fog |
| 19:26 | d_cool 3; engage 1.3; all 1.9; pulse 60; gap 45; wt 1.5 | Sunday night: outdoor drops from 70°F to 56°F by midnight, s |
Monday April 13
Primary crop-band changes:
| Time | Values | Note |
|---|---|---|
| 05:33 | hyst 0.2 | Monday pre-dawn: 51°F/25% RH outdoor, wind 9 mph. Cold-dry p |
| 09:58 | hyst 0.3 | Monday morning: overcast clearing to sun by 11AM. Outdoor 59 |
| 11:00 | hyst 0.4 | Clouds clear at 11AM — 698 W/m² solar, outdoor 66°F/12% RH. |
| 14:00 | hyst 0.3 | Monday 14:00: outdoor 70°F/12% RH, wind 28 mph, 757 W/m² sol |
| 19:27 | hyst 0.2 | Monday evening: outdoor dropping from 60°F to 45°F overnight |
Tactical tunable changes:
| Time | Values | Note |
|---|---|---|
| 05:33 | d_cool 3; engage 1.3; all 1.5; pulse 60; gap 25; wt 1.5 | Monday pre-dawn: 51°F/25% RH outdoor, wind 9 mph. Cold-dry p |
| 09:58 | d_cool 3; engage 1.3; all 1.5; pulse 60; gap 20; wt 2 | Monday morning: overcast clearing to sun by 11AM. Outdoor 59 |
| 11:00 | d_cool 3; engage 1.3; all 1.5; pulse 60; gap 15; wt 3 | Clouds clear at 11AM — 698 W/m² solar, outdoor 66°F/12% RH. |
| 14:00 | d_cool 3; engage 1.3; all 1.7; pulse 60; gap 20; wt 2 | Monday 14:00: outdoor 70°F/12% RH, wind 28 mph, 757 W/m² sol |
| 19:27 | d_cool 3; engage 1.6; all 1.9; pulse 60; gap 45; wt 1.5 | Monday evening: outdoor dropping from 60°F to 45°F overnight |
Tuesday April 14
Primary crop-band changes:
| Time | Values | Note |
|---|---|---|
| 02:00 | hyst 0.2 | Tuesday cold front: 46°F high, 33% RH, overcast with 22% pre |
Tactical tunable changes:
| Time | Values | Note |
|---|---|---|
| 02:00 | d_cool 3; engage 1.6; all 1.9; pulse 60; gap 45; wt 1.5 | Tuesday cold front: 46°F high, 33% RH, overcast with 22% pre |
Changed secondary parameters:
| Time | Parameter | Change |
|---|---|---|
| 04:27 | bias_cool | initial 3 |
| 04:27 | bias_heat | initial 1 |
| 04:27 | enthalpy_close | initial 1 |
| 04:27 | enthalpy_open | initial -2 |
| 04:27 | fog_escalation_kpa | initial 0.4 |
| 04:27 | min_fog_off_s | initial 60 |
| 04:27 | min_fog_on_s | initial 60 |
| 04:27 | min_heat_off_s | initial 300 |
| 04:27 | min_heat_on_s | initial 120 |
| 04:27 | min_vent_off_s | initial 60 |
| 04:27 | min_vent_on_s | initial 60 |
| 04:27 | mist_max_closed_vent_s | initial 600 |
| 04:27 | mist_thermal_relief_s | initial 90 |
| 04:27 | mist_vent_close_lead_s | initial 15 |
| 04:27 | mist_vent_reopen_delay_s | initial 45 |
| 04:27 | mister_water_budget_gal | initial 500 |
| 04:27 | vpd_watch_dwell_s | initial 45 |
| 09:59 | bias_cool | 3 → 0 |
| 09:59 | bias_heat | 1 → 0 |
| 09:59 | fog_escalation_kpa | 0.4 → 0.3 |
| 14:00 | bias_cool | 0 → -1 |
| 14:00 | min_vent_off_s | 60 → 90 |
| 14:00 | mist_vent_close_lead_s | 15 → 20 |
| 14:00 | vpd_watch_dwell_s | 45 → 30 |
| 16:00 | bias_cool | -1 → 0 |
| 16:00 | fog_escalation_kpa | 0.3 → 0.4 |
| 16:00 | min_fog_off_s | 60 → 90 |
| 16:00 | min_vent_off_s | 90 → 60 |
| 16:00 | mist_vent_close_lead_s | 20 → 15 |
| 16:00 | vpd_watch_dwell_s | 30 → 45 |
| 19:25 | bias_cool | 0 → 3 |
| 19:25 | bias_heat | 0 → 1 |
| 19:25 | min_fog_off_s | 90 → 60 |
| 19:25 | vpd_watch_dwell_s | 45 → 60 |
| 05:34 | fog_escalation_kpa | 0.4 → 0.2 |
| 05:34 | min_vent_off_s | 60 → 90 |
| 05:34 | mist_max_closed_vent_s | 600 → 900 |
| 05:34 | mist_vent_reopen_delay_s | 45 → 60 |
| 05:34 | vpd_watch_dwell_s | 60 → 45 |
| 09:58 | bias_cool | 3 → 0 |
| 09:58 | bias_heat | 1 → 0 |
| 09:58 | enthalpy_close | 1 → 2 |
| 09:58 | enthalpy_open | -2 → -3 |
| 09:58 | min_fog_off_s | 60 → 45 |
| 09:58 | mist_vent_close_lead_s | 15 → 20 |
| 09:58 | vpd_watch_dwell_s | 45 → 30 |
| 11:00 | bias_cool | 0 → -1 |
| 15:00 | min_fog_off_s | 45 → 30 |
| 15:00 | min_vent_off_s | 90 → 120 |
| 15:00 | mist_vent_close_lead_s | 20 → 25 |
| 16:00 | bias_cool | -1 → 0 |
| 16:00 | enthalpy_close | 2 → 1 |
| 16:00 | enthalpy_open | -3 → -2 |
| 16:00 | fog_escalation_kpa | 0.2 → 0.3 |
| 16:00 | min_fog_off_s | 30 → 60 |
| 16:00 | min_vent_off_s | 120 → 90 |
| 16:00 | mist_vent_close_lead_s | 25 → 20 |
| 16:00 | mist_vent_reopen_delay_s | 60 → 45 |
| 16:00 | vpd_watch_dwell_s | 30 → 45 |
| 19:26 | bias_cool | 0 → 4 |
| 19:26 | bias_heat | 0 → 2 |
| 19:26 | fog_escalation_kpa | 0.3 → 0.4 |
| 19:26 | min_vent_off_s | 90 → 60 |
| 19:26 | mist_max_closed_vent_s | 900 → 600 |
| 19:26 | mist_vent_close_lead_s | 20 → 15 |
| 19:26 | vpd_watch_dwell_s | 45 → 60 |
| 05:33 | bias_cool | 4 → 3 |
| 05:33 | bias_heat | 2 → 1 |
| 05:33 | fog_escalation_kpa | 0.4 → 0.3 |
| 05:33 | min_vent_off_s | 60 → 90 |
| 05:33 | mist_max_closed_vent_s | 600 → 900 |
| 05:33 | mist_vent_close_lead_s | 15 → 20 |
| 05:33 | mist_vent_reopen_delay_s | 45 → 60 |
| 05:33 | vpd_watch_dwell_s | 60 → 45 |
| 09:58 | bias_cool | 3 → 0 |
| 09:58 | bias_heat | 1 → 0 |
| 09:58 | enthalpy_close | 1 → 2 |
| 09:58 | enthalpy_open | -2 → -3 |
| 09:58 | min_fog_off_s | 60 → 45 |
| 09:58 | mist_vent_close_lead_s | 20 → 25 |
| 09:58 | vpd_watch_dwell_s | 45 → 30 |
| 11:00 | bias_cool | 0 → -1 |
| 11:00 | min_vent_off_s | 90 → 120 |
| 11:00 | mist_thermal_relief_s | 90 → 120 |
| 11:00 | mist_vent_close_lead_s | 25 → 30 |
| 14:00 | bias_cool | -1 → 0 |
| 14:00 | enthalpy_close | 2 → 1 |
| 14:00 | enthalpy_open | -3 → -2 |
| 14:00 | fog_escalation_kpa | 0.3 → 0.4 |
| 14:00 | min_fog_off_s | 45 → 90 |
| 14:00 | min_vent_off_s | 120 → 60 |
| 14:00 | mist_max_closed_vent_s | 900 → 600 |
| 14:00 | mist_thermal_relief_s | 120 → 90 |
| 14:00 | mist_vent_close_lead_s | 30 → 25 |
| 14:00 | mist_vent_reopen_delay_s | 60 → 45 |
| 14:00 | vpd_watch_dwell_s | 30 → 45 |
| 19:27 | bias_cool | 0 → 4 |
| 19:27 | bias_heat | 0 → 2 |
| 19:27 | min_fog_off_s | 90 → 60 |
| 19:27 | mist_vent_close_lead_s | 25 → 15 |
| 19:27 | vpd_watch_dwell_s | 45 → 60 |
🌅 Morning Cycle (5:12 AM) — iris-20260411-0515
validated
4/10
vpd_hysteresis, vpd_watch_dwell_s, mister_engage_kpa, mister_all_kpa, mister_pulse_on_s, mister_pulse_gap_s, mister_vpd_weight, mister_water_budget_gal ...
Reflection
Validating previous cycle: iris-20260410-2230
Previous hypothesis: Maintaining mister_engage_kpa=1.3 at ALL transitions (including overnight), bias_cool=+3 to +4 during all heating periods, and aggressive daytime misting posture (gap 20s, weight 3.0) on the extreme dry days will reduce vpd_high_stress from 41h to under 8h while keeping cold_stress under 1h by preventing vent oscillation during heating. Result: [backfill] compliance unavailable over plan window 2026-04-11 11:12 → 2026-04-11 12:02 Score: 4/10
Hypothesis
Conditions: Today (Sat) peaks 75°F with 17% RH and 100% cloud cover — moderate VPD stress expected. Sunday is the hardest day: 76°F peak with 7% RH, extreme dryness requiring maximum humidity retention. Monday peaks 70°F with 11% RH and high winds (20-29 mph), moderate difficulty. Tuesday brings a cold front (46°F high, 33% RH) — easy day, heater-dominant. Current scorecard shows 21.6h vpd_high stress today already, indicating the active plan’s morning posture was too passive before tree shade cleared. East zone lettuce/strawberry seedlings show stress (wilting, yellowing) — likely nutrient/light issues outside this planner’s control surface. Testing: Compare Sunday (fog_escalation_kpa=0.2, mist_max_closed_vent_s=900, pulse_gap=15s at peak, mister_vpd_weight=3.0) vs Monday (fog_escalation_kpa=0.3, mist_max_closed_vent_s=900, pulse_gap=20s at peak, mister_vpd_weight=2.5) on vpd_high stress hours normalized by outdoor VPD. Sunday is ~2x drier but calmer winds. If fog_escalation 0.2 compensates for extreme dryness, Sunday’s vpd_high_stress / avg_outdoor_VPD should be ≤ Monday’s ratio. Expected outcome: Sunday vpd_high_stress / avg_outdoor_VPD ≤ Monday’s ratio, demonstrating that fog_escalation 0.2 + 3.0 weight effectively compensates for extreme dryness better than 0.3 + 2.5 weight on a windy moderate-dry day. | target_score=55 | target_compliance=55% | expected_stress=[heat=1.5, cold=0.0, vpd_high=7.0, vpd_low=0.5] | expected_cost=USD 6.5
Setpoints
Saturday April 11
Primary crop-band changes:
| Time | Values | Note |
|---|---|---|
| 05:12 | hyst 0.2 | Immediate coverage (copied from first transition) |
| 05:15 | hyst 0.2 | Pre-dawn: outdoor 41°F, heaters active. bias_cool +3 prevent |
| 07:00 | hyst 0.3 | Cloud shift at 07:00 (100% cloud). Fog window now open. Drop |
| 09:59 | hyst 0.3 | Tree shade clears east zone — direct sun accelerates VPD ram |
| 13:00 | hyst 0.4 | Peak: 75°F/17% RH outdoor, VPD ~2.44 kPa outdoor. Max mistin |
| 15:00 | hyst 0.3 | Post-peak: outdoor drops to 69°F/26% RH at 15:00 with 16 mph |
| 19:25 | hyst 0.2 | Evening: sunset 19:25, outdoor dropping to 59°F/34% by 20:00 |
Tactical tunable changes:
| Time | Values | Note |
|---|---|---|
| 05:12 | d_cool 3; engage 1.3; all 1.5; pulse 60; gap 25; wt 1.5 | Immediate coverage (copied from first transition) |
| 05:15 | d_cool 3; engage 1.3; all 1.5; pulse 60; gap 25; wt 1.5 | Pre-dawn: outdoor 41°F, heaters active. bias_cool +3 prevent |
| 07:00 | d_cool 3; engage 1.3; all 1.5; pulse 60; gap 25; wt 2 | Cloud shift at 07:00 (100% cloud). Fog window now open. Drop |
| 09:59 | d_cool 3; engage 1.3; all 1.5; pulse 60; gap 20; wt 2.5 | Tree shade clears east zone — direct sun accelerates VPD ram |
| 13:00 | d_cool 3; engage 1.3; all 1.5; pulse 60; gap 20; wt 3 | Peak: 75°F/17% RH outdoor, VPD ~2.44 kPa outdoor. Max mistin |
| 15:00 | d_cool 3; engage 1.3; all 1.7; pulse 60; gap 25; wt 2 | Post-peak: outdoor drops to 69°F/26% RH at 15:00 with 16 mph |
| 19:25 | d_cool 3; engage 1.6; all 1.9; pulse 60; gap 45; wt 1.5 | Evening: sunset 19:25, outdoor dropping to 59°F/34% by 20:00 |
Sunday April 12
Primary crop-band changes:
| Time | Values | Note |
|---|---|---|
| 05:34 | hyst 0.2 | Pre-dawn Sunday: outdoor 44°F/54% RH, clear skies. Extreme d |
| 09:58 | hyst 0.3 | Tree shade clears: outdoor 62°F/24% at 09:00, rapidly drying |
| 11:00 | hyst 0.3 | Cloud shift at 11:00 (63% cloud). Outdoor 68°F/15% RH — extr |
| 15:00 | hyst 0.4 | Peak stress: 76°F/7% RH outdoor, VPD 2.84 kPa outdoor — extr |
| 16:00 | hyst 0.3 | Post-peak: outdoor still extreme (75°F/7% RH, 17 mph wind) b |
| 19:26 | hyst 0.2 | Evening: sunset 19:26, outdoor 70°F/8% dropping to 56°F/20% |
Tactical tunable changes:
| Time | Values | Note |
|---|---|---|
| 05:34 | d_cool 3; engage 1.3; all 1.5; pulse 60; gap 25; wt 1.5 | Pre-dawn Sunday: outdoor 44°F/54% RH, clear skies. Extreme d |
| 09:58 | d_cool 3; engage 1.3; all 1.5; pulse 60; gap 20; wt 2.5 | Tree shade clears: outdoor 62°F/24% at 09:00, rapidly drying |
| 11:00 | d_cool 3; engage 1.3; all 1.5; pulse 60; gap 20; wt 2.5 | Cloud shift at 11:00 (63% cloud). Outdoor 68°F/15% RH — extr |
| 15:00 | d_cool 3; engage 1.3; all 1.5; pulse 60; gap 15; wt 3 | Peak stress: 76°F/7% RH outdoor, VPD 2.84 kPa outdoor — extr |
| 16:00 | d_cool 3; engage 1.3; all 1.5; pulse 60; gap 20; wt 2.5 | Post-peak: outdoor still extreme (75°F/7% RH, 17 mph wind) b |
| 19:26 | d_cool 3; engage 1.6; all 1.9; pulse 60; gap 45; wt 1.5 | Evening: sunset 19:26, outdoor 70°F/8% dropping to 56°F/20% |
Monday April 13
Primary crop-band changes:
| Time | Values | Note |
|---|---|---|
| 05:33 | hyst 0.2 | Pre-dawn Monday: outdoor 51°F/25% RH, 100% cloud, 9 mph wind |
| 09:58 | hyst 0.3 | Tree shade clears: outdoor 59°F/19% at 09:00, cloud clearing |
| 13:00 | hyst 0.4 | Peak: 69°F/11% RH outdoor, 25 mph wind, VPD 2.18 kPa outdoor |
| 14:00 | hyst 0.3 | Post-peak: outdoor 70°F/12% at 14:00 but declining to 64°F/1 |
| 19:27 | hyst 0.2 | Evening: sunset 19:27, outdoor 60°F/22% dropping to 45°F/36% |
Tactical tunable changes:
| Time | Values | Note |
|---|---|---|
| 05:33 | d_cool 3; engage 1.3; all 1.5; pulse 60; gap 25; wt 1.5 | Pre-dawn Monday: outdoor 51°F/25% RH, 100% cloud, 9 mph wind |
| 09:58 | d_cool 3; engage 1.3; all 1.5; pulse 60; gap 20; wt 2 | Tree shade clears: outdoor 59°F/19% at 09:00, cloud clearing |
| 13:00 | d_cool 3; engage 1.3; all 1.5; pulse 60; gap 20; wt 2.5 | Peak: 69°F/11% RH outdoor, 25 mph wind, VPD 2.18 kPa outdoor |
| 14:00 | d_cool 3; engage 1.3; all 1.7; pulse 60; gap 25; wt 2 | Post-peak: outdoor 70°F/12% at 14:00 but declining to 64°F/1 |
| 19:27 | d_cool 3; engage 1.6; all 1.9; pulse 60; gap 45; wt 1.5 | Evening: sunset 19:27, outdoor 60°F/22% dropping to 45°F/36% |
Tuesday April 14
Primary crop-band changes:
| Time | Values | Note |
|---|---|---|
| 02:00 | hyst 0.2 | Cold front: outdoor 45°F/38% RH, 100% cloud, 8 mph wind. Tue |
Tactical tunable changes:
| Time | Values | Note |
|---|---|---|
| 02:00 | d_cool 3; engage 1.6; all 1.9; pulse 60; gap 45; wt 1.5 | Cold front: outdoor 45°F/38% RH, 100% cloud, 8 mph wind. Tue |
Changed secondary parameters:
| Time | Parameter | Change |
|---|---|---|
| 05:12 | bias_cool | initial 3 |
| 05:12 | bias_heat | initial 1 |
| 05:12 | enthalpy_close | initial 1 |
| 05:12 | enthalpy_open | initial -2 |
| 05:12 | fog_escalation_kpa | initial 0.4 |
| 05:12 | min_fog_off_s | initial 60 |
| 05:12 | min_fog_on_s | initial 60 |
| 05:12 | min_heat_off_s | initial 300 |
| 05:12 | min_heat_on_s | initial 120 |
| 05:12 | min_vent_off_s | initial 60 |
| 05:12 | min_vent_on_s | initial 60 |
| 05:12 | mist_max_closed_vent_s | initial 600 |
| 05:12 | mist_thermal_relief_s | initial 90 |
| 05:12 | mist_vent_close_lead_s | initial 15 |
| 05:12 | mist_vent_reopen_delay_s | initial 45 |
| 05:12 | mister_water_budget_gal | initial 500 |
| 05:12 | vpd_watch_dwell_s | initial 30 |
| 07:00 | bias_cool | 3 → 0 |
| 07:00 | bias_heat | 1 → 0 |
| 07:00 | fog_escalation_kpa | 0.4 → 0.3 |
| 09:59 | bias_cool | 0 → -1 |
| 13:00 | enthalpy_open | -2 → -3 |
| 13:00 | min_vent_off_s | 60 → 90 |
| 13:00 | mist_vent_close_lead_s | 15 → 20 |
| 13:00 | mist_vent_reopen_delay_s | 45 → 60 |
| 15:00 | bias_cool | -1 → 0 |
| 15:00 | enthalpy_open | -3 → -2 |
| 15:00 | fog_escalation_kpa | 0.3 → 0.4 |
| 15:00 | min_vent_off_s | 90 → 60 |
| 15:00 | mist_vent_close_lead_s | 20 → 15 |
| 15:00 | mist_vent_reopen_delay_s | 60 → 45 |
| 15:00 | vpd_watch_dwell_s | 30 → 45 |
| 19:25 | bias_cool | 0 → 3 |
| 19:25 | bias_heat | 0 → 1 |
| 19:25 | vpd_watch_dwell_s | 45 → 60 |
| 05:34 | fog_escalation_kpa | 0.4 → 0.2 |
| 05:34 | mist_max_closed_vent_s | 600 → 900 |
| 05:34 | vpd_watch_dwell_s | 60 → 30 |
| 09:58 | bias_cool | 3 → -1 |
| 09:58 | bias_heat | 1 → 0 |
| 09:58 | enthalpy_close | 1 → 2 |
| 09:58 | enthalpy_open | -2 → -3 |
| 09:58 | min_vent_off_s | 60 → 90 |
| 09:58 | mist_vent_close_lead_s | 15 → 20 |
| 09:58 | mist_vent_reopen_delay_s | 45 → 60 |
| 11:00 | min_fog_off_s | 60 → 45 |
| 11:00 | mist_thermal_relief_s | 90 → 120 |
| 15:00 | enthalpy_close | 2 → 3 |
| 15:00 | enthalpy_open | -3 → -4 |
| 15:00 | min_fog_off_s | 45 → 30 |
| 15:00 | min_fog_on_s | 60 → 90 |
| 15:00 | min_vent_off_s | 90 → 120 |
| 15:00 | mist_vent_close_lead_s | 20 → 25 |
| 16:00 | bias_cool | -1 → 0 |
| 16:00 | enthalpy_close | 3 → 2 |
| 16:00 | enthalpy_open | -4 → -3 |
| 16:00 | fog_escalation_kpa | 0.2 → 0.3 |
| 16:00 | min_fog_off_s | 30 → 60 |
| 16:00 | min_fog_on_s | 90 → 60 |
| 16:00 | min_vent_off_s | 120 → 90 |
| 16:00 | mist_thermal_relief_s | 120 → 90 |
| 16:00 | mist_vent_close_lead_s | 25 → 20 |
| 16:00 | mist_vent_reopen_delay_s | 60 → 45 |
| 19:26 | bias_cool | 0 → 4 |
| 19:26 | bias_heat | 0 → 2 |
| 19:26 | enthalpy_close | 2 → 1 |
| 19:26 | enthalpy_open | -3 → -2 |
| 19:26 | fog_escalation_kpa | 0.3 → 0.4 |
| 19:26 | min_vent_off_s | 90 → 60 |
| 19:26 | mist_max_closed_vent_s | 900 → 600 |
| 19:26 | mist_vent_close_lead_s | 20 → 15 |
| 19:26 | vpd_watch_dwell_s | 30 → 60 |
| 05:33 | bias_cool | 4 → 3 |
| 05:33 | bias_heat | 2 → 1 |
| 05:33 | fog_escalation_kpa | 0.4 → 0.3 |
| 05:33 | mist_max_closed_vent_s | 600 → 900 |
| 05:33 | vpd_watch_dwell_s | 60 → 30 |
| 09:58 | bias_cool | 3 → -1 |
| 09:58 | bias_heat | 1 → 0 |
| 09:58 | enthalpy_close | 1 → 2 |
| 09:58 | enthalpy_open | -2 → -3 |
| 09:58 | min_vent_off_s | 60 → 90 |
| 09:58 | mist_thermal_relief_s | 90 → 120 |
| 09:58 | mist_vent_close_lead_s | 15 → 20 |
| 09:58 | mist_vent_reopen_delay_s | 45 → 60 |
| 13:00 | enthalpy_close | 2 → 3 |
| 13:00 | enthalpy_open | -3 → -4 |
| 13:00 | min_fog_off_s | 60 → 45 |
| 13:00 | min_vent_off_s | 90 → 120 |
| 14:00 | bias_cool | -1 → 0 |
| 14:00 | enthalpy_close | 3 → 1 |
| 14:00 | enthalpy_open | -4 → -2 |
| 14:00 | fog_escalation_kpa | 0.3 → 0.4 |
| 14:00 | min_fog_off_s | 45 → 60 |
| 14:00 | min_vent_off_s | 120 → 60 |
| 14:00 | mist_max_closed_vent_s | 900 → 600 |
| 14:00 | mist_thermal_relief_s | 120 → 90 |
| 14:00 | mist_vent_close_lead_s | 20 → 15 |
| 14:00 | mist_vent_reopen_delay_s | 60 → 45 |
| 14:00 | vpd_watch_dwell_s | 30 → 45 |
| 19:27 | bias_cool | 0 → 4 |
| 19:27 | bias_heat | 0 → 2 |
| 19:27 | vpd_watch_dwell_s | 45 → 60 |
| 02:00 | min_heat_on_s | 120 → 180 |
🌅 Morning Cycle (6:02 AM) — iris-20260411-0605
validated
4/10
vpd_hysteresis, vpd_watch_dwell_s, mister_engage_kpa, mister_all_kpa, mister_pulse_on_s, mister_pulse_gap_s, mister_vpd_weight, mister_water_budget_gal ...
Reflection
Validating previous cycle: iris-20260411-0000
Previous hypothesis: Maintaining mister_engage_kpa=1.3 at ALL transitions (including overnight) with bias_cool=+3 during heating periods will eliminate the nighttime vpd_high stress that dominated April 10. Aggressive daytime misting (gap 20s, weight 3.0, max_closed_vent 900s) on Sunday/Monday will limit peak VPD stress despite extreme dryness. Saturday’s overcast conditions should allow moderate compliance. Result: [backfill] compliance unavailable over plan window 2026-04-11 12:02 → 2026-04-11 12:07 Score: 4/10
Hypothesis
Conditions: Today (Sat) is transitioning from overcast/cold morning (39°F) to warm dry afternoon (75°F, 16% RH) — extreme VPD stress expected 11AM-5PM. Today’s partial scorecard already shows 22.87h vpd_high stress, indicating the current plan’s daytime posture is insufficient. Sunday is the most extreme day: 76°F with 7% RH outdoor, producing outdoor VPD near 2.8 kPa — maximum misting aggression needed. Monday similar but slightly cooler (72°F, 9% RH). Tuesday brings a cold front (45°F high, 38% RH) — mild day, heating overnight. East zone seedlings (lettuce, strawberry, pepper) show stress from temperature/light issues outside this planner’s control surface. Vanda orchids and Canna lilies healthy. Testing: Compare Saturday afternoon (fog_escalation_kpa=0.3, mist_max_closed_vent_s=600, pulse_gap=20s) vs Sunday peak (fog_escalation_kpa=0.2, mist_max_closed_vent_s=900, pulse_gap=15s) on vpd_high stress hours per unit outdoor VPD. Sunday is ~2x drier. If the more aggressive Sunday posture compensates, Sunday’s vpd_high_stress/avg_outdoor_VPD ratio should be ≤ Saturday’s. Expected outcome: Sunday vpd_high_stress normalized by average outdoor VPD (expected ~2.5 kPa avg) should be ≤ Saturday’s ratio (expected ~2.0 kPa avg outdoor VPD). Specifically: Sunday vpd_high_h/2.5 ≤ Saturday vpd_high_h/2.0. | target_score=45 | target_compliance=40% | expected_stress=[heat=1.0, cold=0.5, vpd_high=10.0, vpd_low=0.5] | expected_cost=USD 7.0
Setpoints
Saturday April 11
Primary crop-band changes:
| Time | Values | Note |
|---|---|---|
| 06:02 | hyst 0.3 | Immediate coverage (copied from first transition) |
| 06:05 | hyst 0.3 | Morning is cold (39°F outdoor) and overcast but warming fast |
| 09:59 | hyst 0.3 | East zone loses tree shade, solar gain increases. Outdoor te |
| 14:00 | hyst 0.4 | Peak outdoor temp 75°F, 16% RH. Outdoor VPD ~2.46 kPa. Incre |
| 18:00 | hyst 0.3 | Skies clearing at 18:00 (6% cloud). Outdoor temp 67°F, RH 29 |
| 19:25 | hyst 0.2 | Sunset. Tonight drops to 52°F by midnight, 44°F by 5AM. Heat |
Tactical tunable changes:
| Time | Values | Note |
|---|---|---|
| 06:02 | d_cool 3; engage 1.3; all 1.5; pulse 60; gap 25; wt 2 | Immediate coverage (copied from first transition) |
| 06:05 | d_cool 3; engage 1.3; all 1.5; pulse 60; gap 25; wt 2 | Morning is cold (39°F outdoor) and overcast but warming fast |
| 09:59 | d_cool 3; engage 1.3; all 1.5; pulse 60; gap 20; wt 2.5 | East zone loses tree shade, solar gain increases. Outdoor te |
| 14:00 | d_cool 3; engage 1.3; all 1.5; pulse 60; gap 20; wt 3 | Peak outdoor temp 75°F, 16% RH. Outdoor VPD ~2.46 kPa. Incre |
| 18:00 | d_cool 3; engage 1.3; all 1.7; pulse 60; gap 30; wt 2 | Skies clearing at 18:00 (6% cloud). Outdoor temp 67°F, RH 29 |
| 19:25 | d_cool 3; engage 1.6; all 1.9; pulse 60; gap 45; wt 1.5 | Sunset. Tonight drops to 52°F by midnight, 44°F by 5AM. Heat |
Sunday April 12
Primary crop-band changes:
| Time | Values | Note |
|---|---|---|
| 05:34 | hyst 0.2 | Sunday is the hardest day: 76°F high, 7% RH outdoor. Pre-pos |
| 09:58 | hyst 0.3 | Tree shade clears east zone. Outdoor already 65°F, 18% RH at |
| 11:00 | hyst 0.3 | Clouds arrive at 11AM (63% cover) but outdoor RH still only |
| 15:00 | hyst 0.4 | Peak VPD hour: 76°F, 7% RH outdoor = 2.84 kPa outdoor VPD. T |
| 16:00 | hyst 0.3 | Outdoor temp still 75°F but solar declining. Wind picking up |
| 19:26 | hyst 0.2 | Sunset Sunday. Tonight drops to 43°F by 6AM Monday. Heaters |
Tactical tunable changes:
| Time | Values | Note |
|---|---|---|
| 05:34 | d_cool 3; engage 1.3; all 1.5; pulse 60; gap 25; wt 1.5 | Sunday is the hardest day: 76°F high, 7% RH outdoor. Pre-pos |
| 09:58 | d_cool 3; engage 1.3; all 1.5; pulse 60; gap 20; wt 2.5 | Tree shade clears east zone. Outdoor already 65°F, 18% RH at |
| 11:00 | d_cool 3; engage 1.3; all 1.5; pulse 60; gap 20; wt 2.5 | Clouds arrive at 11AM (63% cover) but outdoor RH still only |
| 15:00 | d_cool 3; engage 1.3; all 1.5; pulse 60; gap 15; wt 3 | Peak VPD hour: 76°F, 7% RH outdoor = 2.84 kPa outdoor VPD. T |
| 16:00 | d_cool 3; engage 1.3; all 1.5; pulse 60; gap 20; wt 2.5 | Outdoor temp still 75°F but solar declining. Wind picking up |
| 19:26 | d_cool 3; engage 1.6; all 1.9; pulse 60; gap 45; wt 1.5 | Sunset Sunday. Tonight drops to 43°F by 6AM Monday. Heaters |
Monday April 13
Primary crop-band changes:
| Time | Values | Note |
|---|---|---|
| 05:33 | hyst 0.2 | Monday forecast: 72°F high, 9% RH low. Similar to Sunday but |
| 09:58 | hyst 0.3 | Tree shade clears. Outdoor 64°F, 12% RH at 10AM. Remove heat |
| 14:00 | hyst 0.4 | Peak Monday: 72°F, 9% RH outdoor = 2.40 kPa outdoor VPD. Max |
| 15:00 | hyst 0.3 | Solar declining, wind 21 mph. Slightly relax pulse gap to 20 |
| 19:27 | hyst 0.2 | Sunset Monday. Tonight drops to 45°F by Tuesday midnight, th |
Tactical tunable changes:
| Time | Values | Note |
|---|---|---|
| 05:33 | d_cool 3; engage 1.3; all 1.5; pulse 60; gap 25; wt 1.5 | Monday forecast: 72°F high, 9% RH low. Similar to Sunday but |
| 09:58 | d_cool 3; engage 1.3; all 1.5; pulse 60; gap 20; wt 2.5 | Tree shade clears. Outdoor 64°F, 12% RH at 10AM. Remove heat |
| 14:00 | d_cool 3; engage 1.3; all 1.5; pulse 60; gap 15; wt 3 | Peak Monday: 72°F, 9% RH outdoor = 2.40 kPa outdoor VPD. Max |
| 15:00 | d_cool 3; engage 1.3; all 1.5; pulse 60; gap 20; wt 2.5 | Solar declining, wind 21 mph. Slightly relax pulse gap to 20 |
| 19:27 | d_cool 3; engage 1.6; all 1.9; pulse 60; gap 45; wt 1.5 | Sunset Monday. Tonight drops to 45°F by Tuesday midnight, th |
Tuesday April 14
Primary crop-band changes:
| Time | Values | Note |
|---|---|---|
| 02:00 | hyst 0.2 | Tuesday 2AM: outdoor 41°F, 46% RH. Coldest point in horizon. |
Tactical tunable changes:
| Time | Values | Note |
|---|---|---|
| 02:00 | d_cool 3; engage 1.6; all 1.9; pulse 60; gap 45; wt 1.5 | Tuesday 2AM: outdoor 41°F, 46% RH. Coldest point in horizon. |
Changed secondary parameters:
| Time | Parameter | Change |
|---|---|---|
| 06:02 | bias_cool | initial 0 |
| 06:02 | bias_heat | initial 0 |
| 06:02 | enthalpy_close | initial 1 |
| 06:02 | enthalpy_open | initial -2 |
| 06:02 | fog_escalation_kpa | initial 0.3 |
| 06:02 | min_fog_off_s | initial 60 |
| 06:02 | min_fog_on_s | initial 60 |
| 06:02 | min_heat_off_s | initial 300 |
| 06:02 | min_heat_on_s | initial 120 |
| 06:02 | min_vent_off_s | initial 60 |
| 06:02 | min_vent_on_s | initial 60 |
| 06:02 | mist_max_closed_vent_s | initial 600 |
| 06:02 | mist_thermal_relief_s | initial 90 |
| 06:02 | mist_vent_close_lead_s | initial 15 |
| 06:02 | mist_vent_reopen_delay_s | initial 45 |
| 06:02 | mister_water_budget_gal | initial 500 |
| 06:02 | vpd_watch_dwell_s | initial 30 |
| 09:59 | bias_cool | 0 → -1 |
| 18:00 | bias_cool | -1 → 0 |
| 18:00 | fog_escalation_kpa | 0.3 → 0.4 |
| 18:00 | vpd_watch_dwell_s | 30 → 60 |
| 19:25 | bias_cool | 0 → 3 |
| 19:25 | bias_heat | 0 → 1 |
| 05:34 | enthalpy_close | 1 → 2 |
| 05:34 | enthalpy_open | -2 → -3 |
| 05:34 | fog_escalation_kpa | 0.4 → 0.2 |
| 05:34 | min_fog_off_s | 60 → 45 |
| 05:34 | min_vent_off_s | 60 → 90 |
| 05:34 | mist_max_closed_vent_s | 600 → 900 |
| 05:34 | mist_vent_close_lead_s | 15 → 20 |
| 05:34 | mist_vent_reopen_delay_s | 45 → 60 |
| 05:34 | vpd_watch_dwell_s | 60 → 30 |
| 09:58 | bias_cool | 3 → -1 |
| 09:58 | bias_heat | 1 → 0 |
| 16:00 | bias_cool | -1 → 0 |
| 16:00 | fog_escalation_kpa | 0.2 → 0.3 |
| 16:00 | min_fog_off_s | 45 → 60 |
| 19:26 | bias_cool | 0 → 3 |
| 19:26 | bias_heat | 0 → 1 |
| 19:26 | enthalpy_close | 2 → 1 |
| 19:26 | enthalpy_open | -3 → -2 |
| 19:26 | fog_escalation_kpa | 0.3 → 0.4 |
| 19:26 | min_vent_off_s | 90 → 60 |
| 19:26 | mist_max_closed_vent_s | 900 → 600 |
| 19:26 | mist_vent_close_lead_s | 20 → 15 |
| 19:26 | mist_vent_reopen_delay_s | 60 → 45 |
| 19:26 | vpd_watch_dwell_s | 30 → 60 |
| 05:33 | enthalpy_close | 1 → 2 |
| 05:33 | enthalpy_open | -2 → -3 |
| 05:33 | fog_escalation_kpa | 0.4 → 0.3 |
| 05:33 | min_fog_off_s | 60 → 45 |
| 05:33 | min_vent_off_s | 60 → 90 |
| 05:33 | mist_max_closed_vent_s | 600 → 900 |
| 05:33 | mist_vent_close_lead_s | 15 → 20 |
| 05:33 | mist_vent_reopen_delay_s | 45 → 60 |
| 05:33 | vpd_watch_dwell_s | 60 → 30 |
| 09:58 | bias_cool | 3 → -1 |
| 09:58 | bias_heat | 1 → 0 |
| 15:00 | bias_cool | -1 → 0 |
| 15:00 | fog_escalation_kpa | 0.3 → 0.4 |
| 15:00 | min_fog_off_s | 45 → 60 |
| 19:27 | bias_cool | 0 → 4 |
| 19:27 | bias_heat | 0 → 2 |
| 19:27 | enthalpy_close | 2 → 1 |
| 19:27 | enthalpy_open | -3 → -2 |
| 19:27 | min_vent_off_s | 90 → 60 |
| 19:27 | mist_max_closed_vent_s | 900 → 600 |
| 19:27 | mist_vent_close_lead_s | 20 → 15 |
| 19:27 | mist_vent_reopen_delay_s | 60 → 45 |
| 19:27 | vpd_watch_dwell_s | 30 → 60 |
🌅 Morning Cycle (6:07 AM) — iris-20260411-0610
validated
4/10
vpd_hysteresis, vpd_watch_dwell_s, mister_engage_kpa, mister_all_kpa, mister_pulse_on_s, mister_pulse_gap_s, mister_vpd_weight, mister_water_budget_gal ...
Reflection
Validating previous cycle: iris-20260411-0000
Result: [backfill] compliance unavailable over plan window 2026-04-11 12:07 → 2026-04-11 12:47 Score: 4/10
Hypothesis
Conditions: Today (Sat) is transitioning from overcast morning to clearing by 18:00, with outdoor highs of 75°F and extreme dryness (16% RH). Current indoor conditions show VPD 0.88-1.09 kPa across zones with temps 61-67°F. Today’s partial scorecard shows 22.87h vpd_high stress — the active plan’s misting posture is insufficient for the dry conditions despite engage at 1.3. Sunday is the most extreme day: 76°F high with 7% RH outdoor, producing outdoor VPD up to 2.84 kPa. Monday similar but slightly cooler (72°F, 9% RH). Tuesday brings a cold front (45°F high, 38% RH) — much easier. East zone seedlings (lettuce, strawberry, pepper) show stress signs but these are likely light/nutrient issues outside tuning control. Canna lilies and Vandas healthy. Testing: Compare Sunday peak (fog_escalation_kpa=0.2, pulse_gap=15s, mist_max_closed_vent_s=900s) vs Monday peak (fog_escalation_kpa=0.3, pulse_gap=20s, mist_max_closed_vent_s=900s) on vpd_high stress hours. Sunday is drier (7% vs 9% RH) but has more aggressive misting. If the extra aggression compensates, Sunday’s vpd_high_stress per unit outdoor VPD should be ≤ Monday’s. Expected outcome: Sunday vpd_high_stress / avg_outdoor_VPD ≤ Monday’s ratio, demonstrating that fog_escalation 0.2 + gap 15s provides meaningful additional VPD control vs 0.3 + gap 20s on extreme dry days. | target_score=52 | target_compliance=50% | expected_stress=[heat=1.0, cold=0.5, vpd_high=8.0, vpd_low=0.5] | expected_cost=USD 7.0
Setpoints
Saturday April 11
Primary crop-band changes:
| Time | Values | Note |
|---|---|---|
| 06:07 | hyst 0.3 | Immediate coverage (copied from first transition) |
| 06:10 | hyst 0.3 | Current state is SEALED_MIST_S1 with VPD 0.88-1.09 — within |
| 09:59 | hyst 0.3 | East zone loses tree shade, direct sun hits. Outdoor temp ri |
| 14:00 | hyst 0.4 | Peak outdoor VPD ~2.46 kPa at 75°F/16% RH. Hysteresis 0.4 fo |
| 18:00 | hyst 0.3 | Skies clearing at 18:00 (6% cloud) but outdoor temp dropping |
| 19:25 | hyst 0.2 | Tonight drops to 44°F by 05:00. Heaters will run. bias_heat |
Tactical tunable changes:
| Time | Values | Note |
|---|---|---|
| 06:07 | d_cool 3; engage 1.3; all 1.5; pulse 60; gap 25; wt 2 | Immediate coverage (copied from first transition) |
| 06:10 | d_cool 3; engage 1.3; all 1.5; pulse 60; gap 25; wt 2 | Current state is SEALED_MIST_S1 with VPD 0.88-1.09 — within |
| 09:59 | d_cool 3; engage 1.3; all 1.5; pulse 60; gap 20; wt 2.5 | East zone loses tree shade, direct sun hits. Outdoor temp ri |
| 14:00 | d_cool 3; engage 1.3; all 1.5; pulse 60; gap 20; wt 3 | Peak outdoor VPD ~2.46 kPa at 75°F/16% RH. Hysteresis 0.4 fo |
| 18:00 | d_cool 3; engage 1.3; all 1.7; pulse 60; gap 30; wt 2 | Skies clearing at 18:00 (6% cloud) but outdoor temp dropping |
| 19:25 | d_cool 3; engage 1.6; all 1.9; pulse 60; gap 45; wt 1.5 | Tonight drops to 44°F by 05:00. Heaters will run. bias_heat |
Sunday April 12
Primary crop-band changes:
| Time | Values | Note |
|---|---|---|
| 05:34 | hyst 0.2 | Sunday is the hardest day: 76°F high, 7% RH low. Pre-positio |
| 09:58 | hyst 0.3 | Outdoor 62°F/24% RH at 09:00, climbing fast. Clear skies. Ea |
| 11:00 | hyst 0.3 | 63% cloud at 11:00 reduces solar gain temporarily but outdoo |
| 15:00 | hyst 0.4 | Peak outdoor VPD 2.84 kPa at 76°F/7% RH — the most extreme c |
| 19:26 | hyst 0.2 | Sunset. Outdoor dropping from 70°F to 48°F overnight. Heater |
Tactical tunable changes:
| Time | Values | Note |
|---|---|---|
| 05:34 | d_cool 3; engage 1.3; all 1.5; pulse 60; gap 25; wt 1.5 | Sunday is the hardest day: 76°F high, 7% RH low. Pre-positio |
| 09:58 | d_cool 3; engage 1.3; all 1.5; pulse 60; gap 20; wt 2.5 | Outdoor 62°F/24% RH at 09:00, climbing fast. Clear skies. Ea |
| 11:00 | d_cool 3; engage 1.3; all 1.5; pulse 60; gap 20; wt 2.5 | 63% cloud at 11:00 reduces solar gain temporarily but outdoo |
| 15:00 | d_cool 3; engage 1.3; all 1.5; pulse 60; gap 15; wt 3 | Peak outdoor VPD 2.84 kPa at 76°F/7% RH — the most extreme c |
| 19:26 | d_cool 3; engage 1.6; all 1.9; pulse 60; gap 45; wt 1.5 | Sunset. Outdoor dropping from 70°F to 48°F overnight. Heater |
Monday April 13
Primary crop-band changes:
| Time | Values | Note |
|---|---|---|
| 05:33 | hyst 0.2 | Monday: 72°F high, 9% RH low. Similar to Sunday but slightly |
| 09:58 | hyst 0.3 | Outdoor 61°F/14% RH at 09:00, climbing. 100% cloud cover mod |
| 14:00 | hyst 0.4 | Peak outdoor VPD 2.40 kPa at 72°F/9% RH. Experiment arm B: f |
| 15:00 | hyst 0.3 | Outdoor temp declining from 72°F, wind increasing to 21-25 m |
| 19:27 | hyst 0.2 | Monday night into Tuesday is the coldest: dropping to 41°F b |
Tactical tunable changes:
| Time | Values | Note |
|---|---|---|
| 05:33 | d_cool 3; engage 1.3; all 1.5; pulse 60; gap 25; wt 1.5 | Monday: 72°F high, 9% RH low. Similar to Sunday but slightly |
| 09:58 | d_cool 3; engage 1.3; all 1.5; pulse 60; gap 20; wt 2.5 | Outdoor 61°F/14% RH at 09:00, climbing. 100% cloud cover mod |
| 14:00 | d_cool 3; engage 1.3; all 1.5; pulse 60; gap 20; wt 3 | Peak outdoor VPD 2.40 kPa at 72°F/9% RH. Experiment arm B: f |
| 15:00 | d_cool 3; engage 1.3; all 1.5; pulse 60; gap 25; wt 2.5 | Outdoor temp declining from 72°F, wind increasing to 21-25 m |
| 19:27 | d_cool 3; engage 1.6; all 1.9; pulse 60; gap 45; wt 1.5 | Monday night into Tuesday is the coldest: dropping to 41°F b |
Tuesday April 14
Primary crop-band changes:
| Time | Values | Note |
|---|---|---|
| 02:00 | hyst 0.2 | Coldest point: 41°F outdoor, 46% RH. Slab thermal mass provi |
Tactical tunable changes:
| Time | Values | Note |
|---|---|---|
| 02:00 | d_cool 3; engage 1.6; all 1.9; pulse 60; gap 45; wt 1.5 | Coldest point: 41°F outdoor, 46% RH. Slab thermal mass provi |
Changed secondary parameters:
| Time | Parameter | Change |
|---|---|---|
| 06:07 | bias_cool | initial 0 |
| 06:07 | bias_heat | initial 0 |
| 06:07 | enthalpy_close | initial 1 |
| 06:07 | enthalpy_open | initial -2 |
| 06:07 | fog_escalation_kpa | initial 0.3 |
| 06:07 | min_fog_off_s | initial 60 |
| 06:07 | min_fog_on_s | initial 60 |
| 06:07 | min_heat_off_s | initial 300 |
| 06:07 | min_heat_on_s | initial 120 |
| 06:07 | min_vent_off_s | initial 60 |
| 06:07 | min_vent_on_s | initial 60 |
| 06:07 | mist_max_closed_vent_s | initial 600 |
| 06:07 | mist_thermal_relief_s | initial 90 |
| 06:07 | mist_vent_close_lead_s | initial 15 |
| 06:07 | mist_vent_reopen_delay_s | initial 45 |
| 06:07 | mister_water_budget_gal | initial 500 |
| 06:07 | vpd_watch_dwell_s | initial 45 |
| 09:59 | bias_cool | 0 → -1 |
| 09:59 | mist_vent_close_lead_s | 15 → 20 |
| 09:59 | vpd_watch_dwell_s | 45 → 40 |
| 14:00 | enthalpy_open | -2 → -3 |
| 14:00 | min_vent_off_s | 60 → 90 |
| 14:00 | min_vent_on_s | 60 → 45 |
| 14:00 | mist_vent_reopen_delay_s | 45 → 60 |
| 14:00 | vpd_watch_dwell_s | 40 → 30 |
| 18:00 | bias_cool | -1 → 0 |
| 18:00 | enthalpy_open | -3 → -2 |
| 18:00 | fog_escalation_kpa | 0.3 → 0.4 |
| 18:00 | min_vent_off_s | 90 → 60 |
| 18:00 | min_vent_on_s | 45 → 60 |
| 18:00 | mist_vent_close_lead_s | 20 → 15 |
| 18:00 | mist_vent_reopen_delay_s | 60 → 45 |
| 18:00 | vpd_watch_dwell_s | 30 → 60 |
| 19:25 | bias_cool | 0 → 3 |
| 19:25 | bias_heat | 0 → 1 |
| 05:34 | fog_escalation_kpa | 0.4 → 0.2 |
| 05:34 | mist_max_closed_vent_s | 600 → 900 |
| 05:34 | vpd_watch_dwell_s | 60 → 45 |
| 09:58 | bias_cool | 3 → -1 |
| 09:58 | bias_heat | 1 → 0 |
| 09:58 | enthalpy_open | -2 → -3 |
| 09:58 | min_vent_off_s | 60 → 90 |
| 09:58 | min_vent_on_s | 60 → 45 |
| 09:58 | mist_vent_close_lead_s | 15 → 20 |
| 09:58 | mist_vent_reopen_delay_s | 45 → 60 |
| 09:58 | vpd_watch_dwell_s | 45 → 40 |
| 11:00 | min_fog_off_s | 60 → 45 |
| 11:00 | mist_thermal_relief_s | 90 → 120 |
| 15:00 | enthalpy_close | 1 → 2 |
| 15:00 | enthalpy_open | -3 → -4 |
| 15:00 | min_fog_on_s | 60 → 90 |
| 15:00 | min_vent_off_s | 90 → 120 |
| 15:00 | min_vent_on_s | 45 → 30 |
| 15:00 | mist_thermal_relief_s | 120 → 90 |
| 15:00 | mist_vent_close_lead_s | 20 → 25 |
| 15:00 | vpd_watch_dwell_s | 40 → 30 |
| 19:26 | bias_cool | -1 → 3 |
| 19:26 | bias_heat | 0 → 1 |
| 19:26 | enthalpy_close | 2 → 1 |
| 19:26 | enthalpy_open | -4 → -2 |
| 19:26 | fog_escalation_kpa | 0.2 → 0.4 |
| 19:26 | min_fog_off_s | 45 → 60 |
| 19:26 | min_fog_on_s | 90 → 60 |
| 19:26 | min_vent_off_s | 120 → 60 |
| 19:26 | min_vent_on_s | 30 → 60 |
| 19:26 | mist_max_closed_vent_s | 900 → 600 |
| 19:26 | mist_vent_close_lead_s | 25 → 15 |
| 19:26 | mist_vent_reopen_delay_s | 60 → 45 |
| 19:26 | vpd_watch_dwell_s | 30 → 60 |
| 05:33 | fog_escalation_kpa | 0.4 → 0.3 |
| 05:33 | mist_max_closed_vent_s | 600 → 900 |
| 05:33 | vpd_watch_dwell_s | 60 → 45 |
| 09:58 | bias_cool | 3 → -1 |
| 09:58 | bias_heat | 1 → 0 |
| 09:58 | enthalpy_open | -2 → -3 |
| 09:58 | min_vent_off_s | 60 → 90 |
| 09:58 | min_vent_on_s | 60 → 45 |
| 09:58 | mist_vent_close_lead_s | 15 → 20 |
| 09:58 | mist_vent_reopen_delay_s | 45 → 60 |
| 09:58 | vpd_watch_dwell_s | 45 → 40 |
| 14:00 | enthalpy_close | 1 → 2 |
| 14:00 | enthalpy_open | -3 → -4 |
| 14:00 | min_vent_off_s | 90 → 120 |
| 14:00 | min_vent_on_s | 45 → 30 |
| 14:00 | mist_vent_close_lead_s | 20 → 25 |
| 14:00 | vpd_watch_dwell_s | 40 → 30 |
| 15:00 | bias_cool | -1 → 0 |
| 15:00 | enthalpy_close | 2 → 1 |
| 15:00 | enthalpy_open | -4 → -3 |
| 15:00 | fog_escalation_kpa | 0.3 → 0.4 |
| 15:00 | min_vent_off_s | 120 → 90 |
| 15:00 | min_vent_on_s | 30 → 45 |
| 15:00 | mist_thermal_relief_s | 90 → 120 |
| 15:00 | mist_vent_close_lead_s | 25 → 20 |
| 15:00 | mist_vent_reopen_delay_s | 60 → 45 |
| 15:00 | vpd_watch_dwell_s | 30 → 45 |
| 19:27 | bias_cool | 0 → 4 |
| 19:27 | bias_heat | 0 → 2 |
| 19:27 | enthalpy_open | -3 → -2 |
| 19:27 | min_vent_off_s | 90 → 60 |
| 19:27 | min_vent_on_s | 45 → 60 |
| 19:27 | mist_max_closed_vent_s | 900 → 600 |
| 19:27 | mist_thermal_relief_s | 120 → 90 |
| 19:27 | mist_vent_close_lead_s | 20 → 15 |
| 19:27 | vpd_watch_dwell_s | 45 → 60 |
| 02:00 | min_heat_on_s | 120 → 150 |
🌅 Morning Cycle (6:47 AM) — iris-20260411-0650
validated
4/10
vpd_hysteresis, vpd_watch_dwell_s, mister_engage_kpa, mister_all_kpa, mister_pulse_on_s, mister_pulse_gap_s, mister_vpd_weight, mister_water_budget_gal ...
Reflection
Validating previous cycle: iris-20260411-0045
Previous hypothesis: Maintaining mister_engage_kpa at 1.3 with aggressive sealed-vent misting (900s max closed on peak days) and fog escalation at 0.2 kPa on Sunday will reduce VPD_high stress hours. Nighttime bias_cool of +3-4°F prevents vent oscillation during heating. On Sunday’s extreme dryness, extending mist_max_closed_vent_s to 900s with mister_pulse_gap_s of 15s during peak stress will maximize humidity retention. Result: [backfill] compliance unavailable over plan window 2026-04-11 12:47 → 2026-04-11 13:32 Score: 4/10
Hypothesis
Conditions: Today (Sat) is overcast with clearing at 18:00, high 75°F, low RH 16% — moderate VPD stress expected during afternoon. Sunday is the hardest day: clear to partly cloudy, 76°F high, extreme dryness (7% RH), 13h forecast stress. Monday similar but slightly cooler (72°F) with 9% RH. Tuesday brings a cold front (45°F high, 38% RH) — much easier VPD but cold overnight (41°F). Current scorecard shows 0% compliance today with 23.87h vpd_high and 11.5h cold stress — the active plan’s morning settings haven’t engaged yet (tree shade transition at 09:59). East zone seedlings (lettuce, strawberry, pepper) show stress from low temps/light — informational only, outside tuning surface. Testing: Compare Sunday (fog_escalation_kpa=0.2, pulse_gap=15s, mist_max_closed_vent_s=900s) vs Monday (fog_escalation_kpa=0.3, pulse_gap=20s, mist_max_closed_vent_s=900s) on vpd_high stress hours normalized by average outdoor VPD. Sunday is drier (7% vs 9% RH) but has more aggressive fog/misting. If the extra aggression compensates, Sunday’s vpd_high_stress per unit outdoor VPD should be ≤ Monday’s. Expected outcome: Sunday vpd_high_stress_h / avg_outdoor_vpd ≤ Monday vpd_high_stress_h / avg_outdoor_vpd, demonstrating that fog_escalation 0.2 + gap 15s compensates for the extra dryness vs 0.3 + gap 20s. | target_score=55 | target_compliance=55% | expected_stress=[heat=1.0, cold=0.5, vpd_high=8.0, vpd_low=0.5] | expected_cost=USD 6.5
Setpoints
Saturday April 11
Primary crop-band changes:
| Time | Values | Note |
|---|---|---|
| 06:47 | hyst 0.3 | Immediate coverage (copied from first transition) |
| 06:50 | hyst 0.3 | Overcast morning, outdoor 42°F/85% RH. Indoor VPD 0.89-1.07 |
| 09:59 | hyst 0.3 | East zone gets direct sun, VPD ramp accelerates. Outdoor war |
| 14:00 | hyst 0.4 | Peak outdoor 75°F/16% RH, VPD forecast 2.46 kPa. Most aggres |
| 18:00 | hyst 0.3 | Sky clearing at 18:00 but solar declining. Outdoor 67°F/29% |
| 19:25 | hyst 0.2 | Sunset. Overnight low forecast 44°F — heaters will run. bias |
Tactical tunable changes:
| Time | Values | Note |
|---|---|---|
| 06:47 | d_cool 3; engage 1.3; all 1.6; pulse 60; gap 30; wt 2 | Immediate coverage (copied from first transition) |
| 06:50 | d_cool 3; engage 1.3; all 1.6; pulse 60; gap 30; wt 2 | Overcast morning, outdoor 42°F/85% RH. Indoor VPD 0.89-1.07 |
| 09:59 | d_cool 3; engage 1.3; all 1.5; pulse 60; gap 20; wt 2.5 | East zone gets direct sun, VPD ramp accelerates. Outdoor war |
| 14:00 | d_cool 3; engage 1.3; all 1.5; pulse 60; gap 20; wt 3 | Peak outdoor 75°F/16% RH, VPD forecast 2.46 kPa. Most aggres |
| 18:00 | d_cool 3; engage 1.3; all 1.7; pulse 60; gap 30; wt 2 | Sky clearing at 18:00 but solar declining. Outdoor 67°F/29% |
| 19:25 | d_cool 3; engage 1.6; all 1.9; pulse 60; gap 45; wt 1.5 | Sunset. Overnight low forecast 44°F — heaters will run. bias |
Sunday April 12
Primary crop-band changes:
| Time | Values | Note |
|---|---|---|
| 05:34 | hyst 0.2 | Pre-dawn for extreme dry day (7% RH, 76°F high). Early miste |
| 09:58 | hyst 0.3 | East zone direct sun. Outdoor 62°F/24% RH and dropping fast. |
| 15:00 | hyst 0.4 | Peak outdoor 76°F/7% RH — outdoor VPD 2.84 kPa. Maximum aggr |
| 19:26 | hyst 0.2 | Sunset Sunday. Overnight low forecast 47°F — heaters will ru |
Tactical tunable changes:
| Time | Values | Note |
|---|---|---|
| 05:34 | d_cool 3; engage 1.3; all 1.5; pulse 60; gap 25; wt 1.5 | Pre-dawn for extreme dry day (7% RH, 76°F high). Early miste |
| 09:58 | d_cool 3; engage 1.3; all 1.5; pulse 60; gap 20; wt 2.5 | East zone direct sun. Outdoor 62°F/24% RH and dropping fast. |
| 15:00 | d_cool 3; engage 1.3; all 1.5; pulse 60; gap 15; wt 3 | Peak outdoor 76°F/7% RH — outdoor VPD 2.84 kPa. Maximum aggr |
| 19:26 | d_cool 3; engage 1.6; all 1.9; pulse 60; gap 45; wt 1.5 | Sunset Sunday. Overnight low forecast 47°F — heaters will ru |
Monday April 13
Primary crop-band changes:
| Time | Values | Note |
|---|---|---|
| 05:33 | hyst 0.2 | Pre-dawn Monday. Outdoor 50°F/30% RH — less extreme than Sun |
| 09:58 | hyst 0.3 | East zone direct sun. Outdoor 61°F/14% RH — VPD ramp startin |
| 14:00 | hyst 0.4 | Peak outdoor 72°F/9% RH — outdoor VPD 2.40 kPa. Maximum mist |
| 15:00 | hyst 0.3 | Solar declining, outdoor 71°F/10% RH but wind picking up to |
| 19:27 | hyst 0.2 | Sunset Monday. Coldest night of the horizon — forecast low 4 |
Tactical tunable changes:
| Time | Values | Note |
|---|---|---|
| 05:33 | d_cool 3; engage 1.3; all 1.5; pulse 60; gap 25; wt 1.5 | Pre-dawn Monday. Outdoor 50°F/30% RH — less extreme than Sun |
| 09:58 | d_cool 3; engage 1.3; all 1.5; pulse 60; gap 20; wt 2.5 | East zone direct sun. Outdoor 61°F/14% RH — VPD ramp startin |
| 14:00 | d_cool 3; engage 1.3; all 1.5; pulse 60; gap 20; wt 3 | Peak outdoor 72°F/9% RH — outdoor VPD 2.40 kPa. Maximum mist |
| 15:00 | d_cool 3; engage 1.3; all 1.5; pulse 60; gap 25; wt 2.5 | Solar declining, outdoor 71°F/10% RH but wind picking up to |
| 19:27 | d_cool 3; engage 1.6; all 1.9; pulse 60; gap 45; wt 1.5 | Sunset Monday. Coldest night of the horizon — forecast low 4 |
Tuesday April 14
Primary crop-band changes:
| Time | Values | Note |
|---|---|---|
| 02:00 | hyst 0.2 | Tuesday cold front: outdoor 41°F/46% RH. Slab thermal mass p |
Tactical tunable changes:
| Time | Values | Note |
|---|---|---|
| 02:00 | d_cool 3; engage 1.6; all 1.9; pulse 60; gap 45; wt 1.5 | Tuesday cold front: outdoor 41°F/46% RH. Slab thermal mass p |
Changed secondary parameters:
| Time | Parameter | Change |
|---|---|---|
| 06:47 | bias_cool | initial 0 |
| 06:47 | bias_heat | initial 0 |
| 06:47 | enthalpy_close | initial 1 |
| 06:47 | enthalpy_open | initial -2 |
| 06:47 | fog_escalation_kpa | initial 0.4 |
| 06:47 | min_fog_off_s | initial 60 |
| 06:47 | min_fog_on_s | initial 60 |
| 06:47 | min_heat_off_s | initial 300 |
| 06:47 | min_heat_on_s | initial 120 |
| 06:47 | min_vent_off_s | initial 60 |
| 06:47 | min_vent_on_s | initial 60 |
| 06:47 | mist_max_closed_vent_s | initial 600 |
| 06:47 | mist_thermal_relief_s | initial 90 |
| 06:47 | mist_vent_close_lead_s | initial 15 |
| 06:47 | mist_vent_reopen_delay_s | initial 45 |
| 06:47 | mister_water_budget_gal | initial 500 |
| 06:47 | vpd_watch_dwell_s | initial 60 |
| 09:59 | bias_cool | 0 → -1 |
| 09:59 | fog_escalation_kpa | 0.4 → 0.3 |
| 09:59 | vpd_watch_dwell_s | 60 → 45 |
| 14:00 | enthalpy_open | -2 → -3 |
| 14:00 | min_vent_off_s | 60 → 90 |
| 14:00 | mist_vent_close_lead_s | 15 → 20 |
| 14:00 | vpd_watch_dwell_s | 45 → 30 |
| 18:00 | bias_cool | -1 → 0 |
| 18:00 | enthalpy_open | -3 → -2 |
| 18:00 | fog_escalation_kpa | 0.3 → 0.4 |
| 18:00 | min_vent_off_s | 90 → 60 |
| 18:00 | mist_vent_close_lead_s | 20 → 15 |
| 18:00 | vpd_watch_dwell_s | 30 → 60 |
| 19:25 | bias_cool | 0 → 3 |
| 19:25 | bias_heat | 0 → 1 |
| 05:34 | enthalpy_close | 1 → 2 |
| 05:34 | enthalpy_open | -2 → -3 |
| 05:34 | fog_escalation_kpa | 0.4 → 0.2 |
| 05:34 | min_fog_off_s | 60 → 45 |
| 05:34 | min_vent_off_s | 60 → 90 |
| 05:34 | mist_max_closed_vent_s | 600 → 900 |
| 05:34 | mist_vent_reopen_delay_s | 45 → 60 |
| 09:58 | bias_cool | 3 → -1 |
| 09:58 | bias_heat | 1 → 0 |
| 09:58 | mist_vent_close_lead_s | 15 → 20 |
| 09:58 | vpd_watch_dwell_s | 60 → 45 |
| 15:00 | enthalpy_open | -3 → -4 |
| 15:00 | min_fog_off_s | 45 → 30 |
| 15:00 | min_fog_on_s | 60 → 90 |
| 15:00 | min_vent_off_s | 90 → 120 |
| 15:00 | min_vent_on_s | 60 → 45 |
| 15:00 | mist_vent_close_lead_s | 20 → 25 |
| 15:00 | vpd_watch_dwell_s | 45 → 30 |
| 19:26 | bias_cool | -1 → 3 |
| 19:26 | bias_heat | 0 → 1 |
| 19:26 | enthalpy_close | 2 → 1 |
| 19:26 | enthalpy_open | -4 → -2 |
| 19:26 | fog_escalation_kpa | 0.2 → 0.4 |
| 19:26 | min_fog_off_s | 30 → 60 |
| 19:26 | min_fog_on_s | 90 → 60 |
| 19:26 | min_vent_off_s | 120 → 60 |
| 19:26 | min_vent_on_s | 45 → 60 |
| 19:26 | mist_max_closed_vent_s | 900 → 600 |
| 19:26 | mist_vent_close_lead_s | 25 → 15 |
| 19:26 | mist_vent_reopen_delay_s | 60 → 45 |
| 19:26 | vpd_watch_dwell_s | 30 → 60 |
| 05:33 | enthalpy_close | 1 → 2 |
| 05:33 | enthalpy_open | -2 → -3 |
| 05:33 | fog_escalation_kpa | 0.4 → 0.3 |
| 05:33 | min_vent_off_s | 60 → 90 |
| 05:33 | mist_max_closed_vent_s | 600 → 900 |
| 05:33 | mist_vent_reopen_delay_s | 45 → 60 |
| 09:58 | bias_cool | 3 → -1 |
| 09:58 | bias_heat | 1 → 0 |
| 09:58 | mist_vent_close_lead_s | 15 → 20 |
| 09:58 | vpd_watch_dwell_s | 60 → 45 |
| 14:00 | enthalpy_open | -3 → -4 |
| 14:00 | min_vent_off_s | 90 → 120 |
| 14:00 | min_vent_on_s | 60 → 45 |
| 14:00 | mist_vent_close_lead_s | 20 → 25 |
| 14:00 | vpd_watch_dwell_s | 45 → 30 |
| 15:00 | bias_cool | -1 → 0 |
| 15:00 | enthalpy_close | 2 → 1 |
| 15:00 | enthalpy_open | -4 → -3 |
| 15:00 | fog_escalation_kpa | 0.3 → 0.4 |
| 15:00 | min_vent_off_s | 120 → 90 |
| 15:00 | min_vent_on_s | 45 → 60 |
| 15:00 | mist_vent_close_lead_s | 25 → 15 |
| 15:00 | mist_vent_reopen_delay_s | 60 → 45 |
| 15:00 | vpd_watch_dwell_s | 30 → 45 |
| 19:27 | bias_cool | 0 → 4 |
| 19:27 | bias_heat | 0 → 2 |
| 19:27 | enthalpy_open | -3 → -2 |
| 19:27 | min_vent_off_s | 90 → 60 |
| 19:27 | mist_max_closed_vent_s | 900 → 600 |
| 19:27 | vpd_watch_dwell_s | 45 → 60 |
🌅 Morning Cycle (7:32 AM) — iris-20260411-0735
validated
4/10
vpd_hysteresis, vpd_watch_dwell_s, mister_engage_kpa, mister_all_kpa, mister_pulse_on_s, mister_pulse_gap_s, mister_vpd_weight, mister_water_budget_gal ...
Reflection
Validating previous cycle: iris-20260411-0130
Previous hypothesis: Maintaining bias_cool +3 on cold nights prevents vent oscillation (validated). For daytime dry stress, using fog_escalation_kpa=0.3 with mist_max_closed_vent_s=900 on the two extreme days (Sun/Mon) and 600 on the moderate day (Sat) will keep VPD_high stress under 4h/day. Shortening vpd_watch_dwell_s to 30s during peak stress windows will catch VPD spikes faster. Result: [backfill] compliance unavailable over plan window 2026-04-11 13:32 → 2026-04-11 14:17 Score: 4/10
Hypothesis
Conditions: Today (Sat) is overcast with outdoor high 76°F and very low RH (16-26%), creating significant VPD stress potential. Current indoor temps 63-67°F with VPD 0.80-0.93 kPa — within band but approaching ceiling. Today’s partial scorecard shows 24.4h cold_stress and 7.4h vpd_high_stress, indicating overnight vent oscillation and daytime dryness issues from the prior plan’s early transitions. Sunday is the most extreme day: 76°F high with 7% RH outdoor, producing massive VPD pressure. Monday similar but slightly cooler (72°F, 9% RH). Tuesday brings a cold front (45°F high, 38% RH) — much easier conditions. East zone seedlings (lettuce, strawberry, pepper) show stress from cold/light issues — not addressable via this planner’s control surface. Testing: Compare Sunday (fog_escalation_kpa=0.2, pulse_gap=15s, mist_max_closed_vent_s=900s) vs Monday (fog_escalation_kpa=0.3, pulse_gap=20s, mist_max_closed_vent_s=900s) on vpd_high stress hours normalized by average outdoor VPD. Sunday is drier (7% vs 9% RH) but has more aggressive fog/misting settings. Expected outcome: If fog_escalation 0.2 with 15s gap compensates for extreme dryness, Sunday’s vpd_high_stress_hours / avg_outdoor_VPD ratio should be ≤ Monday’s ratio despite Sunday being ~30% drier. This tests whether the extra fog aggression is proportional to the dryness increase. | target_score=55 | target_compliance=55% | expected_stress=[heat=1.0, cold=0.5, vpd_high=8.0, vpd_low=0.5] | expected_cost=USD 6.5
Setpoints
Saturday April 11
Primary crop-band changes:
| Time | Values | Note |
|---|---|---|
| 07:32 | hyst 0.3 | Immediate coverage (copied from first transition) |
| 07:35 | hyst 0.3 | Immediate posture for Saturday morning. Outdoor 43°F/80% RH, |
| 09:59 | hyst 0.3 | East zone direct sun exposure begins. Outdoor RH dropping to |
| 13:00 | hyst 0.4 | Peak outdoor 76°F/16% RH. Outdoor VPD 2.55 kPa — massive dry |
| 17:00 | hyst 0.3 | Cloud cover drops from 100% to 55% at 17:00. Fog window clos |
| 19:25 | hyst 0.2 | Sunset. Overnight low forecast 44-46°F — heaters will run. b |
Tactical tunable changes:
| Time | Values | Note |
|---|---|---|
| 07:32 | d_cool 3; engage 1.3; all 1.5; pulse 60; gap 25; wt 2 | Immediate coverage (copied from first transition) |
| 07:35 | d_cool 3; engage 1.3; all 1.5; pulse 60; gap 25; wt 2 | Immediate posture for Saturday morning. Outdoor 43°F/80% RH, |
| 09:59 | d_cool 3; engage 1.3; all 1.5; pulse 60; gap 20; wt 2.5 | East zone direct sun exposure begins. Outdoor RH dropping to |
| 13:00 | d_cool 3; engage 1.3; all 1.5; pulse 60; gap 20; wt 3 | Peak outdoor 76°F/16% RH. Outdoor VPD 2.55 kPa — massive dry |
| 17:00 | d_cool 3; engage 1.3; all 1.7; pulse 60; gap 30; wt 2 | Cloud cover drops from 100% to 55% at 17:00. Fog window clos |
| 19:25 | d_cool 3; engage 1.6; all 1.9; pulse 60; gap 45; wt 1.5 | Sunset. Overnight low forecast 44-46°F — heaters will run. b |
Sunday April 12
Primary crop-band changes:
| Time | Values | Note |
|---|---|---|
| 05:34 | hyst 0.2 | Sunday pre-dawn. Outdoor 44°F/54% RH, heaters still running. |
| 09:58 | hyst 0.3 | Sunday tree shade clears. Outdoor already 62°F/24% RH at 09: |
| 11:00 | hyst 0.3 | Sunday cloud shift at 11:00 — clouds increase to 63%. Solar |
| 15:00 | hyst 0.4 | Sunday peak: 76°F/7% RH outdoor, VPD 2.84 kPa — the most ext |
| 19:26 | hyst 0.2 | Sunday sunset. Overnight low 48-53°F — heaters will run. bia |
Tactical tunable changes:
| Time | Values | Note |
|---|---|---|
| 05:34 | d_cool 3; engage 1.3; all 1.5; pulse 60; gap 25; wt 1.5 | Sunday pre-dawn. Outdoor 44°F/54% RH, heaters still running. |
| 09:58 | d_cool 3; engage 1.3; all 1.5; pulse 60; gap 15; wt 2.5 | Sunday tree shade clears. Outdoor already 62°F/24% RH at 09: |
| 11:00 | d_cool 3; engage 1.3; all 1.5; pulse 60; gap 15; wt 2.5 | Sunday cloud shift at 11:00 — clouds increase to 63%. Solar |
| 15:00 | d_cool 3; engage 1.3; all 1.5; pulse 60; gap 15; wt 3 | Sunday peak: 76°F/7% RH outdoor, VPD 2.84 kPa — the most ext |
| 19:26 | d_cool 3; engage 1.6; all 1.9; pulse 60; gap 45; wt 1.5 | Sunday sunset. Overnight low 48-53°F — heaters will run. bia |
Monday April 13
Primary crop-band changes:
| Time | Values | Note |
|---|---|---|
| 05:33 | hyst 0.2 | Monday pre-dawn. Outdoor 51°F/30% RH. Heaters still running. |
| 09:58 | hyst 0.3 | Monday tree shade clears. Overcast (100% cloud) but outdoor |
| 14:00 | hyst 0.4 | Monday peak: 72°F/9% RH outdoor, VPD 2.40 kPa. Very aggressi |
| 15:00 | hyst 0.3 | Monday post-solar decline. Outdoor VPD still 2.36 but solar |
| 19:27 | hyst 0.2 | Monday sunset into Tuesday. Overnight low forecast 41-43°F — |
Tactical tunable changes:
| Time | Values | Note |
|---|---|---|
| 05:33 | d_cool 3; engage 1.3; all 1.5; pulse 60; gap 25; wt 1.5 | Monday pre-dawn. Outdoor 51°F/30% RH. Heaters still running. |
| 09:58 | d_cool 3; engage 1.3; all 1.5; pulse 60; gap 20; wt 2.5 | Monday tree shade clears. Overcast (100% cloud) but outdoor |
| 14:00 | d_cool 3; engage 1.3; all 1.5; pulse 60; gap 20; wt 3 | Monday peak: 72°F/9% RH outdoor, VPD 2.40 kPa. Very aggressi |
| 15:00 | d_cool 3; engage 1.3; all 1.7; pulse 60; gap 25; wt 2.5 | Monday post-solar decline. Outdoor VPD still 2.36 but solar |
| 19:27 | d_cool 3; engage 1.6; all 1.9; pulse 60; gap 45; wt 1.5 | Monday sunset into Tuesday. Overnight low forecast 41-43°F — |
Tuesday April 14
Primary crop-band changes:
| Time | Values | Note |
|---|---|---|
| 05:31 | hyst 0.2 | Tuesday pre-dawn. Outdoor 43-44°F/43-48% RH. Forecast high o |
Tactical tunable changes:
| Time | Values | Note |
|---|---|---|
| 05:31 | d_cool 3; engage 1.6; all 1.9; pulse 60; gap 45; wt 1.5 | Tuesday pre-dawn. Outdoor 43-44°F/43-48% RH. Forecast high o |
Changed secondary parameters:
| Time | Parameter | Change |
|---|---|---|
| 07:32 | bias_cool | initial 0 |
| 07:32 | bias_heat | initial 0 |
| 07:32 | enthalpy_close | initial 1 |
| 07:32 | enthalpy_open | initial -2 |
| 07:32 | fog_escalation_kpa | initial 0.3 |
| 07:32 | min_fog_off_s | initial 60 |
| 07:32 | min_fog_on_s | initial 60 |
| 07:32 | min_heat_off_s | initial 300 |
| 07:32 | min_heat_on_s | initial 120 |
| 07:32 | min_vent_off_s | initial 60 |
| 07:32 | min_vent_on_s | initial 60 |
| 07:32 | mist_max_closed_vent_s | initial 600 |
| 07:32 | mist_thermal_relief_s | initial 90 |
| 07:32 | mist_vent_close_lead_s | initial 15 |
| 07:32 | mist_vent_reopen_delay_s | initial 45 |
| 07:32 | mister_water_budget_gal | initial 500 |
| 07:32 | vpd_watch_dwell_s | initial 45 |
| 09:59 | bias_cool | 0 → -1 |
| 09:59 | vpd_watch_dwell_s | 45 → 30 |
| 13:00 | enthalpy_open | -2 → -3 |
| 13:00 | min_vent_off_s | 60 → 90 |
| 13:00 | mist_vent_close_lead_s | 15 → 20 |
| 17:00 | bias_cool | -1 → 0 |
| 17:00 | enthalpy_open | -3 → -2 |
| 17:00 | fog_escalation_kpa | 0.3 → 0.4 |
| 17:00 | min_fog_off_s | 60 → 90 |
| 17:00 | min_vent_off_s | 90 → 60 |
| 17:00 | mist_vent_close_lead_s | 20 → 15 |
| 17:00 | vpd_watch_dwell_s | 30 → 45 |
| 19:25 | bias_cool | 0 → 3 |
| 19:25 | bias_heat | 0 → 1 |
| 19:25 | min_fog_off_s | 90 → 60 |
| 19:25 | vpd_watch_dwell_s | 45 → 60 |
| 05:34 | enthalpy_close | 1 → 2 |
| 05:34 | enthalpy_open | -2 → -3 |
| 05:34 | fog_escalation_kpa | 0.4 → 0.2 |
| 05:34 | min_vent_off_s | 60 → 90 |
| 05:34 | mist_max_closed_vent_s | 600 → 900 |
| 05:34 | mist_vent_reopen_delay_s | 45 → 60 |
| 09:58 | bias_cool | 3 → -1 |
| 09:58 | bias_heat | 1 → 0 |
| 09:58 | enthalpy_open | -3 → -4 |
| 09:58 | mist_vent_close_lead_s | 15 → 20 |
| 09:58 | vpd_watch_dwell_s | 60 → 30 |
| 11:00 | mist_thermal_relief_s | 90 → 120 |
| 15:00 | enthalpy_close | 2 → 3 |
| 15:00 | enthalpy_open | -4 → -5 |
| 15:00 | min_fog_off_s | 60 → 45 |
| 15:00 | min_vent_off_s | 90 → 120 |
| 15:00 | min_vent_on_s | 60 → 30 |
| 15:00 | mist_thermal_relief_s | 120 → 90 |
| 19:26 | bias_cool | -1 → 3 |
| 19:26 | bias_heat | 0 → 1 |
| 19:26 | enthalpy_close | 3 → 1 |
| 19:26 | enthalpy_open | -5 → -2 |
| 19:26 | fog_escalation_kpa | 0.2 → 0.4 |
| 19:26 | min_fog_off_s | 45 → 90 |
| 19:26 | min_vent_off_s | 120 → 60 |
| 19:26 | min_vent_on_s | 30 → 60 |
| 19:26 | mist_max_closed_vent_s | 900 → 600 |
| 19:26 | mist_vent_close_lead_s | 20 → 15 |
| 19:26 | mist_vent_reopen_delay_s | 60 → 45 |
| 19:26 | vpd_watch_dwell_s | 30 → 60 |
| 05:33 | enthalpy_close | 1 → 2 |
| 05:33 | enthalpy_open | -2 → -3 |
| 05:33 | fog_escalation_kpa | 0.4 → 0.3 |
| 05:33 | min_fog_off_s | 90 → 60 |
| 05:33 | min_vent_off_s | 60 → 90 |
| 05:33 | mist_max_closed_vent_s | 600 → 900 |
| 05:33 | mist_vent_reopen_delay_s | 45 → 60 |
| 09:58 | bias_cool | 3 → -1 |
| 09:58 | bias_heat | 1 → 0 |
| 09:58 | enthalpy_open | -3 → -4 |
| 09:58 | mist_vent_close_lead_s | 15 → 20 |
| 09:58 | vpd_watch_dwell_s | 60 → 30 |
| 14:00 | enthalpy_close | 2 → 3 |
| 14:00 | enthalpy_open | -4 → -5 |
| 14:00 | min_fog_off_s | 60 → 45 |
| 14:00 | min_vent_off_s | 90 → 120 |
| 14:00 | min_vent_on_s | 60 → 30 |
| 15:00 | bias_cool | -1 → 0 |
| 15:00 | enthalpy_close | 3 → 2 |
| 15:00 | enthalpy_open | -5 → -3 |
| 15:00 | fog_escalation_kpa | 0.3 → 0.4 |
| 15:00 | min_fog_off_s | 45 → 90 |
| 15:00 | min_vent_off_s | 120 → 60 |
| 15:00 | min_vent_on_s | 30 → 60 |
| 15:00 | mist_thermal_relief_s | 90 → 120 |
| 15:00 | mist_vent_close_lead_s | 20 → 15 |
| 15:00 | mist_vent_reopen_delay_s | 60 → 45 |
| 15:00 | vpd_watch_dwell_s | 30 → 45 |
| 19:27 | bias_cool | 0 → 4 |
| 19:27 | bias_heat | 0 → 2 |
| 19:27 | enthalpy_close | 2 → 1 |
| 19:27 | enthalpy_open | -3 → -2 |
| 19:27 | min_fog_off_s | 90 → 60 |
| 19:27 | mist_max_closed_vent_s | 900 → 600 |
| 19:27 | mist_thermal_relief_s | 120 → 90 |
| 19:27 | vpd_watch_dwell_s | 45 → 60 |
🌅 Morning Cycle (8:17 AM) — iris-20260411-0820
validated
4/10
vpd_hysteresis, vpd_watch_dwell_s, mister_engage_kpa, mister_all_kpa, mister_pulse_on_s, mister_pulse_gap_s, mister_vpd_weight, mister_water_budget_gal ...
Reflection
Validating previous cycle: iris-20260411-0215
Previous hypothesis: Lowering vpd_watch_dwell_s to 30s during peak stress periods, extending mist_max_closed_vent_s to 900s on the driest days (Sun/Mon), using fog_escalation_kpa=0.2 on Sunday (extreme dry), and maintaining aggressive mister_pulse_gap_s=15-20s during peak hours will reduce vpd_high_stress hours compared to the current plan’s posture which is accumulating excessive VPD stress. Result: [backfill] compliance unavailable over plan window 2026-04-11 14:17 → 2026-04-11 15:02 Score: 4/10
Hypothesis
Conditions: Today (Sat) is partially cloudy with outdoor high 76°F and extremely low RH (16-26%). Current indoor temps 64-67°F, VPD 0.93-1.06 kPa — within band but approaching VPD ceiling. Today’s partial scorecard shows severe cold_stress (26.8h) and vpd_high_stress (7.9h) indicating the previous plan’s daytime settings haven’t been active long enough or overnight was problematic. Sunday is the most extreme day: 76°F high with 7% RH outdoor — unprecedented dryness requiring maximum humidity retention. Monday similar (72°F, 9% RH). Tuesday brings a cold front (50°F high, 35% RH) — much easier. East zone seedlings (lettuce, strawberry, pepper) show stress from cold/light issues but these are outside this planner’s control surface. Testing: Compare Sunday (fog_escalation_kpa=0.2, pulse_gap=15s, mist_max_closed_vent_s=900s) vs Monday (fog_escalation_kpa=0.3, pulse_gap=20s, mist_max_closed_vent_s=900s) on vpd_high stress hours normalized by average outdoor VPD. Sunday is drier (7% vs 9% RH) but has more aggressive fog/misting settings. If fog_escalation 0.2 with gap 15s compensates for the extra dryness, Sunday’s vpd_high_stress/outdoor_VPD ratio should be equal to or lower than Monday’s. Expected outcome: Sunday vpd_high_stress_h / avg_outdoor_VPD ≤ Monday vpd_high_stress_h / avg_outdoor_VPD, demonstrating that 0.2 fog escalation + 15s gap adequately compensates for 7% vs 9% outdoor RH. | target_score=60 | target_compliance=65% | expected_stress=[heat=1.0, cold=0.5, vpd_high=8.0, vpd_low=0.5] | expected_cost=USD 7.0
Setpoints
Saturday April 11
Primary crop-band changes:
| Time | Values | Note |
|---|---|---|
| 08:17 | hyst 0.3 | Immediate coverage (copied from first transition) |
| 08:20 | hyst 0.3 | Current VPD 0.93-1.06 approaching band ceiling. Outdoor 43°F |
| 13:00 | hyst 0.4 | Forecast peak: 76°F/16% RH outdoor. VPD will spike. Increase |
| 14:00 | hyst 0.3 | Forecast shows temp dropping to 70°F by 3 PM with clouds arr |
| 17:00 | hyst 0.3 | Forecast shows clearing at 17:00 (55% cloud) with 67°F/22% R |
| 19:25 | hyst 0.2 | Sunset. Overnight low forecast 44-52°F — heaters will run. b |
Tactical tunable changes:
| Time | Values | Note |
|---|---|---|
| 08:17 | d_cool 3; engage 1.3; all 1.5; pulse 60; gap 20; wt 2.5 | Immediate coverage (copied from first transition) |
| 08:20 | d_cool 3; engage 1.3; all 1.5; pulse 60; gap 20; wt 2.5 | Current VPD 0.93-1.06 approaching band ceiling. Outdoor 43°F |
| 13:00 | d_cool 3; engage 1.3; all 1.5; pulse 60; gap 20; wt 3 | Forecast peak: 76°F/16% RH outdoor. VPD will spike. Increase |
| 14:00 | d_cool 3; engage 1.3; all 1.5; pulse 60; gap 25; wt 2.5 | Forecast shows temp dropping to 70°F by 3 PM with clouds arr |
| 17:00 | d_cool 3; engage 1.3; all 1.7; pulse 60; gap 30; wt 2 | Forecast shows clearing at 17:00 (55% cloud) with 67°F/22% R |
| 19:25 | d_cool 3; engage 1.6; all 1.9; pulse 60; gap 45; wt 1.5 | Sunset. Overnight low forecast 44-52°F — heaters will run. b |
Sunday April 12
Primary crop-band changes:
| Time | Values | Note |
|---|---|---|
| 05:34 | hyst 0.2 | Pre-dawn Sunday. Outdoor 44°F/54% RH, dropping to 7% by afte |
| 09:58 | hyst 0.3 | Tree shade clears east zone. Outdoor already 62°F/24% RH and |
| 11:00 | hyst 0.3 | Cloud shift at 11:00 (63% cloud) but outdoor RH drops to 15% |
| 15:00 | hyst 0.4 | Peak stress: 76°F/7% RH outdoor — VPD will be extreme (~2.84 |
| 16:00 | hyst 0.3 | Solar declining but outdoor still 75°F/7% RH. Slightly relax |
| 19:26 | hyst 0.2 | Sunset Sunday. Overnight low forecast 47-54°F — gas heater w |
Tactical tunable changes:
| Time | Values | Note |
|---|---|---|
| 05:34 | d_cool 3; engage 1.3; all 1.5; pulse 60; gap 25; wt 1.5 | Pre-dawn Sunday. Outdoor 44°F/54% RH, dropping to 7% by afte |
| 09:58 | d_cool 3; engage 1.3; all 1.5; pulse 60; gap 15; wt 2.5 | Tree shade clears east zone. Outdoor already 62°F/24% RH and |
| 11:00 | d_cool 3; engage 1.3; all 1.5; pulse 60; gap 15; wt 2.5 | Cloud shift at 11:00 (63% cloud) but outdoor RH drops to 15% |
| 15:00 | d_cool 3; engage 1.3; all 1.5; pulse 60; gap 15; wt 3 | Peak stress: 76°F/7% RH outdoor — VPD will be extreme (~2.84 |
| 16:00 | d_cool 3; engage 1.3; all 1.5; pulse 60; gap 20; wt 2.5 | Solar declining but outdoor still 75°F/7% RH. Slightly relax |
| 19:26 | d_cool 3; engage 1.6; all 1.9; pulse 60; gap 45; wt 1.5 | Sunset Sunday. Overnight low forecast 47-54°F — gas heater w |
Monday April 13
Primary crop-band changes:
| Time | Values | Note |
|---|---|---|
| 05:33 | hyst 0.2 | Pre-dawn Monday. Outdoor 50°F/30% RH — cold but less extreme |
| 09:58 | hyst 0.3 | Tree shade clears. Outdoor 64°F/12% RH — dry but cooler than |
| 14:00 | hyst 0.4 | Peak stress Monday: 72°F/9% RH outdoor (VPD ~2.40 kPa). Hyst |
| 15:00 | hyst 0.3 | Post-peak Monday. Outdoor 71°F/10% still dry but declining. |
| 19:27 | hyst 0.2 | Sunset Monday. Overnight low forecast 41-45°F — coldest nigh |
Tactical tunable changes:
| Time | Values | Note |
|---|---|---|
| 05:33 | d_cool 3; engage 1.3; all 1.5; pulse 60; gap 25; wt 1.5 | Pre-dawn Monday. Outdoor 50°F/30% RH — cold but less extreme |
| 09:58 | d_cool 3; engage 1.3; all 1.5; pulse 60; gap 20; wt 2.5 | Tree shade clears. Outdoor 64°F/12% RH — dry but cooler than |
| 14:00 | d_cool 3; engage 1.3; all 1.5; pulse 60; gap 20; wt 3 | Peak stress Monday: 72°F/9% RH outdoor (VPD ~2.40 kPa). Hyst |
| 15:00 | d_cool 3; engage 1.3; all 1.7; pulse 60; gap 25; wt 2.5 | Post-peak Monday. Outdoor 71°F/10% still dry but declining. |
| 19:27 | d_cool 3; engage 1.6; all 1.9; pulse 60; gap 45; wt 1.5 | Sunset Monday. Overnight low forecast 41-45°F — coldest nigh |
Tuesday April 14
Primary crop-band changes:
| Time | Values | Note |
|---|---|---|
| 05:31 | hyst 0.2 | Pre-dawn Tuesday. Cold front: outdoor 41-44°F, 43-48% RH. Fo |
Tactical tunable changes:
| Time | Values | Note |
|---|---|---|
| 05:31 | d_cool 3; engage 1.6; all 1.9; pulse 60; gap 45; wt 1.5 | Pre-dawn Tuesday. Cold front: outdoor 41-44°F, 43-48% RH. Fo |
Changed secondary parameters:
| Time | Parameter | Change |
|---|---|---|
| 08:17 | bias_cool | initial -1 |
| 08:17 | bias_heat | initial 0 |
| 08:17 | enthalpy_close | initial 1 |
| 08:17 | enthalpy_open | initial -2 |
| 08:17 | fog_escalation_kpa | initial 0.3 |
| 08:17 | min_fog_off_s | initial 60 |
| 08:17 | min_fog_on_s | initial 60 |
| 08:17 | min_heat_off_s | initial 300 |
| 08:17 | min_heat_on_s | initial 120 |
| 08:17 | min_vent_off_s | initial 60 |
| 08:17 | min_vent_on_s | initial 60 |
| 08:17 | mist_max_closed_vent_s | initial 600 |
| 08:17 | mist_thermal_relief_s | initial 90 |
| 08:17 | mist_vent_close_lead_s | initial 15 |
| 08:17 | mist_vent_reopen_delay_s | initial 45 |
| 08:17 | mister_water_budget_gal | initial 500 |
| 08:17 | vpd_watch_dwell_s | initial 45 |
| 13:00 | mist_vent_close_lead_s | 15 → 20 |
| 13:00 | vpd_watch_dwell_s | 45 → 30 |
| 14:00 | bias_cool | -1 → 0 |
| 14:00 | mist_vent_close_lead_s | 20 → 15 |
| 14:00 | vpd_watch_dwell_s | 30 → 45 |
| 17:00 | fog_escalation_kpa | 0.3 → 0.4 |
| 17:00 | vpd_watch_dwell_s | 45 → 60 |
| 19:25 | bias_cool | 0 → 3 |
| 19:25 | bias_heat | 0 → 1 |
| 05:34 | fog_escalation_kpa | 0.4 → 0.2 |
| 05:34 | mist_max_closed_vent_s | 600 → 900 |
| 05:34 | mist_vent_reopen_delay_s | 45 → 60 |
| 09:58 | bias_cool | 3 → -1 |
| 09:58 | bias_heat | 1 → 0 |
| 09:58 | mist_vent_close_lead_s | 15 → 20 |
| 09:58 | vpd_watch_dwell_s | 60 → 45 |
| 11:00 | min_fog_off_s | 60 → 45 |
| 11:00 | min_fog_on_s | 60 → 45 |
| 11:00 | vpd_watch_dwell_s | 45 → 30 |
| 15:00 | mist_vent_close_lead_s | 20 → 25 |
| 16:00 | bias_cool | -1 → 0 |
| 16:00 | fog_escalation_kpa | 0.2 → 0.3 |
| 16:00 | min_fog_off_s | 45 → 60 |
| 16:00 | min_fog_on_s | 45 → 60 |
| 16:00 | mist_vent_close_lead_s | 25 → 15 |
| 16:00 | mist_vent_reopen_delay_s | 60 → 45 |
| 16:00 | vpd_watch_dwell_s | 30 → 45 |
| 19:26 | bias_cool | 0 → 3 |
| 19:26 | bias_heat | 0 → 1 |
| 19:26 | fog_escalation_kpa | 0.3 → 0.4 |
| 19:26 | mist_max_closed_vent_s | 900 → 600 |
| 19:26 | vpd_watch_dwell_s | 45 → 60 |
| 05:33 | fog_escalation_kpa | 0.4 → 0.3 |
| 05:33 | mist_max_closed_vent_s | 600 → 900 |
| 05:33 | mist_vent_reopen_delay_s | 45 → 60 |
| 09:58 | bias_cool | 3 → -1 |
| 09:58 | bias_heat | 1 → 0 |
| 09:58 | mist_vent_close_lead_s | 15 → 20 |
| 09:58 | vpd_watch_dwell_s | 60 → 45 |
| 14:00 | min_fog_off_s | 60 → 45 |
| 14:00 | min_fog_on_s | 60 → 45 |
| 14:00 | vpd_watch_dwell_s | 45 → 30 |
| 15:00 | bias_cool | -1 → 0 |
| 15:00 | fog_escalation_kpa | 0.3 → 0.4 |
| 15:00 | min_fog_off_s | 45 → 60 |
| 15:00 | min_fog_on_s | 45 → 60 |
| 15:00 | mist_vent_close_lead_s | 20 → 15 |
| 15:00 | mist_vent_reopen_delay_s | 60 → 45 |
| 15:00 | vpd_watch_dwell_s | 30 → 45 |
| 19:27 | bias_cool | 0 → 4 |
| 19:27 | bias_heat | 0 → 2 |
| 19:27 | mist_max_closed_vent_s | 900 → 600 |
| 19:27 | vpd_watch_dwell_s | 45 → 60 |
🌅 Morning Cycle (9:02 AM) — iris-20260411-0905
validated
4/10
vpd_hysteresis, vpd_watch_dwell_s, mister_engage_kpa, mister_all_kpa, mister_pulse_on_s, mister_pulse_gap_s, mister_vpd_weight, mister_water_budget_gal ...
Reflection
Validating previous cycle: iris-20260411-0300
Previous hypothesis: Maintaining bias_cool +3 and bias_heat +1 on cold nights prevents vent oscillation (validated). For daytime dry periods, lowering fog_escalation_kpa to 0.2 on Sunday (extreme dryness) vs 0.3 on Monday (windy but less dry) will test whether earlier fog engagement compensates for extreme outdoor dryness. Extending mist_max_closed_vent_s to 900s on both dry days maximizes humidity retention. Shortening vpd_watch_dwell_s to 30s on peak stress periods ensures faster misting response. Result: [backfill] compliance unavailable over plan window 2026-04-11 15:02 → 2026-04-11 15:47 Score: 4/10
Hypothesis
Conditions: Today (Sat) is hot-dry with 77°F/13% RH peak, clearing to cold clear night (low 44°F). Sunday is the most extreme day: 77°F/6% RH — exceptionally dry with VPD stress expected 13h. Monday moderates to 72°F/9% RH with clouds clearing midday, then a cold front drops Tuesday to 54°F/30% RH (easy day). Current scorecard shows 29.4h cold_stress today — likely from overnight vent oscillation before the active plan’s bias_cool kicked in. East zone lettuce/strawberry showing stress (health 5-6) but this is likely light/nutrient, not tuning-addressable. Dew point margin healthy at 9.9°F, zero disease risk. Testing: Compare Sunday (fog_escalation_kpa=0.2, pulse_gap=15s, mist_max_closed_vent_s=900s) vs Monday (fog_escalation_kpa=0.3, pulse_gap=20s, mist_max_closed_vent_s=900s) on vpd_high stress hours normalized by average outdoor VPD. Sunday is drier (6% vs 9% RH) but has more aggressive fog/misting settings. If fog_escalation 0.2 with gap 15s compensates for the extra dryness, Sunday’s vpd_high_stress/outdoor_VPD ratio should be equal to or lower than Monday’s. Expected outcome: Sunday vpd_high_stress_h / avg_outdoor_VPD ≤ Monday’s ratio, demonstrating that 0.2 fog escalation + 15s gap compensates for 6% vs 9% RH difference. Expected Sunday vpd_high ~6-8h (physics-limited), Monday ~4-5h. | target_score=52 | target_compliance=50% | expected_stress=[heat=1.0, cold=0.5, vpd_high=7.0, vpd_low=0.5] | expected_cost=USD 7.0
Setpoints
Saturday April 11
Primary crop-band changes:
| Time | Values | Note |
|---|---|---|
| 09:02 | hyst 0.4 | Immediate coverage (copied from first transition) |
| 09:05 | hyst 0.4 | Outdoor 50°F/72% RH currently but dropping to 13% RH by 15:0 |
| 14:00 | hyst 0.4 | 77°F/15% RH outdoor peak. Max VPD weight 3.0 to prioritize d |
| 15:00 | hyst 0.3 | Temp dropping to 68-75°F, RH still 13-26%. Relax misting sli |
| 19:00 | hyst 0.3 | Clearing to 0% cloud by 20:00, outdoor dropping to 61°F. Pre |
| 19:25 | hyst 0.2 | Sunset. Cold night ahead — low 44°F by 06:00 Sun. bias_heat |
Tactical tunable changes:
| Time | Values | Note |
|---|---|---|
| 09:02 | d_cool 3; engage 1.3; all 1.5; pulse 60; gap 20; wt 2.5 | Immediate coverage (copied from first transition) |
| 09:05 | d_cool 3; engage 1.3; all 1.5; pulse 60; gap 20; wt 2.5 | Outdoor 50°F/72% RH currently but dropping to 13% RH by 15:0 |
| 14:00 | d_cool 3; engage 1.3; all 1.5; pulse 60; gap 20; wt 3 | 77°F/15% RH outdoor peak. Max VPD weight 3.0 to prioritize d |
| 15:00 | d_cool 3; engage 1.3; all 1.7; pulse 60; gap 25; wt 2.5 | Temp dropping to 68-75°F, RH still 13-26%. Relax misting sli |
| 19:00 | d_cool 3; engage 1.6; all 1.9; pulse 60; gap 45; wt 1.5 | Clearing to 0% cloud by 20:00, outdoor dropping to 61°F. Pre |
| 19:25 | d_cool 3; engage 1.6; all 1.9; pulse 60; gap 45; wt 1.5 | Sunset. Cold night ahead — low 44°F by 06:00 Sun. bias_heat |
Sunday April 12
Primary crop-band changes:
| Time | Values | Note |
|---|---|---|
| 05:34 | hyst 0.2 | Pre-dawn 44°F/44% RH outdoor. Keep heating posture (bias_hea |
| 09:58 | hyst 0.3 | Tree shade clears east zone. 66°F/20% RH outdoor, clear skie |
| 14:00 | hyst 0.4 | Clouds arrive (98%) but outdoor still 76°F/7% RH — extreme V |
| 16:00 | hyst 0.3 | 77°F/7% RH still extreme but solar declining. Slightly relax |
| 19:26 | hyst 0.2 | Sunset Sunday. Cold night ahead — outdoor dropping to 49°F b |
Tactical tunable changes:
| Time | Values | Note |
|---|---|---|
| 05:34 | d_cool 3; engage 1.3; all 1.5; pulse 60; gap 25; wt 1.5 | Pre-dawn 44°F/44% RH outdoor. Keep heating posture (bias_hea |
| 09:58 | d_cool 3; engage 1.3; all 1.5; pulse 60; gap 15; wt 2.5 | Tree shade clears east zone. 66°F/20% RH outdoor, clear skie |
| 14:00 | d_cool 3; engage 1.3; all 1.5; pulse 60; gap 15; wt 3 | Clouds arrive (98%) but outdoor still 76°F/7% RH — extreme V |
| 16:00 | d_cool 3; engage 1.3; all 1.5; pulse 60; gap 20; wt 2.5 | 77°F/7% RH still extreme but solar declining. Slightly relax |
| 19:26 | d_cool 3; engage 1.6; all 1.9; pulse 60; gap 45; wt 1.5 | Sunset Sunday. Cold night ahead — outdoor dropping to 49°F b |
Monday April 13
Primary crop-band changes:
| Time | Values | Note |
|---|---|---|
| 05:33 | hyst 0.2 | Pre-dawn 50°F/26% RH. Keep heating posture. Pre-position mis |
| 09:58 | hyst 0.3 | Tree shade clears. 64°F/12% RH outdoor, clouds clearing at 1 |
| 11:00 | hyst 0.3 | Clouds clearing from 100% to 12% — solar gain jumps signific |
| 14:00 | hyst 0.4 | 72°F/9% RH outdoor, 100% clouds but still high solar (626 W/ |
| 15:00 | hyst 0.3 | Solar declining, 71°F/10% RH. Relax misting — widen all_kpa |
| 19:27 | hyst 0.2 | Sunset Monday. Coldest night of the horizon — outdoor droppi |
Tactical tunable changes:
| Time | Values | Note |
|---|---|---|
| 05:33 | d_cool 3; engage 1.3; all 1.5; pulse 60; gap 25; wt 1.5 | Pre-dawn 50°F/26% RH. Keep heating posture. Pre-position mis |
| 09:58 | d_cool 3; engage 1.3; all 1.5; pulse 60; gap 20; wt 2.5 | Tree shade clears. 64°F/12% RH outdoor, clouds clearing at 1 |
| 11:00 | d_cool 3; engage 1.3; all 1.5; pulse 60; gap 20; wt 2.5 | Clouds clearing from 100% to 12% — solar gain jumps signific |
| 14:00 | d_cool 3; engage 1.3; all 1.5; pulse 60; gap 20; wt 3 | 72°F/9% RH outdoor, 100% clouds but still high solar (626 W/ |
| 15:00 | d_cool 3; engage 1.3; all 1.7; pulse 60; gap 25; wt 2.5 | Solar declining, 71°F/10% RH. Relax misting — widen all_kpa |
| 19:27 | d_cool 3; engage 1.6; all 1.9; pulse 60; gap 45; wt 1.5 | Sunset Monday. Coldest night of the horizon — outdoor droppi |
Tuesday April 14
Primary crop-band changes:
| Time | Values | Note |
|---|---|---|
| 05:31 | hyst 0.2 | Pre-dawn Tuesday 44°F/43% RH. Coldest morning of the horizon |
Tactical tunable changes:
| Time | Values | Note |
|---|---|---|
| 05:31 | d_cool 3; engage 1.6; all 1.9; pulse 60; gap 45; wt 1.5 | Pre-dawn Tuesday 44°F/43% RH. Coldest morning of the horizon |
Changed secondary parameters:
| Time | Parameter | Change |
|---|---|---|
| 09:02 | bias_cool | initial 0 |
| 09:02 | bias_heat | initial 0 |
| 09:02 | enthalpy_close | initial 1 |
| 09:02 | enthalpy_open | initial -2 |
| 09:02 | fog_escalation_kpa | initial 0.3 |
| 09:02 | min_fog_off_s | initial 60 |
| 09:02 | min_fog_on_s | initial 60 |
| 09:02 | min_heat_off_s | initial 300 |
| 09:02 | min_heat_on_s | initial 120 |
| 09:02 | min_vent_off_s | initial 60 |
| 09:02 | min_vent_on_s | initial 60 |
| 09:02 | mist_max_closed_vent_s | initial 600 |
| 09:02 | mist_thermal_relief_s | initial 90 |
| 09:02 | mist_vent_close_lead_s | initial 15 |
| 09:02 | mist_vent_reopen_delay_s | initial 45 |
| 09:02 | mister_water_budget_gal | initial 500 |
| 09:02 | vpd_watch_dwell_s | initial 30 |
| 14:00 | bias_cool | 0 → -1 |
| 15:00 | bias_cool | -1 → 0 |
| 15:00 | fog_escalation_kpa | 0.3 → 0.4 |
| 15:00 | vpd_watch_dwell_s | 30 → 45 |
| 19:00 | bias_cool | 0 → 2 |
| 19:00 | vpd_watch_dwell_s | 45 → 60 |
| 19:25 | bias_cool | 2 → 3 |
| 19:25 | bias_heat | 0 → 1 |
| 05:34 | fog_escalation_kpa | 0.4 → 0.2 |
| 05:34 | mist_max_closed_vent_s | 600 → 900 |
| 05:34 | vpd_watch_dwell_s | 60 → 45 |
| 09:58 | bias_cool | 3 → -1 |
| 09:58 | bias_heat | 1 → 0 |
| 09:58 | vpd_watch_dwell_s | 45 → 30 |
| 14:00 | mist_vent_reopen_delay_s | 45 → 60 |
| 16:00 | bias_cool | -1 → 0 |
| 16:00 | mist_vent_reopen_delay_s | 60 → 45 |
| 16:00 | vpd_watch_dwell_s | 30 → 45 |
| 19:26 | bias_cool | 0 → 3 |
| 19:26 | bias_heat | 0 → 1 |
| 19:26 | fog_escalation_kpa | 0.2 → 0.4 |
| 19:26 | mist_max_closed_vent_s | 900 → 600 |
| 19:26 | vpd_watch_dwell_s | 45 → 60 |
| 05:33 | fog_escalation_kpa | 0.4 → 0.3 |
| 05:33 | mist_max_closed_vent_s | 600 → 900 |
| 05:33 | vpd_watch_dwell_s | 60 → 45 |
| 09:58 | bias_cool | 3 → -1 |
| 09:58 | bias_heat | 1 → 0 |
| 09:58 | vpd_watch_dwell_s | 45 → 30 |
| 11:00 | enthalpy_open | -2 → -3 |
| 14:00 | enthalpy_open | -3 → -2 |
| 14:00 | mist_vent_reopen_delay_s | 45 → 60 |
| 15:00 | bias_cool | -1 → 0 |
| 15:00 | fog_escalation_kpa | 0.3 → 0.4 |
| 15:00 | mist_vent_reopen_delay_s | 60 → 45 |
| 15:00 | vpd_watch_dwell_s | 30 → 45 |
| 19:27 | bias_cool | 0 → 4 |
| 19:27 | bias_heat | 0 → 2 |
| 19:27 | mist_max_closed_vent_s | 900 → 600 |
| 19:27 | vpd_watch_dwell_s | 45 → 60 |
🌅 Morning Cycle (9:47 AM) — iris-20260411-0950
validated
4/10
vpd_hysteresis, vpd_watch_dwell_s, mister_engage_kpa, mister_all_kpa, mister_pulse_on_s, mister_pulse_gap_s, mister_vpd_weight, mister_water_budget_gal ...
Reflection
Validating previous cycle: iris-20260411-0345
Previous hypothesis: Maintaining aggressive misting posture (engage 1.3, gap 20-25s) through the full daytime window on Sunday/Monday, combined with 900s sealed-vent time and fog_escalation_kpa=0.2 on Sunday (the driest day), will limit vpd_high_stress to <10h on Sunday despite 7% outdoor RH. On cold nights, bias_cool +3 and bias_heat +1 will prevent vent oscillation (validated lesson). Widening fog_escalation to 0.4 on the mild Tuesday night will prevent vpd_low overshoot. Result: [backfill] compliance unavailable over plan window 2026-04-11 15:47 → 2026-04-11 16:32 Score: 4/10
Hypothesis
Conditions: Today (Sat) is warm-dry with outdoor highs 77°F and RH dropping to 13%, clearing to calm evening with lows near 50°F. Sunday is the most extreme day: 77°F high with 6-7% RH, clear morning transitioning to overcast by 14:00, extremely dry all day. Monday is slightly cooler (72°F high, 9-12% RH) with clouds clearing at 11:00 then returning. Tuesday is cold (54°F high, 30% RH) and wet — minimal stress expected. Today’s partial scorecard shows 30h cold_stress which is alarming — likely from overnight vent oscillation before the current plan’s bias_cool took effect. East zone seedlings (lettuce, strawberry, pepper) show stress indicators but these are likely light/nutrient issues outside tuning control. Testing: Compare Sunday evening-to-overnight transition: bias_cool +3 with min_heat_off_s 300 vs Monday evening with bias_cool +4 and min_heat_off_s 240. Monday night is colder (lows 47°F vs 50°F). If bias_cool +4 with shorter heat cycling prevents cold_stress on the colder night while bias_cool +3 handles the milder night, we establish the threshold where +4 is needed. Expected outcome: Sunday night (bias_cool +3, low ~50°F) should have 0h cold_stress. Monday night (bias_cool +4, low ~47°F) should also have 0h cold_stress. If Monday shows any cold_stress with +4, the heater capacity is the bottleneck at sub-47°F outdoor temps. Both nights should have <0.5h vpd_low_stress. | target_score=62 | target_compliance=70% | expected_stress=[heat=1.0, cold=0.5, vpd_high=5.0, vpd_low=0.5] | expected_cost=USD 7.0
Setpoints
Saturday April 11
Primary crop-band changes:
| Time | Values | Note |
|---|---|---|
| 09:47 | hyst 0.4 | Immediate coverage (copied from first transition) |
| 09:50 | hyst 0.4 | Current outdoor 56°F/56% RH but forecast shows 77°F/13% RH b |
| 14:00 | hyst 0.4 | Peak VPD hour: 77°F/15% RH outdoor. Tighten enthalpy thresho |
| 15:00 | hyst 0.3 | Outdoor temp dropping to 75°F, still dry (13% RH). Relax mis |
| 19:00 | hyst 0.3 | Clouds clearing to 52%, outdoor dropping to 66°F/30% RH. Rev |
| 19:25 | hyst 0.2 | Sunset. Overnight low ~50°F — heaters will run. bias_heat +1 |
Tactical tunable changes:
| Time | Values | Note |
|---|---|---|
| 09:47 | d_cool 3; engage 1.3; all 1.5; pulse 60; gap 20; wt 3 | Immediate coverage (copied from first transition) |
| 09:50 | d_cool 3; engage 1.3; all 1.5; pulse 60; gap 20; wt 3 | Current outdoor 56°F/56% RH but forecast shows 77°F/13% RH b |
| 14:00 | d_cool 3; engage 1.3; all 1.5; pulse 60; gap 20; wt 3 | Peak VPD hour: 77°F/15% RH outdoor. Tighten enthalpy thresho |
| 15:00 | d_cool 3; engage 1.3; all 1.7; pulse 60; gap 25; wt 2.5 | Outdoor temp dropping to 75°F, still dry (13% RH). Relax mis |
| 19:00 | d_cool 3; engage 1.6; all 1.9; pulse 60; gap 45; wt 1.5 | Clouds clearing to 52%, outdoor dropping to 66°F/30% RH. Rev |
| 19:25 | d_cool 3; engage 1.6; all 1.9; pulse 60; gap 45; wt 1.5 | Sunset. Overnight low ~50°F — heaters will run. bias_heat +1 |
Sunday April 12
Primary crop-band changes:
| Time | Values | Note |
|---|---|---|
| 05:34 | hyst 0.2 | Pre-dawn Sunday. Outdoor 44°F/44% RH, clear skies. Extreme d |
| 09:58 | hyst 0.3 | Tree shade clears, direct sun hits east zone. Outdoor alread |
| 14:00 | hyst 0.4 | Clouds arrive at 14:00 (98-100%) reducing solar gain, but ou |
| 16:00 | hyst 0.3 | Post-peak but still extreme: 77°F/7% RH outdoor. Slightly re |
| 19:26 | hyst 0.2 | Sunset Sunday. Overnight low ~50°F with outdoor RH only 8-15 |
Tactical tunable changes:
| Time | Values | Note |
|---|---|---|
| 05:34 | d_cool 3; engage 1.3; all 1.5; pulse 60; gap 25; wt 1.5 | Pre-dawn Sunday. Outdoor 44°F/44% RH, clear skies. Extreme d |
| 09:58 | d_cool 3; engage 1.3; all 1.5; pulse 60; gap 15; wt 2.5 | Tree shade clears, direct sun hits east zone. Outdoor alread |
| 14:00 | d_cool 3; engage 1.3; all 1.5; pulse 60; gap 15; wt 3 | Clouds arrive at 14:00 (98-100%) reducing solar gain, but ou |
| 16:00 | d_cool 3; engage 1.3; all 1.7; pulse 60; gap 20; wt 2.5 | Post-peak but still extreme: 77°F/7% RH outdoor. Slightly re |
| 19:26 | d_cool 3; engage 1.6; all 1.9; pulse 60; gap 45; wt 1.5 | Sunset Sunday. Overnight low ~50°F with outdoor RH only 8-15 |
Monday April 13
Primary crop-band changes:
| Time | Values | Note |
|---|---|---|
| 05:33 | hyst 0.2 | Pre-dawn Monday. Outdoor 50°F/26% RH. Another dry day ahead |
| 09:58 | hyst 0.3 | Tree shade clears Monday. Outdoor 61°F/14% RH, overcast (100 |
| 11:00 | hyst 0.3 | Clouds clearing at 11:00 (100% → 12%). Solar gain will spike |
| 14:00 | hyst 0.4 | Peak stress Monday: 72°F/9% RH outdoor, clouds returning (93 |
| 15:00 | hyst 0.3 | Declining solar, outdoor dropping to 71°F/10% RH. Relax mist |
| 19:27 | hyst 0.2 | Sunset Monday. Cold night ahead — lows 43-47°F, outdoor RH 1 |
Tactical tunable changes:
| Time | Values | Note |
|---|---|---|
| 05:33 | d_cool 3; engage 1.3; all 1.5; pulse 60; gap 25; wt 1.5 | Pre-dawn Monday. Outdoor 50°F/26% RH. Another dry day ahead |
| 09:58 | d_cool 3; engage 1.3; all 1.5; pulse 60; gap 20; wt 2.5 | Tree shade clears Monday. Outdoor 61°F/14% RH, overcast (100 |
| 11:00 | d_cool 3; engage 1.3; all 1.5; pulse 60; gap 20; wt 2.5 | Clouds clearing at 11:00 (100% → 12%). Solar gain will spike |
| 14:00 | d_cool 3; engage 1.3; all 1.5; pulse 60; gap 20; wt 3 | Peak stress Monday: 72°F/9% RH outdoor, clouds returning (93 |
| 15:00 | d_cool 3; engage 1.3; all 1.7; pulse 60; gap 25; wt 2.5 | Declining solar, outdoor dropping to 71°F/10% RH. Relax mist |
| 19:27 | d_cool 3; engage 1.6; all 1.9; pulse 60; gap 45; wt 1.5 | Sunset Monday. Cold night ahead — lows 43-47°F, outdoor RH 1 |
Tuesday April 14
Primary crop-band changes:
| Time | Values | Note |
|---|---|---|
| 05:31 | hyst 0.2 | Pre-dawn Tuesday. Outdoor 44°F/43% RH — cold but moderate hu |
Tactical tunable changes:
| Time | Values | Note |
|---|---|---|
| 05:31 | d_cool 3; engage 1.6; all 1.9; pulse 60; gap 45; wt 1.5 | Pre-dawn Tuesday. Outdoor 44°F/43% RH — cold but moderate hu |
Changed secondary parameters:
| Time | Parameter | Change |
|---|---|---|
| 09:47 | bias_cool | initial -1 |
| 09:47 | bias_heat | initial 0 |
| 09:47 | enthalpy_close | initial 1 |
| 09:47 | enthalpy_open | initial -2 |
| 09:47 | fog_escalation_kpa | initial 0.3 |
| 09:47 | min_fog_off_s | initial 60 |
| 09:47 | min_fog_on_s | initial 60 |
| 09:47 | min_heat_off_s | initial 300 |
| 09:47 | min_heat_on_s | initial 120 |
| 09:47 | min_vent_off_s | initial 60 |
| 09:47 | min_vent_on_s | initial 60 |
| 09:47 | mist_max_closed_vent_s | initial 600 |
| 09:47 | mist_thermal_relief_s | initial 90 |
| 09:47 | mist_vent_close_lead_s | initial 15 |
| 09:47 | mist_vent_reopen_delay_s | initial 45 |
| 09:47 | mister_water_budget_gal | initial 500 |
| 09:47 | vpd_watch_dwell_s | initial 30 |
| 14:00 | enthalpy_close | 1 → 2 |
| 14:00 | enthalpy_open | -2 → -3 |
| 14:00 | min_vent_off_s | 60 → 90 |
| 14:00 | min_vent_on_s | 60 → 45 |
| 14:00 | mist_vent_close_lead_s | 15 → 20 |
| 14:00 | mist_vent_reopen_delay_s | 45 → 60 |
| 15:00 | bias_cool | -1 → 0 |
| 15:00 | enthalpy_close | 2 → 1 |
| 15:00 | enthalpy_open | -3 → -2 |
| 15:00 | fog_escalation_kpa | 0.3 → 0.4 |
| 15:00 | min_vent_off_s | 90 → 60 |
| 15:00 | min_vent_on_s | 45 → 60 |
| 15:00 | mist_vent_close_lead_s | 20 → 15 |
| 15:00 | mist_vent_reopen_delay_s | 60 → 45 |
| 15:00 | vpd_watch_dwell_s | 30 → 45 |
| 19:00 | bias_cool | 0 → 2 |
| 19:00 | vpd_watch_dwell_s | 45 → 60 |
| 19:25 | bias_cool | 2 → 3 |
| 19:25 | bias_heat | 0 → 1 |
| 05:34 | fog_escalation_kpa | 0.4 → 0.2 |
| 05:34 | mist_max_closed_vent_s | 600 → 900 |
| 09:58 | bias_cool | 3 → -1 |
| 09:58 | bias_heat | 1 → 0 |
| 09:58 | enthalpy_close | 1 → 2 |
| 09:58 | enthalpy_open | -2 → -3 |
| 09:58 | min_fog_off_s | 60 → 45 |
| 09:58 | min_vent_off_s | 60 → 90 |
| 09:58 | min_vent_on_s | 60 → 45 |
| 09:58 | mist_vent_close_lead_s | 15 → 20 |
| 09:58 | mist_vent_reopen_delay_s | 45 → 60 |
| 09:58 | vpd_watch_dwell_s | 60 → 30 |
| 14:00 | bias_cool | -1 → 0 |
| 14:00 | enthalpy_close | 2 → 3 |
| 14:00 | enthalpy_open | -3 → -4 |
| 14:00 | min_vent_off_s | 90 → 120 |
| 14:00 | mist_thermal_relief_s | 90 → 120 |
| 16:00 | enthalpy_close | 3 → 2 |
| 16:00 | enthalpy_open | -4 → -3 |
| 16:00 | fog_escalation_kpa | 0.2 → 0.3 |
| 16:00 | min_fog_off_s | 45 → 60 |
| 16:00 | min_vent_off_s | 120 → 60 |
| 16:00 | min_vent_on_s | 45 → 60 |
| 16:00 | mist_thermal_relief_s | 120 → 90 |
| 16:00 | mist_vent_close_lead_s | 20 → 15 |
| 16:00 | mist_vent_reopen_delay_s | 60 → 45 |
| 16:00 | vpd_watch_dwell_s | 30 → 45 |
| 19:26 | bias_cool | 0 → 3 |
| 19:26 | bias_heat | 0 → 1 |
| 19:26 | enthalpy_close | 2 → 1 |
| 19:26 | enthalpy_open | -3 → -2 |
| 19:26 | fog_escalation_kpa | 0.3 → 0.4 |
| 19:26 | mist_max_closed_vent_s | 900 → 600 |
| 19:26 | vpd_watch_dwell_s | 45 → 60 |
| 05:33 | fog_escalation_kpa | 0.4 → 0.3 |
| 05:33 | mist_max_closed_vent_s | 600 → 900 |
| 09:58 | bias_cool | 3 → -1 |
| 09:58 | bias_heat | 1 → 0 |
| 09:58 | enthalpy_close | 1 → 2 |
| 09:58 | enthalpy_open | -2 → -3 |
| 09:58 | min_vent_off_s | 60 → 90 |
| 09:58 | min_vent_on_s | 60 → 45 |
| 09:58 | mist_vent_close_lead_s | 15 → 20 |
| 09:58 | mist_vent_reopen_delay_s | 45 → 60 |
| 09:58 | vpd_watch_dwell_s | 60 → 30 |
| 11:00 | min_fog_off_s | 60 → 45 |
| 14:00 | bias_cool | -1 → 0 |
| 14:00 | enthalpy_close | 2 → 3 |
| 14:00 | enthalpy_open | -3 → -4 |
| 14:00 | min_vent_off_s | 90 → 120 |
| 14:00 | mist_thermal_relief_s | 90 → 120 |
| 15:00 | enthalpy_close | 3 → 2 |
| 15:00 | enthalpy_open | -4 → -3 |
| 15:00 | fog_escalation_kpa | 0.3 → 0.4 |
| 15:00 | min_fog_off_s | 45 → 60 |
| 15:00 | min_vent_off_s | 120 → 60 |
| 15:00 | min_vent_on_s | 45 → 60 |
| 15:00 | mist_thermal_relief_s | 120 → 90 |
| 15:00 | mist_vent_close_lead_s | 20 → 15 |
| 15:00 | mist_vent_reopen_delay_s | 60 → 45 |
| 15:00 | vpd_watch_dwell_s | 30 → 45 |
| 19:27 | bias_cool | 0 → 4 |
| 19:27 | bias_heat | 0 → 2 |
| 19:27 | enthalpy_close | 2 → 1 |
| 19:27 | enthalpy_open | -3 → -2 |
| 19:27 | min_heat_off_s | 300 → 240 |
| 19:27 | mist_max_closed_vent_s | 900 → 600 |
| 19:27 | vpd_watch_dwell_s | 45 → 60 |
☀️ Midday Cycle (10:32 AM) — iris-20260411-1035
validated
4/10
vpd_hysteresis, vpd_watch_dwell_s, mister_engage_kpa, mister_all_kpa, mister_pulse_on_s, mister_pulse_gap_s, mister_vpd_weight, mister_water_budget_gal ...
Reflection
Validating previous cycle: iris-20260411-0430
Previous hypothesis: Tightening fog_escalation_kpa to 0.2 on the two extreme dry days (Sun/Mon) combined with 900s sealed-vent and 15s pulse gaps during peak stress will reduce vpd_high stress hours below 6h/day despite outdoor RH of 7-11%. On Saturday (moderate), fog_escalation 0.3 with 600s sealed-vent should keep vpd_high under 4h. Cold nights get bias_cool +3 and bias_heat +1 per validated lesson. Result: [backfill] compliance unavailable over plan window 2026-04-11 16:32 → 2026-04-11 17:32 Score: 4/10
Hypothesis
Conditions: Today (Sat) is clearing with outdoor RH 13-21% and highs ~76°F — moderate VPD stress expected through afternoon. Current scorecard shows 31.2h cold_stress and 6.1h vpd_low_stress today, indicating severe overnight vent oscillation issues that bias_cool must address. Sunday is the most extreme day: clear AM transitioning to overcast PM, outdoor RH dropping to 6-8% with highs 77°F — peak VPD stress day requiring maximum misting aggression. Monday is slightly cooler (72°F high) with clouds arriving at 11:00, easing VPD pressure. Tuesday is cool (56°F high, 28% RH) with minimal stress expected. East zone seedlings (lettuce, strawberry, pepper) show stress from cold/light issues — maintaining warmer overnight temps via bias_heat will help. Overnight lows: Sat 48°F, Sun 55°F, Mon 45°F, Tue 41°F — all nights need heating with bias_cool protection against vent oscillation. Testing: Compare Sunday peak (13:00-18:00, outdoor RH 6-8%, mist_max_closed_vent_s=900, fog_escalation_kpa=0.2, gap=15s) vs Monday peak (11:00-15:00, outdoor RH 9-12%, mist_max_closed_vent_s=900, fog_escalation_kpa=0.3, gap=20s). Sunday is ~40% drier. If the more aggressive Sunday posture (0.2 fog escalation, 15s gap) keeps VPD_high stress per unit outdoor VPD comparable to Monday’s milder posture, it validates scaling fog_escalation inversely with outdoor RH. Expected outcome: Sunday VPD_high stress hours / avg outdoor VPD should be within 20% of Monday’s ratio, demonstrating that fog_escalation_kpa 0.2 + gap 15s adequately compensates for extreme dryness. If Sunday’s ratio is >50% worse, fog_escalation 0.2 is insufficient for sub-10% RH conditions. | target_score=62 | target_compliance=70% | expected_stress=[heat=1.0, cold=1.0, vpd_high=5.0, vpd_low=1.0] | expected_cost=USD 7.5
Setpoints
Saturday April 11
Primary crop-band changes:
| Time | Values | Note |
|---|---|---|
| 10:32 | hyst 0.4 | Immediate coverage (copied from first transition) |
| 10:35 | hyst 0.4 | Mid-morning Sat: outdoor 73°F/18% RH, moderate VPD stress. E |
| 12:00 | hyst 0.4 | Sat peak: outdoor 76°F/15% RH, VPD forecast 2.59 kPa outdoor |
| 13:00 | hyst 0.3 | Sat afternoon: outdoor temp dropping to 71°F, RH rising to 2 |
| 19:25 | hyst 0.2 | Sat night: lows forecast 48°F. Heaters will run. bias_cool + |
Tactical tunable changes:
| Time | Values | Note |
|---|---|---|
| 10:32 | d_cool 3; engage 1.3; all 1.5; pulse 60; gap 20; wt 2.5 | Immediate coverage (copied from first transition) |
| 10:35 | d_cool 3; engage 1.3; all 1.5; pulse 60; gap 20; wt 2.5 | Mid-morning Sat: outdoor 73°F/18% RH, moderate VPD stress. E |
| 12:00 | d_cool 3; engage 1.3; all 1.5; pulse 60; gap 20; wt 3 | Sat peak: outdoor 76°F/15% RH, VPD forecast 2.59 kPa outdoor |
| 13:00 | d_cool 3; engage 1.3; all 1.7; pulse 60; gap 25; wt 2.5 | Sat afternoon: outdoor temp dropping to 71°F, RH rising to 2 |
| 19:25 | d_cool 3; engage 1.6; all 1.9; pulse 60; gap 45; wt 1.5 | Sat night: lows forecast 48°F. Heaters will run. bias_cool + |
Sunday April 12
Primary crop-band changes:
| Time | Values | Note |
|---|---|---|
| 05:34 | hyst 0.2 | Sun pre-dawn: outdoor 44°F/44% RH, heaters still running. Ma |
| 09:57 | hyst 0.3 | Sun tree shade clears: east zone gets direct sun, VPD ramp b |
| 14:00 | hyst 0.4 | Sun peak + cloud shift (14:00): outdoor 76°F/7% RH — extreme |
| 16:00 | hyst 0.4 | Sun late afternoon: outdoor 77°F/7% RH but solar declining. |
| 19:26 | hyst 0.2 | Sun night: lows forecast 55°F — milder than Sat but still ne |
Tactical tunable changes:
| Time | Values | Note |
|---|---|---|
| 05:34 | d_cool 3; engage 1.3; all 1.5; pulse 60; gap 25; wt 1.5 | Sun pre-dawn: outdoor 44°F/44% RH, heaters still running. Ma |
| 09:57 | d_cool 3; engage 1.3; all 1.5; pulse 60; gap 20; wt 2.5 | Sun tree shade clears: east zone gets direct sun, VPD ramp b |
| 14:00 | d_cool 3; engage 1.3; all 1.5; pulse 60; gap 15; wt 3 | Sun peak + cloud shift (14:00): outdoor 76°F/7% RH — extreme |
| 16:00 | d_cool 3; engage 1.3; all 1.5; pulse 60; gap 20; wt 3 | Sun late afternoon: outdoor 77°F/7% RH but solar declining. |
| 19:26 | d_cool 3; engage 1.6; all 1.9; pulse 60; gap 45; wt 1.5 | Sun night: lows forecast 55°F — milder than Sat but still ne |
Monday April 13
Primary crop-band changes:
| Time | Values | Note |
|---|---|---|
| 05:33 | hyst 0.2 | Mon pre-dawn: outdoor 50°F/26% RH, heaters running. Maintain |
| 09:55 | hyst 0.3 | Mon tree shade clears: east zone direct sun. Outdoor 64°F/12 |
| 11:00 | hyst 0.3 | Mon cloud shift at 11:00: clouds clear briefly (12% at noon) |
| 14:00 | hyst 0.4 | Mon peak: outdoor 72°F/9% RH, overcast. VPD peak forecast 2. |
| 15:00 | hyst 0.3 | Mon decline: outdoor temp dropping to 71°F, RH rising to 10% |
| 19:27 | hyst 0.2 | Mon night: lows forecast 45°F — coldest night in the plan. b |
Tactical tunable changes:
| Time | Values | Note |
|---|---|---|
| 05:33 | d_cool 3; engage 1.3; all 1.5; pulse 60; gap 25; wt 1.5 | Mon pre-dawn: outdoor 50°F/26% RH, heaters running. Maintain |
| 09:55 | d_cool 3; engage 1.3; all 1.5; pulse 60; gap 20; wt 2.5 | Mon tree shade clears: east zone direct sun. Outdoor 64°F/12 |
| 11:00 | d_cool 3; engage 1.3; all 1.5; pulse 60; gap 20; wt 2.5 | Mon cloud shift at 11:00: clouds clear briefly (12% at noon) |
| 14:00 | d_cool 3; engage 1.3; all 1.5; pulse 60; gap 20; wt 3 | Mon peak: outdoor 72°F/9% RH, overcast. VPD peak forecast 2. |
| 15:00 | d_cool 3; engage 1.3; all 1.7; pulse 60; gap 25; wt 2.5 | Mon decline: outdoor temp dropping to 71°F, RH rising to 10% |
| 19:27 | d_cool 3; engage 1.6; all 1.9; pulse 60; gap 45; wt 1.5 | Mon night: lows forecast 45°F — coldest night in the plan. b |
Tuesday April 14
Primary crop-band changes:
| Time | Values | Note |
|---|---|---|
| 05:31 | hyst 0.2 | Tue pre-dawn: outdoor 44°F/43% RH, heaters running. Maintain |
| 09:54 | hyst 0.2 | Tue tree shade clears: outdoor 56°F/28% RH, overcast. Cool m |
Tactical tunable changes:
| Time | Values | Note |
|---|---|---|
| 05:31 | d_cool 3; engage 1.6; all 1.9; pulse 60; gap 45; wt 1.5 | Tue pre-dawn: outdoor 44°F/43% RH, heaters running. Maintain |
| 09:54 | d_cool 3; engage 1.6; all 1.9; pulse 60; gap 45; wt 1.5 | Tue tree shade clears: outdoor 56°F/28% RH, overcast. Cool m |
Changed secondary parameters:
| Time | Parameter | Change |
|---|---|---|
| 10:32 | bias_cool | initial 0 |
| 10:32 | bias_heat | initial 0 |
| 10:32 | enthalpy_close | initial 1 |
| 10:32 | enthalpy_open | initial -2 |
| 10:32 | fog_escalation_kpa | initial 0.3 |
| 10:32 | min_fog_off_s | initial 60 |
| 10:32 | min_fog_on_s | initial 60 |
| 10:32 | min_heat_off_s | initial 300 |
| 10:32 | min_heat_on_s | initial 120 |
| 10:32 | min_vent_off_s | initial 60 |
| 10:32 | min_vent_on_s | initial 60 |
| 10:32 | mist_max_closed_vent_s | initial 600 |
| 10:32 | mist_thermal_relief_s | initial 90 |
| 10:32 | mist_vent_close_lead_s | initial 15 |
| 10:32 | mist_vent_reopen_delay_s | initial 45 |
| 10:32 | mister_water_budget_gal | initial 500 |
| 10:32 | vpd_watch_dwell_s | initial 45 |
| 12:00 | mist_vent_close_lead_s | 15 → 20 |
| 12:00 | vpd_watch_dwell_s | 45 → 30 |
| 13:00 | fog_escalation_kpa | 0.3 → 0.4 |
| 13:00 | mist_vent_close_lead_s | 20 → 15 |
| 13:00 | vpd_watch_dwell_s | 30 → 45 |
| 19:25 | bias_cool | 0 → 3 |
| 19:25 | bias_heat | 0 → 1 |
| 19:25 | vpd_watch_dwell_s | 45 → 60 |
| 05:34 | fog_escalation_kpa | 0.4 → 0.2 |
| 05:34 | mist_max_closed_vent_s | 600 → 900 |
| 05:34 | mist_vent_reopen_delay_s | 45 → 60 |
| 09:57 | bias_cool | 3 → -1 |
| 09:57 | bias_heat | 1 → 0 |
| 09:57 | mist_vent_close_lead_s | 15 → 20 |
| 09:57 | vpd_watch_dwell_s | 60 → 30 |
| 14:00 | enthalpy_close | 1 → 2 |
| 14:00 | enthalpy_open | -2 → -3 |
| 14:00 | min_vent_off_s | 60 → 90 |
| 14:00 | mist_thermal_relief_s | 90 → 120 |
| 14:00 | mist_vent_close_lead_s | 20 → 25 |
| 16:00 | bias_cool | -1 → 0 |
| 16:00 | enthalpy_close | 2 → 1 |
| 16:00 | enthalpy_open | -3 → -2 |
| 16:00 | fog_escalation_kpa | 0.2 → 0.3 |
| 16:00 | min_fog_off_s | 60 → 90 |
| 16:00 | min_vent_off_s | 90 → 60 |
| 16:00 | mist_thermal_relief_s | 120 → 90 |
| 16:00 | mist_vent_close_lead_s | 25 → 20 |
| 16:00 | mist_vent_reopen_delay_s | 60 → 45 |
| 16:00 | vpd_watch_dwell_s | 30 → 45 |
| 19:26 | bias_cool | 0 → 3 |
| 19:26 | bias_heat | 0 → 1 |
| 19:26 | fog_escalation_kpa | 0.3 → 0.4 |
| 19:26 | min_fog_off_s | 90 → 60 |
| 19:26 | mist_max_closed_vent_s | 900 → 600 |
| 19:26 | mist_vent_close_lead_s | 20 → 15 |
| 19:26 | vpd_watch_dwell_s | 45 → 60 |
| 05:33 | fog_escalation_kpa | 0.4 → 0.3 |
| 05:33 | mist_max_closed_vent_s | 600 → 900 |
| 09:55 | bias_cool | 3 → -1 |
| 09:55 | bias_heat | 1 → 0 |
| 09:55 | mist_vent_close_lead_s | 15 → 20 |
| 09:55 | vpd_watch_dwell_s | 60 → 30 |
| 11:00 | bias_cool | -1 → 0 |
| 15:00 | fog_escalation_kpa | 0.3 → 0.4 |
| 15:00 | min_fog_off_s | 60 → 90 |
| 15:00 | mist_max_closed_vent_s | 900 → 600 |
| 15:00 | mist_vent_close_lead_s | 20 → 15 |
| 15:00 | vpd_watch_dwell_s | 30 → 45 |
| 19:27 | bias_cool | 0 → 4 |
| 19:27 | bias_heat | 0 → 2 |
| 19:27 | min_fog_off_s | 90 → 60 |
| 19:27 | min_heat_off_s | 300 → 240 |
| 19:27 | vpd_watch_dwell_s | 45 → 60 |
| 09:54 | bias_cool | 4 → 0 |
| 09:54 | bias_heat | 2 → 0 |
| 09:54 | min_heat_off_s | 240 → 300 |
☀️ Midday Cycle (11:32 AM) — iris-20260411-1135
validated
4/10
vpd_hysteresis, vpd_watch_dwell_s, mister_engage_kpa, mister_all_kpa, mister_pulse_on_s, mister_pulse_gap_s, mister_vpd_weight, mister_water_budget_gal ...
Reflection
Validating previous cycle: iris-20260411-0515
Previous hypothesis: Lowering fog_escalation_kpa to 0.2 on Sunday (extreme dry, 7% RH) combined with 900s sealed-vent and 15s pulse gap at peak will keep vpd_high stress below 6h despite 2.5x drier conditions than Saturday. On Saturday, fog_escalation 0.3 with 600s sealed-vent should limit vpd_high to ~4h. Monday’s high winds will reduce vent effectiveness — extending sealed-vent to 900s and using fog_escalation 0.3 compensates. Result: [backfill] compliance unavailable over plan window 2026-04-11 17:32 → 2026-04-11 18:02 Score: 4/10
Hypothesis
Conditions: Today (Sat) is partly cloudy with outdoor high 77°F and very dry air (15-27% RH), transitioning to a brutally dry Sunday (6-8% RH, 77°F, clear until 14:00 cloud shift) — the driest day in the horizon. Monday is moderately dry (9-28% RH, 72°F high) with clouds clearing at 11:00. Tuesday is the coolest day (58°F high, 27-48% RH) with precipitation chances rising to 39%. Today’s partial scorecard shows 31h cold_stress and 6h vpd_low_stress — likely from overnight band mismatch or ESP32 reboot corruption earlier today, not from the active plan’s tuning. East zone seedlings (lettuce, strawberry, pepper) show stress indicators but these are likely light/nutrient issues outside this planner’s control surface. Testing: Compare Sunday peak (13:00-18:00, outdoor RH 6-8%, fog_escalation_kpa=0.2, gap=15s, mist_max_closed_vent_s=900) vs Monday peak (11:00-15:00, outdoor RH 9-12%, fog_escalation_kpa=0.3, gap=20s, mist_max_closed_vent_s=900). Sunday is ~40% drier. If Sunday’s VPD_high stress hours per unit outdoor VPD is comparable to or lower than Monday’s ratio, it validates scaling fog_escalation inversely with outdoor RH on extreme dry days. Expected outcome: Sunday VPD_high_stress / avg_outdoor_VPD ≤ Monday’s ratio, demonstrating that 0.2 fog escalation + 15s gap compensates for extreme dryness. Expected Sunday VPD_high: 4-6h (physics-limited at 6% RH). Monday VPD_high: 2-4h. Tuesday: <1h. | target_score=55 | target_compliance=55% | expected_stress=[heat=1.0, cold=0.5, vpd_high=6.0, vpd_low=0.5] | expected_cost=USD 7.0
Setpoints
Saturday April 11
Primary crop-band changes:
| Time | Values | Note |
|---|---|---|
| 11:32 | hyst 0.4 | Immediate coverage (copied from first transition) |
| 11:35 | hyst 0.4 | Current VPD 2.0-2.25 across zones with outdoor 72°F/24% RH. |
| 14:00 | hyst 0.4 | Forecast peak: 77°F/15% RH at 14:00. Tighten gap to 15s for |
| 18:00 | hyst 0.3 | Cloud shift at 18:00 (clear sky). Solar declining, outdoor 6 |
| 19:25 | hyst 0.2 | Sunset. Overnight low forecast 44-50°F — heaters will run. b |
Tactical tunable changes:
| Time | Values | Note |
|---|---|---|
| 11:32 | d_cool 3; engage 1.3; all 1.5; pulse 60; gap 20; wt 3 | Immediate coverage (copied from first transition) |
| 11:35 | d_cool 3; engage 1.3; all 1.5; pulse 60; gap 20; wt 3 | Current VPD 2.0-2.25 across zones with outdoor 72°F/24% RH. |
| 14:00 | d_cool 3; engage 1.3; all 1.5; pulse 60; gap 15; wt 3 | Forecast peak: 77°F/15% RH at 14:00. Tighten gap to 15s for |
| 18:00 | d_cool 3; engage 1.3; all 1.7; pulse 60; gap 30; wt 2 | Cloud shift at 18:00 (clear sky). Solar declining, outdoor 6 |
| 19:25 | d_cool 3; engage 1.6; all 1.9; pulse 60; gap 45; wt 1.5 | Sunset. Overnight low forecast 44-50°F — heaters will run. b |
Sunday April 12
Primary crop-band changes:
| Time | Values | Note |
|---|---|---|
| 05:34 | hyst 0.2 | Pre-dawn at 44°F/44% outdoor. Heaters still running — mainta |
| 09:49 | hyst 0.3 | Tree shade clears east zone. Outdoor 63°F/23% RH and droppin |
| 15:00 | hyst 0.4 | Peak stress: 77°F/7% outdoor RH — most extreme conditions in |
| 16:00 | hyst 0.4 | Solar declining but outdoor still 77°F/7% RH — VPD may still |
| 19:26 | hyst 0.2 | Sunset. Overnight low forecast 49-55°F — heaters will run. b |
Tactical tunable changes:
| Time | Values | Note |
|---|---|---|
| 05:34 | d_cool 3; engage 1.3; all 1.5; pulse 60; gap 25; wt 1.5 | Pre-dawn at 44°F/44% outdoor. Heaters still running — mainta |
| 09:49 | d_cool 3; engage 1.3; all 1.5; pulse 60; gap 20; wt 2.5 | Tree shade clears east zone. Outdoor 63°F/23% RH and droppin |
| 15:00 | d_cool 3; engage 1.3; all 1.5; pulse 60; gap 15; wt 3 | Peak stress: 77°F/7% outdoor RH — most extreme conditions in |
| 16:00 | d_cool 3; engage 1.3; all 1.5; pulse 60; gap 20; wt 3 | Solar declining but outdoor still 77°F/7% RH — VPD may still |
| 19:26 | d_cool 3; engage 1.6; all 1.9; pulse 60; gap 45; wt 1.5 | Sunset. Overnight low forecast 49-55°F — heaters will run. b |
Monday April 13
Primary crop-band changes:
| Time | Values | Note |
|---|---|---|
| 05:33 | hyst 0.2 | Pre-dawn at 50°F/26% outdoor. Heaters still running — mainta |
| 11:00 | hyst 0.3 | Cloud shift at 11:00 (clouds clear from 100% to 12%). Tree s |
| 14:00 | hyst 0.4 | Peak stress: 72°F/9% outdoor RH. Moderately aggressive: gap |
| 15:00 | hyst 0.3 | Post-solar decline. Outdoor 71°F/10% RH but solar waning. Re |
| 19:27 | hyst 0.2 | Sunset. Coldest night in horizon — forecast low 41-43°F. Agg |
Tactical tunable changes:
| Time | Values | Note |
|---|---|---|
| 05:33 | d_cool 3; engage 1.3; all 1.5; pulse 60; gap 25; wt 1.5 | Pre-dawn at 50°F/26% outdoor. Heaters still running — mainta |
| 11:00 | d_cool 3; engage 1.3; all 1.5; pulse 60; gap 20; wt 2.5 | Cloud shift at 11:00 (clouds clear from 100% to 12%). Tree s |
| 14:00 | d_cool 3; engage 1.3; all 1.5; pulse 60; gap 20; wt 3 | Peak stress: 72°F/9% outdoor RH. Moderately aggressive: gap |
| 15:00 | d_cool 3; engage 1.3; all 1.7; pulse 60; gap 25; wt 2.5 | Post-solar decline. Outdoor 71°F/10% RH but solar waning. Re |
| 19:27 | d_cool 3; engage 1.6; all 1.9; pulse 60; gap 45; wt 1.5 | Sunset. Coldest night in horizon — forecast low 41-43°F. Agg |
Tuesday April 14
Primary crop-band changes:
| Time | Values | Note |
|---|---|---|
| 05:31 | hyst 0.2 | Pre-dawn at 44°F/43% outdoor. Heaters still running — mainta |
| 09:43 | hyst 0.2 | Tree shade clears. Tuesday high only 58°F with 27% RH — mild |
Tactical tunable changes:
| Time | Values | Note |
|---|---|---|
| 05:31 | d_cool 3; engage 1.6; all 1.9; pulse 60; gap 45; wt 1.5 | Pre-dawn at 44°F/43% outdoor. Heaters still running — mainta |
| 09:43 | d_cool 3; engage 1.6; all 1.9; pulse 60; gap 45; wt 1.5 | Tree shade clears. Tuesday high only 58°F with 27% RH — mild |
Changed secondary parameters:
| Time | Parameter | Change |
|---|---|---|
| 11:32 | bias_cool | initial 0 |
| 11:32 | bias_heat | initial 0 |
| 11:32 | enthalpy_close | initial 1 |
| 11:32 | enthalpy_open | initial -2 |
| 11:32 | fog_escalation_kpa | initial 0.3 |
| 11:32 | min_fog_off_s | initial 60 |
| 11:32 | min_fog_on_s | initial 60 |
| 11:32 | min_heat_off_s | initial 300 |
| 11:32 | min_heat_on_s | initial 120 |
| 11:32 | min_vent_off_s | initial 60 |
| 11:32 | min_vent_on_s | initial 60 |
| 11:32 | mist_max_closed_vent_s | initial 600 |
| 11:32 | mist_thermal_relief_s | initial 90 |
| 11:32 | mist_vent_close_lead_s | initial 15 |
| 11:32 | mist_vent_reopen_delay_s | initial 45 |
| 11:32 | mister_water_budget_gal | initial 500 |
| 11:32 | vpd_watch_dwell_s | initial 30 |
| 18:00 | fog_escalation_kpa | 0.3 → 0.4 |
| 18:00 | vpd_watch_dwell_s | 30 → 60 |
| 19:25 | bias_cool | 0 → 3 |
| 19:25 | bias_heat | 0 → 1 |
| 05:34 | fog_escalation_kpa | 0.4 → 0.2 |
| 05:34 | mist_max_closed_vent_s | 600 → 900 |
| 09:49 | bias_cool | 3 → -1 |
| 09:49 | bias_heat | 1 → 0 |
| 09:49 | vpd_watch_dwell_s | 60 → 30 |
| 15:00 | enthalpy_close | 1 → 2 |
| 15:00 | enthalpy_open | -2 → -3 |
| 15:00 | min_vent_off_s | 60 → 90 |
| 15:00 | min_vent_on_s | 60 → 30 |
| 15:00 | mist_vent_close_lead_s | 15 → 20 |
| 15:00 | mist_vent_reopen_delay_s | 45 → 60 |
| 16:00 | bias_cool | -1 → 0 |
| 16:00 | enthalpy_close | 2 → 1 |
| 16:00 | enthalpy_open | -3 → -2 |
| 16:00 | fog_escalation_kpa | 0.2 → 0.3 |
| 16:00 | min_vent_off_s | 90 → 60 |
| 16:00 | min_vent_on_s | 30 → 60 |
| 16:00 | mist_vent_close_lead_s | 20 → 15 |
| 16:00 | mist_vent_reopen_delay_s | 60 → 45 |
| 19:26 | bias_cool | 0 → 3 |
| 19:26 | bias_heat | 0 → 1 |
| 19:26 | fog_escalation_kpa | 0.3 → 0.4 |
| 19:26 | mist_max_closed_vent_s | 900 → 600 |
| 19:26 | vpd_watch_dwell_s | 30 → 60 |
| 05:33 | fog_escalation_kpa | 0.4 → 0.3 |
| 05:33 | mist_max_closed_vent_s | 600 → 900 |
| 11:00 | bias_cool | 3 → 0 |
| 11:00 | bias_heat | 1 → 0 |
| 11:00 | vpd_watch_dwell_s | 60 → 30 |
| 15:00 | fog_escalation_kpa | 0.3 → 0.4 |
| 15:00 | mist_max_closed_vent_s | 900 → 600 |
| 15:00 | vpd_watch_dwell_s | 30 → 60 |
| 19:27 | bias_cool | 0 → 4 |
| 19:27 | bias_heat | 0 → 2 |
| 09:43 | bias_cool | 4 → 0 |
| 09:43 | bias_heat | 2 → 0 |
☀️ Midday Cycle (12:02 PM) — iris-20260411-1205
validated
4/10
vpd_hysteresis, vpd_watch_dwell_s, mister_engage_kpa, mister_all_kpa, mister_pulse_on_s, mister_pulse_gap_s, mister_vpd_weight, mister_water_budget_gal ...
Reflection
Validating previous cycle: iris-20260411-0515
Result: [backfill] compliance unavailable over plan window 2026-04-11 18:02 → 2026-04-11 18:17 Score: 4/10
Hypothesis
Conditions: Today (Sat) is partly cloudy with outdoor RH 15-27%, high 77°F — moderate dry stress remaining. Sunday is the most extreme day: clear morning transitioning to clouds at 14:00, outdoor RH drops to 6-8% with highs of 77°F — extreme VPD stress expected. Monday is similar but slightly cooler (72°F high) with clouds from 11:00 and outdoor RH 9-12%. Tuesday is mild (59°F high, 26-48% RH) — easy day. Today’s partial scorecard shows 31h cold_stress dominating, likely from overnight vent oscillation before the current plan’s bias_cool took effect. Crop health is generally good; lettuce seedlings show some stress (wilting/yellowing) possibly from cold overnight temps in east zone. Testing: Compare Sunday peak (13:00-18:00, outdoor RH 6-8%, fog_escalation_kpa=0.2, gap=15s, mist_max_closed_vent_s=900) vs Monday peak (11:00-15:00, outdoor RH 9-12%, fog_escalation_kpa=0.3, gap=20s, mist_max_closed_vent_s=900). If Sunday’s VPD_high stress hours per unit outdoor VPD is comparable to or lower than Monday’s ratio, it validates scaling fog_escalation inversely with outdoor RH on extreme dry days. Expected outcome: Sunday VPD_high_stress_h / avg_outdoor_VPD ≤ Monday’s ratio. Sunday target: <4h VPD_high stress despite 6% RH. Monday target: <3h VPD_high stress with 9-12% RH. Both nights should have 0h cold_stress with bias_cool +3. | target_score=55 | target_compliance=55% | expected_stress=[heat=1.0, cold=0.5, vpd_high=6.0, vpd_low=1.0] | expected_cost=USD 7.0
Setpoints
Saturday April 11
Primary crop-band changes:
| Time | Values | Note |
|---|---|---|
| 12:02 | hyst 0.4 | Immediate coverage (copied from first transition) |
| 12:05 | hyst 0.4 | Outdoor RH 15-23%, temp 70-77°F. Aggressive misting posture |
| 18:00 | hyst 0.3 | Post-peak decline. Outdoor temp dropping to 69°F, RH rising |
| 19:25 | hyst 0.2 | Sunset. Tonight drops to 44°F — heaters will run. bias_heat |
Tactical tunable changes:
| Time | Values | Note |
|---|---|---|
| 12:02 | d_cool 3; engage 1.3; all 1.5; pulse 60; gap 20; wt 3 | Immediate coverage (copied from first transition) |
| 12:05 | d_cool 3; engage 1.3; all 1.5; pulse 60; gap 20; wt 3 | Outdoor RH 15-23%, temp 70-77°F. Aggressive misting posture |
| 18:00 | d_cool 3; engage 1.3; all 1.7; pulse 60; gap 30; wt 2 | Post-peak decline. Outdoor temp dropping to 69°F, RH rising |
| 19:25 | d_cool 3; engage 1.6; all 1.9; pulse 60; gap 45; wt 1.5 | Sunset. Tonight drops to 44°F — heaters will run. bias_heat |
Sunday April 12
Primary crop-band changes:
| Time | Values | Note |
|---|---|---|
| 05:34 | hyst 0.2 | Pre-dawn at 44°F outdoor, 44% RH. Heaters still running. Kee |
| 09:45 | hyst 0.3 | Tree shade clears east zone. Outdoor 63°F/23% RH, VPD ramp a |
| 15:00 | hyst 0.4 | Peak VPD stress: 77°F/7% RH outdoor, forecast VPD ~2.98 kPa. |
| 16:00 | hyst 0.4 | Sunday driest hour is 18:00 (6% RH) — VPD remains extreme ev |
| 19:26 | hyst 0.2 | Sunset Sunday. Tonight drops to 45°F with outdoor RH rising |
Tactical tunable changes:
| Time | Values | Note |
|---|---|---|
| 05:34 | d_cool 3; engage 1.3; all 1.5; pulse 60; gap 25; wt 1.5 | Pre-dawn at 44°F outdoor, 44% RH. Heaters still running. Kee |
| 09:45 | d_cool 3; engage 1.3; all 1.5; pulse 60; gap 20; wt 2.5 | Tree shade clears east zone. Outdoor 63°F/23% RH, VPD ramp a |
| 15:00 | d_cool 3; engage 1.3; all 1.5; pulse 60; gap 15; wt 3 | Peak VPD stress: 77°F/7% RH outdoor, forecast VPD ~2.98 kPa. |
| 16:00 | d_cool 3; engage 1.3; all 1.5; pulse 60; gap 15; wt 3 | Sunday driest hour is 18:00 (6% RH) — VPD remains extreme ev |
| 19:26 | d_cool 3; engage 1.6; all 1.9; pulse 60; gap 45; wt 1.5 | Sunset Sunday. Tonight drops to 45°F with outdoor RH rising |
Monday April 13
Primary crop-band changes:
| Time | Values | Note |
|---|---|---|
| 05:33 | hyst 0.2 | Pre-dawn Monday at 50°F/26% RH. Heaters still running. Keep |
| 11:00 | hyst 0.3 | Cloud shift at 11:00 — clouds clear to 12% cover, solar jump |
| 14:00 | hyst 0.4 | Peak stress Monday: 72°F/9% RH outdoor, VPD 2.40 kPa. Maximu |
| 15:00 | hyst 0.3 | Solar declining, outdoor temp dropping to 71°F. Wind 21 mph |
| 19:27 | hyst 0.2 | Sunset Monday. Tonight drops to 41°F — coldest night in the |
Tactical tunable changes:
| Time | Values | Note |
|---|---|---|
| 05:33 | d_cool 3; engage 1.3; all 1.5; pulse 60; gap 25; wt 1.5 | Pre-dawn Monday at 50°F/26% RH. Heaters still running. Keep |
| 11:00 | d_cool 3; engage 1.3; all 1.5; pulse 60; gap 20; wt 2.5 | Cloud shift at 11:00 — clouds clear to 12% cover, solar jump |
| 14:00 | d_cool 3; engage 1.3; all 1.5; pulse 60; gap 15; wt 3 | Peak stress Monday: 72°F/9% RH outdoor, VPD 2.40 kPa. Maximu |
| 15:00 | d_cool 3; engage 1.3; all 1.7; pulse 60; gap 25; wt 2.5 | Solar declining, outdoor temp dropping to 71°F. Wind 21 mph |
| 19:27 | d_cool 3; engage 1.6; all 1.9; pulse 60; gap 45; wt 1.5 | Sunset Monday. Tonight drops to 41°F — coldest night in the |
Tuesday April 14
Primary crop-band changes:
| Time | Values | Note |
|---|---|---|
| 05:31 | hyst 0.2 | Pre-dawn Tuesday at 44°F/43% RH. Heaters still running. Keep |
| 09:38 | hyst 0.2 | Tree shade clears. Tuesday is mild: high 59°F, outdoor RH 26 |
Tactical tunable changes:
| Time | Values | Note |
|---|---|---|
| 05:31 | d_cool 3; engage 1.6; all 1.9; pulse 60; gap 45; wt 1.5 | Pre-dawn Tuesday at 44°F/43% RH. Heaters still running. Keep |
| 09:38 | d_cool 3; engage 1.6; all 1.9; pulse 60; gap 45; wt 1.5 | Tree shade clears. Tuesday is mild: high 59°F, outdoor RH 26 |
Changed secondary parameters:
| Time | Parameter | Change |
|---|---|---|
| 12:02 | bias_cool | initial 0 |
| 12:02 | bias_heat | initial 0 |
| 12:02 | enthalpy_close | initial 1 |
| 12:02 | enthalpy_open | initial -2 |
| 12:02 | fog_escalation_kpa | initial 0.3 |
| 12:02 | min_fog_off_s | initial 60 |
| 12:02 | min_fog_on_s | initial 60 |
| 12:02 | min_heat_off_s | initial 300 |
| 12:02 | min_heat_on_s | initial 120 |
| 12:02 | min_vent_off_s | initial 60 |
| 12:02 | min_vent_on_s | initial 60 |
| 12:02 | mist_max_closed_vent_s | initial 600 |
| 12:02 | mist_thermal_relief_s | initial 90 |
| 12:02 | mist_vent_close_lead_s | initial 15 |
| 12:02 | mist_vent_reopen_delay_s | initial 45 |
| 12:02 | mister_water_budget_gal | initial 500 |
| 12:02 | vpd_watch_dwell_s | initial 45 |
| 18:00 | fog_escalation_kpa | 0.3 → 0.4 |
| 18:00 | vpd_watch_dwell_s | 45 → 60 |
| 19:25 | bias_cool | 0 → 3 |
| 19:25 | bias_heat | 0 → 1 |
| 05:34 | fog_escalation_kpa | 0.4 → 0.2 |
| 05:34 | mist_max_closed_vent_s | 600 → 900 |
| 09:45 | bias_cool | 3 → -1 |
| 09:45 | bias_heat | 1 → 0 |
| 09:45 | vpd_watch_dwell_s | 60 → 45 |
| 15:00 | enthalpy_close | 1 → 2 |
| 15:00 | enthalpy_open | -2 → -3 |
| 15:00 | min_vent_off_s | 60 → 90 |
| 15:00 | min_vent_on_s | 60 → 45 |
| 15:00 | mist_vent_close_lead_s | 15 → 20 |
| 15:00 | mist_vent_reopen_delay_s | 45 → 60 |
| 15:00 | vpd_watch_dwell_s | 45 → 30 |
| 16:00 | bias_cool | -1 → 0 |
| 16:00 | min_fog_off_s | 60 → 90 |
| 19:26 | bias_cool | 0 → 3 |
| 19:26 | bias_heat | 0 → 1 |
| 19:26 | enthalpy_close | 2 → 1 |
| 19:26 | enthalpy_open | -3 → -2 |
| 19:26 | fog_escalation_kpa | 0.2 → 0.4 |
| 19:26 | min_fog_off_s | 90 → 60 |
| 19:26 | min_vent_off_s | 90 → 60 |
| 19:26 | min_vent_on_s | 45 → 60 |
| 19:26 | mist_max_closed_vent_s | 900 → 600 |
| 19:26 | mist_vent_close_lead_s | 20 → 15 |
| 19:26 | mist_vent_reopen_delay_s | 60 → 45 |
| 19:26 | vpd_watch_dwell_s | 30 → 60 |
| 05:33 | fog_escalation_kpa | 0.4 → 0.3 |
| 05:33 | mist_max_closed_vent_s | 600 → 900 |
| 11:00 | bias_cool | 3 → 0 |
| 11:00 | bias_heat | 1 → 0 |
| 11:00 | vpd_watch_dwell_s | 60 → 45 |
| 14:00 | enthalpy_close | 1 → 2 |
| 14:00 | enthalpy_open | -2 → -3 |
| 14:00 | min_vent_off_s | 60 → 90 |
| 14:00 | min_vent_on_s | 60 → 45 |
| 14:00 | mist_vent_close_lead_s | 15 → 20 |
| 14:00 | mist_vent_reopen_delay_s | 45 → 60 |
| 14:00 | vpd_watch_dwell_s | 45 → 30 |
| 15:00 | enthalpy_close | 2 → 1 |
| 15:00 | enthalpy_open | -3 → -2 |
| 15:00 | fog_escalation_kpa | 0.3 → 0.4 |
| 15:00 | min_fog_off_s | 60 → 90 |
| 15:00 | min_vent_off_s | 90 → 60 |
| 15:00 | min_vent_on_s | 45 → 60 |
| 15:00 | mist_max_closed_vent_s | 900 → 600 |
| 15:00 | mist_vent_close_lead_s | 20 → 15 |
| 15:00 | mist_vent_reopen_delay_s | 60 → 45 |
| 15:00 | vpd_watch_dwell_s | 30 → 45 |
| 19:27 | bias_cool | 0 → 4 |
| 19:27 | bias_heat | 0 → 2 |
| 19:27 | min_fog_off_s | 90 → 60 |
| 19:27 | vpd_watch_dwell_s | 45 → 60 |
| 09:38 | bias_cool | 4 → 0 |
| 09:38 | bias_heat | 2 → 0 |
☀️ Midday Cycle (12:17 PM) — iris-20260411-1220
validated
4/10
vpd_hysteresis, vpd_watch_dwell_s, mister_engage_kpa, mister_all_kpa, mister_pulse_on_s, mister_pulse_gap_s, mister_vpd_weight, mister_water_budget_gal ...
Reflection
Validating previous cycle: iris-20260411-0610
Previous hypothesis: Reducing mister_pulse_gap_s to 15s during peak stress on Sunday/Monday (the driest hours), combined with mist_max_closed_vent_s=900s and fog_escalation_kpa=0.2, will keep VPD_high stress under 6h/day despite 7-9% outdoor RH. On cold nights (Sun-Tue), bias_cool=+3 with bias_heat=+1 will prevent vent oscillation. Tuesday’s mild conditions should achieve near-zero stress. Result: [backfill] compliance unavailable over plan window 2026-04-11 18:17 → 2026-04-11 19:02 Score: 4/10
Hypothesis
Conditions: Today (Sat) is overcast with outdoor 76°F/17% RH, clearing tonight to cold clear night (low 44°F). Sunday is the most extreme day: clear skies, 77°F high, outdoor RH dropping to 6-8% — the driest conditions in the horizon. Monday is cooler (70°F high) with clouds building by 10:00, still dry (11-15% RH). Tuesday is mild and cloudy (62°F, 25% RH) with rain chances. Today’s partial scorecard shows 31h cold_stress dominating — likely from overnight vent oscillation before the current plan’s bias_cool took effect. Crop health is generally good; lettuce seedlings show some stress (wilting/yellowing) possibly from cold or light, not actionable via this planner. Testing: Compare Sunday peak (13:00-19:00, outdoor RH 6-8%, fog_escalation_kpa=0.2, gap=15s, mist_max_closed_vent_s=900) vs Monday peak (10:00-17:00, outdoor RH 11-15%, fog_escalation_kpa=0.3, gap=20s, mist_max_closed_vent_s=900). Normalize VPD_high stress hours by average outdoor VPD for each period. If Sunday’s ratio is comparable to or lower than Monday’s, it validates that scaling fog_escalation inversely with outdoor RH compensates for extreme dryness. Expected outcome: Sunday VPD_high_stress_h / avg_outdoor_VPD should be ≤ Monday’s ratio, demonstrating fog_escalation 0.2 at 6% RH performs as well as 0.3 at 13% RH. Sunday total stress target <6h, Monday <3h, Tuesday <1h. | target_score=60 | target_compliance=65% | expected_stress=[heat=1.0, cold=0.5, vpd_high=5.0, vpd_low=0.5] | expected_cost=USD 7.0
Setpoints
Saturday April 11
Primary crop-band changes:
| Time | Values | Note |
|---|---|---|
| 12:17 | hyst 0.3 | Immediate coverage (copied from first transition) |
| 12:20 | hyst 0.3 | Current state is SEALED_MIST_S1 with north VPD 2.28. Outdoor |
| 14:00 | hyst 0.3 | Forecast peak: 77°F/16% RH outdoor. Tighten gap to 20s and l |
| 15:00 | hyst 0.3 | Solar dropping (60 W/m² forecast), temp declining to 75°F. R |
| 19:25 | hyst 0.2 | Sunset. Cold night ahead — forecast low 44°F. bias_heat +1 f |
Tactical tunable changes:
| Time | Values | Note |
|---|---|---|
| 12:17 | d_cool 3; engage 1.3; all 1.7; pulse 60; gap 25; wt 2 | Immediate coverage (copied from first transition) |
| 12:20 | d_cool 3; engage 1.3; all 1.7; pulse 60; gap 25; wt 2 | Current state is SEALED_MIST_S1 with north VPD 2.28. Outdoor |
| 14:00 | d_cool 3; engage 1.3; all 1.6; pulse 60; gap 20; wt 2.5 | Forecast peak: 77°F/16% RH outdoor. Tighten gap to 20s and l |
| 15:00 | d_cool 3; engage 1.3; all 1.7; pulse 60; gap 30; wt 2 | Solar dropping (60 W/m² forecast), temp declining to 75°F. R |
| 19:25 | d_cool 3; engage 1.6; all 1.9; pulse 60; gap 45; wt 1.5 | Sunset. Cold night ahead — forecast low 44°F. bias_heat +1 f |
Sunday April 12
Primary crop-band changes:
| Time | Values | Note |
|---|---|---|
| 05:34 | hyst 0.2 | Pre-dawn for extreme dry day (6% RH forecast). Lower engage |
| 09:43 | hyst 0.3 | Tree shade clears east zone — direct sun hits, VPD ramp acce |
| 14:00 | hyst 0.4 | Clouds arrive at 14:00 (98%) reducing solar but outdoor RH d |
| 16:00 | hyst 0.4 | Solar near zero but outdoor still 77°F/7% RH — VPD remains e |
| 19:26 | hyst 0.2 | Sunset. Cold night — forecast low 47°F (Sun night into Mon). |
Tactical tunable changes:
| Time | Values | Note |
|---|---|---|
| 05:34 | d_cool 3; engage 1.3; all 1.5; pulse 60; gap 25; wt 1.5 | Pre-dawn for extreme dry day (6% RH forecast). Lower engage |
| 09:43 | d_cool 3; engage 1.3; all 1.5; pulse 60; gap 20; wt 2.5 | Tree shade clears east zone — direct sun hits, VPD ramp acce |
| 14:00 | d_cool 3; engage 1.3; all 1.5; pulse 60; gap 15; wt 3 | Clouds arrive at 14:00 (98%) reducing solar but outdoor RH d |
| 16:00 | d_cool 3; engage 1.3; all 1.5; pulse 60; gap 20; wt 2.5 | Solar near zero but outdoor still 77°F/7% RH — VPD remains e |
| 19:26 | d_cool 3; engage 1.6; all 1.9; pulse 60; gap 45; wt 1.5 | Sunset. Cold night — forecast low 47°F (Sun night into Mon). |
Monday April 13
Primary crop-band changes:
| Time | Values | Note |
|---|---|---|
| 05:33 | hyst 0.2 | Pre-dawn Monday. Outdoor 50°F/24% RH — less extreme than Sun |
| 09:39 | hyst 0.3 | Tree shade clears. Clouds clearing at 10:00 (73%→7%). Outdoo |
| 10:00 | hyst 0.3 | Clouds clear (73%→7%). Solar ramp begins — 528 W/m² forecast |
| 14:00 | hyst 0.3 | Clouds return (100% from 13:00). Solar drops to 349 W/m². Re |
| 19:27 | hyst 0.2 | Sunset. Coldest night in horizon — forecast low 43°F. bias_h |
Tactical tunable changes:
| Time | Values | Note |
|---|---|---|
| 05:33 | d_cool 3; engage 1.3; all 1.5; pulse 60; gap 25; wt 1.5 | Pre-dawn Monday. Outdoor 50°F/24% RH — less extreme than Sun |
| 09:39 | d_cool 3; engage 1.3; all 1.5; pulse 60; gap 20; wt 2.5 | Tree shade clears. Clouds clearing at 10:00 (73%→7%). Outdoo |
| 10:00 | d_cool 3; engage 1.3; all 1.5; pulse 60; gap 20; wt 2.5 | Clouds clear (73%→7%). Solar ramp begins — 528 W/m² forecast |
| 14:00 | d_cool 3; engage 1.3; all 1.7; pulse 60; gap 25; wt 2 | Clouds return (100% from 13:00). Solar drops to 349 W/m². Re |
| 19:27 | d_cool 3; engage 1.6; all 1.9; pulse 60; gap 45; wt 1.5 | Sunset. Coldest night in horizon — forecast low 43°F. bias_h |
Tuesday April 14
Primary crop-band changes:
| Time | Values | Note |
|---|---|---|
| 05:31 | hyst 0.2 | Pre-dawn Tuesday. Outdoor 44°F/48% RH — cold but more humid. |
| 09:35 | hyst 0.2 | Tree shade clears but Tuesday is mild and cloudy (62°F high, |
Tactical tunable changes:
| Time | Values | Note |
|---|---|---|
| 05:31 | d_cool 3; engage 1.6; all 1.9; pulse 60; gap 45; wt 1.5 | Pre-dawn Tuesday. Outdoor 44°F/48% RH — cold but more humid. |
| 09:35 | d_cool 3; engage 1.6; all 1.9; pulse 60; gap 45; wt 1.5 | Tree shade clears but Tuesday is mild and cloudy (62°F high, |
Changed secondary parameters:
| Time | Parameter | Change |
|---|---|---|
| 12:17 | bias_cool | initial 0 |
| 12:17 | bias_heat | initial 0 |
| 12:17 | enthalpy_close | initial 1 |
| 12:17 | enthalpy_open | initial -2 |
| 12:17 | fog_escalation_kpa | initial 0.4 |
| 12:17 | min_fog_off_s | initial 60 |
| 12:17 | min_fog_on_s | initial 60 |
| 12:17 | min_heat_off_s | initial 300 |
| 12:17 | min_heat_on_s | initial 120 |
| 12:17 | min_vent_off_s | initial 60 |
| 12:17 | min_vent_on_s | initial 60 |
| 12:17 | mist_max_closed_vent_s | initial 600 |
| 12:17 | mist_thermal_relief_s | initial 90 |
| 12:17 | mist_vent_close_lead_s | initial 15 |
| 12:17 | mist_vent_reopen_delay_s | initial 45 |
| 12:17 | mister_water_budget_gal | initial 500 |
| 12:17 | vpd_watch_dwell_s | initial 45 |
| 15:00 | vpd_watch_dwell_s | 45 → 60 |
| 19:25 | bias_cool | 0 → 3 |
| 19:25 | bias_heat | 0 → 1 |
| 05:34 | enthalpy_close | 1 → 2 |
| 05:34 | enthalpy_open | -2 → -3 |
| 05:34 | fog_escalation_kpa | 0.4 → 0.2 |
| 05:34 | min_vent_off_s | 60 → 90 |
| 05:34 | mist_max_closed_vent_s | 600 → 900 |
| 05:34 | mist_vent_close_lead_s | 15 → 20 |
| 05:34 | mist_vent_reopen_delay_s | 45 → 60 |
| 05:34 | vpd_watch_dwell_s | 60 → 45 |
| 09:43 | bias_cool | 3 → -1 |
| 09:43 | bias_heat | 1 → 0 |
| 09:43 | min_fog_off_s | 60 → 45 |
| 09:43 | vpd_watch_dwell_s | 45 → 30 |
| 14:00 | mist_vent_close_lead_s | 20 → 25 |
| 16:00 | bias_cool | -1 → 0 |
| 16:00 | enthalpy_close | 2 → 1 |
| 16:00 | enthalpy_open | -3 → -2 |
| 16:00 | fog_escalation_kpa | 0.2 → 0.3 |
| 16:00 | min_fog_off_s | 45 → 60 |
| 16:00 | min_vent_off_s | 90 → 60 |
| 16:00 | mist_vent_close_lead_s | 25 → 20 |
| 16:00 | mist_vent_reopen_delay_s | 60 → 45 |
| 16:00 | vpd_watch_dwell_s | 30 → 45 |
| 19:26 | bias_cool | 0 → 3 |
| 19:26 | bias_heat | 0 → 1 |
| 19:26 | fog_escalation_kpa | 0.3 → 0.4 |
| 19:26 | mist_max_closed_vent_s | 900 → 600 |
| 19:26 | mist_vent_close_lead_s | 20 → 15 |
| 19:26 | vpd_watch_dwell_s | 45 → 60 |
| 05:33 | fog_escalation_kpa | 0.4 → 0.3 |
| 05:33 | mist_max_closed_vent_s | 600 → 900 |
| 05:33 | vpd_watch_dwell_s | 60 → 45 |
| 09:39 | bias_cool | 3 → 0 |
| 09:39 | bias_heat | 1 → 0 |
| 10:00 | min_vent_off_s | 60 → 90 |
| 10:00 | mist_vent_close_lead_s | 15 → 20 |
| 10:00 | mist_vent_reopen_delay_s | 45 → 60 |
| 10:00 | vpd_watch_dwell_s | 45 → 30 |
| 14:00 | fog_escalation_kpa | 0.3 → 0.4 |
| 14:00 | min_vent_off_s | 90 → 60 |
| 14:00 | mist_max_closed_vent_s | 900 → 600 |
| 14:00 | mist_vent_close_lead_s | 20 → 15 |
| 14:00 | mist_vent_reopen_delay_s | 60 → 45 |
| 14:00 | vpd_watch_dwell_s | 30 → 45 |
| 19:27 | bias_cool | 0 → 4 |
| 19:27 | bias_heat | 0 → 2 |
| 19:27 | vpd_watch_dwell_s | 45 → 60 |
| 09:35 | bias_cool | 4 → 0 |
| 09:35 | bias_heat | 2 → 0 |
☀️ Midday Cycle (1:02 PM) — iris-20260411-1305
validated
2/10
vpd_hysteresis, vpd_watch_dwell_s, mister_engage_kpa, mister_all_kpa, mister_pulse_on_s, mister_pulse_gap_s, mister_vpd_weight, mister_water_budget_gal ...
Reflection
Validating previous cycle: iris-20260411-0650
Previous hypothesis: Maintaining aggressive misting (engage 1.3, gap 20s, weight 2.5-3.0) with 900s sealed-vent on the extreme dry days (Sun/Mon) and fog_escalation 0.2 on Sunday (7% RH) vs 0.3 on Monday (9% RH) will keep VPD_high stress under 8h/day despite outdoor VPD >2.5 kPa. Cold nights get bias_cool +3 and bias_heat +1 to prevent vent oscillation. Tuesday’s mild conditions allow relaxed defaults. Result: [backfill] avg compliance 17.6% (stress 3.5 h) over plan window 2026-04-11 19:02 → 2026-04-12 12:31 Score: 2/10
Hypothesis
Conditions: Today (Sat) is clearing with outdoor 75°F/21% RH, indoor temps 77-79°F with highly variable zone VPD (south 0.52, north 2.01). Today’s partial scorecard shows severe cold_stress (31.2h) dominating — likely overnight vent oscillation before the current plan’s bias_cool took effect. Sunday is the most extreme day: clear skies, outdoor RH dropping to 6-8%, high 77°F — 13h forecast stress. Monday moderates (high 70°F, RH 11-17%, clouds clearing midday). Tuesday is mild (high 63°F, RH 23%, overcast). Crop health is generally good; lettuce seedlings show some stress (wilting/yellowing) possibly from cold overnight exposure. Testing: Compare Sunday peak (10:00-19:26, outdoor RH 6-8%, fog_escalation_kpa=0.2, gap=15s, mist_max_closed_vent_s=900) vs Monday peak (09:59-19:27, outdoor RH 11-17%, fog_escalation_kpa=0.3, gap=20s, mist_max_closed_vent_s=900). Normalize VPD_high stress hours by average outdoor VPD for each period. If Sunday’s normalized ratio is ≤ Monday’s, it validates that scaling fog_escalation inversely with outdoor RH compensates for extreme dryness. Expected outcome: Sunday VPD_high_stress_h / avg_outdoor_VPD ≤ Monday’s ratio, demonstrating fog_escalation 0.2 compensates for 2x drier conditions vs fog_escalation 0.3. | target_score=62 | target_compliance=70% | expected_stress=[heat=1.0, cold=0.5, vpd_high=5.0, vpd_low=0.5] | expected_cost=USD 7.0
Setpoints
Saturday April 11
Primary crop-band changes:
| Time | Values | Note |
|---|---|---|
| 13:02 | hyst 0.3 | Immediate coverage (copied from first transition) |
| 13:05 | hyst 0.3 | North zone VPD 2.01 — engage misting aggressively (1.3 kPa, |
| 16:00 | hyst 0.3 | Outdoor temp dropping to 71°F, RH rising to 20%. Solar decli |
| 19:25 | hyst 0.2 | Cold night ahead: forecast low 44°F. bias_heat +1 pre-heats |
Tactical tunable changes:
| Time | Values | Note |
|---|---|---|
| 13:02 | d_cool 3; engage 1.3; all 1.6; pulse 60; gap 20; wt 2.5 | Immediate coverage (copied from first transition) |
| 13:05 | d_cool 3; engage 1.3; all 1.6; pulse 60; gap 20; wt 2.5 | North zone VPD 2.01 — engage misting aggressively (1.3 kPa, |
| 16:00 | d_cool 3; engage 1.3; all 1.7; pulse 60; gap 30; wt 2 | Outdoor temp dropping to 71°F, RH rising to 20%. Solar decli |
| 19:25 | d_cool 3; engage 1.6; all 1.9; pulse 60; gap 45; wt 1.5 | Cold night ahead: forecast low 44°F. bias_heat +1 pre-heats |
Sunday April 12
Primary crop-band changes:
| Time | Values | Note |
|---|---|---|
| 05:34 | hyst 0.2 | Pre-dawn at 44°F outdoor. Keep heating biases active. Pre-po |
| 10:00 | hyst 0.3 | Tree shade clears, east zone gets direct sun. Outdoor 66°F/2 |
| 14:00 | hyst 0.4 | Cloud shift at 14:00 (98-100% cloud) reduces solar gain but |
| 16:00 | hyst 0.4 | Post-peak decline but outdoor still 77°F/7% RH. Ease gap to |
| 19:26 | hyst 0.2 | Cold night: forecast low 47°F (Sun night into Mon). bias_hea |
Tactical tunable changes:
| Time | Values | Note |
|---|---|---|
| 05:34 | d_cool 3; engage 1.3; all 1.5; pulse 60; gap 25; wt 1.5 | Pre-dawn at 44°F outdoor. Keep heating biases active. Pre-po |
| 10:00 | d_cool 3; engage 1.3; all 1.5; pulse 60; gap 15; wt 3 | Tree shade clears, east zone gets direct sun. Outdoor 66°F/2 |
| 14:00 | d_cool 3; engage 1.3; all 1.5; pulse 60; gap 15; wt 3 | Cloud shift at 14:00 (98-100% cloud) reduces solar gain but |
| 16:00 | d_cool 3; engage 1.3; all 1.5; pulse 60; gap 20; wt 2.5 | Post-peak decline but outdoor still 77°F/7% RH. Ease gap to |
| 19:26 | d_cool 3; engage 1.6; all 1.9; pulse 60; gap 45; wt 1.5 | Cold night: forecast low 47°F (Sun night into Mon). bias_hea |
Monday April 13
Primary crop-band changes:
| Time | Values | Note |
|---|---|---|
| 05:33 | hyst 0.2 | Pre-dawn 50°F outdoor, 24% RH. Keep heating biases. Pre-posi |
| 09:59 | hyst 0.3 | Tree shade clears at 09:59. Cloud shift at 10:00 — clouds cl |
| 14:00 | hyst 0.3 | Post-solar-peak but VPD peaks at 17:00 due to thermal lag. C |
| 17:00 | hyst 0.3 | Peak VPD at 17:00 (outdoor 70°F/11%, VPD 2.19). Fog window c |
| 19:27 | hyst 0.2 | Coldest night of the horizon: forecast low 43°F. Increase bi |
Tactical tunable changes:
| Time | Values | Note |
|---|---|---|
| 05:33 | d_cool 3; engage 1.3; all 1.5; pulse 60; gap 25; wt 1.5 | Pre-dawn 50°F outdoor, 24% RH. Keep heating biases. Pre-posi |
| 09:59 | d_cool 3; engage 1.3; all 1.5; pulse 60; gap 20; wt 2.5 | Tree shade clears at 09:59. Cloud shift at 10:00 — clouds cl |
| 14:00 | d_cool 3; engage 1.3; all 1.7; pulse 60; gap 25; wt 2 | Post-solar-peak but VPD peaks at 17:00 due to thermal lag. C |
| 17:00 | d_cool 3; engage 1.3; all 1.7; pulse 60; gap 25; wt 2 | Peak VPD at 17:00 (outdoor 70°F/11%, VPD 2.19). Fog window c |
| 19:27 | d_cool 3; engage 1.6; all 1.9; pulse 60; gap 45; wt 1.5 | Coldest night of the horizon: forecast low 43°F. Increase bi |
Tuesday April 14
Primary crop-band changes:
| Time | Values | Note |
|---|---|---|
| 05:31 | hyst 0.2 | Pre-dawn 44°F outdoor, 48% RH — much more humid than previou |
| 09:58 | hyst 0.2 | Tree shade clears. Tuesday is the mildest day: high 63°F, ou |
| 13:00 | hyst 0.2 | End of 72h horizon. Tuesday afternoon: 63°F/23% RH, overcast |
Tactical tunable changes:
| Time | Values | Note |
|---|---|---|
| 05:31 | d_cool 3; engage 1.6; all 1.9; pulse 60; gap 45; wt 1.5 | Pre-dawn 44°F outdoor, 48% RH — much more humid than previou |
| 09:58 | d_cool 3; engage 1.6; all 1.9; pulse 60; gap 45; wt 1.5 | Tree shade clears. Tuesday is the mildest day: high 63°F, ou |
| 13:00 | d_cool 3; engage 1.6; all 1.9; pulse 60; gap 45; wt 1.5 | End of 72h horizon. Tuesday afternoon: 63°F/23% RH, overcast |
Changed secondary parameters:
| Time | Parameter | Change |
|---|---|---|
| 13:02 | bias_cool | initial 0 |
| 13:02 | bias_heat | initial 0 |
| 13:02 | enthalpy_close | initial 1 |
| 13:02 | enthalpy_open | initial -2 |
| 13:02 | fog_escalation_kpa | initial 0.4 |
| 13:02 | min_fog_off_s | initial 60 |
| 13:02 | min_fog_on_s | initial 60 |
| 13:02 | min_heat_off_s | initial 300 |
| 13:02 | min_heat_on_s | initial 120 |
| 13:02 | min_vent_off_s | initial 60 |
| 13:02 | min_vent_on_s | initial 60 |
| 13:02 | mist_max_closed_vent_s | initial 600 |
| 13:02 | mist_thermal_relief_s | initial 90 |
| 13:02 | mist_vent_close_lead_s | initial 15 |
| 13:02 | mist_vent_reopen_delay_s | initial 45 |
| 13:02 | mister_water_budget_gal | initial 500 |
| 13:02 | vpd_watch_dwell_s | initial 45 |
| 16:00 | vpd_watch_dwell_s | 45 → 60 |
| 19:25 | bias_cool | 0 → 3 |
| 19:25 | bias_heat | 0 → 1 |
| 05:34 | fog_escalation_kpa | 0.4 → 0.2 |
| 05:34 | min_vent_off_s | 60 → 90 |
| 05:34 | mist_max_closed_vent_s | 600 → 900 |
| 05:34 | mist_vent_close_lead_s | 15 → 20 |
| 05:34 | mist_vent_reopen_delay_s | 45 → 60 |
| 05:34 | vpd_watch_dwell_s | 60 → 45 |
| 10:00 | bias_cool | 3 → -1 |
| 10:00 | bias_heat | 1 → 0 |
| 10:00 | enthalpy_close | 1 → 2 |
| 10:00 | enthalpy_open | -2 → -3 |
| 10:00 | min_fog_off_s | 60 → 45 |
| 10:00 | min_vent_on_s | 60 → 45 |
| 10:00 | vpd_watch_dwell_s | 45 → 30 |
| 14:00 | mist_thermal_relief_s | 90 → 120 |
| 16:00 | bias_cool | -1 → 0 |
| 16:00 | enthalpy_close | 2 → 1 |
| 16:00 | enthalpy_open | -3 → -2 |
| 16:00 | fog_escalation_kpa | 0.2 → 0.3 |
| 16:00 | min_fog_off_s | 45 → 60 |
| 16:00 | min_vent_off_s | 90 → 60 |
| 16:00 | min_vent_on_s | 45 → 60 |
| 16:00 | mist_thermal_relief_s | 120 → 90 |
| 16:00 | mist_vent_close_lead_s | 20 → 15 |
| 16:00 | mist_vent_reopen_delay_s | 60 → 45 |
| 16:00 | vpd_watch_dwell_s | 30 → 45 |
| 19:26 | bias_cool | 0 → 3 |
| 19:26 | bias_heat | 0 → 1 |
| 19:26 | fog_escalation_kpa | 0.3 → 0.4 |
| 19:26 | mist_max_closed_vent_s | 900 → 600 |
| 19:26 | vpd_watch_dwell_s | 45 → 60 |
| 05:33 | fog_escalation_kpa | 0.4 → 0.3 |
| 05:33 | mist_max_closed_vent_s | 600 → 900 |
| 05:33 | vpd_watch_dwell_s | 60 → 45 |
| 09:59 | bias_cool | 3 → 0 |
| 09:59 | bias_heat | 1 → 0 |
| 09:59 | vpd_watch_dwell_s | 45 → 30 |
| 14:00 | fog_escalation_kpa | 0.3 → 0.4 |
| 14:00 | mist_max_closed_vent_s | 900 → 600 |
| 14:00 | vpd_watch_dwell_s | 30 → 45 |
| 19:27 | bias_cool | 0 → 4 |
| 19:27 | bias_heat | 0 → 2 |
| 19:27 | vpd_watch_dwell_s | 45 → 60 |
| 09:58 | bias_cool | 4 → 0 |
| 09:58 | bias_heat | 2 → 0 |
☀️ Midday Cycle (1:57 PM) — iris-20260411-1346
validated
3/10
fog_escalation_kpa, vpd_hysteresis, mister_pulse_gap_s, bias_cool, bias_heat
Reflection
Validating previous cycle: iris-20260411-0735
Previous hypothesis: Maintaining bias_cool +3 on cold nights prevents vent oscillation cold_stress. During extreme dry daytime (Sun/Mon), aggressive sealed-vent misting (engage 1.3, gap 15-20s, max_closed 900s) with fog_escalation 0.2 kPa will minimize vpd_high stress. On moderate days (Sat with 16-26% RH), fog_escalation 0.3 kPa balances humidity without vpd_low overshoot. Tuesday’s mild conditions allow relaxed defaults. Result: [dominant: vpd_high_stress] Score 27.5, compliance 17.6% (temp 85.4%, VPD 23.1%). 17.25h vpd_high, 2.52h cold, 0.98h heat, 1.17h vpd_low. Cost USD 4.97. 8 ESP32 reboots during 9-11 AM disrupted morning VPD ramp control. Tight nighttime VPD band (0.3-0.6) vs natural 0.8-0.95 drift produced ~10-12h structural non-compliance. 36 gal misting water (below average) suggests insufficient daytime aggression. Score: 3/10
New finding: ESP32 reboot instability during morning peak (8 reboots in 2h) eliminates planning benefits for that window. When reboots are frequent, plan defensively — assume control will be interrupted and set wider bands/more conservative settings that degrade gracefully. Also: tight nighttime VPD bands (0.3-0.6 kPa) structurally cap compliance at ~55-60% regardless of daytime performance. Scoring methodology should eventually account for controllability windows. → Added to Lessons Learned
Hypothesis
Conditions: Sat afternoon SUNRISE. Current: 80.7F avg, north VPD 2.22, south 0.83. Outdoor 76.9F/20.7% RH. Yesterday: score 87, 97.1% compliance, 0.7h stress, USD 7.99. Sunday extreme dry (6-8% RH, 77F), Monday moderate dry (11-17% RH, 68F), Tuesday cooling with precip (43-63F, 23-53% RH). Testing: Compare Sunday peak (10-16, hysteresis 0.4, fog 0.2, gap 15s) vs Monday peak (10-14, hysteresis 0.3, fog 0.3, gap 20s). Normalize VPD_high stress by avg outdoor VPD. Expected outcome: Sunday normalized VPD_high ratio ⇐ Monday despite 2x drier. Target score 55, compliance 55%, expected cost ~USD 6.50.
Setpoints
Saturday April 11
Primary crop-band changes:
| Time | Values | Note |
|---|---|---|
| 14:00 | hyst 0.3 | Standard |
| 16:00 | hyst 0.3 | Standard |
| 19:25 | hyst 0.2 | Standard |
Tactical tunable changes:
| Time | Values | Note |
|---|---|---|
| 14:00 | d_cool 3; engage 1.3; all 1.6; pulse 60; gap 20; wt 2.5 | Standard |
| 16:00 | d_cool 3; engage 1.3; all 1.7; pulse 60; gap 30; wt 2 | Standard |
| 19:25 | d_cool 3; engage 1.6; all 1.9; pulse 60; gap 45; wt 1.5 | Standard |
Sunday April 12
Primary crop-band changes:
| Time | Values | Note |
|---|---|---|
| 05:34 | hyst 0.2 | Standard |
| 10:00 | hyst 0.3 | Standard |
| 14:00 | hyst 0.4 | Standard |
| 16:00 | hyst 0.4 | Standard |
| 19:26 | hyst 0.2 | Standard |
Tactical tunable changes:
| Time | Values | Note |
|---|---|---|
| 05:34 | d_cool 3; engage 1.3; all 1.5; pulse 60; gap 25; wt 1.5 | Standard |
| 10:00 | d_cool 3; engage 1.3; all 1.5; pulse 60; gap 15; wt 3 | Standard |
| 14:00 | d_cool 3; engage 1.3; all 1.5; pulse 60; gap 15; wt 3 | Standard |
| 16:00 | d_cool 3; engage 1.3; all 1.5; pulse 60; gap 20; wt 2.5 | Standard |
| 19:26 | d_cool 3; engage 1.6; all 1.9; pulse 60; gap 45; wt 1.5 | Standard |
Monday April 13
Primary crop-band changes:
| Time | Values | Note |
|---|---|---|
| 05:33 | hyst 0.2 | Standard |
| 10:00 | hyst 0.3 | Standard |
| 14:00 | hyst 0.3 | Standard |
| 19:27 | hyst 0.2 | Standard |
Tactical tunable changes:
| Time | Values | Note |
|---|---|---|
| 05:33 | d_cool 3; engage 1.3; all 1.5; pulse 60; gap 25; wt 1.5 | Standard |
| 10:00 | d_cool 3; engage 1.3; all 1.5; pulse 60; gap 20; wt 2.5 | Standard |
| 14:00 | d_cool 3; engage 1.3; all 1.7; pulse 60; gap 25; wt 2 | Standard |
| 19:27 | d_cool 3; engage 1.6; all 1.9; pulse 60; gap 45; wt 1.5 | Standard |
Tuesday April 14
Primary crop-band changes:
| Time | Values | Note |
|---|---|---|
| 05:31 | hyst 0.2 | Standard |
| 10:00 | hyst 0.3 | Standard |
| 13:00 | hyst 0.3 | Standard |
Tactical tunable changes:
| Time | Values | Note |
|---|---|---|
| 05:31 | d_cool 3; engage 1.6; all 1.9; pulse 60; gap 45; wt 1.5 | Standard |
| 10:00 | d_cool 3; engage 1.4; all 1.7; pulse 60; gap 30; wt 2 | Standard |
| 13:00 | d_cool 3; engage 1.4; all 1.7; pulse 60; gap 30; wt 2 | Standard |
Changed secondary parameters:
| Time | Parameter | Change |
|---|---|---|
| 14:00 | bias_cool | initial 0 |
| 14:00 | bias_heat | initial 0 |
| 14:00 | enthalpy_close | initial 1 |
| 14:00 | enthalpy_open | initial -2 |
| 14:00 | fog_escalation_kpa | initial 0.4 |
| 14:00 | min_fog_off_s | initial 60 |
| 14:00 | min_fog_on_s | initial 60 |
| 14:00 | min_heat_off_s | initial 300 |
| 14:00 | min_heat_on_s | initial 120 |
| 14:00 | min_vent_off_s | initial 60 |
| 14:00 | min_vent_on_s | initial 60 |
| 14:00 | mist_max_closed_vent_s | initial 600 |
| 14:00 | mist_thermal_relief_s | initial 90 |
| 14:00 | mist_vent_close_lead_s | initial 15 |
| 14:00 | mist_vent_reopen_delay_s | initial 45 |
| 14:00 | mister_water_budget_gal | initial 500 |
| 14:00 | vpd_watch_dwell_s | initial 60 |
| 19:25 | bias_cool | 0 → 3 |
| 19:25 | bias_heat | 0 → 1 |
| 05:34 | fog_escalation_kpa | 0.4 → 0.2 |
| 05:34 | mist_max_closed_vent_s | 600 → 900 |
| 10:00 | bias_cool | 3 → -1 |
| 10:00 | bias_heat | 1 → 0 |
| 16:00 | bias_cool | -1 → 0 |
| 16:00 | fog_escalation_kpa | 0.2 → 0.3 |
| 19:26 | bias_cool | 0 → 3 |
| 19:26 | bias_heat | 0 → 1 |
| 19:26 | fog_escalation_kpa | 0.3 → 0.4 |
| 19:26 | mist_max_closed_vent_s | 900 → 600 |
| 05:33 | fog_escalation_kpa | 0.4 → 0.3 |
| 05:33 | mist_max_closed_vent_s | 600 → 900 |
| 10:00 | bias_cool | 3 → 0 |
| 10:00 | bias_heat | 1 → 0 |
| 14:00 | fog_escalation_kpa | 0.3 → 0.4 |
| 14:00 | mist_max_closed_vent_s | 900 → 600 |
| 19:27 | bias_cool | 0 → 4 |
| 19:27 | bias_heat | 0 → 2 |
| 10:00 | bias_cool | 4 → 0 |
| 10:00 | bias_heat | 2 → 0 |
🌆 Evening Cycle (8:12 PM) — iris-20260411-2006
validated
5/10
none recorded
Reflection
Validating previous cycle: iris-20260411-1346
Previous hypothesis: Sunday extreme dry: fog_escalation 0.2, gap 15s, sealed-vent 900s, engage 1.3, vpd_hysteresis 0.4 at peak keeps VPD_high under 6h. Wider hysteresis reduces VPD sawtooth. Monday moderate treatment as control. Tuesday conservative. Result: Governed overnight 4/11 8PM → 4/12 6:27AM. Today’s partial scorecard: score 58.3, compliance 62.9% (overnight easier conditions). Overnight VPD dipped to 0.38 kPa at times — below vpd_low 0.4, contributing ~1.2h vpd_low stress. Both heaters running at dawn (heat1 since 5:29, heat2 since 6:24) as expected for 46°F outdoor. bias_cool +3 / bias_heat +1 prevented cold_stress oscillation overnight — only 1.1h cold stress vs 0h with similar settings previously. Heat stress of 4.07h surprising for overnight — likely from slab thermal retention keeping temps above tight nighttime temp_high band. Hypothesis partially validated: overnight posture was reasonable but structural nighttime band tightness continues to limit compliance. The 2006 plan’s fog_escalation 0.2 setting didn’t apply overnight (fog blocked outside 07:00-17:00 window). Score: 5/10
New finding: Overnight heat stress (4h) on nights where outdoor drops to 46°F but indoor stays 62-63°F indicates the nighttime temp_high band (~62-65°F from crop profiles) is too tight for the slab’s thermal retention. The slab stores enough heat to keep greenhouse 7-10°F above outdoor regardless of bias settings. This is structural non-compliance that bias_cool cannot fix — it requires either crop band adjustment or acceptance as baseline. → Added to Lessons Learned
Hypothesis
Testing: Compare Sunday fog_escalation 0.2 at 7% outdoor RH vs Monday fog_escalation 0.2 at 13-18% outdoor RH. If Sunday produces any vpd_low_stress despite 7% outdoor RH, fog_escalation 0.2 is too aggressive even for extreme dry — should raise floor to 0.3. Expected outcome: Sunday: compliance 25-35% (structural overnight cap + extreme daytime), vpd_high 10-14h, cost USD 5-7. Monday: compliance 35-45% (less extreme, cloud cover), vpd_high 6-10h, cost USD 4-6. Zero vpd_low_stress on Sunday validates fog 0.2 for extreme conditions. | target_score=35 | target_compliance=30% | expected_stress=[heat=1.0, cold=1.0, vpd_high=12.0, vpd_low=0.5] | expected_cost=USD 6.0
Setpoints
Saturday April 11
Primary crop-band changes:
| Time | Values | Note |
|---|---|---|
| 20:15 | hyst 0.3 | Cold night posture. Outdoor dropping to 44°F by dawn. bias_h |
Tactical tunable changes:
| Time | Values | Note |
|---|---|---|
| 20:15 | d_cool 3; engage 1.6; all 1.9; pulse 60; gap 45; wt 1.5 | Cold night posture. Outdoor dropping to 44°F by dawn. bias_h |
Sunday April 12
Primary crop-band changes:
| Time | Values | Note |
|---|---|---|
| 06:00 | hyst 0.3 | Sunday dawn. 44°F/31% RH outdoor. Cold-dry lesson: don't go |
| 08:30 | hyst 0.25 | Sunday morning ramp. Outdoor warming 51→61°F, RH crashing to |
| 10:30 | hyst 0.2 | Sunday peak stress onset. 66°F/14% RH, VPD climbing fast. Ma |
| 16:00 | hyst 0.2 | Sunday late afternoon. 78°F/8% RH, solar declining. Fog wind |
| 18:30 | hyst 0.3 | Sunday evening. 66°F/10% outdoor, cooling. Transition to nig |
| 21:00 | hyst 0.3 | Sunday night. Outdoor dropping to mid-50s. Standard night po |
Tactical tunable changes:
| Time | Values | Note |
|---|---|---|
| 06:00 | d_cool 3; engage 1.4; all 1.8; pulse 60; gap 35; wt 1.5 | Sunday dawn. 44°F/31% RH outdoor. Cold-dry lesson: don't go |
| 08:30 | d_cool 3; engage 1.3; all 1.6; pulse 60; gap 25; wt 2 | Sunday morning ramp. Outdoor warming 51→61°F, RH crashing to |
| 10:30 | d_cool 3; engage 1.3; all 1.6; pulse 60; gap 15; wt 2.5 | Sunday peak stress onset. 66°F/14% RH, VPD climbing fast. Ma |
| 16:00 | d_cool 3; engage 1.3; all 1.6; pulse 60; gap 20; wt 2 | Sunday late afternoon. 78°F/8% RH, solar declining. Fog wind |
| 18:30 | d_cool 3; engage 1.5; all 1.8; pulse 60; gap 35; wt 1.5 | Sunday evening. 66°F/10% outdoor, cooling. Transition to nig |
| 21:00 | d_cool 3; engage 1.6; all 1.9; pulse 60; gap 45; wt 1.5 | Sunday night. Outdoor dropping to mid-50s. Standard night po |
Monday April 13
Primary crop-band changes:
| Time | Values | Note |
|---|---|---|
| 06:00 | hyst 0.3 | Monday dawn. 49°F/24% RH. Less extreme than Sunday. Moderate |
| 09:00 | hyst 0.25 | Monday morning ramp. 58°F/23%, mostly cloudy. Engage 1.3, ga |
| 11:00 | hyst 0.2 | Monday midday. 64-70°F/11-18% RH. Full aggression: gap 15s, |
| 18:30 | hyst 0.3 | Monday evening. Transitioning to night. Tuesday brings moist |
| 21:00 | hyst 0.3 | Monday night into Tuesday. 43°F low overnight. Standard cold |
Tactical tunable changes:
| Time | Values | Note |
|---|---|---|
| 06:00 | d_cool 3; engage 1.4; all 1.8; pulse 60; gap 35; wt 1.5 | Monday dawn. 49°F/24% RH. Less extreme than Sunday. Moderate |
| 09:00 | d_cool 3; engage 1.3; all 1.7; pulse 60; gap 20; wt 2 | Monday morning ramp. 58°F/23%, mostly cloudy. Engage 1.3, ga |
| 11:00 | d_cool 3; engage 1.3; all 1.6; pulse 60; gap 15; wt 2 | Monday midday. 64-70°F/11-18% RH. Full aggression: gap 15s, |
| 18:30 | d_cool 3; engage 1.5; all 1.8; pulse 60; gap 35; wt 1.5 | Monday evening. Transitioning to night. Tuesday brings moist |
| 21:00 | d_cool 3; engage 1.6; all 1.9; pulse 60; gap 45; wt 1.5 | Monday night into Tuesday. 43°F low overnight. Standard cold |
Changed secondary parameters:
| Time | Parameter | Change |
|---|---|---|
| 20:15 | bias_cool | initial 3 |
| 20:15 | bias_heat | initial 1 |
| 20:15 | enthalpy_close | initial 1 |
| 20:15 | enthalpy_open | initial -2 |
| 20:15 | fog_escalation_kpa | initial 0.4 |
| 20:15 | min_fog_off_s | initial 60 |
| 20:15 | min_fog_on_s | initial 60 |
| 20:15 | min_heat_off_s | initial 300 |
| 20:15 | min_heat_on_s | initial 120 |
| 20:15 | min_vent_off_s | initial 60 |
| 20:15 | min_vent_on_s | initial 60 |
| 20:15 | mist_max_closed_vent_s | initial 600 |
| 20:15 | mist_thermal_relief_s | initial 90 |
| 20:15 | mist_vent_close_lead_s | initial 15 |
| 20:15 | mist_vent_reopen_delay_s | initial 45 |
| 20:15 | mister_water_budget_gal | initial 500 |
| 20:15 | vpd_watch_dwell_s | initial 60 |
| 06:00 | bias_cool | 3 → 2 |
| 08:30 | bias_heat | 1 → 0 |
| 08:30 | fog_escalation_kpa | 0.4 → 0.3 |
| 08:30 | mist_max_closed_vent_s | 600 → 900 |
| 08:30 | vpd_watch_dwell_s | 60 → 45 |
| 10:30 | enthalpy_close | 1 → 3 |
| 10:30 | enthalpy_open | -2 → -3 |
| 10:30 | fog_escalation_kpa | 0.3 → 0.2 |
| 10:30 | min_fog_off_s | 60 → 45 |
| 10:30 | min_fog_on_s | 60 → 45 |
| 10:30 | mist_thermal_relief_s | 90 → 60 |
| 10:30 | mist_vent_reopen_delay_s | 45 → 60 |
| 10:30 | vpd_watch_dwell_s | 45 → 30 |
| 16:00 | enthalpy_close | 3 → 2 |
| 16:00 | enthalpy_open | -3 → -2 |
| 16:00 | fog_escalation_kpa | 0.2 → 0.3 |
| 16:00 | min_fog_off_s | 45 → 60 |
| 16:00 | min_fog_on_s | 45 → 60 |
| 16:00 | mist_thermal_relief_s | 60 → 90 |
| 16:00 | mist_vent_reopen_delay_s | 60 → 45 |
| 16:00 | vpd_watch_dwell_s | 30 → 45 |
| 18:30 | bias_cool | 2 → 3 |
| 18:30 | bias_heat | 0 → 1 |
| 18:30 | enthalpy_close | 2 → 1 |
| 18:30 | fog_escalation_kpa | 0.3 → 0.4 |
| 18:30 | mist_max_closed_vent_s | 900 → 600 |
| 18:30 | vpd_watch_dwell_s | 45 → 60 |
| 06:00 | bias_cool | 3 → 2 |
| 09:00 | bias_heat | 1 → 0 |
| 09:00 | enthalpy_close | 1 → 2 |
| 09:00 | fog_escalation_kpa | 0.4 → 0.3 |
| 09:00 | mist_max_closed_vent_s | 600 → 900 |
| 09:00 | vpd_watch_dwell_s | 60 → 45 |
| 11:00 | fog_escalation_kpa | 0.3 → 0.2 |
| 11:00 | min_fog_off_s | 60 → 45 |
| 11:00 | min_fog_on_s | 60 → 45 |
| 11:00 | mist_thermal_relief_s | 90 → 60 |
| 11:00 | mist_vent_reopen_delay_s | 45 → 60 |
| 11:00 | vpd_watch_dwell_s | 45 → 30 |
| 18:30 | bias_cool | 2 → 3 |
| 18:30 | bias_heat | 0 → 1 |
| 18:30 | enthalpy_close | 2 → 1 |
| 18:30 | fog_escalation_kpa | 0.2 → 0.4 |
| 18:30 | min_fog_off_s | 45 → 60 |
| 18:30 | min_fog_on_s | 45 → 60 |
| 18:30 | mist_max_closed_vent_s | 900 → 600 |
| 18:30 | mist_thermal_relief_s | 60 → 90 |
| 18:30 | mist_vent_reopen_delay_s | 60 → 45 |
| 18:30 | vpd_watch_dwell_s | 30 → 60 |
End-of-Day Summary
Climate
61.9–81.1°F; avg 69.0°F
0.29–2.15 kPa; avg 0.85 kPa
33.5–85.6%
Stress Hours
- Heat stress (>85°F): 4.6h
- VPD stress (>2.0 kPa): 10.8h
- Cold stress (<55°F): 2.6h
Economics
USD 2.17
USD 2.52
USD 1.990
USD 6.68
Equipment Runtimes
| Equipment | Runtime | Reading |
|---|---|---|
| Fan 1 | 120 min | Primary exhaust runtime. |
| Fan 2 | 135 min | Secondary exhaust runtime. |
| Vent | 193 min | Intake vent runtime. |
| Fog | 24 min | Fogger runtime. |
| Heat 1 electric | 718 min | Electric heater runtime. |
| Heat 2 gas | 243 min | Gas heater runtime. |
| Grow lights | 67 min | Supplemental lighting runtime. |
| Mister south | 1.91h | South mister runtime. |
| Mister west | 0.85h | West mister runtime. |
| Mister center | 0.81h | Center mister runtime. |
Water
- Total: 412 gal
- Mister: 177 gal
Crop Health (Gemini Vision)
| Crop | Zone | Health | Observations | Note |
|---|---|---|---|---|
| Canna Lilies | south | 70% | 4 | Observation notes are collapsed below to avoid publishing partial vision snippets. |
| Vanda Orchids | center | 78% | 4 | Observation notes are collapsed below to avoid publishing partial vision snippets. |
| lettuce | east | 58% | 4 | Observation notes are collapsed below to avoid publishing partial vision snippets. |
| pepper | east | 70% | 4 | Observation notes are collapsed below to avoid publishing partial vision snippets. |
| strawberry | east | 63% | 4 | Observation notes are collapsed below to avoid publishing partial vision snippets. |
Vision observation notes
Canna Lilies appear healthy with no visible signs of stress in the dark.
Hanging orchids appear healthy with green leaves and extensive aerial root systems.
Seedlings appear healthy and are establishing well.
Pepper seedlings look relatively healthy, but growth may be slow due to low light.
Seedlings are growing steadily, no visible issues.
Hourly Pattern
| Hour | Temperature | VPD | RH |
|---|---|---|---|
| 12:00 | 76.7°F | 1.15 kPa | 63.8% |
| 13:00 | 76.0°F | 1.20 kPa | 61.5% |
| 14:00 | 72.8°F | 0.79 kPa | 71.2% |
| 15:00 | 74.0°F | 0.96 kPa | 66.6% |
| 16:00 | 72.2°F | 0.99 kPa | 63.2% |
| 17:00 | 71.2°F | 0.97 kPa | 62.8% |
| 18:00 | 66.9°F | 0.75 kPa | 66.9% |
| 19:00 | 65.2°F | 0.79 kPa | 63.0% |
| 20:00 | 64.3°F | 0.79 kPa | 61.4% |
| 21:00 | 64.6°F | 0.85 kPa | 59.3% |
| 22:00 | 64.2°F | 0.81 kPa | 60.3% |
| 23:00 | 63.4°F | 0.85 kPa | 57.3% |
| 00:00 | 63.4°F | 0.87 kPa | 56.1% |
| 01:00 | 63.3°F | 0.86 kPa | 57.0% |
| 02:00 | 63.3°F | 0.87 kPa | 56.2% |
| 03:00 | 63.3°F | 0.90 kPa | 54.9% |
| 04:00 | 63.3°F | 0.91 kPa | 54.2% |
| 05:00 | 63.4°F | 0.94 kPa | 53.2% |
| 06:00 | 63.7°F | 0.95 kPa | 53.2% |
| 07:00 | 64.2°F | 0.88 kPa | 57.3% |
| 08:00 | 68.1°F | 0.90 kPa | 61.5% |
| 09:00 | 71.5°F | 0.94 kPa | 64.2% |
| 10:00 | 75.8°F | 1.02 kPa | 66.4% |
| 11:00 | 77.2°F | 1.56 kPa | 50.6% |
7-Day Stress Context
| Date | Heat | VPD high | Cold |
|---|---|---|---|
| 2026-04-05 | 8.7h | 13.2h | 12.2h |
| 2026-04-06 | 7.8h | 10.6h | 13.6h |
| 2026-04-07 | 7.8h | 13.2h | 9.5h |
| 2026-04-08 | 2.5h | 10.6h | 14.5h |
| 2026-04-09 | 0.5h | 13.2h | 9.0h |
| 2026-04-10 | 2.2h | 15.3h | 1.1h |
| 2026-04-11 | 4.6h | 10.8h | 2.6h |