Bump pylitterbot to 2023.4.11 (#114918)

pull/115022/head
Nathan Spencer 2024-04-06 03:16:00 -07:00 committed by GitHub
parent d9573bb7dc
commit 6594d022ba
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
7 changed files with 33 additions and 5 deletions

View File

@ -12,5 +12,5 @@
"integration_type": "hub", "integration_type": "hub",
"iot_class": "cloud_push", "iot_class": "cloud_push",
"loggers": ["pylitterbot"], "loggers": ["pylitterbot"],
"requirements": ["pylitterbot==2023.4.9"] "requirements": ["pylitterbot==2023.4.11"]
} }

View File

@ -35,6 +35,7 @@ LITTER_BOX_STATUS_STATE_MAP = {
LitterBoxStatus.CLEAN_CYCLE: STATE_CLEANING, LitterBoxStatus.CLEAN_CYCLE: STATE_CLEANING,
LitterBoxStatus.EMPTY_CYCLE: STATE_CLEANING, LitterBoxStatus.EMPTY_CYCLE: STATE_CLEANING,
LitterBoxStatus.CLEAN_CYCLE_COMPLETE: STATE_DOCKED, LitterBoxStatus.CLEAN_CYCLE_COMPLETE: STATE_DOCKED,
LitterBoxStatus.CAT_DETECTED: STATE_DOCKED,
LitterBoxStatus.CAT_SENSOR_TIMING: STATE_DOCKED, LitterBoxStatus.CAT_SENSOR_TIMING: STATE_DOCKED,
LitterBoxStatus.DRAWER_FULL_1: STATE_DOCKED, LitterBoxStatus.DRAWER_FULL_1: STATE_DOCKED,
LitterBoxStatus.DRAWER_FULL_2: STATE_DOCKED, LitterBoxStatus.DRAWER_FULL_2: STATE_DOCKED,

View File

@ -1950,7 +1950,7 @@ pylibrespot-java==0.1.1
pylitejet==0.6.2 pylitejet==0.6.2
# homeassistant.components.litterrobot # homeassistant.components.litterrobot
pylitterbot==2023.4.9 pylitterbot==2023.4.11
# homeassistant.components.lutron_caseta # homeassistant.components.lutron_caseta
pylutron-caseta==0.20.0 pylutron-caseta==0.20.0

View File

@ -1516,7 +1516,7 @@ pylibrespot-java==0.1.1
pylitejet==0.6.2 pylitejet==0.6.2
# homeassistant.components.litterrobot # homeassistant.components.litterrobot
pylitterbot==2023.4.9 pylitterbot==2023.4.11
# homeassistant.components.lutron_caseta # homeassistant.components.lutron_caseta
pylutron-caseta==0.20.0 pylutron-caseta==0.20.0

View File

@ -33,6 +33,7 @@ ROBOT_4_DATA = {
"wifiRssi": -53.0, "wifiRssi": -53.0,
"unitPowerType": "AC", "unitPowerType": "AC",
"catWeight": 12.0, "catWeight": 12.0,
"displayCode": "DC_MODE_IDLE",
"unitTimezone": "America/New_York", "unitTimezone": "America/New_York",
"unitTime": None, "unitTime": None,
"cleanCycleWaitTime": 15, "cleanCycleWaitTime": 15,
@ -66,7 +67,7 @@ ROBOT_4_DATA = {
"isDFIResetPending": False, "isDFIResetPending": False,
"DFINumberOfCycles": 104, "DFINumberOfCycles": 104,
"DFILevelPercent": 76, "DFILevelPercent": 76,
"isDFIFull": True, "isDFIFull": False,
"DFIFullCounter": 3, "DFIFullCounter": 3,
"DFITriggerCount": 42, "DFITriggerCount": 42,
"litterLevel": 460, "litterLevel": 460,

View File

@ -86,7 +86,7 @@ async def test_litter_robot_sensor(
assert sensor.state == "2022-09-17T12:06:37+00:00" assert sensor.state == "2022-09-17T12:06:37+00:00"
assert sensor.attributes["device_class"] == SensorDeviceClass.TIMESTAMP assert sensor.attributes["device_class"] == SensorDeviceClass.TIMESTAMP
sensor = hass.states.get("sensor.test_status_code") sensor = hass.states.get("sensor.test_status_code")
assert sensor.state == "dfs" assert sensor.state == "rdy"
assert sensor.attributes["device_class"] == SensorDeviceClass.ENUM assert sensor.attributes["device_class"] == SensorDeviceClass.ENUM
sensor = hass.states.get("sensor.test_litter_level") sensor = hass.states.get("sensor.test_litter_level")
assert sensor.state == "70.0" assert sensor.state == "70.0"

View File

@ -5,6 +5,7 @@ from __future__ import annotations
from typing import Any from typing import Any
from unittest.mock import MagicMock from unittest.mock import MagicMock
from pylitterbot import Robot
import pytest import pytest
from homeassistant.components.litterrobot import DOMAIN from homeassistant.components.litterrobot import DOMAIN
@ -16,6 +17,7 @@ from homeassistant.components.vacuum import (
SERVICE_STOP, SERVICE_STOP,
STATE_DOCKED, STATE_DOCKED,
STATE_ERROR, STATE_ERROR,
STATE_PAUSED,
) )
from homeassistant.const import ATTR_ENTITY_ID from homeassistant.const import ATTR_ENTITY_ID
from homeassistant.core import HomeAssistant from homeassistant.core import HomeAssistant
@ -96,6 +98,30 @@ async def test_vacuum_with_error(
assert vacuum.state == STATE_ERROR assert vacuum.state == STATE_ERROR
@pytest.mark.parametrize(
("robot_data", "expected_state"),
[
({"displayCode": "DC_CAT_DETECT"}, STATE_DOCKED),
({"isDFIFull": True}, STATE_ERROR),
({"robotCycleState": "CYCLE_STATE_CAT_DETECT"}, STATE_PAUSED),
],
)
async def test_vacuum_states(
hass: HomeAssistant,
mock_account_with_litterrobot_4: MagicMock,
robot_data: dict[str, str | bool],
expected_state: str,
) -> None:
"""Test sending commands to the switch."""
await setup_integration(hass, mock_account_with_litterrobot_4, PLATFORM_DOMAIN)
robot: Robot = mock_account_with_litterrobot_4.robots[0]
robot._update_data(robot_data, partial=True)
vacuum = hass.states.get(VACUUM_ENTITY_ID)
assert vacuum
assert vacuum.state == expected_state
@pytest.mark.parametrize( @pytest.mark.parametrize(
("service", "command", "extra"), ("service", "command", "extra"),
[ [