Fix mapping from program_phase to vacuum_activity for Miele integration (#145115)

This commit is contained in:
Åke Strandberg 2025-05-17 20:17:15 +02:00 committed by GitHub
parent 2956f4fea1
commit a83eafd949
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
3 changed files with 22 additions and 21 deletions

View File

@ -141,21 +141,21 @@ async def async_setup_entry(
VACUUM_PHASE_TO_ACTIVITY = { VACUUM_PHASE_TO_ACTIVITY = {
MieleVacuumStateCode.idle: VacuumActivity.IDLE, MieleVacuumStateCode.idle.value: VacuumActivity.IDLE,
MieleVacuumStateCode.docked: VacuumActivity.DOCKED, MieleVacuumStateCode.docked.value: VacuumActivity.DOCKED,
MieleVacuumStateCode.cleaning: VacuumActivity.CLEANING, MieleVacuumStateCode.cleaning.value: VacuumActivity.CLEANING,
MieleVacuumStateCode.going_to_target_area: VacuumActivity.CLEANING, MieleVacuumStateCode.going_to_target_area.value: VacuumActivity.CLEANING,
MieleVacuumStateCode.returning: VacuumActivity.RETURNING, MieleVacuumStateCode.returning.value: VacuumActivity.RETURNING,
MieleVacuumStateCode.wheel_lifted: VacuumActivity.ERROR, MieleVacuumStateCode.wheel_lifted.value: VacuumActivity.ERROR,
MieleVacuumStateCode.dirty_sensors: VacuumActivity.ERROR, MieleVacuumStateCode.dirty_sensors.value: VacuumActivity.ERROR,
MieleVacuumStateCode.dust_box_missing: VacuumActivity.ERROR, MieleVacuumStateCode.dust_box_missing.value: VacuumActivity.ERROR,
MieleVacuumStateCode.blocked_drive_wheels: VacuumActivity.ERROR, MieleVacuumStateCode.blocked_drive_wheels.value: VacuumActivity.ERROR,
MieleVacuumStateCode.blocked_brushes: VacuumActivity.ERROR, MieleVacuumStateCode.blocked_brushes.value: VacuumActivity.ERROR,
MieleVacuumStateCode.check_dust_box_and_filter: VacuumActivity.ERROR, MieleVacuumStateCode.check_dust_box_and_filter.value: VacuumActivity.ERROR,
MieleVacuumStateCode.internal_fault_reboot: VacuumActivity.ERROR, MieleVacuumStateCode.internal_fault_reboot.value: VacuumActivity.ERROR,
MieleVacuumStateCode.blocked_front_wheel: VacuumActivity.ERROR, MieleVacuumStateCode.blocked_front_wheel.value: VacuumActivity.ERROR,
MieleVacuumStateCode.paused: VacuumActivity.PAUSED, MieleVacuumStateCode.paused.value: VacuumActivity.PAUSED,
MieleVacuumStateCode.remote_controlled: VacuumActivity.PAUSED, MieleVacuumStateCode.remote_controlled.value: VacuumActivity.PAUSED,
} }
@ -171,7 +171,7 @@ class MieleVacuum(MieleEntity, StateVacuumEntity):
def activity(self) -> VacuumActivity | None: def activity(self) -> VacuumActivity | None:
"""Return activity.""" """Return activity."""
return VACUUM_PHASE_TO_ACTIVITY.get( return VACUUM_PHASE_TO_ACTIVITY.get(
MieleVacuumStateCode(self.device.state_program_phase) MieleVacuumStateCode(self.device.state_program_phase).value
) )
@property @property

View File

@ -15,7 +15,10 @@
"matNumber": "11686510", "matNumber": "11686510",
"swids": ["<swid1>", "<swid2>", "<swid3>", "<...>"] "swids": ["<swid1>", "<swid2>", "<swid3>", "<...>"]
}, },
"xkmIdentLabel": { "techType": "", "releaseVersion": "" } "xkmIdentLabel": {
"techType": "",
"releaseVersion": ""
}
}, },
"state": { "state": {
"ProgramID": { "ProgramID": {
@ -34,9 +37,7 @@
"key_localized": "Program type" "key_localized": "Program type"
}, },
"programPhase": { "programPhase": {
"xvalue_raw": 5889, "value_raw": 5889,
"zvalue_raw": 5904,
"value_raw": 5893,
"value_localized": "in the base station", "value_localized": "in the base station",
"key_localized": "Program phase" "key_localized": "Program phase"
}, },

View File

@ -58,6 +58,6 @@
'last_changed': <ANY>, 'last_changed': <ANY>,
'last_reported': <ANY>, 'last_reported': <ANY>,
'last_updated': <ANY>, 'last_updated': <ANY>,
'state': 'paused', 'state': 'cleaning',
}) })
# --- # ---