diff --git a/homeassistant/components/home_connect/const.py b/homeassistant/components/home_connect/const.py index 0719d41c65e..14e675b7e95 100644 --- a/homeassistant/components/home_connect/const.py +++ b/homeassistant/components/home_connect/const.py @@ -42,6 +42,7 @@ BSH_EVENT_PRESENT_STATE_CONFIRMED = "BSH.Common.EnumType.EventPresentState.Confi BSH_EVENT_PRESENT_STATE_OFF = "BSH.Common.EnumType.EventPresentState.Off" +BSH_OPERATION_STATE_DELAYED_START = "BSH.Common.EnumType.OperationState.DelayedStart" BSH_OPERATION_STATE_RUN = "BSH.Common.EnumType.OperationState.Run" BSH_OPERATION_STATE_PAUSE = "BSH.Common.EnumType.OperationState.Pause" BSH_OPERATION_STATE_FINISHED = "BSH.Common.EnumType.OperationState.Finished" diff --git a/homeassistant/components/home_connect/sensor.py b/homeassistant/components/home_connect/sensor.py index a88ad6df746..283fc7dfea4 100644 --- a/homeassistant/components/home_connect/sensor.py +++ b/homeassistant/components/home_connect/sensor.py @@ -21,6 +21,7 @@ from homeassistant.util import dt as dt_util, slugify from .common import setup_home_connect_entry from .const import ( APPLIANCES_WITH_PROGRAMS, + BSH_OPERATION_STATE_DELAYED_START, BSH_OPERATION_STATE_FINISHED, BSH_OPERATION_STATE_PAUSE, BSH_OPERATION_STATE_RUN, @@ -624,6 +625,7 @@ class HomeConnectProgramSensor(HomeConnectSensor): """Return whether a program is running, paused or finished.""" status = self.appliance.status.get(StatusKey.BSH_COMMON_OPERATION_STATE) return status is not None and status.value in [ + BSH_OPERATION_STATE_DELAYED_START, BSH_OPERATION_STATE_RUN, BSH_OPERATION_STATE_PAUSE, BSH_OPERATION_STATE_FINISHED, diff --git a/tests/components/home_connect/test_sensor.py b/tests/components/home_connect/test_sensor.py index 0fac889237b..1683dde4334 100644 --- a/tests/components/home_connect/test_sensor.py +++ b/tests/components/home_connect/test_sensor.py @@ -42,6 +42,10 @@ EVENT_PROG_DELAYED_START = { EventType.STATUS: { EventKey.BSH_COMMON_STATUS_OPERATION_STATE: "BSH.Common.EnumType.OperationState.DelayedStart", }, + EventType.EVENT: { + EventKey.BSH_COMMON_OPTION_REMAINING_PROGRAM_TIME: 30, + EventKey.BSH_COMMON_OPTION_PROGRAM_PROGRESS: 0, + }, } @@ -292,20 +296,20 @@ ENTITY_ID_STATES = { "ready", ), "sensor.dishwasher_program_finish_time": ( - "unavailable", + "2021-01-09T12:00:30+00:00", "2021-01-09T12:00:00+00:00", "2021-01-09T12:00:00+00:00", "2021-01-09T12:00:20+00:00", STATE_UNKNOWN, - "unavailable", + STATE_UNAVAILABLE, ), "sensor.dishwasher_program_progress": ( - "unavailable", + "0", "60", "80", "99", "99", - "unavailable", + STATE_UNAVAILABLE, ), } @@ -460,10 +464,10 @@ PROGRAM_SEQUENCE_EDGE_CASE = [ # Expected state at each sequence. ENTITY_ID_EDGE_CASE_STATES = [ - "unavailable", + "2021-01-09T12:00:30+00:00", "2021-01-09T12:00:01+00:00", - "unavailable", - "unavailable", + STATE_UNAVAILABLE, + STATE_UNAVAILABLE, ]