Ver código fonte

fix a bug when off time is smaller than on time

chenhaiyang 4 anos atrás
pai
commit
4c6ac71ef7
1 arquivos alterados com 9 adições e 3 exclusões
  1. 9 3
      app/controllers/equipment/switch.py

+ 9 - 3
app/controllers/equipment/switch.py

@@ -21,10 +21,16 @@ class Switch:
     async def build_next_action(self, day_type: str) -> str:
     async def build_next_action(self, day_type: str) -> str:
         if self._equip.in_cloud_status:
         if self._equip.in_cloud_status:
             if day_type == 'WeekDay':
             if day_type == 'WeekDay':
-                if self._equip.on_time <= self._now_time <= self._equip.off_time:
-                    switch_flag = True
+                if self._equip.on_time <= self._equip.off_time:
+                    if self._equip.on_time <= self._now_time <= self._equip.off_time:
+                        switch_flag = True
+                    else:
+                        switch_flag = False
                 else:
                 else:
-                    switch_flag = False
+                    if self._equip.off_time <= self._now_time <= self._equip.on_time:
+                        switch_flag = False
+                    else:
+                        switch_flag = True
 
 
                 if switch_flag and not self._equip.running_status:
                 if switch_flag and not self._equip.running_status:
                     action = 'on'
                     action = 'on'