|
@@ -2,6 +2,7 @@
|
|
|
|
|
|
import numpy as np
|
|
|
|
|
|
+from app.api.errors.iot import MissingIOTDataError
|
|
|
from app.models.domain.devices import ACATAHFreqSetRequest
|
|
|
from app.schemas.equipment import AHU
|
|
|
from app.schemas.system import ACAT
|
|
@@ -33,13 +34,16 @@ class AHUController:
|
|
|
|
|
|
temperature_value_list = np.array(supply_air_temperature_set_duration)
|
|
|
freq_upper_limit = 90.0
|
|
|
- if (
|
|
|
- temperature_value_list.size > 0
|
|
|
- and np.all(temperature_value_list == temperature_value_list[0])
|
|
|
- and temperature_value_list[0] <= 18.0
|
|
|
- and hot_rate >= 0.5
|
|
|
- ):
|
|
|
- freq_upper_limit = 100.0
|
|
|
+ try:
|
|
|
+ if (
|
|
|
+ temperature_value_list.size > 0
|
|
|
+ and np.all(temperature_value_list == temperature_value_list[0])
|
|
|
+ and temperature_value_list[0] <= 18.0
|
|
|
+ and hot_rate >= 0.5
|
|
|
+ ):
|
|
|
+ freq_upper_limit = 100.0
|
|
|
+ except TypeError:
|
|
|
+ raise MissingIOTDataError
|
|
|
freq_set = min(temp_freq_set, freq_upper_limit)
|
|
|
|
|
|
self._equipment.freq_set = freq_set
|
|
@@ -55,8 +59,6 @@ async def build_acatah_freq_set(params: ACATAHFreqSetRequest) -> float:
|
|
|
ahu = AHU(freq_set=params.current_freq_set)
|
|
|
|
|
|
ahu_controller = AHUController(ahu, acat_system)
|
|
|
- new_freq_set = await ahu_controller.build_freq_set(
|
|
|
- params.supply_air_temperature_set_list, params.spaces_hot_rate
|
|
|
- )
|
|
|
+ new_freq_set = await ahu_controller.build_freq_set(params.supply_air_temperature_set_list, params.spaces_hot_rate)
|
|
|
|
|
|
return new_freq_set
|