mirror of
https://github.com/home-assistant/core.git
synced 2026-09-25 07:51:46 -05:00
Report a sleeping Roborock Q7 job as paused (#180432)
Co-authored-by: Claude Opus 5 <noreply@anthropic.com>
This commit is contained in:
co-authored by
Claude Opus 5
parent
325bc5f91f
commit
304788935a
@@ -75,6 +75,9 @@ Q7_STATE_CODE_TO_STATE = {
|
||||
WorkStatusMapping.SLEEPING: VacuumActivity.IDLE,
|
||||
WorkStatusMapping.WAITING_FOR_ORDERS: VacuumActivity.IDLE,
|
||||
WorkStatusMapping.PAUSED: VacuumActivity.PAUSED,
|
||||
# An untouched pause falls asleep after ~10 minutes; the job is kept and
|
||||
# resumes on the next start, so this is a pause rather than an idle state.
|
||||
WorkStatusMapping.WORKING_SLEEP: VacuumActivity.PAUSED,
|
||||
WorkStatusMapping.DOCKING: VacuumActivity.RETURNING,
|
||||
WorkStatusMapping.CHARGING: VacuumActivity.DOCKED,
|
||||
WorkStatusMapping.SWEEP_MOPING: VacuumActivity.CLEANING,
|
||||
|
||||
@@ -6,6 +6,7 @@ from unittest.mock import Mock, call
|
||||
|
||||
import pytest
|
||||
from roborock import RoborockException
|
||||
from roborock.data import WorkStatusMapping
|
||||
from roborock.data.b01_q10.b01_q10_code_mappings import B01_Q10_DP, YXFanLevel
|
||||
from roborock.roborock_typing import RoborockCommand
|
||||
from syrupy.assertion import SnapshotAssertion
|
||||
@@ -890,6 +891,26 @@ async def test_q7_activity_none_status(
|
||||
assert vacuum.state == "unknown"
|
||||
|
||||
|
||||
async def test_q7_working_sleep_is_paused(
|
||||
hass: HomeAssistant,
|
||||
setup_entry: MockConfigEntry,
|
||||
fake_q7_vacuum: FakeDevice,
|
||||
) -> None:
|
||||
"""Test a cleaning job that fell asleep is reported as paused."""
|
||||
assert fake_q7_vacuum.b01_q7_properties is not None
|
||||
fake_q7_vacuum.b01_q7_properties._props_data.status = (
|
||||
WorkStatusMapping.WORKING_SLEEP
|
||||
)
|
||||
|
||||
coordinator = setup_entry.runtime_data.b01_q7[0]
|
||||
await coordinator.async_refresh()
|
||||
await hass.async_block_till_done()
|
||||
|
||||
vacuum = hass.states.get(Q7_ENTITY_ID)
|
||||
assert vacuum
|
||||
assert vacuum.state == "paused"
|
||||
|
||||
|
||||
@pytest.fixture(name="q10_vacuum_api", autouse=False)
|
||||
def fake_q10_vacuum_api_fixture(
|
||||
fake_q10_vacuum: FakeDevice,
|
||||
|
||||
Reference in New Issue
Block a user