|
@@ -181,46 +181,33 @@ class VAVControllerV2(VAVController):
|
|
|
bad_spaces.append(sp)
|
|
|
|
|
|
if bad_spaces:
|
|
|
- virtual_diff = (
|
|
|
- self.equipment.virtual_target_temperature
|
|
|
- - self.equipment.virtual_realtime_temperature
|
|
|
- )
|
|
|
+ virtual_diff = self.equipment.virtual_target_temperature - self.equipment.virtual_realtime_temperature
|
|
|
if self.season == Season.cooling:
|
|
|
bad_spaces = sorted(bad_spaces, key=attrgetter("diff"))
|
|
|
worst = bad_spaces[0]
|
|
|
- if worst.diff <= 0:
|
|
|
- if worst.diff < virtual_diff:
|
|
|
- self.equipment.virtual_target_temperature = (
|
|
|
- worst.temperature_target
|
|
|
- )
|
|
|
- self.equipment.virtual_realtime_temperature = (
|
|
|
- worst.realtime_temperature
|
|
|
- )
|
|
|
+ if worst.diff * virtual_diff >= 0:
|
|
|
+ if abs(worst.diff) > abs(virtual_diff):
|
|
|
+ self.equipment.virtual_target_temperature = worst.temperature_target
|
|
|
+ self.equipment.virtual_realtime_temperature = worst.realtime_temperature
|
|
|
else:
|
|
|
- self.equipment.virtual_target_temperature = (
|
|
|
- min(22.0, worst.temperature_target) + 0.5
|
|
|
- )
|
|
|
- self.equipment.virtual_realtime_temperature = (
|
|
|
- worst.realtime_temperature
|
|
|
- )
|
|
|
+ if worst.diff < 0:
|
|
|
+ self.equipment.virtual_target_temperature = min(22.0, worst.temperature_target) + 0.5
|
|
|
+ else:
|
|
|
+ self.equipment.virtual_target_temperature = max(26.0, worst.temperature_target) - 0.5
|
|
|
+ self.equipment.virtual_realtime_temperature = worst.realtime_temperature
|
|
|
elif self.season == Season.heating:
|
|
|
bad_spaces = sorted(bad_spaces, key=attrgetter("diff"), reverse=True)
|
|
|
worst = bad_spaces[0]
|
|
|
- if worst.diff >= 0:
|
|
|
- if worst.diff > virtual_diff:
|
|
|
- self.equipment.virtual_target_temperature = (
|
|
|
- worst.temperature_target
|
|
|
- )
|
|
|
- self.equipment.virtual_realtime_temperature = (
|
|
|
- worst.realtime_temperature
|
|
|
- )
|
|
|
+ if worst.diff * virtual_diff >= 0:
|
|
|
+ if abs(worst.diff) > abs(virtual_diff):
|
|
|
+ self.equipment.virtual_target_temperature = worst.temperature_target
|
|
|
+ self.equipment.virtual_realtime_temperature = worst.realtime_temperature
|
|
|
else:
|
|
|
- self.equipment.virtual_target_temperature = (
|
|
|
- max(26.0, worst.temperature_target) - 0.5
|
|
|
- )
|
|
|
- self.equipment.virtual_realtime_temperature = (
|
|
|
- worst.realtime_temperature
|
|
|
- )
|
|
|
+ if worst.diff > 0:
|
|
|
+ self.equipment.virtual_target_temperature = max(26.0, worst.temperature_target) - 0.5
|
|
|
+ else:
|
|
|
+ self.equipment.virtual_target_temperature = min(20.0, worst.temperature_target) + 0.5
|
|
|
+ self.equipment.virtual_realtime_temperature = worst.realtime_temperature
|
|
|
|
|
|
return (
|
|
|
self.equipment.virtual_target_temperature,
|