frequently_start_stop.py 904 B

12345678910111213141516171819
  1. class JudgeFrequentlyStartStop(object):
  2. def __init__(self, dict_code, dict_chiller_inner):
  3. self.dict_chiller_inner = dict_chiller_inner
  4. self.dict_code = dict_code
  5. def is_freq_start_stop(self):
  6. unit_status_str = ''
  7. for i in self.dict_chiller_inner['runStatus']:
  8. unit_status_str += str(i)
  9. unit_status_str_split = unit_status_str.split('1')
  10. # chiller_off_time_last = len(unit_status_str_split[-1]) * self.dict_code['samplePeriod']
  11. chiller_off_time_last = len(unit_status_str_split[-1]) * 3 * 60 # 采样周期写死
  12. chiller_off_count = len([1 for i in unit_status_str_split if i != ''])
  13. if chiller_off_count > 2 and chiller_off_time_last < 2700:
  14. judge_freq_start_stop = 1 # 1为频繁启停,0为正常停机
  15. else:
  16. judge_freq_start_stop = 0
  17. return judge_freq_start_stop