Index: dialin/common/dg_defs.py =================================================================== diff -u -r22e33f3df569292eb7065c1325ca4460afbe36be -r85b6bd09e702411ec5fe9dbb945b9e906cbdc309 --- dialin/common/dg_defs.py (.../dg_defs.py) (revision 22e33f3df569292eb7065c1325ca4460afbe36be) +++ dialin/common/dg_defs.py (.../dg_defs.py) (revision 85b6bd09e702411ec5fe9dbb945b9e906cbdc309) @@ -177,15 +177,15 @@ DG_HEAT_DISINFECT_STATE_FILL_R2_WITH_HOT_WATER = 12 # Heat disinfect, fill R2 with hot water state DG_HEAT_DISINFECT_STATE_DISINFECT_R2_TO_R1 = 13 # Heat disinfect, disinfect R2 to R1 state DG_HEAT_DISINFECT_STATE_COOL_DOWN_HEATERS = 14 # Heat disinfect, cool down heaters state - DG_HEAT_DISINFECT_STATE_NOCTURNAL_COOL_IDLE = 15 # Heat disinfect, nocturnal cool idle state - DG_HEAT_DISINFECT_STATE_NOCTURNAL_COOL_CHECK_WATER_TEMP = 16 # Heat disinfect, nocturnal cool check water temp state - DG_HEAT_DISINFECT_STATE_NOCTURNAL_COOL_DRAIN_R1 = 17 # Heat disinfect, nocturnal cool drain R1 state - DG_HEAT_DISINFECT_STATE_NOCTURNAL_COOL_DRAIN_R2 = 18 # Heat disinfect, nocturnal cool drain R2 state - DG_HEAT_DISINFECT_STATE_MIX_DRAIN_R1 = 19 # Heat disinfect, mix drain R1 state - DG_HEAT_DISINFECT_STATE_MIX_DRAIN_R2 = 20 # Heat disinfect, mix drain R2 state - DG_HEAT_DISINFECT_STATE_CANCEL_BASIC_PATH = 21 # Heat disinfect, cancel mode basic path state - DG_HEAT_DISINFECT_STATE_CANCEL_WATER_PATH = 22 # Heat disinfect, cancel mode water path state - DG_HEAT_DISINFECT_STATE_COMPLETE = 23 # Heat disinfect, complete state + DG_HEAT_DISINFECT_STATE_MIX_DRAIN_R1 = 15 # Heat disinfect, mix drain R1 state + DG_HEAT_DISINFECT_STATE_MIX_DRAIN_R2 = 16 # Heat disinfect, mix drain R2 state + DG_HEAT_DISINFECT_STATE_CANCEL_BASIC_PATH = 17 # Heat disinfect, cancel mode basic path state + DG_HEAT_DISINFECT_STATE_CANCEL_WATER_PATH = 18 # Heat disinfect, cancel mode water path state + DG_HEAT_DISINFECT_STATE_COMPLETE = 19 # Heat disinfect, complete state + DG_HEAT_DISINFECT_STATE_NOCTURNAL_COOL_IDLE = 20 # Heat disinfect, nocturnal cool idle state + DG_HEAT_DISINFECT_STATE_NOCTURNAL_COOL_CHECK_WATER_TEMP = 21 # Heat disinfect, nocturnal cool check water temp state + DG_HEAT_DISINFECT_STATE_NOCTURNAL_COOL_DRAIN_R1 = 22 # Heat disinfect, nocturnal cool drain R1 state + DG_HEAT_DISINFECT_STATE_NOCTURNAL_COOL_DRAIN_R2 = 23 # Heat disinfect, nocturnal cool drain R2 state DG_NELSON_HEAT_DISINFECT_STATE_FILL_R1_WITH_WATER = 24 # Heat disinfect, Nelson support state NUM_OF_DG_HEAT_DISINFECT_STATES = 25 # Number of heat disinfect mode states @@ -319,7 +319,8 @@ DG_EVENT_BICARB_CHECK_RESULT = 17 # DG bicarb check result DG_EVENT_ACID_CHECK_RESULT = 18 # DG acid check result DG_EVENT_COND1_VS_COND2_DIFF_RESULT = 19 # DG CD1 (acid) vs. CD2 (bicarb) different result - NUM_OF_DG_EVENT_IDS = 20 # Total number of DG events + DG_EVENT_NOCTURNAL_HEAT_DISINFECT_STATUS = 20 # DG nocturnal heat disinfect status + NUM_OF_DG_EVENT_IDS = 21 # Total number of DG events @unique Index: dialin/dg/heat_disinfect.py =================================================================== diff -u -r8e919412fc64235b5ae4d57dd523b8cfb1e4e4cb -r85b6bd09e702411ec5fe9dbb945b9e906cbdc309 --- dialin/dg/heat_disinfect.py (.../heat_disinfect.py) (revision 8e919412fc64235b5ae4d57dd523b8cfb1e4e4cb) +++ dialin/dg/heat_disinfect.py (.../heat_disinfect.py) (revision 85b6bd09e702411ec5fe9dbb945b9e906cbdc309) @@ -41,15 +41,15 @@ DG_HEAT_DISINFECT_STATE_FILL_R2_WITH_HOT_WATER = 12 DG_HEAT_DISINFECT_STATE_DISINFECT_R2_TO_R1 = 13 DG_HEAT_DISINFECT_STATE_COOL_DOWN_HEATERS = 14 - DG_HEAT_DISINFECT_STATE_NOCTURNAL_COOL_IDLE = 15 - DG_HEAT_DISINFECT_STATE_NOCTURNAL_COOL_CHECK_WATER_TEMP = 16 - DG_HEAT_DISINFECT_STATE_NOCTURNAL_COOL_DRAIN_R1 = 17 - DG_HEAT_DISINFECT_STATE_NOCTURNAL_COOL_DRAIN_R2 = 18 - DG_HEAT_DISINFECT_STATE_MIX_DRAIN_R1 = 19 - DG_HEAT_DISINFECT_STATE_MIX_DRAIN_R2 = 20 - DG_HEAT_DISINFECT_STATE_CANCEL_BASIC_PATH = 21 - DG_HEAT_DISINFECT_STATE_CANCEL_WATER_PATH = 22 - DG_HEAT_DISINFECT_STATE_COMPLETE = 23 + DG_HEAT_DISINFECT_STATE_MIX_DRAIN_R1 = 15 + DG_HEAT_DISINFECT_STATE_MIX_DRAIN_R2 = 16 + DG_HEAT_DISINFECT_STATE_CANCEL_BASIC_PATH = 17 + DG_HEAT_DISINFECT_STATE_CANCEL_WATER_PATH = 18 + DG_HEAT_DISINFECT_STATE_COMPLETE = 19 + DG_HEAT_DISINFECT_STATE_NOCTURNAL_COOL_IDLE = 20 + DG_HEAT_DISINFECT_STATE_NOCTURNAL_COOL_CHECK_WATER_TEMP = 21 + DG_HEAT_DISINFECT_STATE_NOCTURNAL_COOL_DRAIN_R1 = 22 + DG_HEAT_DISINFECT_STATE_NOCTURNAL_COOL_DRAIN_R2 = 23 @unique @@ -96,7 +96,6 @@ self.r2_level = 0 self.dg_heat_disinfection_time_timestamp = 0.0 self.dg_heat_disinfection_data_timestamp = 0.0 - self.is_nocturnal_heat_disinfect_requested = 0 if self.can_interface is not None: channel_id = DenaliChannels.dg_sync_broadcast_ch_id @@ -125,7 +124,6 @@ self.r1_level = 0 self.r2_level = 0 self.heat_disinfect_ui_state = 0 - self.is_nocturnal_heat_disinfect_requested = 0 @publish(["dg_heat_disinfection_time_timestamp", "heat_disinfect_target_time", "heat_disinfect_count_down_time"]) def _handler_heat_disinfect_to_ui_sync(self, message, timestamp=0.0): @@ -159,8 +157,7 @@ self.dg_heat_disinfection_time_timestamp = timestamp @publish(["dg_heat_disinfection_data_timestamp","heat_disinfect_state", "overall_elapsed_time", - "state_elapsed_time", "cancellation_mode", "r1_level", "r2_level", "heat_disinfect_ui_state", - "is_nocturnal_heat_disinfect_requested"]) + "state_elapsed_time", "cancellation_mode", "r1_level", "r2_level", "heat_disinfect_ui_state"]) def _handler_heat_disinfect_sync(self, message, timestamp): """ Handles published heat disinfect message @@ -178,7 +175,6 @@ r1, index = bytearray_to_float(payload, index, False) r2, index = bytearray_to_float(payload, index, False) ui_state, index = bytearray_to_integer(payload, index, False) - noct_status, index = bytearray_to_integer(payload, index, False) self.heat_disinfect_state = state self.overall_elapsed_time = int(elapsed_time / 1000) @@ -187,7 +183,6 @@ self.r1_level = r1 self.r2_level = r2 self.heat_disinfect_ui_state = ui_state - self.is_nocturnal_heat_disinfect_requested = noct_status self.dg_heat_disinfection_data_timestamp = timestamp def get_heat_disinfect_state(self) -> int: Index: tests/dg_tests.py =================================================================== diff -u -r22e33f3df569292eb7065c1325ca4460afbe36be -r85b6bd09e702411ec5fe9dbb945b9e906cbdc309 --- tests/dg_tests.py (.../dg_tests.py) (revision 22e33f3df569292eb7065c1325ca4460afbe36be) +++ tests/dg_tests.py (.../dg_tests.py) (revision 85b6bd09e702411ec5fe9dbb945b9e906cbdc309) @@ -111,25 +111,22 @@ state = 0 state_elapsed_time = 0 overall_elapsed_time = 0 - nocturnal_mode = 0 if dg.dg_operation_mode == 9: state = DGHeatDisinfectStates(dg.heat_disinfect.heat_disinfect_state).name overall_elapsed_time = dg.heat_disinfect.overall_elapsed_time state_elapsed_time = dg.heat_disinfect.state_elapsed_time - nocturnal_mode = dg.heat_disinfect.is_nocturnal_heat_disinfect_requested elif dg.dg_operation_mode == 12: state = DGHeatDisinfectActiveCoolStates(dg.heat_disinfect_active_cool.heat_disinfect_active_cool_state).name overall_elapsed_time = dg.heat_disinfect_active_cool.overall_elapsed_time state_elapsed_time = dg.heat_disinfect_active_cool.state_elapsed_time info = ('State, {}, Overall_elapsed_time, {}, State_elapsed_time, {}, Disinfect_RO_77, {}, Disinfect_RO_82, {}, ' 'Disinfect_R_77, {}, Disinfect_R_82, {}, R1_level, {:5.3f}, R2_level, {:5.3f}, Top_alarm, {}, UI_state, {},' - 'Nocturnal, {}, ' + ' ' .format(state, overall_elapsed_time, state_elapsed_time, dg.heat_disinfect.disinfect_ro_77_time_s, dg.heat_disinfect.disinfect_ro_82_time_s, dg.heat_disinfect.disinfect_r_77_time_s, dg.heat_disinfect.disinfect_r_82_time_s, dg.heat_disinfect.r1_level, dg.heat_disinfect.r2_level, - hd.alarms.alarm_top, DGHeatDisinfectUIStates(dg.heat_disinfect.heat_disinfect_ui_state).name, - nocturnal_mode)) + hd.alarms.alarm_top, DGHeatDisinfectUIStates(dg.heat_disinfect.heat_disinfect_ui_state).name)) return info