|
@@ -18,12 +18,12 @@ class VRFController(EquipmentController):
|
|
|
|
|
|
def get_switch_set(self) -> str:
|
|
|
if np.isnan(self.target):
|
|
|
- if self.device.running_status == 'on':
|
|
|
+ if self.device.running_status:
|
|
|
switch_set = 'off'
|
|
|
else:
|
|
|
switch_set = 'hold'
|
|
|
else:
|
|
|
- if self.device.running_status == 'off':
|
|
|
+ if not self.device.running_status:
|
|
|
switch_set = 'on'
|
|
|
else:
|
|
|
switch_set = 'hold'
|
|
@@ -43,30 +43,36 @@ class VRFController(EquipmentController):
|
|
|
return mode_set
|
|
|
|
|
|
def get_temperature_set(self) -> float:
|
|
|
- if self.realtime > 24.0:
|
|
|
+ if self.realtime >= 24.0:
|
|
|
diff = self.device.return_air_temp - self.realtime
|
|
|
if diff > 0:
|
|
|
self.device.temperature_set = self.target + diff
|
|
|
else:
|
|
|
self.device.temperature_set = self.target
|
|
|
- elif self.realtime < 22.0:
|
|
|
+ elif self.realtime <= 22.0:
|
|
|
self.device.temperature_set = self.device.return_air_temp + 1
|
|
|
else:
|
|
|
- self.device.temperature_set = self.device.current_temperature_set
|
|
|
+ if np.isnan(self.device.current_temperature_set):
|
|
|
+ self.device.temperature_set = 25.0
|
|
|
+ else:
|
|
|
+ self.device.temperature_set = self.device.current_temperature_set
|
|
|
|
|
|
return self.device.temperature_set
|
|
|
|
|
|
def get_speed_set(self) -> str:
|
|
|
- if self.realtime > 24.0:
|
|
|
+ if self.realtime >= 24.0:
|
|
|
speed = 'M'
|
|
|
- elif self.realtime < 22.0:
|
|
|
+ elif self.realtime <= 22.0:
|
|
|
speed = 'LL'
|
|
|
- elif self.device.return_air_temp - self.target > 3.0:
|
|
|
+ elif self.device.return_air_temp - self.target >= 3.0:
|
|
|
speed = 'HH'
|
|
|
- elif self.device.return_air_temp - self.target > 1.0:
|
|
|
+ elif self.device.return_air_temp - self.target >= 1.0:
|
|
|
speed = 'M'
|
|
|
else:
|
|
|
- speed = self.device.speed
|
|
|
+ if self.device.speed == 'missing':
|
|
|
+ speed = 'M'
|
|
|
+ else:
|
|
|
+ speed = self.device.speed
|
|
|
|
|
|
self.device.speed_set = speed
|
|
|
|
|
@@ -98,7 +104,19 @@ async def build_acatvi_instructions(params: ACATVIInstructionsRequest) -> Dict:
|
|
|
realtime = np.NAN if params.space_realtime_temperature == -1.0 else params.space_realtime_temperature
|
|
|
return_air_temp = np.NAN if params.return_air_temperature == -1.0 else params.return_air_temperature
|
|
|
|
|
|
- vrf = VRF(return_air_temp=return_air_temp)
|
|
|
+ if params.running_status == 'missing':
|
|
|
+ return {'need_send': False}
|
|
|
+ elif params.running_status == 'on':
|
|
|
+ running_status = True
|
|
|
+ else:
|
|
|
+ running_status = False
|
|
|
+
|
|
|
+ vrf = VRF(
|
|
|
+ return_air_temp=return_air_temp,
|
|
|
+ current_temperature_set=np.NAN if params.current_temperature_set == -1.0 else params.current_temperature_set,
|
|
|
+ speed=params.current_speed,
|
|
|
+ running_status=running_status
|
|
|
+ )
|
|
|
|
|
|
controller = VRFController(vrf, target, realtime)
|
|
|
need_send = await controller.run()
|