diff --git a/addons/f2_control/f2_control/controller.py b/addons/f2_control/f2_control/controller.py index 02d18e4..decc298 100644 --- a/addons/f2_control/f2_control/controller.py +++ b/addons/f2_control/f2_control/controller.py @@ -651,7 +651,12 @@ def _params(self, room, zone): ec_target_p2=self._zone_num(room, zone, f"ec_target_{sfx}_p2", 6), p3_emergency_floor=efloor, p3_emergency_shot=self._zone_num(room, zone, "p3_emergency_shot_size", 2), - max_daily_volume=self._zone_num(room, zone, "max_daily_volume", 300), + # Fallback used ONLY when a zone has no readable max_daily_volume entity — e.g. a zone the + # engine detected from its VWC sensor but the integration never built a cap entity for + # (num_zones < detected zones). Must fail LOW: the integration's own entity maxes at 200 L, + # so the engine can never grant more daily water than the UI can express. Was 300 (above the + # UI max) which let orphaned zones free-run to 300 L/day while wired zones honoured their cap. + max_daily_volume=self._zone_num(room, zone, "max_daily_volume", 150), field_capacity=fc, max_ec=self._zone_num(room, zone, "maximum_ec", 9), stacking_on=self._on(