From a83eafd9493446defd0ea9955f7b018fc66f9187 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=C3=85ke=20Strandberg?= Date: Sat, 17 May 2025 20:17:15 +0200 Subject: [PATCH] Fix mapping from program_phase to vacuum_activity for Miele integration (#145115) --- homeassistant/components/miele/vacuum.py | 32 +++++++++---------- .../miele/fixtures/vacuum_device.json | 9 +++--- .../miele/snapshots/test_vacuum.ambr | 2 +- 3 files changed, 22 insertions(+), 21 deletions(-) diff --git a/homeassistant/components/miele/vacuum.py b/homeassistant/components/miele/vacuum.py index 66b3788fec5..29a89e39bdb 100644 --- a/homeassistant/components/miele/vacuum.py +++ b/homeassistant/components/miele/vacuum.py @@ -141,21 +141,21 @@ async def async_setup_entry( VACUUM_PHASE_TO_ACTIVITY = { - MieleVacuumStateCode.idle: VacuumActivity.IDLE, - MieleVacuumStateCode.docked: VacuumActivity.DOCKED, - MieleVacuumStateCode.cleaning: VacuumActivity.CLEANING, - MieleVacuumStateCode.going_to_target_area: VacuumActivity.CLEANING, - MieleVacuumStateCode.returning: VacuumActivity.RETURNING, - MieleVacuumStateCode.wheel_lifted: VacuumActivity.ERROR, - MieleVacuumStateCode.dirty_sensors: VacuumActivity.ERROR, - MieleVacuumStateCode.dust_box_missing: VacuumActivity.ERROR, - MieleVacuumStateCode.blocked_drive_wheels: VacuumActivity.ERROR, - MieleVacuumStateCode.blocked_brushes: VacuumActivity.ERROR, - MieleVacuumStateCode.check_dust_box_and_filter: VacuumActivity.ERROR, - MieleVacuumStateCode.internal_fault_reboot: VacuumActivity.ERROR, - MieleVacuumStateCode.blocked_front_wheel: VacuumActivity.ERROR, - MieleVacuumStateCode.paused: VacuumActivity.PAUSED, - MieleVacuumStateCode.remote_controlled: VacuumActivity.PAUSED, + MieleVacuumStateCode.idle.value: VacuumActivity.IDLE, + MieleVacuumStateCode.docked.value: VacuumActivity.DOCKED, + MieleVacuumStateCode.cleaning.value: VacuumActivity.CLEANING, + MieleVacuumStateCode.going_to_target_area.value: VacuumActivity.CLEANING, + MieleVacuumStateCode.returning.value: VacuumActivity.RETURNING, + MieleVacuumStateCode.wheel_lifted.value: VacuumActivity.ERROR, + MieleVacuumStateCode.dirty_sensors.value: VacuumActivity.ERROR, + MieleVacuumStateCode.dust_box_missing.value: VacuumActivity.ERROR, + MieleVacuumStateCode.blocked_drive_wheels.value: VacuumActivity.ERROR, + MieleVacuumStateCode.blocked_brushes.value: VacuumActivity.ERROR, + MieleVacuumStateCode.check_dust_box_and_filter.value: VacuumActivity.ERROR, + MieleVacuumStateCode.internal_fault_reboot.value: VacuumActivity.ERROR, + MieleVacuumStateCode.blocked_front_wheel.value: VacuumActivity.ERROR, + MieleVacuumStateCode.paused.value: VacuumActivity.PAUSED, + MieleVacuumStateCode.remote_controlled.value: VacuumActivity.PAUSED, } @@ -171,7 +171,7 @@ class MieleVacuum(MieleEntity, StateVacuumEntity): def activity(self) -> VacuumActivity | None: """Return activity.""" return VACUUM_PHASE_TO_ACTIVITY.get( - MieleVacuumStateCode(self.device.state_program_phase) + MieleVacuumStateCode(self.device.state_program_phase).value ) @property diff --git a/tests/components/miele/fixtures/vacuum_device.json b/tests/components/miele/fixtures/vacuum_device.json index 6f2d486a8bc..5aa402a3493 100644 --- a/tests/components/miele/fixtures/vacuum_device.json +++ b/tests/components/miele/fixtures/vacuum_device.json @@ -15,7 +15,10 @@ "matNumber": "11686510", "swids": ["", "", "", "<...>"] }, - "xkmIdentLabel": { "techType": "", "releaseVersion": "" } + "xkmIdentLabel": { + "techType": "", + "releaseVersion": "" + } }, "state": { "ProgramID": { @@ -34,9 +37,7 @@ "key_localized": "Program type" }, "programPhase": { - "xvalue_raw": 5889, - "zvalue_raw": 5904, - "value_raw": 5893, + "value_raw": 5889, "value_localized": "in the base station", "key_localized": "Program phase" }, diff --git a/tests/components/miele/snapshots/test_vacuum.ambr b/tests/components/miele/snapshots/test_vacuum.ambr index 71254f9c8b3..8147b56282d 100644 --- a/tests/components/miele/snapshots/test_vacuum.ambr +++ b/tests/components/miele/snapshots/test_vacuum.ambr @@ -58,6 +58,6 @@ 'last_changed': , 'last_reported': , 'last_updated': , - 'state': 'paused', + 'state': 'cleaning', }) # ---