diff --git a/homeassistant/components/husqvarna_automower_ble/lawn_mower.py b/homeassistant/components/husqvarna_automower_ble/lawn_mower.py index cee466988ce4..58430425b42c 100644 --- a/homeassistant/components/husqvarna_automower_ble/lawn_mower.py +++ b/homeassistant/components/husqvarna_automower_ble/lawn_mower.py @@ -71,8 +71,7 @@ class AutomowerLawnMower(HusqvarnaAutomowerBleEntity, LawnMowerEntity): if state == MowerState.PAUSED: return LawnMowerActivity.PAUSED if state in (MowerState.STOPPED, MowerState.OFF, MowerState.WAIT_FOR_SAFETYPIN): - # This is actually stopped, but that isn't an option - return LawnMowerActivity.ERROR + return LawnMowerActivity.IDLE if state == MowerState.PENDING_START and activity == MowerActivity.NONE: # This happens when the mower is safety stopped and we try to send a # command to start it. diff --git a/tests/components/husqvarna_automower_ble/test_lawn_mower.py b/tests/components/husqvarna_automower_ble/test_lawn_mower.py index 046b177ad5d3..f62f7c19d4b0 100644 --- a/tests/components/husqvarna_automower_ble/test_lawn_mower.py +++ b/tests/components/husqvarna_automower_ble/test_lawn_mower.py @@ -150,18 +150,25 @@ OPERATIONAL_STATES = [ @pytest.mark.parametrize( ("mower_states", "mower_activities", "expected_state"), [ - # MowerState ERROR, FATAL_ERROR, OFF, STOPPED, WAIT_FOR_SAFETYPIN -> Mapped to - # LawnMowerActivity.ERROR + # MowerState ERROR, FATAL_ERROR -> Mapped to LawnMowerActivity.ERROR ( [ MowerState.ERROR, MowerState.FATAL_ERROR, + ], + list(MowerActivity), + LawnMowerActivity.ERROR, + ), + # MowerState OFF, STOPPED, WAIT_FOR_SAFETYPIN -> Mapped to + # LawnMowerActivity.IDLE + ( + [ MowerState.OFF, MowerState.STOPPED, MowerState.WAIT_FOR_SAFETYPIN, ], list(MowerActivity), - LawnMowerActivity.ERROR, + LawnMowerActivity.IDLE, ), # MowerState PAUSED -> Mapped to LawnMowerActivity.PAUSED ([MowerState.PAUSED], list(MowerActivity), LawnMowerActivity.PAUSED),