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 = {
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

View File

@ -15,7 +15,10 @@
"matNumber": "11686510",
"swids": ["<swid1>", "<swid2>", "<swid3>", "<...>"]
},
"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"
},

View File

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