mirror of
https://github.com/home-assistant/core.git
synced 2025-07-14 00:37:13 +00:00
Account for disabled ZHA discovery config entries when migrating SkyConnect integration (#117800)
* Properly handle disabled ZHA discovery config entries * Update tests/components/homeassistant_sky_connect/test_util.py Co-authored-by: TheJulianJES <TheJulianJES@users.noreply.github.com> --------- Co-authored-by: TheJulianJES <TheJulianJES@users.noreply.github.com>
This commit is contained in:
parent
7714f807b4
commit
4dc670056c
@ -50,9 +50,9 @@ def get_hardware_variant(config_entry: ConfigEntry) -> HardwareVariant:
|
|||||||
return HardwareVariant.from_usb_product_name(config_entry.data["product"])
|
return HardwareVariant.from_usb_product_name(config_entry.data["product"])
|
||||||
|
|
||||||
|
|
||||||
def get_zha_device_path(config_entry: ConfigEntry) -> str:
|
def get_zha_device_path(config_entry: ConfigEntry) -> str | None:
|
||||||
"""Get the device path from a ZHA config entry."""
|
"""Get the device path from a ZHA config entry."""
|
||||||
return cast(str, config_entry.data["device"]["path"])
|
return cast(str | None, config_entry.data.get("device", {}).get("path", None))
|
||||||
|
|
||||||
|
|
||||||
@singleton(OTBR_ADDON_MANAGER_DATA)
|
@singleton(OTBR_ADDON_MANAGER_DATA)
|
||||||
@ -94,6 +94,8 @@ async def guess_firmware_type(hass: HomeAssistant, device_path: str) -> Firmware
|
|||||||
|
|
||||||
for zha_config_entry in hass.config_entries.async_entries(ZHA_DOMAIN):
|
for zha_config_entry in hass.config_entries.async_entries(ZHA_DOMAIN):
|
||||||
zha_path = get_zha_device_path(zha_config_entry)
|
zha_path = get_zha_device_path(zha_config_entry)
|
||||||
|
|
||||||
|
if zha_path is not None:
|
||||||
device_guesses[zha_path].append(
|
device_guesses[zha_path].append(
|
||||||
FirmwareGuess(
|
FirmwareGuess(
|
||||||
is_running=(zha_config_entry.state == ConfigEntryState.LOADED),
|
is_running=(zha_config_entry.state == ConfigEntryState.LOADED),
|
||||||
|
@ -94,6 +94,18 @@ def test_get_zha_device_path() -> None:
|
|||||||
)
|
)
|
||||||
|
|
||||||
|
|
||||||
|
def test_get_zha_device_path_ignored_discovery() -> None:
|
||||||
|
"""Test extracting the ZHA device path from an ignored ZHA discovery."""
|
||||||
|
config_entry = MockConfigEntry(
|
||||||
|
domain="zha",
|
||||||
|
unique_id="some_unique_id",
|
||||||
|
data={},
|
||||||
|
version=4,
|
||||||
|
)
|
||||||
|
|
||||||
|
assert get_zha_device_path(config_entry) is None
|
||||||
|
|
||||||
|
|
||||||
async def test_guess_firmware_type_unknown(hass: HomeAssistant) -> None:
|
async def test_guess_firmware_type_unknown(hass: HomeAssistant) -> None:
|
||||||
"""Test guessing the firmware type."""
|
"""Test guessing the firmware type."""
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user