Improve activity logic in Husqvarna Automower (#144057)

* Improve activity logic in Husqvarna Automower

* add test
This commit is contained in:
Thomas55555 2025-05-07 13:12:10 +02:00 committed by GitHub
parent e2820787bf
commit 293e01f2e9
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
2 changed files with 8 additions and 3 deletions

View File

@ -110,10 +110,10 @@ class AutomowerLawnMowerEntity(AutomowerAvailableEntity, LawnMowerEntity):
mower_attributes = self.mower_attributes
if mower_attributes.mower.state in PAUSED_STATES:
return LawnMowerActivity.PAUSED
if mower_attributes.mower.activity in MOWING_ACTIVITIES:
if mower_attributes.mower.state in MowerStates.IN_OPERATION:
if mower_attributes.mower.activity == MowerActivities.GOING_HOME:
return LawnMowerActivity.RETURNING
return LawnMowerActivity.MOWING
if mower_attributes.mower.activity == MowerActivities.GOING_HOME:
return LawnMowerActivity.RETURNING
if (mower_attributes.mower.state == "RESTRICTED") or (
mower_attributes.mower.activity in DOCKED_ACTIVITIES
):

View File

@ -32,6 +32,11 @@ from tests.common import MockConfigEntry, async_fire_time_changed
MowerStates.IN_OPERATION,
LawnMowerActivity.RETURNING,
),
(
MowerActivities.NOT_APPLICABLE,
MowerStates.IN_OPERATION,
LawnMowerActivity.MOWING,
),
],
)
async def test_lawn_mower_states(