|
@@ -11,6 +11,31 @@ class PAUSwitch(Switch):
|
|
|
def __init__(self, equipment: PAU):
|
|
|
super(PAUSwitch, self).__init__(equipment)
|
|
|
|
|
|
+ def break_time_action(self, begin: str, end: str, is_workday: bool) -> SwitchSet:
|
|
|
+ if self._equip.in_cloud_status:
|
|
|
+ if is_workday:
|
|
|
+ if begin and end:
|
|
|
+ switch_flag = True
|
|
|
+ if begin <= end:
|
|
|
+ if begin <= self._now_time <= end:
|
|
|
+ switch_flag = False
|
|
|
+ else:
|
|
|
+ if not end <= self._now_time <= begin:
|
|
|
+ switch_flag = False
|
|
|
+
|
|
|
+ if not switch_flag:
|
|
|
+ action = SwitchSet.off
|
|
|
+ else:
|
|
|
+ action = SwitchSet.hold
|
|
|
+ else:
|
|
|
+ action = SwitchSet.hold
|
|
|
+ else:
|
|
|
+ action = SwitchSet.hold
|
|
|
+ else:
|
|
|
+ action = SwitchSet.hold
|
|
|
+
|
|
|
+ return action
|
|
|
+
|
|
|
|
|
|
@logger.catch()
|
|
|
async def build_acatfu_switch_set(params: ACATFUSwitchSetRequest) -> SwitchSet:
|
|
@@ -20,8 +45,12 @@ async def build_acatfu_switch_set(params: ACATFUSwitchSetRequest) -> SwitchSet:
|
|
|
on_time=params.on_time,
|
|
|
off_time=params.off_time,
|
|
|
)
|
|
|
- action = await PAUSwitch(pau).build_next_action(params.is_workday)
|
|
|
- if not params.is_workday:
|
|
|
+ pau_switch_controller = PAUSwitch(pau)
|
|
|
+ action = await pau_switch_controller.build_next_action(params.is_workday)
|
|
|
+ break_action = pau_switch_controller.break_time_action(
|
|
|
+ params.break_start_time, params.break_end_time, params.is_workday
|
|
|
+ )
|
|
|
+ if break_action == "off":
|
|
|
action = SwitchSet.off
|
|
|
|
|
|
return action
|