Bump pydeako to 0.6.0 (#132432)

feat: update deako integration to use improved version of pydeako

Some things of note:
- simplified errors
- pydeako has introduced some connection improvements

See here: https://github.com/DeakoLights/pydeako/releases/tag/0.6.0
This commit is contained in:
Blake Bryant 2024-12-05 23:28:02 -08:00 committed by Franck Nijhof
parent bf20ffae96
commit 3f9f0f8ac2
No known key found for this signature in database
GPG Key ID: D62583BA8AB11CA3
7 changed files with 11 additions and 41 deletions

View File

@ -4,8 +4,7 @@ from __future__ import annotations
import logging
from pydeako.deako import Deako, DeviceListTimeout, FindDevicesTimeout
from pydeako.discover import DeakoDiscoverer
from pydeako import Deako, DeakoDiscoverer, FindDevicesError
from homeassistant.components import zeroconf
from homeassistant.config_entries import ConfigEntry
@ -30,12 +29,8 @@ async def async_setup_entry(hass: HomeAssistant, entry: DeakoConfigEntry) -> boo
await connection.connect()
try:
await connection.find_devices()
except DeviceListTimeout as exc: # device list never received
_LOGGER.warning("Device not responding to device list")
await connection.disconnect()
raise ConfigEntryNotReady(exc) from exc
except FindDevicesTimeout as exc: # total devices expected not received
_LOGGER.warning("Device not responding to device requests")
except FindDevicesError as exc:
_LOGGER.warning("Error finding devices: %s", exc)
await connection.disconnect()
raise ConfigEntryNotReady(exc) from exc

View File

@ -1,6 +1,6 @@
"""Config flow for deako."""
from pydeako.discover import DeakoDiscoverer, DevicesNotFoundException
from pydeako import DeakoDiscoverer, DevicesNotFoundException
from homeassistant.components import zeroconf
from homeassistant.core import HomeAssistant

View File

@ -2,7 +2,7 @@
from typing import Any
from pydeako.deako import Deako
from pydeako import Deako
from homeassistant.components.light import ATTR_BRIGHTNESS, ColorMode, LightEntity
from homeassistant.core import HomeAssistant

View File

@ -7,7 +7,7 @@
"documentation": "https://www.home-assistant.io/integrations/deako",
"iot_class": "local_polling",
"loggers": ["pydeako"],
"requirements": ["pydeako==0.5.4"],
"requirements": ["pydeako==0.6.0"],
"single_config_entry": true,
"zeroconf": ["_deako._tcp.local."]
}

View File

@ -1841,7 +1841,7 @@ pydaikin==2.13.7
pydanfossair==0.1.0
# homeassistant.components.deako
pydeako==0.5.4
pydeako==0.6.0
# homeassistant.components.deconz
pydeconz==118

View File

@ -1488,7 +1488,7 @@ pycsspeechtts==1.0.8
pydaikin==2.13.7
# homeassistant.components.deako
pydeako==0.5.4
pydeako==0.6.0
# homeassistant.components.deconz
pydeconz==118

View File

@ -2,7 +2,7 @@
from unittest.mock import MagicMock
from pydeako.deako import DeviceListTimeout, FindDevicesTimeout
from pydeako import FindDevicesError
from homeassistant.config_entries import ConfigEntryState
from homeassistant.core import HomeAssistant
@ -37,7 +37,7 @@ async def test_deako_async_setup_entry(
assert mock_config_entry.runtime_data == pydeako_deako_mock.return_value
async def test_deako_async_setup_entry_device_list_timeout(
async def test_deako_async_setup_entry_devices_error(
hass: HomeAssistant,
mock_config_entry: MockConfigEntry,
pydeako_deako_mock: MagicMock,
@ -47,32 +47,7 @@ async def test_deako_async_setup_entry_device_list_timeout(
mock_config_entry.add_to_hass(hass)
pydeako_deako_mock.return_value.find_devices.side_effect = DeviceListTimeout()
await hass.config_entries.async_setup(mock_config_entry.entry_id)
await hass.async_block_till_done()
pydeako_deako_mock.assert_called_once_with(
pydeako_discoverer_mock.return_value.get_address
)
pydeako_deako_mock.return_value.connect.assert_called_once()
pydeako_deako_mock.return_value.find_devices.assert_called_once()
pydeako_deako_mock.return_value.disconnect.assert_called_once()
assert mock_config_entry.state is ConfigEntryState.SETUP_RETRY
async def test_deako_async_setup_entry_find_devices_timeout(
hass: HomeAssistant,
mock_config_entry: MockConfigEntry,
pydeako_deako_mock: MagicMock,
pydeako_discoverer_mock: MagicMock,
) -> None:
"""Test async_setup_entry raises ConfigEntryNotReady when pydeako raises FindDevicesTimeout."""
mock_config_entry.add_to_hass(hass)
pydeako_deako_mock.return_value.find_devices.side_effect = FindDevicesTimeout()
pydeako_deako_mock.return_value.find_devices.side_effect = FindDevicesError()
await hass.config_entries.async_setup(mock_config_entry.entry_id)
await hass.async_block_till_done()