Deprecate DeviceEntry.suggested_area (#149730)

This commit is contained in:
Erik Montnemery 2025-08-01 10:34:34 +02:00 committed by GitHub
parent 22e054f4cd
commit 0d7608f7c5
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
128 changed files with 180 additions and 795 deletions

View File

@ -430,7 +430,6 @@ async def async_devices_payload(hass: HomeAssistant) -> dict:
"model": device.model, "model": device.model,
"sw_version": device.sw_version, "sw_version": device.sw_version,
"hw_version": device.hw_version, "hw_version": device.hw_version,
"has_suggested_area": device.suggested_area is not None,
"has_configuration_url": device.configuration_url is not None, "has_configuration_url": device.configuration_url is not None,
"via_device": None, "via_device": None,
} }

View File

@ -116,6 +116,8 @@ async def async_get_config_entry_diagnostics(
entities.append({"entity": entity_dict, "state": state_dict}) entities.append({"entity": entity_dict, "state": state_dict})
device_dict = asdict(device) device_dict = asdict(device)
device_dict.pop("_cache", None) device_dict.pop("_cache", None)
# This can be removed when suggested_area is removed from DeviceEntry
device_dict.pop("_suggested_area")
device_entities.append({"device": device_dict, "entities": entities}) device_entities.append({"device": device_dict, "entities": entities})
# remove envoy serial # remove envoy serial

View File

@ -32,6 +32,7 @@ from homeassistant.util.json import format_unserializable_data
from . import storage, translation from . import storage, translation
from .debounce import Debouncer from .debounce import Debouncer
from .deprecation import deprecated_function
from .frame import ReportBehavior, report_usage from .frame import ReportBehavior, report_usage
from .json import JSON_DUMP, find_paths_unserializable_data, json_bytes, json_fragment from .json import JSON_DUMP, find_paths_unserializable_data, json_bytes, json_fragment
from .registry import BaseRegistry, BaseRegistryItems, RegistryIndexType from .registry import BaseRegistry, BaseRegistryItems, RegistryIndexType
@ -67,6 +68,7 @@ CONNECTION_ZIGBEE = "zigbee"
ORPHANED_DEVICE_KEEP_SECONDS = 86400 * 30 ORPHANED_DEVICE_KEEP_SECONDS = 86400 * 30
# Can be removed when suggested_area is removed from DeviceEntry
RUNTIME_ONLY_ATTRS = {"suggested_area"} RUNTIME_ONLY_ATTRS = {"suggested_area"}
CONFIGURATION_URL_SCHEMES = {"http", "https", "homeassistant"} CONFIGURATION_URL_SCHEMES = {"http", "https", "homeassistant"}
@ -343,7 +345,8 @@ class DeviceEntry:
name: str | None = attr.ib(default=None) name: str | None = attr.ib(default=None)
primary_config_entry: str | None = attr.ib(default=None) primary_config_entry: str | None = attr.ib(default=None)
serial_number: str | None = attr.ib(default=None) serial_number: str | None = attr.ib(default=None)
suggested_area: str | None = attr.ib(default=None) # Suggested area is deprecated and will be removed from DeviceEntry in 2026.9.
_suggested_area: str | None = attr.ib(default=None)
sw_version: str | None = attr.ib(default=None) sw_version: str | None = attr.ib(default=None)
via_device_id: str | None = attr.ib(default=None) via_device_id: str | None = attr.ib(default=None)
# This value is not stored, just used to keep track of events to fire. # This value is not stored, just used to keep track of events to fire.
@ -442,6 +445,14 @@ class DeviceEntry:
) )
) )
@property
@deprecated_function(
"code which ignores suggested_area", breaks_in_ha_version="2026.9"
)
def suggested_area(self) -> str | None:
"""Return the suggested area for this device entry."""
return self._suggested_area
@attr.s(frozen=True, slots=True) @attr.s(frozen=True, slots=True)
class DeletedDeviceEntry: class DeletedDeviceEntry:
@ -1197,6 +1208,7 @@ class DeviceRegistry(BaseRegistry[dict[str, list[dict[str, Any]]]]):
("name", name), ("name", name),
("name_by_user", name_by_user), ("name_by_user", name_by_user),
("serial_number", serial_number), ("serial_number", serial_number),
# Can be removed when suggested_area is removed from DeviceEntry
("suggested_area", suggested_area), ("suggested_area", suggested_area),
("sw_version", sw_version), ("sw_version", sw_version),
("via_device_id", via_device_id), ("via_device_id", via_device_id),
@ -1211,6 +1223,7 @@ class DeviceRegistry(BaseRegistry[dict[str, list[dict[str, Any]]]]):
if not new_values: if not new_values:
return old return old
# This condition can be removed when suggested_area is removed from DeviceEntry
if not RUNTIME_ONLY_ATTRS.issuperset(new_values): if not RUNTIME_ONLY_ATTRS.issuperset(new_values):
# Change modified_at if we are changing something that we store # Change modified_at if we are changing something that we store
new_values["modified_at"] = utcnow() new_values["modified_at"] = utcnow()
@ -1233,6 +1246,7 @@ class DeviceRegistry(BaseRegistry[dict[str, list[dict[str, Any]]]]):
# firing events for data we have nothing to compare # firing events for data we have nothing to compare
# against since its never saved on disk # against since its never saved on disk
if RUNTIME_ONLY_ATTRS.issuperset(new_values): if RUNTIME_ONLY_ATTRS.issuperset(new_values):
# This can be removed when suggested_area is removed from DeviceEntry
return new return new
self.async_schedule_save() self.async_schedule_save()

View File

@ -31,7 +31,6 @@
'name_by_user': None, 'name_by_user': None,
'primary_config_entry': <ANY>, 'primary_config_entry': <ANY>,
'serial_number': None, 'serial_number': None,
'suggested_area': 'Kitchen',
'sw_version': None, 'sw_version': None,
'via_device_id': None, 'via_device_id': None,
}) })

View File

@ -31,7 +31,6 @@
'name_by_user': None, 'name_by_user': None,
'primary_config_entry': <ANY>, 'primary_config_entry': <ANY>,
'serial_number': '84fce612f5b8', 'serial_number': '84fce612f5b8',
'suggested_area': None,
'sw_version': '3.1.1', 'sw_version': '3.1.1',
'via_device_id': None, 'via_device_id': None,
}) })
@ -68,7 +67,6 @@
'name_by_user': None, 'name_by_user': None,
'primary_config_entry': <ANY>, 'primary_config_entry': <ANY>,
'serial_number': '84fce612f5b8', 'serial_number': '84fce612f5b8',
'suggested_area': None,
'sw_version': '3.1.1', 'sw_version': '3.1.1',
'via_device_id': None, 'via_device_id': None,
}) })

View File

@ -27,7 +27,6 @@
'name_by_user': None, 'name_by_user': None,
'primary_config_entry': <ANY>, 'primary_config_entry': <ANY>,
'serial_number': 'echo_test_serial_number', 'serial_number': 'echo_test_serial_number',
'suggested_area': None,
'sw_version': 'echo_test_software_version', 'sw_version': 'echo_test_software_version',
'via_device_id': None, 'via_device_id': None,
}) })

View File

@ -1051,7 +1051,6 @@ async def test_devices_payload(
"hw_version": "test-hw-version", "hw_version": "test-hw-version",
"integration": "hue", "integration": "hue",
"is_custom_integration": False, "is_custom_integration": False,
"has_suggested_area": True,
"has_configuration_url": True, "has_configuration_url": True,
"via_device": None, "via_device": None,
}, },
@ -1063,7 +1062,6 @@ async def test_devices_payload(
"hw_version": None, "hw_version": None,
"integration": "hue", "integration": "hue",
"is_custom_integration": False, "is_custom_integration": False,
"has_suggested_area": False,
"has_configuration_url": False, "has_configuration_url": False,
"via_device": 0, "via_device": 0,
}, },

View File

@ -27,7 +27,6 @@
'name_by_user': None, 'name_by_user': None,
'primary_config_entry': <ANY>, 'primary_config_entry': <ANY>,
'serial_number': 'serial', 'serial_number': 'serial',
'suggested_area': 'Basement',
'sw_version': '2.14', 'sw_version': '2.14',
'via_device_id': None, 'via_device_id': None,
}) })

View File

@ -27,7 +27,6 @@
'name_by_user': None, 'name_by_user': None,
'primary_config_entry': <ANY>, 'primary_config_entry': <ANY>,
'serial_number': None, 'serial_number': None,
'suggested_area': None,
'sw_version': '3.14.14 (31 May 2016) unknown', 'sw_version': '3.14.14 (31 May 2016) unknown',
'via_device_id': None, 'via_device_id': None,
}) })
@ -60,7 +59,6 @@
'name_by_user': None, 'name_by_user': None,
'primary_config_entry': <ANY>, 'primary_config_entry': <ANY>,
'serial_number': None, 'serial_number': None,
'suggested_area': None,
'sw_version': None, 'sw_version': None,
'via_device_id': None, 'via_device_id': None,
}) })
@ -93,7 +91,6 @@
'name_by_user': None, 'name_by_user': None,
'primary_config_entry': <ANY>, 'primary_config_entry': <ANY>,
'serial_number': None, 'serial_number': None,
'suggested_area': None,
'sw_version': None, 'sw_version': None,
'via_device_id': None, 'via_device_id': None,
}) })
@ -126,7 +123,6 @@
'name_by_user': None, 'name_by_user': None,
'primary_config_entry': <ANY>, 'primary_config_entry': <ANY>,
'serial_number': None, 'serial_number': None,
'suggested_area': None,
'sw_version': None, 'sw_version': None,
'via_device_id': None, 'via_device_id': None,
}) })

View File

@ -27,7 +27,6 @@
'name_by_user': None, 'name_by_user': None,
'primary_config_entry': <ANY>, 'primary_config_entry': <ANY>,
'serial_number': None, 'serial_number': None,
'suggested_area': 'tmt100 Name',
'sw_version': '3.1.0-HYDRC75+201909251139', 'sw_version': '3.1.0-HYDRC75+201909251139',
'via_device_id': None, 'via_device_id': None,
}) })

View File

@ -31,7 +31,6 @@
'name_by_user': None, 'name_by_user': None,
'primary_config_entry': <ANY>, 'primary_config_entry': <ANY>,
'serial_number': None, 'serial_number': None,
'suggested_area': 'online_with_doorsense Name',
'sw_version': 'undefined-4.3.0-1.8.14', 'sw_version': 'undefined-4.3.0-1.8.14',
'via_device_id': None, 'via_device_id': None,
}) })

View File

@ -31,7 +31,6 @@
'name_by_user': None, 'name_by_user': None,
'primary_config_entry': <ANY>, 'primary_config_entry': <ANY>,
'serial_number': '00:40:8c:12:34:56', 'serial_number': '00:40:8c:12:34:56',
'suggested_area': None,
'sw_version': '9.10.1', 'sw_version': '9.10.1',
'via_device_id': None, 'via_device_id': None,
}) })
@ -68,7 +67,6 @@
'name_by_user': None, 'name_by_user': None,
'primary_config_entry': <ANY>, 'primary_config_entry': <ANY>,
'serial_number': '00:40:8c:12:34:56', 'serial_number': '00:40:8c:12:34:56',
'suggested_area': None,
'sw_version': '9.80.1', 'sw_version': '9.80.1',
'via_device_id': None, 'via_device_id': None,
}) })

View File

@ -11,7 +11,11 @@ from homeassistant.components.fan import DOMAIN as FAN_DOMAIN
from homeassistant.config_entries import ConfigEntryState from homeassistant.config_entries import ConfigEntryState
from homeassistant.const import ATTR_ASSUMED_STATE, CONF_ACCESS_TOKEN, CONF_HOST from homeassistant.const import ATTR_ASSUMED_STATE, CONF_ACCESS_TOKEN, CONF_HOST
from homeassistant.core import HomeAssistant from homeassistant.core import HomeAssistant
from homeassistant.helpers import device_registry as dr, entity_registry as er from homeassistant.helpers import (
area_registry as ar,
device_registry as dr,
entity_registry as er,
)
from homeassistant.setup import async_setup_component from homeassistant.setup import async_setup_component
from .common import ( from .common import (
@ -202,7 +206,9 @@ async def test_old_identifiers_are_removed(
async def test_smart_by_bond_device_suggested_area( async def test_smart_by_bond_device_suggested_area(
hass: HomeAssistant, device_registry: dr.DeviceRegistry hass: HomeAssistant,
area_registry: ar.AreaRegistry,
device_registry: dr.DeviceRegistry,
) -> None: ) -> None:
"""Test we can setup a smart by bond device and get the suggested area.""" """Test we can setup a smart by bond device and get the suggested area."""
config_entry = MockConfigEntry( config_entry = MockConfigEntry(
@ -241,11 +247,13 @@ async def test_smart_by_bond_device_suggested_area(
device = device_registry.async_get_device(identifiers={(DOMAIN, "KXXX12345")}) device = device_registry.async_get_device(identifiers={(DOMAIN, "KXXX12345")})
assert device is not None assert device is not None
assert device.suggested_area == "Den" assert device.area_id == area_registry.async_get_area_by_name("Den").id
async def test_bridge_device_suggested_area( async def test_bridge_device_suggested_area(
hass: HomeAssistant, device_registry: dr.DeviceRegistry hass: HomeAssistant,
area_registry: ar.AreaRegistry,
device_registry: dr.DeviceRegistry,
) -> None: ) -> None:
"""Test we can setup a bridge bond device and get the suggested area.""" """Test we can setup a bridge bond device and get the suggested area."""
config_entry = MockConfigEntry( config_entry = MockConfigEntry(
@ -289,7 +297,7 @@ async def test_bridge_device_suggested_area(
device = device_registry.async_get_device(identifiers={(DOMAIN, "ZXXX12345")}) device = device_registry.async_get_device(identifiers={(DOMAIN, "ZXXX12345")})
assert device is not None assert device is not None
assert device.suggested_area == "Office" assert device.area_id == area_registry.async_get_area_by_name("Office").id
async def test_device_remove_devices( async def test_device_remove_devices(

View File

@ -27,7 +27,6 @@
'name_by_user': None, 'name_by_user': None,
'primary_config_entry': <ANY>, 'primary_config_entry': <ANY>,
'serial_number': '0020c2d8', 'serial_number': '0020c2d8',
'suggested_area': None,
'sw_version': None, 'sw_version': None,
'via_device_id': None, 'via_device_id': None,
}) })

View File

@ -27,7 +27,6 @@
'name_by_user': None, 'name_by_user': None,
'primary_config_entry': <ANY>, 'primary_config_entry': <ANY>,
'serial_number': None, 'serial_number': None,
'suggested_area': None,
'sw_version': None, 'sw_version': None,
'via_device_id': None, 'via_device_id': None,
}) })

View File

@ -31,7 +31,6 @@
'name_by_user': None, 'name_by_user': None,
'primary_config_entry': <ANY>, 'primary_config_entry': <ANY>,
'serial_number': '1234567890', 'serial_number': '1234567890',
'suggested_area': None,
'sw_version': '5.6.1', 'sw_version': '5.6.1',
'via_device_id': None, 'via_device_id': None,
}) })
@ -68,7 +67,6 @@
'name_by_user': None, 'name_by_user': None,
'primary_config_entry': <ANY>, 'primary_config_entry': <ANY>,
'serial_number': '1234567890', 'serial_number': '1234567890',
'suggested_area': None,
'sw_version': '5.6.1', 'sw_version': '5.6.1',
'via_device_id': None, 'via_device_id': None,
}) })
@ -101,7 +99,6 @@
'name_by_user': None, 'name_by_user': None,
'primary_config_entry': <ANY>, 'primary_config_entry': <ANY>,
'serial_number': '1234567890', 'serial_number': '1234567890',
'suggested_area': None,
'sw_version': '5.6.1', 'sw_version': '5.6.1',
'via_device_id': None, 'via_device_id': None,
}) })

View File

@ -27,7 +27,6 @@
'name_by_user': None, 'name_by_user': None,
'primary_config_entry': <ANY>, 'primary_config_entry': <ANY>,
'serial_number': 'E1234567890000000001', 'serial_number': 'E1234567890000000001',
'suggested_area': None,
'sw_version': None, 'sw_version': None,
'via_device_id': None, 'via_device_id': None,
}) })

View File

@ -80,7 +80,6 @@
'name_by_user': None, 'name_by_user': None,
'primary_config_entry': <ANY>, 'primary_config_entry': <ANY>,
'serial_number': 'GW24L1A02987', 'serial_number': 'GW24L1A02987',
'suggested_area': None,
'sw_version': '1.0.4 (229)', 'sw_version': '1.0.4 (229)',
'via_device_id': None, 'via_device_id': None,
}) })
@ -166,7 +165,6 @@
'name_by_user': None, 'name_by_user': None,
'primary_config_entry': <ANY>, 'primary_config_entry': <ANY>,
'serial_number': 'GW24L1A02987', 'serial_number': 'GW24L1A02987',
'suggested_area': None,
'sw_version': '1.0.4 (229)', 'sw_version': '1.0.4 (229)',
'via_device_id': None, 'via_device_id': None,
}) })

View File

@ -112,7 +112,6 @@
'name_by_user': None, 'name_by_user': None,
'primary_config_entry': <ANY>, 'primary_config_entry': <ANY>,
'serial_number': 'CN11A1A00001', 'serial_number': 'CN11A1A00001',
'suggested_area': None,
'sw_version': '1.0.3 (192)', 'sw_version': '1.0.3 (192)',
'via_device_id': None, 'via_device_id': None,
}) })
@ -232,7 +231,6 @@
'name_by_user': None, 'name_by_user': None,
'primary_config_entry': <ANY>, 'primary_config_entry': <ANY>,
'serial_number': 'CN11A1A00001', 'serial_number': 'CN11A1A00001',
'suggested_area': None,
'sw_version': '1.0.3 (192)', 'sw_version': '1.0.3 (192)',
'via_device_id': None, 'via_device_id': None,
}) })
@ -352,7 +350,6 @@
'name_by_user': None, 'name_by_user': None,
'primary_config_entry': <ANY>, 'primary_config_entry': <ANY>,
'serial_number': 'CN11A1A00001', 'serial_number': 'CN11A1A00001',
'suggested_area': None,
'sw_version': '1.0.3 (192)', 'sw_version': '1.0.3 (192)',
'via_device_id': None, 'via_device_id': None,
}) })

View File

@ -87,7 +87,6 @@
'name_by_user': None, 'name_by_user': None,
'primary_config_entry': <ANY>, 'primary_config_entry': <ANY>,
'serial_number': 'GW24L1A02987', 'serial_number': 'GW24L1A02987',
'suggested_area': None,
'sw_version': '1.0.4 (229)', 'sw_version': '1.0.4 (229)',
'via_device_id': None, 'via_device_id': None,
}) })
@ -183,7 +182,6 @@
'name_by_user': None, 'name_by_user': None,
'primary_config_entry': <ANY>, 'primary_config_entry': <ANY>,
'serial_number': 'GW24L1A02987', 'serial_number': 'GW24L1A02987',
'suggested_area': None,
'sw_version': '1.0.4 (229)', 'sw_version': '1.0.4 (229)',
'via_device_id': None, 'via_device_id': None,
}) })
@ -279,7 +277,6 @@
'name_by_user': None, 'name_by_user': None,
'primary_config_entry': <ANY>, 'primary_config_entry': <ANY>,
'serial_number': 'GW24L1A02987', 'serial_number': 'GW24L1A02987',
'suggested_area': None,
'sw_version': '1.0.4 (229)', 'sw_version': '1.0.4 (229)',
'via_device_id': None, 'via_device_id': None,
}) })
@ -372,7 +369,6 @@
'name_by_user': None, 'name_by_user': None,
'primary_config_entry': <ANY>, 'primary_config_entry': <ANY>,
'serial_number': 'GW24L1A02987', 'serial_number': 'GW24L1A02987',
'suggested_area': None,
'sw_version': '1.0.4 (229)', 'sw_version': '1.0.4 (229)',
'via_device_id': None, 'via_device_id': None,
}) })
@ -468,7 +464,6 @@
'name_by_user': None, 'name_by_user': None,
'primary_config_entry': <ANY>, 'primary_config_entry': <ANY>,
'serial_number': 'GW24L1A02987', 'serial_number': 'GW24L1A02987',
'suggested_area': None,
'sw_version': '1.0.4 (229)', 'sw_version': '1.0.4 (229)',
'via_device_id': None, 'via_device_id': None,
}) })

View File

@ -79,7 +79,6 @@
'name_by_user': None, 'name_by_user': None,
'primary_config_entry': <ANY>, 'primary_config_entry': <ANY>,
'serial_number': 'GW24L1A02987', 'serial_number': 'GW24L1A02987',
'suggested_area': None,
'sw_version': '1.0.4 (229)', 'sw_version': '1.0.4 (229)',
'via_device_id': None, 'via_device_id': None,
}) })
@ -164,7 +163,6 @@
'name_by_user': None, 'name_by_user': None,
'primary_config_entry': <ANY>, 'primary_config_entry': <ANY>,
'serial_number': 'GW24L1A02987', 'serial_number': 'GW24L1A02987',
'suggested_area': None,
'sw_version': '1.0.4 (229)', 'sw_version': '1.0.4 (229)',
'via_device_id': None, 'via_device_id': None,
}) })

View File

@ -60,7 +60,6 @@
'name_by_user': None, 'name_by_user': None,
'primary_config_entry': '45a36e55aaddb2007c5f6602e0c38e72', 'primary_config_entry': '45a36e55aaddb2007c5f6602e0c38e72',
'serial_number': '<<envoyserial>>', 'serial_number': '<<envoyserial>>',
'suggested_area': None,
'sw_version': '7.6.175', 'sw_version': '7.6.175',
}), }),
'entities': list([ 'entities': list([
@ -308,7 +307,6 @@
'name_by_user': None, 'name_by_user': None,
'primary_config_entry': '45a36e55aaddb2007c5f6602e0c38e72', 'primary_config_entry': '45a36e55aaddb2007c5f6602e0c38e72',
'serial_number': '1', 'serial_number': '1',
'suggested_area': None,
'sw_version': None, 'sw_version': None,
}), }),
'entities': list([ 'entities': list([
@ -939,7 +937,6 @@
'name_by_user': None, 'name_by_user': None,
'primary_config_entry': '45a36e55aaddb2007c5f6602e0c38e72', 'primary_config_entry': '45a36e55aaddb2007c5f6602e0c38e72',
'serial_number': '<<envoyserial>>', 'serial_number': '<<envoyserial>>',
'suggested_area': None,
'sw_version': '7.6.175', 'sw_version': '7.6.175',
}), }),
'entities': list([ 'entities': list([
@ -1187,7 +1184,6 @@
'name_by_user': None, 'name_by_user': None,
'primary_config_entry': '45a36e55aaddb2007c5f6602e0c38e72', 'primary_config_entry': '45a36e55aaddb2007c5f6602e0c38e72',
'serial_number': '1', 'serial_number': '1',
'suggested_area': None,
'sw_version': None, 'sw_version': None,
}), }),
'entities': list([ 'entities': list([
@ -1862,7 +1858,6 @@
'name_by_user': None, 'name_by_user': None,
'primary_config_entry': '45a36e55aaddb2007c5f6602e0c38e72', 'primary_config_entry': '45a36e55aaddb2007c5f6602e0c38e72',
'serial_number': '<<envoyserial>>', 'serial_number': '<<envoyserial>>',
'suggested_area': None,
'sw_version': '7.6.175', 'sw_version': '7.6.175',
}), }),
'entities': list([ 'entities': list([
@ -2110,7 +2105,6 @@
'name_by_user': None, 'name_by_user': None,
'primary_config_entry': '45a36e55aaddb2007c5f6602e0c38e72', 'primary_config_entry': '45a36e55aaddb2007c5f6602e0c38e72',
'serial_number': '1', 'serial_number': '1',
'suggested_area': None,
'sw_version': None, 'sw_version': None,
}), }),
'entities': list([ 'entities': list([
@ -2806,7 +2800,6 @@
'name_by_user': None, 'name_by_user': None,
'primary_config_entry': '45a36e55aaddb2007c5f6602e0c38e72', 'primary_config_entry': '45a36e55aaddb2007c5f6602e0c38e72',
'serial_number': '1', 'serial_number': '1',
'suggested_area': None,
'sw_version': None, 'sw_version': None,
}), }),
'entities': list([ 'entities': list([
@ -3356,7 +3349,6 @@
'name_by_user': None, 'name_by_user': None,
'primary_config_entry': '45a36e55aaddb2007c5f6602e0c38e72', 'primary_config_entry': '45a36e55aaddb2007c5f6602e0c38e72',
'serial_number': '<<envoyserial>>', 'serial_number': '<<envoyserial>>',
'suggested_area': None,
'sw_version': '7.6.175', 'sw_version': '7.6.175',
}), }),
'entities': list([ 'entities': list([

View File

@ -50,6 +50,7 @@ from homeassistant.core import HomeAssistant, ServiceCall
from homeassistant.data_entry_flow import FlowResultType from homeassistant.data_entry_flow import FlowResultType
from homeassistant.exceptions import HomeAssistantError from homeassistant.exceptions import HomeAssistantError
from homeassistant.helpers import ( from homeassistant.helpers import (
area_registry as ar,
device_registry as dr, device_registry as dr,
entity_registry as er, entity_registry as er,
issue_registry as ir, issue_registry as ir,
@ -1170,6 +1171,7 @@ async def test_esphome_user_services_changes(
async def test_esphome_device_with_suggested_area( async def test_esphome_device_with_suggested_area(
hass: HomeAssistant, hass: HomeAssistant,
area_registry: ar.AreaRegistry,
device_registry: dr.DeviceRegistry, device_registry: dr.DeviceRegistry,
mock_client: APIClient, mock_client: APIClient,
mock_esphome_device: MockESPHomeDeviceType, mock_esphome_device: MockESPHomeDeviceType,
@ -1184,11 +1186,12 @@ async def test_esphome_device_with_suggested_area(
dev = device_registry.async_get_device( dev = device_registry.async_get_device(
connections={(dr.CONNECTION_NETWORK_MAC, entry.unique_id)} connections={(dr.CONNECTION_NETWORK_MAC, entry.unique_id)}
) )
assert dev.suggested_area == "kitchen" assert dev.area_id == area_registry.async_get_area_by_name("kitchen").id
async def test_esphome_device_area_priority( async def test_esphome_device_area_priority(
hass: HomeAssistant, hass: HomeAssistant,
area_registry: ar.AreaRegistry,
device_registry: dr.DeviceRegistry, device_registry: dr.DeviceRegistry,
mock_client: APIClient, mock_client: APIClient,
mock_esphome_device: MockESPHomeDeviceType, mock_esphome_device: MockESPHomeDeviceType,
@ -1207,7 +1210,7 @@ async def test_esphome_device_area_priority(
connections={(dr.CONNECTION_NETWORK_MAC, entry.unique_id)} connections={(dr.CONNECTION_NETWORK_MAC, entry.unique_id)}
) )
# Should use device_info.area.name instead of suggested_area # Should use device_info.area.name instead of suggested_area
assert dev.suggested_area == "Living Room" assert dev.area_id == area_registry.async_get_area_by_name("Living Room").id
async def test_esphome_device_with_project( async def test_esphome_device_with_project(
@ -1535,6 +1538,7 @@ async def test_assist_in_progress_issue_deleted(
async def test_sub_device_creation( async def test_sub_device_creation(
hass: HomeAssistant, hass: HomeAssistant,
area_registry: ar.AreaRegistry,
mock_client: APIClient, mock_client: APIClient,
mock_esphome_device: MockESPHomeDeviceType, mock_esphome_device: MockESPHomeDeviceType,
) -> None: ) -> None:
@ -1571,7 +1575,7 @@ async def test_sub_device_creation(
connections={(dr.CONNECTION_NETWORK_MAC, device.device_info.mac_address)} connections={(dr.CONNECTION_NETWORK_MAC, device.device_info.mac_address)}
) )
assert main_device is not None assert main_device is not None
assert main_device.suggested_area == "Main Hub" assert main_device.area_id == area_registry.async_get_area_by_name("Main Hub").id
# Check sub devices are created # Check sub devices are created
sub_device_1 = device_registry.async_get_device( sub_device_1 = device_registry.async_get_device(
@ -1579,7 +1583,9 @@ async def test_sub_device_creation(
) )
assert sub_device_1 is not None assert sub_device_1 is not None
assert sub_device_1.name == "Motion Sensor" assert sub_device_1.name == "Motion Sensor"
assert sub_device_1.suggested_area == "Living Room" assert (
sub_device_1.area_id == area_registry.async_get_area_by_name("Living Room").id
)
assert sub_device_1.via_device_id == main_device.id assert sub_device_1.via_device_id == main_device.id
sub_device_2 = device_registry.async_get_device( sub_device_2 = device_registry.async_get_device(
@ -1587,7 +1593,9 @@ async def test_sub_device_creation(
) )
assert sub_device_2 is not None assert sub_device_2 is not None
assert sub_device_2.name == "Light Switch" assert sub_device_2.name == "Light Switch"
assert sub_device_2.suggested_area == "Living Room" assert (
sub_device_2.area_id == area_registry.async_get_area_by_name("Living Room").id
)
assert sub_device_2.via_device_id == main_device.id assert sub_device_2.via_device_id == main_device.id
sub_device_3 = device_registry.async_get_device( sub_device_3 = device_registry.async_get_device(
@ -1595,7 +1603,7 @@ async def test_sub_device_creation(
) )
assert sub_device_3 is not None assert sub_device_3 is not None
assert sub_device_3.name == "Temperature Sensor" assert sub_device_3.name == "Temperature Sensor"
assert sub_device_3.suggested_area == "Bedroom" assert sub_device_3.area_id == area_registry.async_get_area_by_name("Bedroom").id
assert sub_device_3.via_device_id == main_device.id assert sub_device_3.via_device_id == main_device.id
@ -1731,6 +1739,7 @@ async def test_sub_device_with_empty_name(
async def test_sub_device_references_main_device_area( async def test_sub_device_references_main_device_area(
hass: HomeAssistant, hass: HomeAssistant,
area_registry: ar.AreaRegistry,
mock_client: APIClient, mock_client: APIClient,
mock_esphome_device: MockESPHomeDeviceType, mock_esphome_device: MockESPHomeDeviceType,
) -> None: ) -> None:
@ -1772,28 +1781,34 @@ async def test_sub_device_references_main_device_area(
connections={(dr.CONNECTION_NETWORK_MAC, device.device_info.mac_address)} connections={(dr.CONNECTION_NETWORK_MAC, device.device_info.mac_address)}
) )
assert main_device is not None assert main_device is not None
assert main_device.suggested_area == "Main Hub Area" assert (
main_device.area_id == area_registry.async_get_area_by_name("Main Hub Area").id
)
# Check sub device 1 uses main device's area # Check sub device 1 uses main device's area
sub_device_1 = device_registry.async_get_device( sub_device_1 = device_registry.async_get_device(
identifiers={(DOMAIN, f"{device.device_info.mac_address}_11111111")} identifiers={(DOMAIN, f"{device.device_info.mac_address}_11111111")}
) )
assert sub_device_1 is not None assert sub_device_1 is not None
assert sub_device_1.suggested_area == "Main Hub Area" assert (
sub_device_1.area_id == area_registry.async_get_area_by_name("Main Hub Area").id
)
# Check sub device 2 uses Living Room # Check sub device 2 uses Living Room
sub_device_2 = device_registry.async_get_device( sub_device_2 = device_registry.async_get_device(
identifiers={(DOMAIN, f"{device.device_info.mac_address}_22222222")} identifiers={(DOMAIN, f"{device.device_info.mac_address}_22222222")}
) )
assert sub_device_2 is not None assert sub_device_2 is not None
assert sub_device_2.suggested_area == "Living Room" assert (
sub_device_2.area_id == area_registry.async_get_area_by_name("Living Room").id
)
# Check sub device 3 uses Bedroom # Check sub device 3 uses Bedroom
sub_device_3 = device_registry.async_get_device( sub_device_3 = device_registry.async_get_device(
identifiers={(DOMAIN, f"{device.device_info.mac_address}_33333333")} identifiers={(DOMAIN, f"{device.device_info.mac_address}_33333333")}
) )
assert sub_device_3 is not None assert sub_device_3 is not None
assert sub_device_3.suggested_area == "Bedroom" assert sub_device_3.area_id == area_registry.async_get_area_by_name("Bedroom").id
@patch("homeassistant.components.esphome.manager.secrets.token_bytes") @patch("homeassistant.components.esphome.manager.secrets.token_bytes")

View File

@ -32,7 +32,6 @@
'name_by_user': None, 'name_by_user': None,
'primary_config_entry': <ANY>, 'primary_config_entry': <ANY>,
'serial_number': '111111111111', 'serial_number': '111111111111',
'suggested_area': None,
'sw_version': '6.1.1', 'sw_version': '6.1.1',
'via_device_id': None, 'via_device_id': None,
}), }),
@ -67,7 +66,6 @@
'name_by_user': None, 'name_by_user': None,
'primary_config_entry': <ANY>, 'primary_config_entry': <ANY>,
'serial_number': '111111111112', 'serial_number': '111111111112',
'suggested_area': None,
'sw_version': '1.1.15', 'sw_version': '1.1.15',
'via_device_id': None, 'via_device_id': None,
}), }),

View File

@ -31,7 +31,6 @@
'name_by_user': None, 'name_by_user': None,
'primary_config_entry': <ANY>, 'primary_config_entry': <ANY>,
'serial_number': None, 'serial_number': None,
'suggested_area': None,
'sw_version': '1.2.3', 'sw_version': '1.2.3',
'via_device_id': None, 'via_device_id': None,
}) })

View File

@ -28,7 +28,6 @@
'name_by_user': None, 'name_by_user': None,
'primary_config_entry': <ANY>, 'primary_config_entry': <ANY>,
'serial_number': None, 'serial_number': None,
'suggested_area': None,
'sw_version': None, 'sw_version': None,
'via_device_id': None, 'via_device_id': None,
}), }),
@ -59,7 +58,6 @@
'name_by_user': None, 'name_by_user': None,
'primary_config_entry': <ANY>, 'primary_config_entry': <ANY>,
'serial_number': None, 'serial_number': None,
'suggested_area': None,
'sw_version': None, 'sw_version': None,
'via_device_id': None, 'via_device_id': None,
}), }),
@ -90,7 +88,6 @@
'name_by_user': None, 'name_by_user': None,
'primary_config_entry': <ANY>, 'primary_config_entry': <ANY>,
'serial_number': None, 'serial_number': None,
'suggested_area': None,
'sw_version': None, 'sw_version': None,
'via_device_id': None, 'via_device_id': None,
}), }),
@ -121,7 +118,6 @@
'name_by_user': None, 'name_by_user': None,
'primary_config_entry': <ANY>, 'primary_config_entry': <ANY>,
'serial_number': None, 'serial_number': None,
'suggested_area': None,
'sw_version': None, 'sw_version': None,
'via_device_id': None, 'via_device_id': None,
}), }),

View File

@ -31,7 +31,6 @@
'name_by_user': None, 'name_by_user': None,
'primary_config_entry': <ANY>, 'primary_config_entry': <ANY>,
'serial_number': None, 'serial_number': None,
'suggested_area': None,
'sw_version': '1.2.3', 'sw_version': '1.2.3',
'via_device_id': None, 'via_device_id': None,
}) })
@ -64,7 +63,6 @@
'name_by_user': None, 'name_by_user': None,
'primary_config_entry': <ANY>, 'primary_config_entry': <ANY>,
'serial_number': None, 'serial_number': None,
'suggested_area': None,
'sw_version': '4.54', 'sw_version': '4.54',
'via_device_id': <ANY>, 'via_device_id': <ANY>,
}) })

View File

@ -34,7 +34,6 @@
'name_by_user': None, 'name_by_user': None,
'primary_config_entry': 'TestData', 'primary_config_entry': 'TestData',
'serial_number': '1234', 'serial_number': '1234',
'suggested_area': None,
'sw_version': '0.8.16', 'sw_version': '0.8.16',
}), }),
'entities': list([ 'entities': list([
@ -665,7 +664,6 @@
'name_by_user': None, 'name_by_user': None,
'primary_config_entry': 'TestData', 'primary_config_entry': 'TestData',
'serial_number': 'A0000A000000000A', 'serial_number': 'A0000A000000000A',
'suggested_area': None,
'sw_version': '2.1.6', 'sw_version': '2.1.6',
}), }),
'entities': list([ 'entities': list([
@ -747,7 +745,6 @@
'name_by_user': None, 'name_by_user': None,
'primary_config_entry': 'TestData', 'primary_config_entry': 'TestData',
'serial_number': 'A0000A000000000D', 'serial_number': 'A0000A000000000D',
'suggested_area': None,
'sw_version': '1.6.7', 'sw_version': '1.6.7',
}), }),
'entities': list([ 'entities': list([
@ -1005,7 +1002,6 @@
'name_by_user': None, 'name_by_user': None,
'primary_config_entry': 'TestData', 'primary_config_entry': 'TestData',
'serial_number': 'A0000A000000000B', 'serial_number': 'A0000A000000000B',
'suggested_area': None,
'sw_version': '1.6.7', 'sw_version': '1.6.7',
}), }),
'entities': list([ 'entities': list([
@ -1263,7 +1259,6 @@
'name_by_user': None, 'name_by_user': None,
'primary_config_entry': 'TestData', 'primary_config_entry': 'TestData',
'serial_number': 'A0000A000000000C', 'serial_number': 'A0000A000000000C',
'suggested_area': None,
'sw_version': '1.6.7', 'sw_version': '1.6.7',
}), }),
'entities': list([ 'entities': list([
@ -1525,7 +1520,6 @@
'name_by_user': None, 'name_by_user': None,
'primary_config_entry': 'TestData', 'primary_config_entry': 'TestData',
'serial_number': '00aa00000a0', 'serial_number': '00aa00000a0',
'suggested_area': None,
'sw_version': '3.3.0', 'sw_version': '3.3.0',
}), }),
'entities': list([ 'entities': list([
@ -1746,7 +1740,6 @@
'name_by_user': None, 'name_by_user': None,
'primary_config_entry': 'TestData', 'primary_config_entry': 'TestData',
'serial_number': '158d0007c59c6a', 'serial_number': '158d0007c59c6a',
'suggested_area': None,
'sw_version': '0', 'sw_version': '0',
}), }),
'entities': list([ 'entities': list([
@ -1923,7 +1916,6 @@
'name_by_user': None, 'name_by_user': None,
'primary_config_entry': 'TestData', 'primary_config_entry': 'TestData',
'serial_number': '0000000123456789', 'serial_number': '0000000123456789',
'suggested_area': None,
'sw_version': '1.4.7', 'sw_version': '1.4.7',
}), }),
'entities': list([ 'entities': list([
@ -2215,7 +2207,6 @@
'name_by_user': None, 'name_by_user': None,
'primary_config_entry': 'TestData', 'primary_config_entry': 'TestData',
'serial_number': '111a1111a1a111', 'serial_number': '111a1111a1a111',
'suggested_area': None,
'sw_version': '9', 'sw_version': '9',
}), }),
'entities': list([ 'entities': list([
@ -2349,7 +2340,6 @@
'name_by_user': None, 'name_by_user': None,
'primary_config_entry': 'TestData', 'primary_config_entry': 'TestData',
'serial_number': '00A0000000000', 'serial_number': '00A0000000000',
'suggested_area': None,
'sw_version': '1.10.931', 'sw_version': '1.10.931',
}), }),
'entities': list([ 'entities': list([
@ -2863,7 +2853,6 @@
'name_by_user': None, 'name_by_user': None,
'primary_config_entry': 'TestData', 'primary_config_entry': 'TestData',
'serial_number': '1020301376', 'serial_number': '1020301376',
'suggested_area': None,
'sw_version': '1.0.0', 'sw_version': '1.0.0',
}), }),
'entities': list([ 'entities': list([
@ -3335,7 +3324,6 @@
'name_by_user': None, 'name_by_user': None,
'primary_config_entry': 'TestData', 'primary_config_entry': 'TestData',
'serial_number': 'AB3C', 'serial_number': 'AB3C',
'suggested_area': None,
'sw_version': '1.0.0', 'sw_version': '1.0.0',
}), }),
'entities': list([ 'entities': list([
@ -3510,7 +3498,6 @@
'name_by_user': None, 'name_by_user': None,
'primary_config_entry': 'TestData', 'primary_config_entry': 'TestData',
'serial_number': '123456789012', 'serial_number': '123456789012',
'suggested_area': None,
'sw_version': '4.2.394', 'sw_version': '4.2.394',
}), }),
'entities': list([ 'entities': list([
@ -3992,7 +3979,6 @@
'name_by_user': None, 'name_by_user': None,
'primary_config_entry': 'TestData', 'primary_config_entry': 'TestData',
'serial_number': 'AB1C', 'serial_number': 'AB1C',
'suggested_area': None,
'sw_version': '1.0.0', 'sw_version': '1.0.0',
}), }),
'entities': list([ 'entities': list([
@ -4167,7 +4153,6 @@
'name_by_user': None, 'name_by_user': None,
'primary_config_entry': 'TestData', 'primary_config_entry': 'TestData',
'serial_number': 'AB2C', 'serial_number': 'AB2C',
'suggested_area': None,
'sw_version': '1.0.0', 'sw_version': '1.0.0',
}), }),
'entities': list([ 'entities': list([
@ -4346,7 +4331,6 @@
'name_by_user': None, 'name_by_user': None,
'primary_config_entry': 'TestData', 'primary_config_entry': 'TestData',
'serial_number': '**REDACTED**', 'serial_number': '**REDACTED**',
'suggested_area': None,
'sw_version': '1.0.0', 'sw_version': '1.0.0',
}), }),
'entities': list([ 'entities': list([
@ -4612,7 +4596,6 @@
'name_by_user': None, 'name_by_user': None,
'primary_config_entry': 'TestData', 'primary_config_entry': 'TestData',
'serial_number': '**REDACTED**', 'serial_number': '**REDACTED**',
'suggested_area': None,
'sw_version': '1.0.0', 'sw_version': '1.0.0',
}), }),
'entities': list([ 'entities': list([
@ -4871,7 +4854,6 @@
'name_by_user': None, 'name_by_user': None,
'primary_config_entry': 'TestData', 'primary_config_entry': 'TestData',
'serial_number': '**REDACTED**', 'serial_number': '**REDACTED**',
'suggested_area': None,
'sw_version': '1.0.0', 'sw_version': '1.0.0',
}), }),
'entities': list([ 'entities': list([
@ -5130,7 +5112,6 @@
'name_by_user': None, 'name_by_user': None,
'primary_config_entry': 'TestData', 'primary_config_entry': 'TestData',
'serial_number': '**REDACTED**', 'serial_number': '**REDACTED**',
'suggested_area': None,
'sw_version': '1.0.0', 'sw_version': '1.0.0',
}), }),
'entities': list([ 'entities': list([
@ -5389,7 +5370,6 @@
'name_by_user': None, 'name_by_user': None,
'primary_config_entry': 'TestData', 'primary_config_entry': 'TestData',
'serial_number': '**REDACTED**', 'serial_number': '**REDACTED**',
'suggested_area': None,
'sw_version': '1.0.0', 'sw_version': '1.0.0',
}), }),
'entities': list([ 'entities': list([
@ -5648,7 +5628,6 @@
'name_by_user': None, 'name_by_user': None,
'primary_config_entry': 'TestData', 'primary_config_entry': 'TestData',
'serial_number': '**REDACTED**', 'serial_number': '**REDACTED**',
'suggested_area': None,
'sw_version': '1.0.0', 'sw_version': '1.0.0',
}), }),
'entities': list([ 'entities': list([
@ -5914,7 +5893,6 @@
'name_by_user': None, 'name_by_user': None,
'primary_config_entry': 'TestData', 'primary_config_entry': 'TestData',
'serial_number': '**REDACTED**', 'serial_number': '**REDACTED**',
'suggested_area': None,
'sw_version': '1.0.0', 'sw_version': '1.0.0',
}), }),
'entities': list([ 'entities': list([
@ -6173,7 +6151,6 @@
'name_by_user': None, 'name_by_user': None,
'primary_config_entry': 'TestData', 'primary_config_entry': 'TestData',
'serial_number': '**REDACTED**', 'serial_number': '**REDACTED**',
'suggested_area': None,
'sw_version': '1.0.0', 'sw_version': '1.0.0',
}), }),
'entities': list([ 'entities': list([
@ -6432,7 +6409,6 @@
'name_by_user': None, 'name_by_user': None,
'primary_config_entry': 'TestData', 'primary_config_entry': 'TestData',
'serial_number': '**REDACTED**', 'serial_number': '**REDACTED**',
'suggested_area': None,
'sw_version': '1.0.0', 'sw_version': '1.0.0',
}), }),
'entities': list([ 'entities': list([
@ -6698,7 +6674,6 @@
'name_by_user': None, 'name_by_user': None,
'primary_config_entry': 'TestData', 'primary_config_entry': 'TestData',
'serial_number': '**REDACTED**', 'serial_number': '**REDACTED**',
'suggested_area': None,
'sw_version': '1.0.0', 'sw_version': '1.0.0',
}), }),
'entities': list([ 'entities': list([
@ -6957,7 +6932,6 @@
'name_by_user': None, 'name_by_user': None,
'primary_config_entry': 'TestData', 'primary_config_entry': 'TestData',
'serial_number': '**REDACTED**', 'serial_number': '**REDACTED**',
'suggested_area': None,
'sw_version': '4.8.70226', 'sw_version': '4.8.70226',
}), }),
'entities': list([ 'entities': list([
@ -7357,7 +7331,6 @@
'name_by_user': None, 'name_by_user': None,
'primary_config_entry': 'TestData', 'primary_config_entry': 'TestData',
'serial_number': '**REDACTED**', 'serial_number': '**REDACTED**',
'suggested_area': None,
'sw_version': '1.0.0', 'sw_version': '1.0.0',
}), }),
'entities': list([ 'entities': list([
@ -7623,7 +7596,6 @@
'name_by_user': None, 'name_by_user': None,
'primary_config_entry': 'TestData', 'primary_config_entry': 'TestData',
'serial_number': '**REDACTED**', 'serial_number': '**REDACTED**',
'suggested_area': None,
'sw_version': '1.0.0', 'sw_version': '1.0.0',
}), }),
'entities': list([ 'entities': list([
@ -7886,7 +7858,6 @@
'name_by_user': None, 'name_by_user': None,
'primary_config_entry': 'TestData', 'primary_config_entry': 'TestData',
'serial_number': '123456789012', 'serial_number': '123456789012',
'suggested_area': None,
'sw_version': '4.2.394', 'sw_version': '4.2.394',
}), }),
'entities': list([ 'entities': list([
@ -8372,7 +8343,6 @@
'name_by_user': None, 'name_by_user': None,
'primary_config_entry': 'TestData', 'primary_config_entry': 'TestData',
'serial_number': 'AB3C', 'serial_number': 'AB3C',
'suggested_area': None,
'sw_version': '1.0.0', 'sw_version': '1.0.0',
}), }),
'entities': list([ 'entities': list([
@ -8497,7 +8467,6 @@
'name_by_user': None, 'name_by_user': None,
'primary_config_entry': 'TestData', 'primary_config_entry': 'TestData',
'serial_number': '123456789012', 'serial_number': '123456789012',
'suggested_area': None,
'sw_version': '4.2.394', 'sw_version': '4.2.394',
}), }),
'entities': list([ 'entities': list([
@ -8798,7 +8767,6 @@
'name_by_user': None, 'name_by_user': None,
'primary_config_entry': 'TestData', 'primary_config_entry': 'TestData',
'serial_number': 'AB1C', 'serial_number': 'AB1C',
'suggested_area': None,
'sw_version': '1.0.0', 'sw_version': '1.0.0',
}), }),
'entities': list([ 'entities': list([
@ -8973,7 +8941,6 @@
'name_by_user': None, 'name_by_user': None,
'primary_config_entry': 'TestData', 'primary_config_entry': 'TestData',
'serial_number': 'AB2C', 'serial_number': 'AB2C',
'suggested_area': None,
'sw_version': '1.0.0', 'sw_version': '1.0.0',
}), }),
'entities': list([ 'entities': list([
@ -9152,7 +9119,6 @@
'name_by_user': None, 'name_by_user': None,
'primary_config_entry': 'TestData', 'primary_config_entry': 'TestData',
'serial_number': '123456789016', 'serial_number': '123456789016',
'suggested_area': None,
'sw_version': '4.7.340214', 'sw_version': '4.7.340214',
}), }),
'entities': list([ 'entities': list([
@ -9647,7 +9613,6 @@
'name_by_user': None, 'name_by_user': None,
'primary_config_entry': 'TestData', 'primary_config_entry': 'TestData',
'serial_number': '111111111111', 'serial_number': '111111111111',
'suggested_area': None,
'sw_version': '4.5.130201', 'sw_version': '4.5.130201',
}), }),
'entities': list([ 'entities': list([
@ -9958,7 +9923,6 @@
'name_by_user': None, 'name_by_user': None,
'primary_config_entry': 'TestData', 'primary_config_entry': 'TestData',
'serial_number': 'AA00A0A00000', 'serial_number': 'AA00A0A00000',
'suggested_area': None,
'sw_version': '1.2.8', 'sw_version': '1.2.8',
}), }),
'entities': list([ 'entities': list([
@ -10341,7 +10305,6 @@
'name_by_user': None, 'name_by_user': None,
'primary_config_entry': 'TestData', 'primary_config_entry': 'TestData',
'serial_number': 'AA00A0A00000', 'serial_number': 'AA00A0A00000',
'suggested_area': None,
'sw_version': '1.2.9', 'sw_version': '1.2.9',
}), }),
'entities': list([ 'entities': list([
@ -10712,7 +10675,6 @@
'name_by_user': None, 'name_by_user': None,
'primary_config_entry': 'TestData', 'primary_config_entry': 'TestData',
'serial_number': 'C718B3-1', 'serial_number': 'C718B3-1',
'suggested_area': None,
'sw_version': '5.0.18', 'sw_version': '5.0.18',
}), }),
'entities': list([ 'entities': list([
@ -10934,7 +10896,6 @@
'name_by_user': None, 'name_by_user': None,
'primary_config_entry': 'TestData', 'primary_config_entry': 'TestData',
'serial_number': 'C718B3-2', 'serial_number': 'C718B3-2',
'suggested_area': None,
'sw_version': '5.0.18', 'sw_version': '5.0.18',
}), }),
'entities': list([ 'entities': list([
@ -11062,7 +11023,6 @@
'name_by_user': None, 'name_by_user': None,
'primary_config_entry': 'TestData', 'primary_config_entry': 'TestData',
'serial_number': 'cover.family_door_north', 'serial_number': 'cover.family_door_north',
'suggested_area': None,
'sw_version': '3.6.2', 'sw_version': '3.6.2',
}), }),
'entities': list([ 'entities': list([
@ -11236,7 +11196,6 @@
'name_by_user': None, 'name_by_user': None,
'primary_config_entry': 'TestData', 'primary_config_entry': 'TestData',
'serial_number': 'homekit.bridge', 'serial_number': 'homekit.bridge',
'suggested_area': None,
'sw_version': '2024.2.0', 'sw_version': '2024.2.0',
}), }),
'entities': list([ 'entities': list([
@ -11318,7 +11277,6 @@
'name_by_user': None, 'name_by_user': None,
'primary_config_entry': 'TestData', 'primary_config_entry': 'TestData',
'serial_number': 'cover.kitchen_window', 'serial_number': 'cover.kitchen_window',
'suggested_area': None,
'sw_version': '3.6.2', 'sw_version': '3.6.2',
}), }),
'entities': list([ 'entities': list([
@ -11496,7 +11454,6 @@
'name_by_user': None, 'name_by_user': None,
'primary_config_entry': 'TestData', 'primary_config_entry': 'TestData',
'serial_number': 'fan.ceiling_fan', 'serial_number': 'fan.ceiling_fan',
'suggested_area': None,
'sw_version': '0.104.0.dev0', 'sw_version': '0.104.0.dev0',
}), }),
'entities': list([ 'entities': list([
@ -11629,7 +11586,6 @@
'name_by_user': None, 'name_by_user': None,
'primary_config_entry': 'TestData', 'primary_config_entry': 'TestData',
'serial_number': 'homekit.bridge', 'serial_number': 'homekit.bridge',
'suggested_area': None,
'sw_version': '0.104.0.dev0', 'sw_version': '0.104.0.dev0',
}), }),
'entities': list([ 'entities': list([
@ -11711,7 +11667,6 @@
'name_by_user': None, 'name_by_user': None,
'primary_config_entry': 'TestData', 'primary_config_entry': 'TestData',
'serial_number': 'fan.living_room_fan', 'serial_number': 'fan.living_room_fan',
'suggested_area': None,
'sw_version': '0.104.0.dev0', 'sw_version': '0.104.0.dev0',
}), }),
'entities': list([ 'entities': list([
@ -11849,7 +11804,6 @@
'name_by_user': None, 'name_by_user': None,
'primary_config_entry': 'TestData', 'primary_config_entry': 'TestData',
'serial_number': 'climate.89_living_room', 'serial_number': 'climate.89_living_room',
'suggested_area': None,
'sw_version': '2024.2.0', 'sw_version': '2024.2.0',
}), }),
'entities': list([ 'entities': list([
@ -12197,7 +12151,6 @@
'name_by_user': None, 'name_by_user': None,
'primary_config_entry': 'TestData', 'primary_config_entry': 'TestData',
'serial_number': 'homekit.bridge', 'serial_number': 'homekit.bridge',
'suggested_area': None,
'sw_version': '2024.2.0', 'sw_version': '2024.2.0',
}), }),
'entities': list([ 'entities': list([
@ -12283,7 +12236,6 @@
'name_by_user': None, 'name_by_user': None,
'primary_config_entry': 'TestData', 'primary_config_entry': 'TestData',
'serial_number': 'homekit.bridge', 'serial_number': 'homekit.bridge',
'suggested_area': None,
'sw_version': '2024.2.0', 'sw_version': '2024.2.0',
}), }),
'entities': list([ 'entities': list([
@ -12365,7 +12317,6 @@
'name_by_user': None, 'name_by_user': None,
'primary_config_entry': 'TestData', 'primary_config_entry': 'TestData',
'serial_number': 'light.laundry_smoke_ed78', 'serial_number': 'light.laundry_smoke_ed78',
'suggested_area': None,
'sw_version': '1.4.84', 'sw_version': '1.4.84',
}), }),
'entities': list([ 'entities': list([
@ -12551,7 +12502,6 @@
'name_by_user': None, 'name_by_user': None,
'primary_config_entry': 'TestData', 'primary_config_entry': 'TestData',
'serial_number': 'cover.family_door_north', 'serial_number': 'cover.family_door_north',
'suggested_area': None,
'sw_version': '3.6.2', 'sw_version': '3.6.2',
}), }),
'entities': list([ 'entities': list([
@ -12725,7 +12675,6 @@
'name_by_user': None, 'name_by_user': None,
'primary_config_entry': 'TestData', 'primary_config_entry': 'TestData',
'serial_number': 'homekit.bridge', 'serial_number': 'homekit.bridge',
'suggested_area': None,
'sw_version': '2024.2.0', 'sw_version': '2024.2.0',
}), }),
'entities': list([ 'entities': list([
@ -12807,7 +12756,6 @@
'name_by_user': None, 'name_by_user': None,
'primary_config_entry': 'TestData', 'primary_config_entry': 'TestData',
'serial_number': 'cover.kitchen_window', 'serial_number': 'cover.kitchen_window',
'suggested_area': None,
'sw_version': '3.6.2', 'sw_version': '3.6.2',
}), }),
'entities': list([ 'entities': list([
@ -12985,7 +12933,6 @@
'name_by_user': None, 'name_by_user': None,
'primary_config_entry': 'TestData', 'primary_config_entry': 'TestData',
'serial_number': 'fan.ceiling_fan', 'serial_number': 'fan.ceiling_fan',
'suggested_area': None,
'sw_version': '0.104.0.dev0', 'sw_version': '0.104.0.dev0',
}), }),
'entities': list([ 'entities': list([
@ -13118,7 +13065,6 @@
'name_by_user': None, 'name_by_user': None,
'primary_config_entry': 'TestData', 'primary_config_entry': 'TestData',
'serial_number': 'homekit.bridge', 'serial_number': 'homekit.bridge',
'suggested_area': None,
'sw_version': '0.104.0.dev0', 'sw_version': '0.104.0.dev0',
}), }),
'entities': list([ 'entities': list([
@ -13200,7 +13146,6 @@
'name_by_user': None, 'name_by_user': None,
'primary_config_entry': 'TestData', 'primary_config_entry': 'TestData',
'serial_number': 'fan.living_room_fan', 'serial_number': 'fan.living_room_fan',
'suggested_area': None,
'sw_version': '0.104.0.dev0', 'sw_version': '0.104.0.dev0',
}), }),
'entities': list([ 'entities': list([
@ -13339,7 +13284,6 @@
'name_by_user': None, 'name_by_user': None,
'primary_config_entry': 'TestData', 'primary_config_entry': 'TestData',
'serial_number': 'homekit.bridge', 'serial_number': 'homekit.bridge',
'suggested_area': None,
'sw_version': '0.104.0.dev0', 'sw_version': '0.104.0.dev0',
}), }),
'entities': list([ 'entities': list([
@ -13421,7 +13365,6 @@
'name_by_user': None, 'name_by_user': None,
'primary_config_entry': 'TestData', 'primary_config_entry': 'TestData',
'serial_number': 'fan.living_room_fan', 'serial_number': 'fan.living_room_fan',
'suggested_area': None,
'sw_version': '0.104.0.dev0', 'sw_version': '0.104.0.dev0',
}), }),
'entities': list([ 'entities': list([
@ -13560,7 +13503,6 @@
'name_by_user': None, 'name_by_user': None,
'primary_config_entry': 'TestData', 'primary_config_entry': 'TestData',
'serial_number': 'climate.89_living_room', 'serial_number': 'climate.89_living_room',
'suggested_area': None,
'sw_version': '2024.2.0', 'sw_version': '2024.2.0',
}), }),
'entities': list([ 'entities': list([
@ -13917,7 +13859,6 @@
'name_by_user': None, 'name_by_user': None,
'primary_config_entry': 'TestData', 'primary_config_entry': 'TestData',
'serial_number': 'homekit.bridge', 'serial_number': 'homekit.bridge',
'suggested_area': None,
'sw_version': '2024.2.0', 'sw_version': '2024.2.0',
}), }),
'entities': list([ 'entities': list([
@ -14003,7 +13944,6 @@
'name_by_user': None, 'name_by_user': None,
'primary_config_entry': 'TestData', 'primary_config_entry': 'TestData',
'serial_number': 'homekit.bridge', 'serial_number': 'homekit.bridge',
'suggested_area': None,
'sw_version': '2024.2.0', 'sw_version': '2024.2.0',
}), }),
'entities': list([ 'entities': list([
@ -14085,7 +14025,6 @@
'name_by_user': None, 'name_by_user': None,
'primary_config_entry': 'TestData', 'primary_config_entry': 'TestData',
'serial_number': 'humidifier.humidifier_182a', 'serial_number': 'humidifier.humidifier_182a',
'suggested_area': None,
'sw_version': '2024.2.0', 'sw_version': '2024.2.0',
}), }),
'entities': list([ 'entities': list([
@ -14278,7 +14217,6 @@
'name_by_user': None, 'name_by_user': None,
'primary_config_entry': 'TestData', 'primary_config_entry': 'TestData',
'serial_number': 'homekit.bridge', 'serial_number': 'homekit.bridge',
'suggested_area': None,
'sw_version': '2024.2.0', 'sw_version': '2024.2.0',
}), }),
'entities': list([ 'entities': list([
@ -14360,7 +14298,6 @@
'name_by_user': None, 'name_by_user': None,
'primary_config_entry': 'TestData', 'primary_config_entry': 'TestData',
'serial_number': 'humidifier.humidifier_182a', 'serial_number': 'humidifier.humidifier_182a',
'suggested_area': None,
'sw_version': '2024.2.0', 'sw_version': '2024.2.0',
}), }),
'entities': list([ 'entities': list([
@ -14553,7 +14490,6 @@
'name_by_user': None, 'name_by_user': None,
'primary_config_entry': 'TestData', 'primary_config_entry': 'TestData',
'serial_number': 'homekit.bridge', 'serial_number': 'homekit.bridge',
'suggested_area': None,
'sw_version': '2024.2.0', 'sw_version': '2024.2.0',
}), }),
'entities': list([ 'entities': list([
@ -14635,7 +14571,6 @@
'name_by_user': None, 'name_by_user': None,
'primary_config_entry': 'TestData', 'primary_config_entry': 'TestData',
'serial_number': 'light.laundry_smoke_ed78', 'serial_number': 'light.laundry_smoke_ed78',
'suggested_area': None,
'sw_version': '1.4.84', 'sw_version': '1.4.84',
}), }),
'entities': list([ 'entities': list([
@ -14836,7 +14771,6 @@
'name_by_user': None, 'name_by_user': None,
'primary_config_entry': 'TestData', 'primary_config_entry': 'TestData',
'serial_number': '00000001', 'serial_number': '00000001',
'suggested_area': None,
'sw_version': '1.0.0', 'sw_version': '1.0.0',
}), }),
'entities': list([ 'entities': list([
@ -15050,7 +14984,6 @@
'name_by_user': None, 'name_by_user': None,
'primary_config_entry': 'TestData', 'primary_config_entry': 'TestData',
'serial_number': '6623462395276914', 'serial_number': '6623462395276914',
'suggested_area': None,
'sw_version': '1.46.13', 'sw_version': '1.46.13',
}), }),
'entities': list([ 'entities': list([
@ -15197,7 +15130,6 @@
'name_by_user': None, 'name_by_user': None,
'primary_config_entry': 'TestData', 'primary_config_entry': 'TestData',
'serial_number': '6623462395276939', 'serial_number': '6623462395276939',
'suggested_area': None,
'sw_version': '1.46.13', 'sw_version': '1.46.13',
}), }),
'entities': list([ 'entities': list([
@ -15344,7 +15276,6 @@
'name_by_user': None, 'name_by_user': None,
'primary_config_entry': 'TestData', 'primary_config_entry': 'TestData',
'serial_number': '6623462403113447', 'serial_number': '6623462403113447',
'suggested_area': None,
'sw_version': '1.46.13', 'sw_version': '1.46.13',
}), }),
'entities': list([ 'entities': list([
@ -15491,7 +15422,6 @@
'name_by_user': None, 'name_by_user': None,
'primary_config_entry': 'TestData', 'primary_config_entry': 'TestData',
'serial_number': '6623462403233419', 'serial_number': '6623462403233419',
'suggested_area': None,
'sw_version': '1.46.13', 'sw_version': '1.46.13',
}), }),
'entities': list([ 'entities': list([
@ -15638,7 +15568,6 @@
'name_by_user': None, 'name_by_user': None,
'primary_config_entry': 'TestData', 'primary_config_entry': 'TestData',
'serial_number': '6623462412411853', 'serial_number': '6623462412411853',
'suggested_area': None,
'sw_version': '1.46.13', 'sw_version': '1.46.13',
}), }),
'entities': list([ 'entities': list([
@ -15795,7 +15724,6 @@
'name_by_user': None, 'name_by_user': None,
'primary_config_entry': 'TestData', 'primary_config_entry': 'TestData',
'serial_number': '6623462412413293', 'serial_number': '6623462412413293',
'suggested_area': None,
'sw_version': '1.46.13', 'sw_version': '1.46.13',
}), }),
'entities': list([ 'entities': list([
@ -15952,7 +15880,6 @@
'name_by_user': None, 'name_by_user': None,
'primary_config_entry': 'TestData', 'primary_config_entry': 'TestData',
'serial_number': '6623462389072572', 'serial_number': '6623462389072572',
'suggested_area': None,
'sw_version': '45.1.17846', 'sw_version': '45.1.17846',
}), }),
'entities': list([ 'entities': list([
@ -16286,7 +16213,6 @@
'name_by_user': None, 'name_by_user': None,
'primary_config_entry': 'TestData', 'primary_config_entry': 'TestData',
'serial_number': '6623462378982941', 'serial_number': '6623462378982941',
'suggested_area': None,
'sw_version': '1.46.13', 'sw_version': '1.46.13',
}), }),
'entities': list([ 'entities': list([
@ -16420,7 +16346,6 @@
'name_by_user': None, 'name_by_user': None,
'primary_config_entry': 'TestData', 'primary_config_entry': 'TestData',
'serial_number': '6623462378983942', 'serial_number': '6623462378983942',
'suggested_area': None,
'sw_version': '1.46.13', 'sw_version': '1.46.13',
}), }),
'entities': list([ 'entities': list([
@ -16554,7 +16479,6 @@
'name_by_user': None, 'name_by_user': None,
'primary_config_entry': 'TestData', 'primary_config_entry': 'TestData',
'serial_number': '6623462379122122', 'serial_number': '6623462379122122',
'suggested_area': None,
'sw_version': '1.46.13', 'sw_version': '1.46.13',
}), }),
'entities': list([ 'entities': list([
@ -16688,7 +16612,6 @@
'name_by_user': None, 'name_by_user': None,
'primary_config_entry': 'TestData', 'primary_config_entry': 'TestData',
'serial_number': '6623462379123707', 'serial_number': '6623462379123707',
'suggested_area': None,
'sw_version': '1.46.13', 'sw_version': '1.46.13',
}), }),
'entities': list([ 'entities': list([
@ -16822,7 +16745,6 @@
'name_by_user': None, 'name_by_user': None,
'primary_config_entry': 'TestData', 'primary_config_entry': 'TestData',
'serial_number': '6623462383114163', 'serial_number': '6623462383114163',
'suggested_area': None,
'sw_version': '1.46.13', 'sw_version': '1.46.13',
}), }),
'entities': list([ 'entities': list([
@ -16956,7 +16878,6 @@
'name_by_user': None, 'name_by_user': None,
'primary_config_entry': 'TestData', 'primary_config_entry': 'TestData',
'serial_number': '6623462383114193', 'serial_number': '6623462383114193',
'suggested_area': None,
'sw_version': '1.46.13', 'sw_version': '1.46.13',
}), }),
'entities': list([ 'entities': list([
@ -17090,7 +17011,6 @@
'name_by_user': None, 'name_by_user': None,
'primary_config_entry': 'TestData', 'primary_config_entry': 'TestData',
'serial_number': '6623462385996792', 'serial_number': '6623462385996792',
'suggested_area': None,
'sw_version': '1.46.13', 'sw_version': '1.46.13',
}), }),
'entities': list([ 'entities': list([
@ -17224,7 +17144,6 @@
'name_by_user': None, 'name_by_user': None,
'primary_config_entry': 'TestData', 'primary_config_entry': 'TestData',
'serial_number': '123456', 'serial_number': '123456',
'suggested_area': None,
'sw_version': '1.32.1932126170', 'sw_version': '1.32.1932126170',
}), }),
'entities': list([ 'entities': list([
@ -17310,7 +17229,6 @@
'name_by_user': None, 'name_by_user': None,
'primary_config_entry': 'TestData', 'primary_config_entry': 'TestData',
'serial_number': 'AAAA011111111111', 'serial_number': 'AAAA011111111111',
'suggested_area': None,
'sw_version': '2.2.15', 'sw_version': '2.2.15',
}), }),
'entities': list([ 'entities': list([
@ -17463,7 +17381,6 @@
'name_by_user': None, 'name_by_user': None,
'primary_config_entry': 'TestData', 'primary_config_entry': 'TestData',
'serial_number': 'EUCP03190xxxxx48', 'serial_number': 'EUCP03190xxxxx48',
'suggested_area': None,
'sw_version': '2.3.7', 'sw_version': '2.3.7',
}), }),
'entities': list([ 'entities': list([
@ -17642,7 +17559,6 @@
'name_by_user': None, 'name_by_user': None,
'primary_config_entry': 'TestData', 'primary_config_entry': 'TestData',
'serial_number': 'CNNT061751001372', 'serial_number': 'CNNT061751001372',
'suggested_area': None,
'sw_version': '1.0.3', 'sw_version': '1.0.3',
}), }),
'entities': list([ 'entities': list([
@ -17862,7 +17778,6 @@
'name_by_user': None, 'name_by_user': None,
'primary_config_entry': 'TestData', 'primary_config_entry': 'TestData',
'serial_number': 'XXXXXXXX', 'serial_number': 'XXXXXXXX',
'suggested_area': None,
'sw_version': '3.40.XX', 'sw_version': '3.40.XX',
}), }),
'entities': list([ 'entities': list([
@ -18162,7 +18077,6 @@
'name_by_user': None, 'name_by_user': None,
'primary_config_entry': 'TestData', 'primary_config_entry': 'TestData',
'serial_number': '999AAAAAA999', 'serial_number': '999AAAAAA999',
'suggested_area': None,
'sw_version': '04.71.04', 'sw_version': '04.71.04',
}), }),
'entities': list([ 'entities': list([
@ -18354,7 +18268,6 @@
'name_by_user': None, 'name_by_user': None,
'primary_config_entry': 'TestData', 'primary_config_entry': 'TestData',
'serial_number': '39024290', 'serial_number': '39024290',
'suggested_area': None,
'sw_version': '001.005', 'sw_version': '001.005',
}), }),
'entities': list([ 'entities': list([
@ -18487,7 +18400,6 @@
'name_by_user': None, 'name_by_user': None,
'primary_config_entry': 'TestData', 'primary_config_entry': 'TestData',
'serial_number': '12344331', 'serial_number': '12344331',
'suggested_area': None,
'sw_version': '08.08', 'sw_version': '08.08',
}), }),
'entities': list([ 'entities': list([
@ -18573,7 +18485,6 @@
'name_by_user': None, 'name_by_user': None,
'primary_config_entry': 'TestData', 'primary_config_entry': 'TestData',
'serial_number': 'HH41234', 'serial_number': 'HH41234',
'suggested_area': None,
'sw_version': '4.2.3', 'sw_version': '4.2.3',
}), }),
'entities': list([ 'entities': list([
@ -18869,7 +18780,6 @@
'name_by_user': None, 'name_by_user': None,
'primary_config_entry': 'TestData', 'primary_config_entry': 'TestData',
'serial_number': 'BB1121', 'serial_number': 'BB1121',
'suggested_area': None,
'sw_version': '4.1.9', 'sw_version': '4.1.9',
}), }),
'entities': list([ 'entities': list([
@ -19007,7 +18917,6 @@
'name_by_user': None, 'name_by_user': None,
'primary_config_entry': 'TestData', 'primary_config_entry': 'TestData',
'serial_number': 'AAAAAAA000', 'serial_number': 'AAAAAAA000',
'suggested_area': None,
'sw_version': '2.8.1', 'sw_version': '2.8.1',
}), }),
'entities': list([ 'entities': list([
@ -19357,7 +19266,6 @@
'name_by_user': None, 'name_by_user': None,
'primary_config_entry': 'TestData', 'primary_config_entry': 'TestData',
'serial_number': 'AAAA011111111111', 'serial_number': 'AAAA011111111111',
'suggested_area': None,
'sw_version': '1.4.40', 'sw_version': '1.4.40',
}), }),
'entities': list([ 'entities': list([
@ -19642,7 +19550,6 @@
'name_by_user': None, 'name_by_user': None,
'primary_config_entry': 'TestData', 'primary_config_entry': 'TestData',
'serial_number': 'g738658', 'serial_number': 'g738658',
'suggested_area': None,
'sw_version': '80.0.0', 'sw_version': '80.0.0',
}), }),
'entities': list([ 'entities': list([
@ -19953,7 +19860,6 @@
'name_by_user': None, 'name_by_user': None,
'primary_config_entry': 'TestData', 'primary_config_entry': 'TestData',
'serial_number': '1234', 'serial_number': '1234',
'suggested_area': None,
'sw_version': '1.0.3', 'sw_version': '1.0.3',
}), }),
'entities': list([ 'entities': list([
@ -20125,7 +20031,6 @@
'name_by_user': None, 'name_by_user': None,
'primary_config_entry': 'TestData', 'primary_config_entry': 'TestData',
'serial_number': 'AAAAAAAAAAAAA', 'serial_number': 'AAAAAAAAAAAAA',
'suggested_area': None,
'sw_version': '59', 'sw_version': '59',
}), }),
'entities': list([ 'entities': list([
@ -20451,7 +20356,6 @@
'name_by_user': None, 'name_by_user': None,
'primary_config_entry': 'TestData', 'primary_config_entry': 'TestData',
'serial_number': '00aa0000aa0a', 'serial_number': '00aa0000aa0a',
'suggested_area': None,
'sw_version': '1.0.4', 'sw_version': '1.0.4',
}), }),
'entities': list([ 'entities': list([
@ -20897,7 +20801,6 @@
'name_by_user': None, 'name_by_user': None,
'primary_config_entry': 'TestData', 'primary_config_entry': 'TestData',
'serial_number': '1.0.0', 'serial_number': '1.0.0',
'suggested_area': None,
'sw_version': '3.0.8', 'sw_version': '3.0.8',
}), }),
'entities': list([ 'entities': list([
@ -21071,7 +20974,6 @@
'name_by_user': None, 'name_by_user': None,
'primary_config_entry': 'TestData', 'primary_config_entry': 'TestData',
'serial_number': '0101.3521.0436', 'serial_number': '0101.3521.0436',
'suggested_area': None,
'sw_version': '1.3.0', 'sw_version': '1.3.0',
}), }),
'entities': list([ 'entities': list([
@ -21153,7 +21055,6 @@
'name_by_user': None, 'name_by_user': None,
'primary_config_entry': 'TestData', 'primary_config_entry': 'TestData',
'serial_number': '', 'serial_number': '',
'suggested_area': None,
'sw_version': '', 'sw_version': '',
}), }),
'entities': list([ 'entities': list([
@ -21331,7 +21232,6 @@
'name_by_user': None, 'name_by_user': None,
'primary_config_entry': 'TestData', 'primary_config_entry': 'TestData',
'serial_number': '1.0.0', 'serial_number': '1.0.0',
'suggested_area': None,
'sw_version': '3.0.8', 'sw_version': '3.0.8',
}), }),
'entities': list([ 'entities': list([
@ -21505,7 +21405,6 @@
'name_by_user': None, 'name_by_user': None,
'primary_config_entry': 'TestData', 'primary_config_entry': 'TestData',
'serial_number': '1.0.0', 'serial_number': '1.0.0',
'suggested_area': None,
'sw_version': '3.0.8', 'sw_version': '3.0.8',
}), }),
'entities': list([ 'entities': list([
@ -21679,7 +21578,6 @@
'name_by_user': None, 'name_by_user': None,
'primary_config_entry': 'TestData', 'primary_config_entry': 'TestData',
'serial_number': '1.0.0', 'serial_number': '1.0.0',
'suggested_area': None,
'sw_version': '3.0.8', 'sw_version': '3.0.8',
}), }),
'entities': list([ 'entities': list([
@ -21853,7 +21751,6 @@
'name_by_user': None, 'name_by_user': None,
'primary_config_entry': 'TestData', 'primary_config_entry': 'TestData',
'serial_number': '0401.3521.0679', 'serial_number': '0401.3521.0679',
'suggested_area': None,
'sw_version': '1.3.0', 'sw_version': '1.3.0',
}), }),
'entities': list([ 'entities': list([
@ -21935,7 +21832,6 @@
'name_by_user': None, 'name_by_user': None,
'primary_config_entry': 'TestData', 'primary_config_entry': 'TestData',
'serial_number': '1.0.0', 'serial_number': '1.0.0',
'suggested_area': None,
'sw_version': '3.0.8', 'sw_version': '3.0.8',
}), }),
'entities': list([ 'entities': list([
@ -22113,7 +22009,6 @@
'name_by_user': None, 'name_by_user': None,
'primary_config_entry': 'TestData', 'primary_config_entry': 'TestData',
'serial_number': 'AAAAAAA000', 'serial_number': 'AAAAAAA000',
'suggested_area': None,
'sw_version': '004.027.000', 'sw_version': '004.027.000',
}), }),
'entities': list([ 'entities': list([
@ -22242,7 +22137,6 @@
'name_by_user': None, 'name_by_user': None,
'primary_config_entry': 'TestData', 'primary_config_entry': 'TestData',
'serial_number': '1234567890abcd', 'serial_number': '1234567890abcd',
'suggested_area': None,
'sw_version': '', 'sw_version': '',
}), }),
'entities': list([ 'entities': list([
@ -22432,7 +22326,6 @@
'name_by_user': None, 'name_by_user': None,
'primary_config_entry': 'TestData', 'primary_config_entry': 'TestData',
'serial_number': '**REDACTED**', 'serial_number': '**REDACTED**',
'suggested_area': None,
'sw_version': '0.0.0', 'sw_version': '0.0.0',
}), }),
'entities': list([ 'entities': list([
@ -22563,7 +22456,6 @@
'name_by_user': None, 'name_by_user': None,
'primary_config_entry': 'TestData', 'primary_config_entry': 'TestData',
'serial_number': '**REDACTED**', 'serial_number': '**REDACTED**',
'suggested_area': None,
'sw_version': '3.3.0', 'sw_version': '3.3.0',
}), }),
'entities': list([ 'entities': list([
@ -22978,7 +22870,6 @@
'name_by_user': None, 'name_by_user': None,
'primary_config_entry': 'TestData', 'primary_config_entry': 'TestData',
'serial_number': '**REDACTED**', 'serial_number': '**REDACTED**',
'suggested_area': None,
'sw_version': '16.0.0', 'sw_version': '16.0.0',
}), }),
'entities': list([ 'entities': list([
@ -23208,7 +23099,6 @@
'name_by_user': None, 'name_by_user': None,
'primary_config_entry': 'TestData', 'primary_config_entry': 'TestData',
'serial_number': 'a1a11a1', 'serial_number': 'a1a11a1',
'suggested_area': None,
'sw_version': '70', 'sw_version': '70',
}), }),
'entities': list([ 'entities': list([
@ -23290,7 +23180,6 @@
'name_by_user': None, 'name_by_user': None,
'primary_config_entry': 'TestData', 'primary_config_entry': 'TestData',
'serial_number': 'a11b111', 'serial_number': 'a11b111',
'suggested_area': None,
'sw_version': '16', 'sw_version': '16',
}), }),
'entities': list([ 'entities': list([
@ -23516,7 +23405,6 @@
'name_by_user': None, 'name_by_user': None,
'primary_config_entry': 'TestData', 'primary_config_entry': 'TestData',
'serial_number': '1111111a114a111a', 'serial_number': '1111111a114a111a',
'suggested_area': None,
'sw_version': '48', 'sw_version': '48',
}), }),
'entities': list([ 'entities': list([
@ -23647,7 +23535,6 @@
'name_by_user': None, 'name_by_user': None,
'primary_config_entry': 'TestData', 'primary_config_entry': 'TestData',
'serial_number': '**REDACTED**', 'serial_number': '**REDACTED**',
'suggested_area': None,
'sw_version': '0.0.0', 'sw_version': '0.0.0',
}), }),
'entities': list([ 'entities': list([
@ -23778,7 +23665,6 @@
'name_by_user': None, 'name_by_user': None,
'primary_config_entry': 'TestData', 'primary_config_entry': 'TestData',
'serial_number': '**REDACTED**', 'serial_number': '**REDACTED**',
'suggested_area': None,
'sw_version': '15.0.0', 'sw_version': '15.0.0',
}), }),
'entities': list([ 'entities': list([
@ -23908,7 +23794,6 @@
'name_by_user': None, 'name_by_user': None,
'primary_config_entry': 'TestData', 'primary_config_entry': 'TestData',
'serial_number': 'AM01121849000327', 'serial_number': 'AM01121849000327',
'suggested_area': None,
'sw_version': '3.121.2', 'sw_version': '3.121.2',
}), }),
'entities': list([ 'entities': list([
@ -24229,7 +24114,6 @@
'name_by_user': None, 'name_by_user': None,
'primary_config_entry': 'TestData', 'primary_config_entry': 'TestData',
'serial_number': 'EU0121203xxxxx07', 'serial_number': 'EU0121203xxxxx07',
'suggested_area': None,
'sw_version': '1.101.2', 'sw_version': '1.101.2',
}), }),
'entities': list([ 'entities': list([

View File

@ -328,6 +328,8 @@ async def test_snapshots(
device_dict.pop("created_at", None) device_dict.pop("created_at", None)
device_dict.pop("modified_at", None) device_dict.pop("modified_at", None)
device_dict.pop("_cache", None) device_dict.pop("_cache", None)
# This can be removed when suggested_area is removed from DeviceEntry
device_dict.pop("_suggested_area")
devices.append({"device": device_dict, "entities": entities}) devices.append({"device": device_dict, "entities": entities})

View File

@ -80,7 +80,6 @@
'name_by_user': None, 'name_by_user': None,
'primary_config_entry': <ANY>, 'primary_config_entry': <ANY>,
'serial_number': None, 'serial_number': None,
'suggested_area': None,
'sw_version': '4.19', 'sw_version': '4.19',
'via_device_id': None, 'via_device_id': None,
}) })

View File

@ -89,7 +89,6 @@
'name_by_user': None, 'name_by_user': None,
'primary_config_entry': <ANY>, 'primary_config_entry': <ANY>,
'serial_number': None, 'serial_number': None,
'suggested_area': None,
'sw_version': '3.03', 'sw_version': '3.03',
'via_device_id': None, 'via_device_id': None,
}) })
@ -184,7 +183,6 @@
'name_by_user': None, 'name_by_user': None,
'primary_config_entry': <ANY>, 'primary_config_entry': <ANY>,
'serial_number': None, 'serial_number': None,
'suggested_area': None,
'sw_version': '4.07', 'sw_version': '4.07',
'via_device_id': None, 'via_device_id': None,
}) })

View File

@ -90,7 +90,6 @@
'name_by_user': None, 'name_by_user': None,
'primary_config_entry': <ANY>, 'primary_config_entry': <ANY>,
'serial_number': None, 'serial_number': None,
'suggested_area': None,
'sw_version': '4.19', 'sw_version': '4.19',
'via_device_id': None, 'via_device_id': None,
}) })

File diff suppressed because it is too large Load Diff

View File

@ -79,7 +79,6 @@
'name_by_user': None, 'name_by_user': None,
'primary_config_entry': <ANY>, 'primary_config_entry': <ANY>,
'serial_number': None, 'serial_number': None,
'suggested_area': None,
'sw_version': '3.06', 'sw_version': '3.06',
'via_device_id': None, 'via_device_id': None,
}) })
@ -164,7 +163,6 @@
'name_by_user': None, 'name_by_user': None,
'primary_config_entry': <ANY>, 'primary_config_entry': <ANY>,
'serial_number': None, 'serial_number': None,
'suggested_area': None,
'sw_version': '3.06', 'sw_version': '3.06',
'via_device_id': None, 'via_device_id': None,
}) })
@ -250,7 +248,6 @@
'name_by_user': None, 'name_by_user': None,
'primary_config_entry': <ANY>, 'primary_config_entry': <ANY>,
'serial_number': None, 'serial_number': None,
'suggested_area': None,
'sw_version': '3.03', 'sw_version': '3.03',
'via_device_id': None, 'via_device_id': None,
}) })
@ -335,7 +332,6 @@
'name_by_user': None, 'name_by_user': None,
'primary_config_entry': <ANY>, 'primary_config_entry': <ANY>,
'serial_number': None, 'serial_number': None,
'suggested_area': None,
'sw_version': '3.03', 'sw_version': '3.03',
'via_device_id': None, 'via_device_id': None,
}) })
@ -420,7 +416,6 @@
'name_by_user': None, 'name_by_user': None,
'primary_config_entry': <ANY>, 'primary_config_entry': <ANY>,
'serial_number': None, 'serial_number': None,
'suggested_area': None,
'sw_version': '3.03', 'sw_version': '3.03',
'via_device_id': None, 'via_device_id': None,
}) })
@ -506,7 +501,6 @@
'name_by_user': None, 'name_by_user': None,
'primary_config_entry': <ANY>, 'primary_config_entry': <ANY>,
'serial_number': None, 'serial_number': None,
'suggested_area': None,
'sw_version': '4.07', 'sw_version': '4.07',
'via_device_id': None, 'via_device_id': None,
}) })
@ -591,7 +585,6 @@
'name_by_user': None, 'name_by_user': None,
'primary_config_entry': <ANY>, 'primary_config_entry': <ANY>,
'serial_number': None, 'serial_number': None,
'suggested_area': None,
'sw_version': '4.07', 'sw_version': '4.07',
'via_device_id': None, 'via_device_id': None,
}) })
@ -676,7 +669,6 @@
'name_by_user': None, 'name_by_user': None,
'primary_config_entry': <ANY>, 'primary_config_entry': <ANY>,
'serial_number': None, 'serial_number': None,
'suggested_area': None,
'sw_version': '4.07', 'sw_version': '4.07',
'via_device_id': None, 'via_device_id': None,
}) })
@ -761,7 +753,6 @@
'name_by_user': None, 'name_by_user': None,
'primary_config_entry': <ANY>, 'primary_config_entry': <ANY>,
'serial_number': None, 'serial_number': None,
'suggested_area': None,
'sw_version': '2.03', 'sw_version': '2.03',
'via_device_id': None, 'via_device_id': None,
}) })
@ -846,7 +837,6 @@
'name_by_user': None, 'name_by_user': None,
'primary_config_entry': <ANY>, 'primary_config_entry': <ANY>,
'serial_number': None, 'serial_number': None,
'suggested_area': None,
'sw_version': '3.06', 'sw_version': '3.06',
'via_device_id': None, 'via_device_id': None,
}) })
@ -931,7 +921,6 @@
'name_by_user': None, 'name_by_user': None,
'primary_config_entry': <ANY>, 'primary_config_entry': <ANY>,
'serial_number': None, 'serial_number': None,
'suggested_area': None,
'sw_version': '3.06', 'sw_version': '3.06',
'via_device_id': None, 'via_device_id': None,
}) })

View File

@ -11,7 +11,11 @@ from homeassistant.components.light import ColorMode
from homeassistant.config_entries import ConfigEntryState from homeassistant.config_entries import ConfigEntryState
from homeassistant.const import Platform from homeassistant.const import Platform
from homeassistant.core import HomeAssistant from homeassistant.core import HomeAssistant
from homeassistant.helpers import device_registry as dr, entity_registry as er from homeassistant.helpers import (
area_registry as ar,
device_registry as dr,
entity_registry as er,
)
from homeassistant.util import color as color_util from homeassistant.util import color as color_util
from .conftest import create_config_entry from .conftest import create_config_entry
@ -776,6 +780,7 @@ def test_hs_color() -> None:
async def test_group_features( async def test_group_features(
hass: HomeAssistant, hass: HomeAssistant,
area_registry: ar.AreaRegistry,
entity_registry: er.EntityRegistry, entity_registry: er.EntityRegistry,
device_registry: dr.DeviceRegistry, device_registry: dr.DeviceRegistry,
mock_bridge_v1: Mock, mock_bridge_v1: Mock,
@ -966,16 +971,22 @@ async def test_group_features(
entry = entity_registry.async_get("light.hue_lamp_1") entry = entity_registry.async_get("light.hue_lamp_1")
device_entry = device_registry.async_get(entry.device_id) device_entry = device_registry.async_get(entry.device_id)
assert device_entry.suggested_area is None assert device_entry.area_id is None
entry = entity_registry.async_get("light.hue_lamp_2") entry = entity_registry.async_get("light.hue_lamp_2")
device_entry = device_registry.async_get(entry.device_id) device_entry = device_registry.async_get(entry.device_id)
assert device_entry.suggested_area == "Living Room" assert (
device_entry.area_id == area_registry.async_get_area_by_name("Living Room").id
)
entry = entity_registry.async_get("light.hue_lamp_3") entry = entity_registry.async_get("light.hue_lamp_3")
device_entry = device_registry.async_get(entry.device_id) device_entry = device_registry.async_get(entry.device_id)
assert device_entry.suggested_area == "Living Room" assert (
device_entry.area_id == area_registry.async_get_area_by_name("Living Room").id
)
entry = entity_registry.async_get("light.hue_lamp_4") entry = entity_registry.async_get("light.hue_lamp_4")
device_entry = device_registry.async_get(entry.device_id) device_entry = device_registry.async_get(entry.device_id)
assert device_entry.suggested_area == "Dining Room" assert (
device_entry.area_id == area_registry.async_get_area_by_name("Dining Room").id
)

View File

@ -27,7 +27,6 @@
'name_by_user': None, 'name_by_user': None,
'primary_config_entry': <ANY>, 'primary_config_entry': <ANY>,
'serial_number': '123', 'serial_number': '123',
'suggested_area': 'Garden',
'sw_version': None, 'sw_version': None,
'via_device_id': None, 'via_device_id': None,
}) })

View File

@ -27,7 +27,6 @@
'name_by_user': None, 'name_by_user': None,
'primary_config_entry': <ANY>, 'primary_config_entry': <ANY>,
'serial_number': None, 'serial_number': None,
'suggested_area': None,
'sw_version': None, 'sw_version': None,
'via_device_id': None, 'via_device_id': None,
}) })

View File

@ -39,7 +39,6 @@
'name_by_user': None, 'name_by_user': None,
'primary_config_entry': <ANY>, 'primary_config_entry': <ANY>,
'serial_number': None, 'serial_number': None,
'suggested_area': None,
'sw_version': None, 'sw_version': None,
'via_device_id': None, 'via_device_id': None,
}) })

View File

@ -27,7 +27,6 @@
'name_by_user': None, 'name_by_user': None,
'primary_config_entry': <ANY>, 'primary_config_entry': <ANY>,
'serial_number': None, 'serial_number': None,
'suggested_area': None,
'sw_version': None, 'sw_version': None,
'via_device_id': None, 'via_device_id': None,
}) })
@ -60,7 +59,6 @@
'name_by_user': None, 'name_by_user': None,
'primary_config_entry': <ANY>, 'primary_config_entry': <ANY>,
'serial_number': None, 'serial_number': None,
'suggested_area': None,
'sw_version': None, 'sw_version': None,
'via_device_id': None, 'via_device_id': None,
}) })

View File

@ -28,7 +28,6 @@
'name_by_user': None, 'name_by_user': None,
'primary_config_entry': <ANY>, 'primary_config_entry': <ANY>,
'serial_number': '12345678', 'serial_number': '12345678',
'suggested_area': None,
'sw_version': None, 'sw_version': None,
'via_device_id': None, 'via_device_id': None,
}), }),

View File

@ -75,7 +75,6 @@
'name_by_user': None, 'name_by_user': None,
'primary_config_entry': <ANY>, 'primary_config_entry': <ANY>,
'serial_number': None, 'serial_number': None,
'suggested_area': None,
'sw_version': None, 'sw_version': None,
'via_device_id': <ANY>, 'via_device_id': <ANY>,
}) })
@ -108,7 +107,6 @@
'name_by_user': None, 'name_by_user': None,
'primary_config_entry': <ANY>, 'primary_config_entry': <ANY>,
'serial_number': None, 'serial_number': None,
'suggested_area': None,
'sw_version': None, 'sw_version': None,
'via_device_id': None, 'via_device_id': None,
}) })
@ -189,7 +187,6 @@
'name_by_user': None, 'name_by_user': None,
'primary_config_entry': <ANY>, 'primary_config_entry': <ANY>,
'serial_number': None, 'serial_number': None,
'suggested_area': None,
'sw_version': None, 'sw_version': None,
'via_device_id': <ANY>, 'via_device_id': <ANY>,
}) })
@ -222,7 +219,6 @@
'name_by_user': None, 'name_by_user': None,
'primary_config_entry': <ANY>, 'primary_config_entry': <ANY>,
'serial_number': None, 'serial_number': None,
'suggested_area': None,
'sw_version': None, 'sw_version': None,
'via_device_id': None, 'via_device_id': None,
}) })

View File

@ -35,7 +35,6 @@
'name_by_user': None, 'name_by_user': None,
'primary_config_entry': <ANY>, 'primary_config_entry': <ANY>,
'serial_number': 'GS012345', 'serial_number': 'GS012345',
'suggested_area': None,
'sw_version': 'v1.17', 'sw_version': 'v1.17',
'via_device_id': None, 'via_device_id': None,
}) })

View File

@ -27,7 +27,6 @@
'name_by_user': None, 'name_by_user': None,
'primary_config_entry': <ANY>, 'primary_config_entry': <ANY>,
'serial_number': '500006', 'serial_number': '500006',
'suggested_area': None,
'sw_version': '1.44', 'sw_version': '1.44',
'via_device_id': None, 'via_device_id': None,
}) })

View File

@ -14,7 +14,11 @@ from homeassistant.components.lifx.const import CONF_SERIAL
from homeassistant.const import CONF_DEVICE, CONF_HOST from homeassistant.const import CONF_DEVICE, CONF_HOST
from homeassistant.core import HomeAssistant from homeassistant.core import HomeAssistant
from homeassistant.data_entry_flow import FlowResultType from homeassistant.data_entry_flow import FlowResultType
from homeassistant.helpers import device_registry as dr, entity_registry as er from homeassistant.helpers import (
area_registry as ar,
device_registry as dr,
entity_registry as er,
)
from homeassistant.helpers.service_info.dhcp import DhcpServiceInfo from homeassistant.helpers.service_info.dhcp import DhcpServiceInfo
from homeassistant.helpers.service_info.zeroconf import ( from homeassistant.helpers.service_info.zeroconf import (
ATTR_PROPERTIES_ID, ATTR_PROPERTIES_ID,
@ -585,6 +589,7 @@ async def test_refuse_relays(hass: HomeAssistant) -> None:
async def test_suggested_area( async def test_suggested_area(
hass: HomeAssistant, hass: HomeAssistant,
area_registry: ar.AreaRegistry,
device_registry: dr.DeviceRegistry, device_registry: dr.DeviceRegistry,
entity_registry: er.EntityRegistry, entity_registry: er.EntityRegistry,
) -> None: ) -> None:
@ -624,4 +629,4 @@ async def test_suggested_area(
entity = entity_registry.async_get(entity_id) entity = entity_registry.async_get(entity_id)
device = device_registry.async_get(entity.device_id) device = device_registry.async_get(entity.device_id)
assert device.suggested_area == "My LIFX Group" assert device.area_id == area_registry.async_get_area_by_name("My LIFX Group").id

View File

@ -27,7 +27,6 @@
'name_by_user': None, 'name_by_user': None,
'primary_config_entry': <ANY>, 'primary_config_entry': <ANY>,
'serial_number': None, 'serial_number': None,
'suggested_area': None,
'sw_version': '4.4.0-nightly.2025-02-07', 'sw_version': '4.4.0-nightly.2025-02-07',
'via_device_id': None, 'via_device_id': None,
}) })

View File

@ -27,7 +27,6 @@
'name_by_user': None, 'name_by_user': None,
'primary_config_entry': <ANY>, 'primary_config_entry': <ANY>,
'serial_number': None, 'serial_number': None,
'suggested_area': None,
'sw_version': 'v1.10.2', 'sw_version': 'v1.10.2',
'via_device_id': None, 'via_device_id': None,
}) })

View File

@ -27,7 +27,6 @@
'name_by_user': None, 'name_by_user': None,
'primary_config_entry': <ANY>, 'primary_config_entry': <ANY>,
'serial_number': None, 'serial_number': None,
'suggested_area': None,
'sw_version': None, 'sw_version': None,
'via_device_id': None, 'via_device_id': None,
}) })

View File

@ -27,7 +27,6 @@
'name_by_user': None, 'name_by_user': None,
'primary_config_entry': <ANY>, 'primary_config_entry': <ANY>,
'serial_number': 'Dummy_Appliance_1', 'serial_number': 'Dummy_Appliance_1',
'suggested_area': None,
'sw_version': '31.17', 'sw_version': '31.17',
'via_device_id': None, 'via_device_id': None,
}) })

View File

@ -32,7 +32,11 @@ from homeassistant.const import (
) )
from homeassistant.core import HassJobType, HomeAssistant from homeassistant.core import HassJobType, HomeAssistant
from homeassistant.generated.mqtt import MQTT from homeassistant.generated.mqtt import MQTT
from homeassistant.helpers import device_registry as dr, entity_registry as er from homeassistant.helpers import (
area_registry as ar,
device_registry as dr,
entity_registry as er,
)
from homeassistant.helpers.dispatcher import async_dispatcher_send from homeassistant.helpers.dispatcher import async_dispatcher_send
from homeassistant.helpers.typing import ConfigType, DiscoveryInfoType from homeassistant.helpers.typing import ConfigType, DiscoveryInfoType
from homeassistant.util import dt as dt_util from homeassistant.util import dt as dt_util
@ -1415,13 +1419,14 @@ async def help_test_entity_device_info_with_identifier(
config["device"] = copy.deepcopy(DEFAULT_CONFIG_DEVICE_INFO_ID) config["device"] = copy.deepcopy(DEFAULT_CONFIG_DEVICE_INFO_ID)
config["unique_id"] = "veryunique" config["unique_id"] = "veryunique"
registry = dr.async_get(hass) area_registry = ar.async_get(hass)
device_registry = dr.async_get(hass)
data = json.dumps(config) data = json.dumps(config)
async_fire_mqtt_message(hass, f"homeassistant/{domain}/bla/config", data) async_fire_mqtt_message(hass, f"homeassistant/{domain}/bla/config", data)
await hass.async_block_till_done() await hass.async_block_till_done()
device = registry.async_get_device(identifiers={("mqtt", "helloworld")}) device = device_registry.async_get_device(identifiers={("mqtt", "helloworld")})
assert device is not None assert device is not None
assert device.identifiers == {("mqtt", "helloworld")} assert device.identifiers == {("mqtt", "helloworld")}
assert device.manufacturer == "Whatever" assert device.manufacturer == "Whatever"
@ -1430,7 +1435,7 @@ async def help_test_entity_device_info_with_identifier(
assert device.model_id == "XYZ001" assert device.model_id == "XYZ001"
assert device.hw_version == "rev1" assert device.hw_version == "rev1"
assert device.sw_version == "0.1-beta" assert device.sw_version == "0.1-beta"
assert device.suggested_area == "default_area" assert device.area_id == area_registry.async_get_area_by_name("default_area").id
assert device.configuration_url == "http://example.com" assert device.configuration_url == "http://example.com"
@ -1450,13 +1455,14 @@ async def help_test_entity_device_info_with_connection(
config["device"] = copy.deepcopy(DEFAULT_CONFIG_DEVICE_INFO_MAC) config["device"] = copy.deepcopy(DEFAULT_CONFIG_DEVICE_INFO_MAC)
config["unique_id"] = "veryunique" config["unique_id"] = "veryunique"
registry = dr.async_get(hass) area_registry = ar.async_get(hass)
device_registry = dr.async_get(hass)
data = json.dumps(config) data = json.dumps(config)
async_fire_mqtt_message(hass, f"homeassistant/{domain}/bla/config", data) async_fire_mqtt_message(hass, f"homeassistant/{domain}/bla/config", data)
await hass.async_block_till_done() await hass.async_block_till_done()
device = registry.async_get_device( device = device_registry.async_get_device(
connections={(dr.CONNECTION_NETWORK_MAC, "02:5b:26:a8:dc:12")} connections={(dr.CONNECTION_NETWORK_MAC, "02:5b:26:a8:dc:12")}
) )
assert device is not None assert device is not None
@ -1467,7 +1473,7 @@ async def help_test_entity_device_info_with_connection(
assert device.model_id == "XYZ001" assert device.model_id == "XYZ001"
assert device.hw_version == "rev1" assert device.hw_version == "rev1"
assert device.sw_version == "0.1-beta" assert device.sw_version == "0.1-beta"
assert device.suggested_area == "default_area" assert device.area_id == area_registry.async_get_area_by_name("default_area").id
assert device.configuration_url == "http://example.com" assert device.configuration_url == "http://example.com"

View File

@ -27,7 +27,6 @@
'name_by_user': None, 'name_by_user': None,
'primary_config_entry': <ANY>, 'primary_config_entry': <ANY>,
'serial_number': '10001', 'serial_number': '10001',
'suggested_area': None,
'sw_version': '9682R7A', 'sw_version': '9682R7A',
'via_device_id': None, 'via_device_id': None,
}) })
@ -60,7 +59,6 @@
'name_by_user': None, 'name_by_user': None,
'primary_config_entry': <ANY>, 'primary_config_entry': <ANY>,
'serial_number': '10002', 'serial_number': '10002',
'suggested_area': None,
'sw_version': '9682R7B', 'sw_version': '9682R7B',
'via_device_id': None, 'via_device_id': None,
}) })
@ -93,7 +91,6 @@
'name_by_user': None, 'name_by_user': None,
'primary_config_entry': <ANY>, 'primary_config_entry': <ANY>,
'serial_number': '10003', 'serial_number': '10003',
'suggested_area': None,
'sw_version': '9682R7C', 'sw_version': '9682R7C',
'via_device_id': None, 'via_device_id': None,
}) })

View File

@ -27,7 +27,6 @@
'name_by_user': None, 'name_by_user': None,
'primary_config_entry': <ANY>, 'primary_config_entry': <ANY>,
'serial_number': None, 'serial_number': None,
'suggested_area': None,
'sw_version': None, 'sw_version': None,
'via_device_id': None, 'via_device_id': None,
}) })
@ -60,7 +59,6 @@
'name_by_user': None, 'name_by_user': None,
'primary_config_entry': <ANY>, 'primary_config_entry': <ANY>,
'serial_number': None, 'serial_number': None,
'suggested_area': None,
'sw_version': None, 'sw_version': None,
'via_device_id': None, 'via_device_id': None,
}) })
@ -93,7 +91,6 @@
'name_by_user': None, 'name_by_user': None,
'primary_config_entry': <ANY>, 'primary_config_entry': <ANY>,
'serial_number': None, 'serial_number': None,
'suggested_area': None,
'sw_version': None, 'sw_version': None,
'via_device_id': None, 'via_device_id': None,
}) })
@ -126,7 +123,6 @@
'name_by_user': None, 'name_by_user': None,
'primary_config_entry': <ANY>, 'primary_config_entry': <ANY>,
'serial_number': None, 'serial_number': None,
'suggested_area': 'Corridor',
'sw_version': None, 'sw_version': None,
'via_device_id': None, 'via_device_id': None,
}) })
@ -159,7 +155,6 @@
'name_by_user': None, 'name_by_user': None,
'primary_config_entry': <ANY>, 'primary_config_entry': <ANY>,
'serial_number': None, 'serial_number': None,
'suggested_area': None,
'sw_version': None, 'sw_version': None,
'via_device_id': None, 'via_device_id': None,
}) })
@ -192,7 +187,6 @@
'name_by_user': None, 'name_by_user': None,
'primary_config_entry': <ANY>, 'primary_config_entry': <ANY>,
'serial_number': None, 'serial_number': None,
'suggested_area': None,
'sw_version': None, 'sw_version': None,
'via_device_id': None, 'via_device_id': None,
}) })
@ -225,7 +219,6 @@
'name_by_user': None, 'name_by_user': None,
'primary_config_entry': <ANY>, 'primary_config_entry': <ANY>,
'serial_number': None, 'serial_number': None,
'suggested_area': None,
'sw_version': None, 'sw_version': None,
'via_device_id': None, 'via_device_id': None,
}) })
@ -258,7 +251,6 @@
'name_by_user': None, 'name_by_user': None,
'primary_config_entry': <ANY>, 'primary_config_entry': <ANY>,
'serial_number': None, 'serial_number': None,
'suggested_area': None,
'sw_version': None, 'sw_version': None,
'via_device_id': None, 'via_device_id': None,
}) })
@ -291,7 +283,6 @@
'name_by_user': None, 'name_by_user': None,
'primary_config_entry': <ANY>, 'primary_config_entry': <ANY>,
'serial_number': None, 'serial_number': None,
'suggested_area': None,
'sw_version': None, 'sw_version': None,
'via_device_id': None, 'via_device_id': None,
}) })
@ -324,7 +315,6 @@
'name_by_user': None, 'name_by_user': None,
'primary_config_entry': <ANY>, 'primary_config_entry': <ANY>,
'serial_number': None, 'serial_number': None,
'suggested_area': None,
'sw_version': None, 'sw_version': None,
'via_device_id': None, 'via_device_id': None,
}) })
@ -357,7 +347,6 @@
'name_by_user': None, 'name_by_user': None,
'primary_config_entry': <ANY>, 'primary_config_entry': <ANY>,
'serial_number': None, 'serial_number': None,
'suggested_area': None,
'sw_version': None, 'sw_version': None,
'via_device_id': None, 'via_device_id': None,
}) })
@ -390,7 +379,6 @@
'name_by_user': None, 'name_by_user': None,
'primary_config_entry': <ANY>, 'primary_config_entry': <ANY>,
'serial_number': None, 'serial_number': None,
'suggested_area': None,
'sw_version': None, 'sw_version': None,
'via_device_id': None, 'via_device_id': None,
}) })
@ -423,7 +411,6 @@
'name_by_user': None, 'name_by_user': None,
'primary_config_entry': <ANY>, 'primary_config_entry': <ANY>,
'serial_number': None, 'serial_number': None,
'suggested_area': None,
'sw_version': None, 'sw_version': None,
'via_device_id': None, 'via_device_id': None,
}) })
@ -456,7 +443,6 @@
'name_by_user': None, 'name_by_user': None,
'primary_config_entry': <ANY>, 'primary_config_entry': <ANY>,
'serial_number': None, 'serial_number': None,
'suggested_area': None,
'sw_version': None, 'sw_version': None,
'via_device_id': None, 'via_device_id': None,
}) })
@ -489,7 +475,6 @@
'name_by_user': None, 'name_by_user': None,
'primary_config_entry': <ANY>, 'primary_config_entry': <ANY>,
'serial_number': None, 'serial_number': None,
'suggested_area': None,
'sw_version': None, 'sw_version': None,
'via_device_id': None, 'via_device_id': None,
}) })
@ -522,7 +507,6 @@
'name_by_user': None, 'name_by_user': None,
'primary_config_entry': <ANY>, 'primary_config_entry': <ANY>,
'serial_number': None, 'serial_number': None,
'suggested_area': None,
'sw_version': None, 'sw_version': None,
'via_device_id': None, 'via_device_id': None,
}) })
@ -555,7 +539,6 @@
'name_by_user': None, 'name_by_user': None,
'primary_config_entry': <ANY>, 'primary_config_entry': <ANY>,
'serial_number': None, 'serial_number': None,
'suggested_area': None,
'sw_version': None, 'sw_version': None,
'via_device_id': None, 'via_device_id': None,
}) })
@ -588,7 +571,6 @@
'name_by_user': None, 'name_by_user': None,
'primary_config_entry': <ANY>, 'primary_config_entry': <ANY>,
'serial_number': None, 'serial_number': None,
'suggested_area': None,
'sw_version': None, 'sw_version': None,
'via_device_id': None, 'via_device_id': None,
}) })
@ -621,7 +603,6 @@
'name_by_user': None, 'name_by_user': None,
'primary_config_entry': <ANY>, 'primary_config_entry': <ANY>,
'serial_number': None, 'serial_number': None,
'suggested_area': None,
'sw_version': None, 'sw_version': None,
'via_device_id': None, 'via_device_id': None,
}) })
@ -654,7 +635,6 @@
'name_by_user': None, 'name_by_user': None,
'primary_config_entry': <ANY>, 'primary_config_entry': <ANY>,
'serial_number': None, 'serial_number': None,
'suggested_area': None,
'sw_version': None, 'sw_version': None,
'via_device_id': None, 'via_device_id': None,
}) })
@ -687,7 +667,6 @@
'name_by_user': None, 'name_by_user': None,
'primary_config_entry': <ANY>, 'primary_config_entry': <ANY>,
'serial_number': None, 'serial_number': None,
'suggested_area': None,
'sw_version': None, 'sw_version': None,
'via_device_id': None, 'via_device_id': None,
}) })
@ -720,7 +699,6 @@
'name_by_user': None, 'name_by_user': None,
'primary_config_entry': <ANY>, 'primary_config_entry': <ANY>,
'serial_number': None, 'serial_number': None,
'suggested_area': None,
'sw_version': None, 'sw_version': None,
'via_device_id': None, 'via_device_id': None,
}) })
@ -753,7 +731,6 @@
'name_by_user': None, 'name_by_user': None,
'primary_config_entry': <ANY>, 'primary_config_entry': <ANY>,
'serial_number': None, 'serial_number': None,
'suggested_area': None,
'sw_version': None, 'sw_version': None,
'via_device_id': None, 'via_device_id': None,
}) })
@ -786,7 +763,6 @@
'name_by_user': None, 'name_by_user': None,
'primary_config_entry': <ANY>, 'primary_config_entry': <ANY>,
'serial_number': None, 'serial_number': None,
'suggested_area': None,
'sw_version': None, 'sw_version': None,
'via_device_id': None, 'via_device_id': None,
}) })
@ -819,7 +795,6 @@
'name_by_user': None, 'name_by_user': None,
'primary_config_entry': <ANY>, 'primary_config_entry': <ANY>,
'serial_number': None, 'serial_number': None,
'suggested_area': None,
'sw_version': None, 'sw_version': None,
'via_device_id': None, 'via_device_id': None,
}) })
@ -852,7 +827,6 @@
'name_by_user': None, 'name_by_user': None,
'primary_config_entry': <ANY>, 'primary_config_entry': <ANY>,
'serial_number': None, 'serial_number': None,
'suggested_area': None,
'sw_version': None, 'sw_version': None,
'via_device_id': None, 'via_device_id': None,
}) })
@ -885,7 +859,6 @@
'name_by_user': None, 'name_by_user': None,
'primary_config_entry': <ANY>, 'primary_config_entry': <ANY>,
'serial_number': None, 'serial_number': None,
'suggested_area': None,
'sw_version': None, 'sw_version': None,
'via_device_id': None, 'via_device_id': None,
}) })
@ -918,7 +891,6 @@
'name_by_user': None, 'name_by_user': None,
'primary_config_entry': <ANY>, 'primary_config_entry': <ANY>,
'serial_number': None, 'serial_number': None,
'suggested_area': None,
'sw_version': None, 'sw_version': None,
'via_device_id': None, 'via_device_id': None,
}) })
@ -951,7 +923,6 @@
'name_by_user': None, 'name_by_user': None,
'primary_config_entry': <ANY>, 'primary_config_entry': <ANY>,
'serial_number': None, 'serial_number': None,
'suggested_area': None,
'sw_version': None, 'sw_version': None,
'via_device_id': None, 'via_device_id': None,
}) })
@ -984,7 +955,6 @@
'name_by_user': None, 'name_by_user': None,
'primary_config_entry': <ANY>, 'primary_config_entry': <ANY>,
'serial_number': None, 'serial_number': None,
'suggested_area': None,
'sw_version': None, 'sw_version': None,
'via_device_id': None, 'via_device_id': None,
}) })
@ -1017,7 +987,6 @@
'name_by_user': None, 'name_by_user': None,
'primary_config_entry': <ANY>, 'primary_config_entry': <ANY>,
'serial_number': None, 'serial_number': None,
'suggested_area': None,
'sw_version': None, 'sw_version': None,
'via_device_id': None, 'via_device_id': None,
}) })
@ -1050,7 +1019,6 @@
'name_by_user': None, 'name_by_user': None,
'primary_config_entry': <ANY>, 'primary_config_entry': <ANY>,
'serial_number': None, 'serial_number': None,
'suggested_area': 'Bureau',
'sw_version': None, 'sw_version': None,
'via_device_id': None, 'via_device_id': None,
}) })
@ -1083,7 +1051,6 @@
'name_by_user': None, 'name_by_user': None,
'primary_config_entry': <ANY>, 'primary_config_entry': <ANY>,
'serial_number': None, 'serial_number': None,
'suggested_area': 'Livingroom',
'sw_version': None, 'sw_version': None,
'via_device_id': None, 'via_device_id': None,
}) })
@ -1116,7 +1083,6 @@
'name_by_user': None, 'name_by_user': None,
'primary_config_entry': <ANY>, 'primary_config_entry': <ANY>,
'serial_number': None, 'serial_number': None,
'suggested_area': 'Entrada',
'sw_version': None, 'sw_version': None,
'via_device_id': None, 'via_device_id': None,
}) })
@ -1149,7 +1115,6 @@
'name_by_user': None, 'name_by_user': None,
'primary_config_entry': <ANY>, 'primary_config_entry': <ANY>,
'serial_number': None, 'serial_number': None,
'suggested_area': 'Cocina',
'sw_version': None, 'sw_version': None,
'via_device_id': None, 'via_device_id': None,
}) })
@ -1182,7 +1147,6 @@
'name_by_user': None, 'name_by_user': None,
'primary_config_entry': <ANY>, 'primary_config_entry': <ANY>,
'serial_number': None, 'serial_number': None,
'suggested_area': None,
'sw_version': None, 'sw_version': None,
'via_device_id': None, 'via_device_id': None,
}) })
@ -1215,7 +1179,6 @@
'name_by_user': None, 'name_by_user': None,
'primary_config_entry': <ANY>, 'primary_config_entry': <ANY>,
'serial_number': None, 'serial_number': None,
'suggested_area': None,
'sw_version': None, 'sw_version': None,
'via_device_id': None, 'via_device_id': None,
}) })
@ -1248,7 +1211,6 @@
'name_by_user': None, 'name_by_user': None,
'primary_config_entry': <ANY>, 'primary_config_entry': <ANY>,
'serial_number': None, 'serial_number': None,
'suggested_area': None,
'sw_version': None, 'sw_version': None,
'via_device_id': None, 'via_device_id': None,
}) })
@ -1281,7 +1243,6 @@
'name_by_user': None, 'name_by_user': None,
'primary_config_entry': <ANY>, 'primary_config_entry': <ANY>,
'serial_number': None, 'serial_number': None,
'suggested_area': None,
'sw_version': None, 'sw_version': None,
'via_device_id': None, 'via_device_id': None,
}) })

View File

@ -27,7 +27,6 @@
'name_by_user': None, 'name_by_user': None,
'primary_config_entry': <ANY>, 'primary_config_entry': <ANY>,
'serial_number': 'FFFFFFFFFFFFF', 'serial_number': 'FFFFFFFFFFFFF',
'suggested_area': None,
'sw_version': 'EC25AFFDR07A09M4G', 'sw_version': 'EC25AFFDR07A09M4G',
'via_device_id': None, 'via_device_id': None,
}) })

View File

@ -17,7 +17,7 @@ from homeassistant.const import (
STATE_UNAVAILABLE, STATE_UNAVAILABLE,
) )
from homeassistant.core import HomeAssistant from homeassistant.core import HomeAssistant
from homeassistant.helpers import device_registry as dr from homeassistant.helpers import area_registry as ar, device_registry as dr
from homeassistant.setup import async_setup_component from homeassistant.setup import async_setup_component
from .util import _get_mock_nutclient, async_init_integration from .util import _get_mock_nutclient, async_init_integration
@ -247,6 +247,7 @@ async def test_serial_number(
async def test_device_location( async def test_device_location(
hass: HomeAssistant, hass: HomeAssistant,
area_registry: ar.AreaRegistry,
device_registry: dr.DeviceRegistry, device_registry: dr.DeviceRegistry,
) -> None: ) -> None:
"""Test for suggested location on device.""" """Test for suggested location on device."""
@ -269,7 +270,10 @@ async def test_device_location(
) )
assert device_entry is not None assert device_entry is not None
assert device_entry.suggested_area == mock_device_location assert (
device_entry.area_id
== area_registry.async_get_area_by_name(mock_device_location).id
)
async def test_update_options(hass: HomeAssistant) -> None: async def test_update_options(hass: HomeAssistant) -> None:

View File

@ -27,7 +27,6 @@
'name_by_user': None, 'name_by_user': None,
'primary_config_entry': <ANY>, 'primary_config_entry': <ANY>,
'serial_number': None, 'serial_number': None,
'suggested_area': None,
'sw_version': None, 'sw_version': None,
'via_device_id': None, 'via_device_id': None,
}) })
@ -60,7 +59,6 @@
'name_by_user': None, 'name_by_user': None,
'primary_config_entry': <ANY>, 'primary_config_entry': <ANY>,
'serial_number': None, 'serial_number': None,
'suggested_area': None,
'sw_version': None, 'sw_version': None,
'via_device_id': None, 'via_device_id': None,
}) })
@ -93,7 +91,6 @@
'name_by_user': None, 'name_by_user': None,
'primary_config_entry': <ANY>, 'primary_config_entry': <ANY>,
'serial_number': None, 'serial_number': None,
'suggested_area': None,
'sw_version': None, 'sw_version': None,
'via_device_id': None, 'via_device_id': None,
}) })

View File

@ -27,7 +27,6 @@
'name_by_user': None, 'name_by_user': None,
'primary_config_entry': <ANY>, 'primary_config_entry': <ANY>,
'serial_number': 'chargerid', 'serial_number': 'chargerid',
'suggested_area': None,
'sw_version': 'v2.65', 'sw_version': 'v2.65',
'via_device_id': None, 'via_device_id': None,
}) })

View File

@ -27,7 +27,6 @@
'name_by_user': None, 'name_by_user': None,
'primary_config_entry': <ANY>, 'primary_config_entry': <ANY>,
'serial_number': None, 'serial_number': None,
'suggested_area': None,
'sw_version': '1.7.1-stable', 'sw_version': '1.7.1-stable',
'via_device_id': None, 'via_device_id': None,
}) })
@ -60,7 +59,6 @@
'name_by_user': None, 'name_by_user': None,
'primary_config_entry': <ANY>, 'primary_config_entry': <ANY>,
'serial_number': None, 'serial_number': None,
'suggested_area': None,
'sw_version': '1.7.1-stable', 'sw_version': '1.7.1-stable',
'via_device_id': None, 'via_device_id': None,
}) })

View File

@ -27,7 +27,6 @@
'name_by_user': None, 'name_by_user': None,
'primary_config_entry': <ANY>, 'primary_config_entry': <ANY>,
'serial_number': None, 'serial_number': None,
'suggested_area': None,
'sw_version': None, 'sw_version': None,
'via_device_id': None, 'via_device_id': None,
}) })

View File

@ -27,7 +27,6 @@
'name_by_user': None, 'name_by_user': None,
'primary_config_entry': <ANY>, 'primary_config_entry': <ANY>,
'serial_number': '111111111111', 'serial_number': '111111111111',
'suggested_area': None,
'sw_version': '3.2', 'sw_version': '3.2',
'via_device_id': None, 'via_device_id': None,
}) })
@ -60,7 +59,6 @@
'name_by_user': None, 'name_by_user': None,
'primary_config_entry': <ANY>, 'primary_config_entry': <ANY>,
'serial_number': '111111111111', 'serial_number': '111111111111',
'suggested_area': None,
'sw_version': '3.2', 'sw_version': '3.2',
'via_device_id': None, 'via_device_id': None,
}) })
@ -93,7 +91,6 @@
'name_by_user': None, 'name_by_user': None,
'primary_config_entry': <ANY>, 'primary_config_entry': <ANY>,
'serial_number': '111111111111', 'serial_number': '111111111111',
'suggested_area': None,
'sw_version': '3.2', 'sw_version': '3.2',
'via_device_id': None, 'via_device_id': None,
}) })
@ -126,7 +123,6 @@
'name_by_user': None, 'name_by_user': None,
'primary_config_entry': <ANY>, 'primary_config_entry': <ANY>,
'serial_number': '111111111111', 'serial_number': '111111111111',
'suggested_area': None,
'sw_version': '3.2', 'sw_version': '3.2',
'via_device_id': <ANY>, 'via_device_id': <ANY>,
}) })
@ -159,7 +155,6 @@
'name_by_user': None, 'name_by_user': None,
'primary_config_entry': <ANY>, 'primary_config_entry': <ANY>,
'serial_number': '111111111111', 'serial_number': '111111111111',
'suggested_area': None,
'sw_version': '3.2', 'sw_version': '3.2',
'via_device_id': None, 'via_device_id': None,
}) })
@ -192,7 +187,6 @@
'name_by_user': None, 'name_by_user': None,
'primary_config_entry': <ANY>, 'primary_config_entry': <ANY>,
'serial_number': '111111111111', 'serial_number': '111111111111',
'suggested_area': None,
'sw_version': '3.2', 'sw_version': '3.2',
'via_device_id': None, 'via_device_id': None,
}) })
@ -225,7 +219,6 @@
'name_by_user': None, 'name_by_user': None,
'primary_config_entry': <ANY>, 'primary_config_entry': <ANY>,
'serial_number': '111111111111', 'serial_number': '111111111111',
'suggested_area': None,
'sw_version': '3.2', 'sw_version': '3.2',
'via_device_id': None, 'via_device_id': None,
}) })
@ -258,7 +251,6 @@
'name_by_user': None, 'name_by_user': None,
'primary_config_entry': <ANY>, 'primary_config_entry': <ANY>,
'serial_number': '111111111111', 'serial_number': '111111111111',
'suggested_area': None,
'sw_version': '3.2', 'sw_version': '3.2',
'via_device_id': None, 'via_device_id': None,
}) })
@ -291,7 +283,6 @@
'name_by_user': None, 'name_by_user': None,
'primary_config_entry': <ANY>, 'primary_config_entry': <ANY>,
'serial_number': '111111111111', 'serial_number': '111111111111',
'suggested_area': None,
'sw_version': '3.2', 'sw_version': '3.2',
'via_device_id': None, 'via_device_id': None,
}) })
@ -324,7 +315,6 @@
'name_by_user': None, 'name_by_user': None,
'primary_config_entry': <ANY>, 'primary_config_entry': <ANY>,
'serial_number': '222222222222', 'serial_number': '222222222222',
'suggested_area': None,
'sw_version': '3.2', 'sw_version': '3.2',
'via_device_id': None, 'via_device_id': None,
}) })
@ -357,7 +347,6 @@
'name_by_user': None, 'name_by_user': None,
'primary_config_entry': <ANY>, 'primary_config_entry': <ANY>,
'serial_number': '222222222223', 'serial_number': '222222222223',
'suggested_area': None,
'sw_version': '3.2', 'sw_version': '3.2',
'via_device_id': None, 'via_device_id': None,
}) })
@ -390,7 +379,6 @@
'name_by_user': None, 'name_by_user': None,
'primary_config_entry': <ANY>, 'primary_config_entry': <ANY>,
'serial_number': '111111111111', 'serial_number': '111111111111',
'suggested_area': None,
'sw_version': '3.2', 'sw_version': '3.2',
'via_device_id': None, 'via_device_id': None,
}) })
@ -423,7 +411,6 @@
'name_by_user': None, 'name_by_user': None,
'primary_config_entry': <ANY>, 'primary_config_entry': <ANY>,
'serial_number': '111111111111', 'serial_number': '111111111111',
'suggested_area': None,
'sw_version': '3.2', 'sw_version': '3.2',
'via_device_id': None, 'via_device_id': None,
}) })
@ -456,7 +443,6 @@
'name_by_user': None, 'name_by_user': None,
'primary_config_entry': <ANY>, 'primary_config_entry': <ANY>,
'serial_number': '111111111111', 'serial_number': '111111111111',
'suggested_area': None,
'sw_version': '3.2', 'sw_version': '3.2',
'via_device_id': None, 'via_device_id': None,
}) })
@ -489,7 +475,6 @@
'name_by_user': None, 'name_by_user': None,
'primary_config_entry': <ANY>, 'primary_config_entry': <ANY>,
'serial_number': '111111111111', 'serial_number': '111111111111',
'suggested_area': None,
'sw_version': '3.2', 'sw_version': '3.2',
'via_device_id': None, 'via_device_id': None,
}) })
@ -522,7 +507,6 @@
'name_by_user': None, 'name_by_user': None,
'primary_config_entry': <ANY>, 'primary_config_entry': <ANY>,
'serial_number': '111111111111', 'serial_number': '111111111111',
'suggested_area': None,
'sw_version': '3.2', 'sw_version': '3.2',
'via_device_id': None, 'via_device_id': None,
}) })
@ -555,7 +539,6 @@
'name_by_user': None, 'name_by_user': None,
'primary_config_entry': <ANY>, 'primary_config_entry': <ANY>,
'serial_number': '111111111111', 'serial_number': '111111111111',
'suggested_area': None,
'sw_version': '3.2', 'sw_version': '3.2',
'via_device_id': None, 'via_device_id': None,
}) })
@ -588,7 +571,6 @@
'name_by_user': None, 'name_by_user': None,
'primary_config_entry': <ANY>, 'primary_config_entry': <ANY>,
'serial_number': '222222222222', 'serial_number': '222222222222',
'suggested_area': None,
'sw_version': '3.2', 'sw_version': '3.2',
'via_device_id': None, 'via_device_id': None,
}) })
@ -621,7 +603,6 @@
'name_by_user': None, 'name_by_user': None,
'primary_config_entry': <ANY>, 'primary_config_entry': <ANY>,
'serial_number': '111111111111', 'serial_number': '111111111111',
'suggested_area': None,
'sw_version': '3.2', 'sw_version': '3.2',
'via_device_id': None, 'via_device_id': None,
}) })
@ -654,7 +635,6 @@
'name_by_user': None, 'name_by_user': None,
'primary_config_entry': <ANY>, 'primary_config_entry': <ANY>,
'serial_number': '111111111111', 'serial_number': '111111111111',
'suggested_area': None,
'sw_version': '3.2', 'sw_version': '3.2',
'via_device_id': None, 'via_device_id': None,
}) })
@ -687,7 +667,6 @@
'name_by_user': None, 'name_by_user': None,
'primary_config_entry': <ANY>, 'primary_config_entry': <ANY>,
'serial_number': '111111111112', 'serial_number': '111111111112',
'suggested_area': None,
'sw_version': '3.2', 'sw_version': '3.2',
'via_device_id': None, 'via_device_id': None,
}) })
@ -720,7 +699,6 @@
'name_by_user': None, 'name_by_user': None,
'primary_config_entry': <ANY>, 'primary_config_entry': <ANY>,
'serial_number': '111111111113', 'serial_number': '111111111113',
'suggested_area': None,
'sw_version': '3.2', 'sw_version': '3.2',
'via_device_id': None, 'via_device_id': None,
}) })

View File

@ -21,7 +21,6 @@
'name_by_user': None, 'name_by_user': None,
'primary_config_entry': <ANY>, 'primary_config_entry': <ANY>,
'serial_number': None, 'serial_number': None,
'suggested_area': None,
'sw_version': None, 'sw_version': None,
'via_device_id': None, 'via_device_id': None,
}) })
@ -48,7 +47,6 @@
'name_by_user': None, 'name_by_user': None,
'primary_config_entry': <ANY>, 'primary_config_entry': <ANY>,
'serial_number': None, 'serial_number': None,
'suggested_area': None,
'sw_version': None, 'sw_version': None,
'via_device_id': None, 'via_device_id': None,
}) })

View File

@ -27,7 +27,6 @@
'name_by_user': None, 'name_by_user': None,
'primary_config_entry': <ANY>, 'primary_config_entry': <ANY>,
'serial_number': None, 'serial_number': None,
'suggested_area': None,
'sw_version': None, 'sw_version': None,
'via_device_id': None, 'via_device_id': None,
}) })

View File

@ -27,7 +27,6 @@
'name_by_user': None, 'name_by_user': None,
'primary_config_entry': <ANY>, 'primary_config_entry': <ANY>,
'serial_number': None, 'serial_number': None,
'suggested_area': None,
'sw_version': '0.0.0', 'sw_version': '0.0.0',
'via_device_id': None, 'via_device_id': None,
}) })

View File

@ -35,7 +35,6 @@
'name_by_user': None, 'name_by_user': None,
'primary_config_entry': <ANY>, 'primary_config_entry': <ANY>,
'serial_number': '23-45-A4O-MOF', 'serial_number': '23-45-A4O-MOF',
'suggested_area': None,
'sw_version': '1.6.1+1+WL-1', 'sw_version': '1.6.1+1+WL-1',
'via_device_id': None, 'via_device_id': None,
}) })

View File

@ -32,7 +32,6 @@
'name_by_user': None, 'name_by_user': None,
'primary_config_entry': <ANY>, 'primary_config_entry': <ANY>,
'serial_number': None, 'serial_number': None,
'suggested_area': None,
'sw_version': '2.0.0 (7400)', 'sw_version': '2.0.0 (7400)',
'via_device_id': None, 'via_device_id': None,
}), }),

View File

@ -28,7 +28,6 @@
'name_by_user': None, 'name_by_user': None,
'primary_config_entry': <ANY>, 'primary_config_entry': <ANY>,
'serial_number': None, 'serial_number': None,
'suggested_area': None,
'sw_version': None, 'sw_version': None,
'via_device_id': None, 'via_device_id': None,
}), }),
@ -63,7 +62,6 @@
'name_by_user': None, 'name_by_user': None,
'primary_config_entry': <ANY>, 'primary_config_entry': <ANY>,
'serial_number': None, 'serial_number': None,
'suggested_area': None,
'sw_version': None, 'sw_version': None,
'via_device_id': None, 'via_device_id': None,
}), }),
@ -98,7 +96,6 @@
'name_by_user': None, 'name_by_user': None,
'primary_config_entry': <ANY>, 'primary_config_entry': <ANY>,
'serial_number': None, 'serial_number': None,
'suggested_area': None,
'sw_version': None, 'sw_version': None,
'via_device_id': None, 'via_device_id': None,
}), }),
@ -133,7 +130,6 @@
'name_by_user': None, 'name_by_user': None,
'primary_config_entry': <ANY>, 'primary_config_entry': <ANY>,
'serial_number': None, 'serial_number': None,
'suggested_area': None,
'sw_version': None, 'sw_version': None,
'via_device_id': None, 'via_device_id': None,
}), }),
@ -168,7 +164,6 @@
'name_by_user': None, 'name_by_user': None,
'primary_config_entry': <ANY>, 'primary_config_entry': <ANY>,
'serial_number': None, 'serial_number': None,
'suggested_area': None,
'sw_version': None, 'sw_version': None,
'via_device_id': None, 'via_device_id': None,
}), }),

View File

@ -9,7 +9,11 @@ from homeassistant.components.binary_sensor import STATE_OFF, STATE_ON
from homeassistant.components.roku.const import DOMAIN from homeassistant.components.roku.const import DOMAIN
from homeassistant.const import ATTR_DEVICE_CLASS, ATTR_FRIENDLY_NAME, EntityCategory from homeassistant.const import ATTR_DEVICE_CLASS, ATTR_FRIENDLY_NAME, EntityCategory
from homeassistant.core import HomeAssistant from homeassistant.core import HomeAssistant
from homeassistant.helpers import device_registry as dr, entity_registry as er from homeassistant.helpers import (
area_registry as ar,
device_registry as dr,
entity_registry as er,
)
from . import UPNP_SERIAL from . import UPNP_SERIAL
@ -77,12 +81,13 @@ async def test_roku_binary_sensors(
assert device_entry.entry_type is None assert device_entry.entry_type is None
assert device_entry.sw_version == "7.5.0" assert device_entry.sw_version == "7.5.0"
assert device_entry.hw_version == "4200X" assert device_entry.hw_version == "4200X"
assert device_entry.suggested_area is None assert device_entry.area_id is None
@pytest.mark.parametrize("mock_device", ["roku/rokutv-7820x.json"], indirect=True) @pytest.mark.parametrize("mock_device", ["roku/rokutv-7820x.json"], indirect=True)
async def test_rokutv_binary_sensors( async def test_rokutv_binary_sensors(
hass: HomeAssistant, hass: HomeAssistant,
area_registry: ar.AreaRegistry,
device_registry: dr.DeviceRegistry, device_registry: dr.DeviceRegistry,
entity_registry: er.EntityRegistry, entity_registry: er.EntityRegistry,
init_integration: MockConfigEntry, init_integration: MockConfigEntry,
@ -158,4 +163,6 @@ async def test_rokutv_binary_sensors(
assert device_entry.entry_type is None assert device_entry.entry_type is None
assert device_entry.sw_version == "9.2.0" assert device_entry.sw_version == "9.2.0"
assert device_entry.hw_version == "7820X" assert device_entry.hw_version == "7820X"
assert device_entry.suggested_area == "Living room" assert (
device_entry.area_id == area_registry.async_get_area_by_name("Living room").id
)

View File

@ -60,7 +60,11 @@ from homeassistant.const import (
) )
from homeassistant.core import HomeAssistant from homeassistant.core import HomeAssistant
from homeassistant.core_config import async_process_ha_core_config from homeassistant.core_config import async_process_ha_core_config
from homeassistant.helpers import device_registry as dr, entity_registry as er from homeassistant.helpers import (
area_registry as ar,
device_registry as dr,
entity_registry as er,
)
from homeassistant.setup import async_setup_component from homeassistant.setup import async_setup_component
from homeassistant.util import dt as dt_util from homeassistant.util import dt as dt_util
@ -100,7 +104,7 @@ async def test_setup(
assert device_entry.entry_type is None assert device_entry.entry_type is None
assert device_entry.sw_version == "7.5.0" assert device_entry.sw_version == "7.5.0"
assert device_entry.hw_version == "4200X" assert device_entry.hw_version == "4200X"
assert device_entry.suggested_area is None assert device_entry.area_id is None
@pytest.mark.parametrize("mock_device", ["roku/roku3-idle.json"], indirect=True) @pytest.mark.parametrize("mock_device", ["roku/roku3-idle.json"], indirect=True)
@ -118,6 +122,7 @@ async def test_idle_setup(
@pytest.mark.parametrize("mock_device", ["roku/rokutv-7820x.json"], indirect=True) @pytest.mark.parametrize("mock_device", ["roku/rokutv-7820x.json"], indirect=True)
async def test_tv_setup( async def test_tv_setup(
hass: HomeAssistant, hass: HomeAssistant,
area_registry: ar.AreaRegistry,
device_registry: dr.DeviceRegistry, device_registry: dr.DeviceRegistry,
entity_registry: er.EntityRegistry, entity_registry: er.EntityRegistry,
init_integration: MockConfigEntry, init_integration: MockConfigEntry,
@ -146,7 +151,9 @@ async def test_tv_setup(
assert device_entry.entry_type is None assert device_entry.entry_type is None
assert device_entry.sw_version == "9.2.0" assert device_entry.sw_version == "9.2.0"
assert device_entry.hw_version == "7820X" assert device_entry.hw_version == "7820X"
assert device_entry.suggested_area == "Living room" assert (
device_entry.area_id == area_registry.async_get_area_by_name("Living room").id
)
@pytest.mark.parametrize( @pytest.mark.parametrize(

View File

@ -12,7 +12,11 @@ from homeassistant.const import (
EntityCategory, EntityCategory,
) )
from homeassistant.core import HomeAssistant from homeassistant.core import HomeAssistant
from homeassistant.helpers import device_registry as dr, entity_registry as er from homeassistant.helpers import (
area_registry as ar,
device_registry as dr,
entity_registry as er,
)
from . import UPNP_SERIAL from . import UPNP_SERIAL
@ -60,12 +64,13 @@ async def test_roku_sensors(
assert device_entry.entry_type is None assert device_entry.entry_type is None
assert device_entry.sw_version == "7.5.0" assert device_entry.sw_version == "7.5.0"
assert device_entry.hw_version == "4200X" assert device_entry.hw_version == "4200X"
assert device_entry.suggested_area is None assert device_entry.area_id is None
@pytest.mark.parametrize("mock_device", ["roku/rokutv-7820x.json"], indirect=True) @pytest.mark.parametrize("mock_device", ["roku/rokutv-7820x.json"], indirect=True)
async def test_rokutv_sensors( async def test_rokutv_sensors(
hass: HomeAssistant, hass: HomeAssistant,
area_registry: ar.AreaRegistry,
device_registry: dr.DeviceRegistry, device_registry: dr.DeviceRegistry,
entity_registry: er.EntityRegistry, entity_registry: er.EntityRegistry,
init_integration: MockConfigEntry, init_integration: MockConfigEntry,
@ -106,4 +111,6 @@ async def test_rokutv_sensors(
assert device_entry.entry_type is None assert device_entry.entry_type is None
assert device_entry.sw_version == "9.2.0" assert device_entry.sw_version == "9.2.0"
assert device_entry.hw_version == "7820X" assert device_entry.hw_version == "7820X"
assert device_entry.suggested_area == "Living room" assert (
device_entry.area_id == area_registry.async_get_area_by_name("Living room").id
)

View File

@ -27,7 +27,6 @@
'name_by_user': None, 'name_by_user': None,
'primary_config_entry': <ANY>, 'primary_config_entry': <ANY>,
'serial_number': None, 'serial_number': None,
'suggested_area': None,
'sw_version': None, 'sw_version': None,
'via_device_id': None, 'via_device_id': None,
}) })

View File

@ -31,7 +31,6 @@
'name_by_user': None, 'name_by_user': None,
'primary_config_entry': <ANY>, 'primary_config_entry': <ANY>,
'serial_number': None, 'serial_number': None,
'suggested_area': None,
'sw_version': None, 'sw_version': None,
'via_device_id': None, 'via_device_id': None,
}) })

View File

@ -32,7 +32,6 @@
'name_by_user': None, 'name_by_user': None,
'primary_config_entry': <ANY>, 'primary_config_entry': <ANY>,
'serial_number': None, 'serial_number': None,
'suggested_area': None,
'sw_version': None, 'sw_version': None,
'via_device_id': None, 'via_device_id': None,
}), }),
@ -67,7 +66,6 @@
'name_by_user': None, 'name_by_user': None,
'primary_config_entry': <ANY>, 'primary_config_entry': <ANY>,
'serial_number': None, 'serial_number': None,
'suggested_area': None,
'sw_version': None, 'sw_version': None,
'via_device_id': None, 'via_device_id': None,
}), }),
@ -106,7 +104,6 @@
'name_by_user': None, 'name_by_user': None,
'primary_config_entry': <ANY>, 'primary_config_entry': <ANY>,
'serial_number': None, 'serial_number': None,
'suggested_area': None,
'sw_version': None, 'sw_version': None,
'via_device_id': None, 'via_device_id': None,
}), }),

View File

@ -27,7 +27,6 @@
'name_by_user': None, 'name_by_user': None,
'primary_config_entry': <ANY>, 'primary_config_entry': <ANY>,
'serial_number': None, 'serial_number': None,
'suggested_area': None,
'sw_version': '1.0', 'sw_version': '1.0',
'via_device_id': None, 'via_device_id': None,
}) })

View File

@ -32,7 +32,6 @@
'name_by_user': None, 'name_by_user': None,
'primary_config_entry': <ANY>, 'primary_config_entry': <ANY>,
'serial_number': '1234567890', 'serial_number': '1234567890',
'suggested_area': 'Hallway',
'sw_version': 'SKY30046', 'sw_version': 'SKY30046',
'via_device_id': None, 'via_device_id': None,
}), }),
@ -67,7 +66,6 @@
'name_by_user': None, 'name_by_user': None,
'primary_config_entry': <ANY>, 'primary_config_entry': <ANY>,
'serial_number': '0987654321', 'serial_number': '0987654321',
'suggested_area': 'Kitchen',
'sw_version': 'PUR00111', 'sw_version': 'PUR00111',
'via_device_id': None, 'via_device_id': None,
}), }),
@ -102,7 +100,6 @@
'name_by_user': None, 'name_by_user': None,
'primary_config_entry': <ANY>, 'primary_config_entry': <ANY>,
'serial_number': '0987654329', 'serial_number': '0987654329',
'suggested_area': 'Bedroom',
'sw_version': 'PUR00111', 'sw_version': 'PUR00111',
'via_device_id': None, 'via_device_id': None,
}), }),
@ -133,7 +130,6 @@
'name_by_user': None, 'name_by_user': None,
'primary_config_entry': <ANY>, 'primary_config_entry': <ANY>,
'serial_number': None, 'serial_number': None,
'suggested_area': None,
'sw_version': 'V17', 'sw_version': 'V17',
'via_device_id': <ANY>, 'via_device_id': <ANY>,
}), }),

View File

@ -28,7 +28,6 @@
'name_by_user': None, 'name_by_user': None,
'primary_config_entry': <ANY>, 'primary_config_entry': <ANY>,
'serial_number': None, 'serial_number': None,
'suggested_area': None,
'sw_version': 'NB6VAC-MAIN-R4.0.44k', 'sw_version': 'NB6VAC-MAIN-R4.0.44k',
'via_device_id': None, 'via_device_id': None,
}), }),
@ -161,7 +160,6 @@
'name_by_user': None, 'name_by_user': None,
'primary_config_entry': <ANY>, 'primary_config_entry': <ANY>,
'serial_number': None, 'serial_number': None,
'suggested_area': None,
'sw_version': 'NB6VAC-MAIN-R4.0.44k', 'sw_version': 'NB6VAC-MAIN-R4.0.44k',
'via_device_id': None, 'via_device_id': None,
}), }),

View File

@ -28,7 +28,6 @@
'name_by_user': None, 'name_by_user': None,
'primary_config_entry': <ANY>, 'primary_config_entry': <ANY>,
'serial_number': None, 'serial_number': None,
'suggested_area': None,
'sw_version': 'NB6VAC-MAIN-R4.0.44k', 'sw_version': 'NB6VAC-MAIN-R4.0.44k',
'via_device_id': None, 'via_device_id': None,
}), }),

View File

@ -28,7 +28,6 @@
'name_by_user': None, 'name_by_user': None,
'primary_config_entry': <ANY>, 'primary_config_entry': <ANY>,
'serial_number': None, 'serial_number': None,
'suggested_area': None,
'sw_version': 'NB6VAC-MAIN-R4.0.44k', 'sw_version': 'NB6VAC-MAIN-R4.0.44k',
'via_device_id': None, 'via_device_id': None,
}), }),

View File

@ -27,7 +27,6 @@
'name_by_user': None, 'name_by_user': None,
'primary_config_entry': <ANY>, 'primary_config_entry': <ANY>,
'serial_number': '1234567890ab', 'serial_number': '1234567890ab',
'suggested_area': None,
'sw_version': 2, 'sw_version': 2,
'via_device_id': None, 'via_device_id': None,
}) })

View File

@ -30,7 +30,6 @@
'name_by_user': None, 'name_by_user': None,
'primary_config_entry': <ANY>, 'primary_config_entry': <ANY>,
'serial_number': None, 'serial_number': None,
'suggested_area': None,
'sw_version': None, 'sw_version': None,
'via_device_id': None, 'via_device_id': None,
}) })
@ -63,7 +62,6 @@
'name_by_user': None, 'name_by_user': None,
'primary_config_entry': <ANY>, 'primary_config_entry': <ANY>,
'serial_number': None, 'serial_number': None,
'suggested_area': 'Toilet',
'sw_version': None, 'sw_version': None,
'via_device_id': None, 'via_device_id': None,
}) })
@ -96,7 +94,6 @@
'name_by_user': None, 'name_by_user': None,
'primary_config_entry': <ANY>, 'primary_config_entry': <ANY>,
'serial_number': None, 'serial_number': None,
'suggested_area': None,
'sw_version': None, 'sw_version': None,
'via_device_id': None, 'via_device_id': None,
}) })
@ -129,7 +126,6 @@
'name_by_user': None, 'name_by_user': None,
'primary_config_entry': <ANY>, 'primary_config_entry': <ANY>,
'serial_number': None, 'serial_number': None,
'suggested_area': 'Theater',
'sw_version': None, 'sw_version': None,
'via_device_id': None, 'via_device_id': None,
}) })
@ -162,7 +158,6 @@
'name_by_user': None, 'name_by_user': None,
'primary_config_entry': <ANY>, 'primary_config_entry': <ANY>,
'serial_number': None, 'serial_number': None,
'suggested_area': None,
'sw_version': None, 'sw_version': None,
'via_device_id': None, 'via_device_id': None,
}) })
@ -195,7 +190,6 @@
'name_by_user': None, 'name_by_user': None,
'primary_config_entry': <ANY>, 'primary_config_entry': <ANY>,
'serial_number': None, 'serial_number': None,
'suggested_area': 'Theater',
'sw_version': None, 'sw_version': None,
'via_device_id': None, 'via_device_id': None,
}) })
@ -228,7 +222,6 @@
'name_by_user': None, 'name_by_user': None,
'primary_config_entry': <ANY>, 'primary_config_entry': <ANY>,
'serial_number': None, 'serial_number': None,
'suggested_area': None,
'sw_version': None, 'sw_version': None,
'via_device_id': None, 'via_device_id': None,
}) })
@ -261,7 +254,6 @@
'name_by_user': None, 'name_by_user': None,
'primary_config_entry': <ANY>, 'primary_config_entry': <ANY>,
'serial_number': None, 'serial_number': None,
'suggested_area': 'Theater',
'sw_version': None, 'sw_version': None,
'via_device_id': None, 'via_device_id': None,
}) })
@ -294,7 +286,6 @@
'name_by_user': None, 'name_by_user': None,
'primary_config_entry': <ANY>, 'primary_config_entry': <ANY>,
'serial_number': None, 'serial_number': None,
'suggested_area': 'Theater',
'sw_version': None, 'sw_version': None,
'via_device_id': None, 'via_device_id': None,
}) })
@ -327,7 +318,6 @@
'name_by_user': None, 'name_by_user': None,
'primary_config_entry': <ANY>, 'primary_config_entry': <ANY>,
'serial_number': None, 'serial_number': None,
'suggested_area': None,
'sw_version': 'ASM-KR-TP1-22-ACMB1M_16240426', 'sw_version': 'ASM-KR-TP1-22-ACMB1M_16240426',
'via_device_id': None, 'via_device_id': None,
}) })
@ -360,7 +350,6 @@
'name_by_user': None, 'name_by_user': None,
'primary_config_entry': <ANY>, 'primary_config_entry': <ANY>,
'serial_number': None, 'serial_number': None,
'suggested_area': None,
'sw_version': 'AEH-WW-TP1-22-AE6000_17240903', 'sw_version': 'AEH-WW-TP1-22-AE6000_17240903',
'via_device_id': None, 'via_device_id': None,
}) })
@ -393,7 +382,6 @@
'name_by_user': None, 'name_by_user': None,
'primary_config_entry': <ANY>, 'primary_config_entry': <ANY>,
'serial_number': None, 'serial_number': None,
'suggested_area': 'Theater',
'sw_version': None, 'sw_version': None,
'via_device_id': None, 'via_device_id': None,
}) })
@ -426,7 +414,6 @@
'name_by_user': None, 'name_by_user': None,
'primary_config_entry': <ANY>, 'primary_config_entry': <ANY>,
'serial_number': None, 'serial_number': None,
'suggested_area': None,
'sw_version': 'ARTIK051_PRAC_20K_11230313', 'sw_version': 'ARTIK051_PRAC_20K_11230313',
'via_device_id': None, 'via_device_id': None,
}) })
@ -459,7 +446,6 @@
'name_by_user': None, 'name_by_user': None,
'primary_config_entry': <ANY>, 'primary_config_entry': <ANY>,
'serial_number': None, 'serial_number': None,
'suggested_area': 'Theater',
'sw_version': 'ARA-WW-TP1-22-COMMON_11240702', 'sw_version': 'ARA-WW-TP1-22-COMMON_11240702',
'via_device_id': None, 'via_device_id': None,
}) })
@ -492,7 +478,6 @@
'name_by_user': None, 'name_by_user': None,
'primary_config_entry': <ANY>, 'primary_config_entry': <ANY>,
'serial_number': None, 'serial_number': None,
'suggested_area': 'Theater',
'sw_version': None, 'sw_version': None,
'via_device_id': None, 'via_device_id': None,
}) })
@ -525,7 +510,6 @@
'name_by_user': None, 'name_by_user': None,
'primary_config_entry': <ANY>, 'primary_config_entry': <ANY>,
'serial_number': None, 'serial_number': None,
'suggested_area': None,
'sw_version': None, 'sw_version': None,
'via_device_id': None, 'via_device_id': None,
}) })
@ -558,7 +542,6 @@
'name_by_user': None, 'name_by_user': None,
'primary_config_entry': <ANY>, 'primary_config_entry': <ANY>,
'serial_number': None, 'serial_number': None,
'suggested_area': 'Theater',
'sw_version': 'AKS-WW-TP2-20-MICROWAVE-OTR_40230125', 'sw_version': 'AKS-WW-TP2-20-MICROWAVE-OTR_40230125',
'via_device_id': None, 'via_device_id': None,
}) })
@ -591,7 +574,6 @@
'name_by_user': None, 'name_by_user': None,
'primary_config_entry': <ANY>, 'primary_config_entry': <ANY>,
'serial_number': None, 'serial_number': None,
'suggested_area': None,
'sw_version': 'AKS-WW-TP1X-21-OVEN_40211229', 'sw_version': 'AKS-WW-TP1X-21-OVEN_40211229',
'via_device_id': None, 'via_device_id': None,
}) })
@ -624,7 +606,6 @@
'name_by_user': None, 'name_by_user': None,
'primary_config_entry': <ANY>, 'primary_config_entry': <ANY>,
'serial_number': None, 'serial_number': None,
'suggested_area': None,
'sw_version': 'AKS-WW-TP1-20-OVEN-3-CR_40240205', 'sw_version': 'AKS-WW-TP1-20-OVEN-3-CR_40240205',
'via_device_id': None, 'via_device_id': None,
}) })
@ -657,7 +638,6 @@
'name_by_user': None, 'name_by_user': None,
'primary_config_entry': <ANY>, 'primary_config_entry': <ANY>,
'serial_number': None, 'serial_number': None,
'suggested_area': 'Theater',
'sw_version': 'A-RFWW-TP2-21-COMMON_20220110', 'sw_version': 'A-RFWW-TP2-21-COMMON_20220110',
'via_device_id': None, 'via_device_id': None,
}) })
@ -690,7 +670,6 @@
'name_by_user': None, 'name_by_user': None,
'primary_config_entry': <ANY>, 'primary_config_entry': <ANY>,
'serial_number': None, 'serial_number': None,
'suggested_area': None,
'sw_version': '20240616.213423', 'sw_version': '20240616.213423',
'via_device_id': None, 'via_device_id': None,
}) })
@ -723,7 +702,6 @@
'name_by_user': None, 'name_by_user': None,
'primary_config_entry': <ANY>, 'primary_config_entry': <ANY>,
'serial_number': None, 'serial_number': None,
'suggested_area': None,
'sw_version': 'A-RFWW-TP1-22-REV1_20241030', 'sw_version': 'A-RFWW-TP1-22-REV1_20241030',
'via_device_id': None, 'via_device_id': None,
}) })
@ -756,7 +734,6 @@
'name_by_user': None, 'name_by_user': None,
'primary_config_entry': <ANY>, 'primary_config_entry': <ANY>,
'serial_number': None, 'serial_number': None,
'suggested_area': None,
'sw_version': '20250123.105306', 'sw_version': '20250123.105306',
'via_device_id': None, 'via_device_id': None,
}) })
@ -789,7 +766,6 @@
'name_by_user': None, 'name_by_user': None,
'primary_config_entry': <ANY>, 'primary_config_entry': <ANY>,
'serial_number': None, 'serial_number': None,
'suggested_area': 'Theater',
'sw_version': '1.0', 'sw_version': '1.0',
'via_device_id': None, 'via_device_id': None,
}) })
@ -822,7 +798,6 @@
'name_by_user': None, 'name_by_user': None,
'primary_config_entry': <ANY>, 'primary_config_entry': <ANY>,
'serial_number': None, 'serial_number': None,
'suggested_area': None,
'sw_version': '20250317.1', 'sw_version': '20250317.1',
'via_device_id': None, 'via_device_id': None,
}) })
@ -855,7 +830,6 @@
'name_by_user': None, 'name_by_user': None,
'primary_config_entry': <ANY>, 'primary_config_entry': <ANY>,
'serial_number': None, 'serial_number': None,
'suggested_area': None,
'sw_version': '20250317.1', 'sw_version': '20250317.1',
'via_device_id': None, 'via_device_id': None,
}) })
@ -888,7 +862,6 @@
'name_by_user': None, 'name_by_user': None,
'primary_config_entry': <ANY>, 'primary_config_entry': <ANY>,
'serial_number': None, 'serial_number': None,
'suggested_area': None,
'sw_version': '20250317.1', 'sw_version': '20250317.1',
'via_device_id': None, 'via_device_id': None,
}) })
@ -921,7 +894,6 @@
'name_by_user': None, 'name_by_user': None,
'primary_config_entry': <ANY>, 'primary_config_entry': <ANY>,
'serial_number': None, 'serial_number': None,
'suggested_area': 'Theater',
'sw_version': 'DA_DW_A51_20_COMMON_30230714', 'sw_version': 'DA_DW_A51_20_COMMON_30230714',
'via_device_id': None, 'via_device_id': None,
}) })
@ -954,7 +926,6 @@
'name_by_user': None, 'name_by_user': None,
'primary_config_entry': <ANY>, 'primary_config_entry': <ANY>,
'serial_number': None, 'serial_number': None,
'suggested_area': None,
'sw_version': 'DA_DF_TP2_20_COMMON_30230807', 'sw_version': 'DA_DF_TP2_20_COMMON_30230807',
'via_device_id': None, 'via_device_id': None,
}) })
@ -987,7 +958,6 @@
'name_by_user': None, 'name_by_user': None,
'primary_config_entry': <ANY>, 'primary_config_entry': <ANY>,
'serial_number': None, 'serial_number': None,
'suggested_area': 'Theater',
'sw_version': 'DA_WM_A51_20_COMMON_30230708', 'sw_version': 'DA_WM_A51_20_COMMON_30230708',
'via_device_id': None, 'via_device_id': None,
}) })
@ -1020,7 +990,6 @@
'name_by_user': None, 'name_by_user': None,
'primary_config_entry': <ANY>, 'primary_config_entry': <ANY>,
'serial_number': None, 'serial_number': None,
'suggested_area': None,
'sw_version': 'DA_WM_A51_20_COMMON_30230708', 'sw_version': 'DA_WM_A51_20_COMMON_30230708',
'via_device_id': None, 'via_device_id': None,
}) })
@ -1053,7 +1022,6 @@
'name_by_user': None, 'name_by_user': None,
'primary_config_entry': <ANY>, 'primary_config_entry': <ANY>,
'serial_number': None, 'serial_number': None,
'suggested_area': 'Theater',
'sw_version': 'DA_WM_TP2_20_COMMON_30230804', 'sw_version': 'DA_WM_TP2_20_COMMON_30230804',
'via_device_id': None, 'via_device_id': None,
}) })
@ -1086,7 +1054,6 @@
'name_by_user': None, 'name_by_user': None,
'primary_config_entry': <ANY>, 'primary_config_entry': <ANY>,
'serial_number': None, 'serial_number': None,
'suggested_area': None,
'sw_version': 'DA_WM_A51_20_COMMON_30230708', 'sw_version': 'DA_WM_A51_20_COMMON_30230708',
'via_device_id': None, 'via_device_id': None,
}) })
@ -1119,7 +1086,6 @@
'name_by_user': None, 'name_by_user': None,
'primary_config_entry': <ANY>, 'primary_config_entry': <ANY>,
'serial_number': None, 'serial_number': None,
'suggested_area': None,
'sw_version': 'DA_WM_TP1_21_COMMON_30240927', 'sw_version': 'DA_WM_TP1_21_COMMON_30240927',
'via_device_id': None, 'via_device_id': None,
}) })
@ -1152,7 +1118,6 @@
'name_by_user': None, 'name_by_user': None,
'primary_config_entry': <ANY>, 'primary_config_entry': <ANY>,
'serial_number': None, 'serial_number': None,
'suggested_area': None,
'sw_version': None, 'sw_version': None,
'via_device_id': None, 'via_device_id': None,
}) })
@ -1185,7 +1150,6 @@
'name_by_user': None, 'name_by_user': None,
'primary_config_entry': <ANY>, 'primary_config_entry': <ANY>,
'serial_number': None, 'serial_number': None,
'suggested_area': None,
'sw_version': '250206213001', 'sw_version': '250206213001',
'via_device_id': None, 'via_device_id': None,
}) })
@ -1218,7 +1182,6 @@
'name_by_user': None, 'name_by_user': None,
'primary_config_entry': <ANY>, 'primary_config_entry': <ANY>,
'serial_number': None, 'serial_number': None,
'suggested_area': None,
'sw_version': '250206151734', 'sw_version': '250206151734',
'via_device_id': None, 'via_device_id': None,
}) })
@ -1251,7 +1214,6 @@
'name_by_user': None, 'name_by_user': None,
'primary_config_entry': <ANY>, 'primary_config_entry': <ANY>,
'serial_number': None, 'serial_number': None,
'suggested_area': None,
'sw_version': '250308073247', 'sw_version': '250308073247',
'via_device_id': None, 'via_device_id': None,
}) })
@ -1284,7 +1246,6 @@
'name_by_user': None, 'name_by_user': None,
'primary_config_entry': <ANY>, 'primary_config_entry': <ANY>,
'serial_number': None, 'serial_number': None,
'suggested_area': 'Theater',
'sw_version': None, 'sw_version': None,
'via_device_id': None, 'via_device_id': None,
}) })
@ -1317,7 +1278,6 @@
'name_by_user': None, 'name_by_user': None,
'primary_config_entry': <ANY>, 'primary_config_entry': <ANY>,
'serial_number': None, 'serial_number': None,
'suggested_area': None,
'sw_version': None, 'sw_version': None,
'via_device_id': None, 'via_device_id': None,
}) })
@ -1350,7 +1310,6 @@
'name_by_user': None, 'name_by_user': None,
'primary_config_entry': <ANY>, 'primary_config_entry': <ANY>,
'serial_number': None, 'serial_number': None,
'suggested_area': 'Theater',
'sw_version': None, 'sw_version': None,
'via_device_id': None, 'via_device_id': None,
}) })
@ -1383,7 +1342,6 @@
'name_by_user': None, 'name_by_user': None,
'primary_config_entry': <ANY>, 'primary_config_entry': <ANY>,
'serial_number': None, 'serial_number': None,
'suggested_area': None,
'sw_version': None, 'sw_version': None,
'via_device_id': None, 'via_device_id': None,
}) })
@ -1416,7 +1374,6 @@
'name_by_user': None, 'name_by_user': None,
'primary_config_entry': <ANY>, 'primary_config_entry': <ANY>,
'serial_number': None, 'serial_number': None,
'suggested_area': None,
'sw_version': None, 'sw_version': None,
'via_device_id': None, 'via_device_id': None,
}) })
@ -1449,7 +1406,6 @@
'name_by_user': None, 'name_by_user': None,
'primary_config_entry': <ANY>, 'primary_config_entry': <ANY>,
'serial_number': None, 'serial_number': None,
'suggested_area': None,
'sw_version': None, 'sw_version': None,
'via_device_id': None, 'via_device_id': None,
}) })
@ -1482,7 +1438,6 @@
'name_by_user': None, 'name_by_user': None,
'primary_config_entry': <ANY>, 'primary_config_entry': <ANY>,
'serial_number': None, 'serial_number': None,
'suggested_area': None,
'sw_version': None, 'sw_version': None,
'via_device_id': None, 'via_device_id': None,
}) })
@ -1515,7 +1470,6 @@
'name_by_user': None, 'name_by_user': None,
'primary_config_entry': <ANY>, 'primary_config_entry': <ANY>,
'serial_number': None, 'serial_number': None,
'suggested_area': None,
'sw_version': '1.122.2', 'sw_version': '1.122.2',
'via_device_id': None, 'via_device_id': None,
}) })
@ -1548,7 +1502,6 @@
'name_by_user': None, 'name_by_user': None,
'primary_config_entry': <ANY>, 'primary_config_entry': <ANY>,
'serial_number': None, 'serial_number': None,
'suggested_area': None,
'sw_version': '1.122.2', 'sw_version': '1.122.2',
'via_device_id': None, 'via_device_id': None,
}) })
@ -1581,7 +1534,6 @@
'name_by_user': None, 'name_by_user': None,
'primary_config_entry': <ANY>, 'primary_config_entry': <ANY>,
'serial_number': None, 'serial_number': None,
'suggested_area': None,
'sw_version': 'HW-Q80RWWB-1012.6', 'sw_version': 'HW-Q80RWWB-1012.6',
'via_device_id': None, 'via_device_id': None,
}) })
@ -1614,7 +1566,6 @@
'name_by_user': None, 'name_by_user': None,
'primary_config_entry': <ANY>, 'primary_config_entry': <ANY>,
'serial_number': None, 'serial_number': None,
'suggested_area': None,
'sw_version': None, 'sw_version': None,
'via_device_id': None, 'via_device_id': None,
}) })
@ -1647,7 +1598,6 @@
'name_by_user': None, 'name_by_user': None,
'primary_config_entry': <ANY>, 'primary_config_entry': <ANY>,
'serial_number': None, 'serial_number': None,
'suggested_area': None,
'sw_version': None, 'sw_version': None,
'via_device_id': None, 'via_device_id': None,
}) })
@ -1680,7 +1630,6 @@
'name_by_user': None, 'name_by_user': None,
'primary_config_entry': <ANY>, 'primary_config_entry': <ANY>,
'serial_number': None, 'serial_number': None,
'suggested_area': None,
'sw_version': 'V310XXU1AWK1', 'sw_version': 'V310XXU1AWK1',
'via_device_id': None, 'via_device_id': None,
}) })
@ -1713,7 +1662,6 @@
'name_by_user': None, 'name_by_user': None,
'primary_config_entry': <ANY>, 'primary_config_entry': <ANY>,
'serial_number': None, 'serial_number': None,
'suggested_area': None,
'sw_version': None, 'sw_version': None,
'via_device_id': None, 'via_device_id': None,
}) })
@ -1746,7 +1694,6 @@
'name_by_user': None, 'name_by_user': None,
'primary_config_entry': <ANY>, 'primary_config_entry': <ANY>,
'serial_number': None, 'serial_number': None,
'suggested_area': None,
'sw_version': None, 'sw_version': None,
'via_device_id': None, 'via_device_id': None,
}) })
@ -1779,7 +1726,6 @@
'name_by_user': None, 'name_by_user': None,
'primary_config_entry': <ANY>, 'primary_config_entry': <ANY>,
'serial_number': None, 'serial_number': None,
'suggested_area': 'Theater',
'sw_version': None, 'sw_version': None,
'via_device_id': None, 'via_device_id': None,
}) })
@ -1812,7 +1758,6 @@
'name_by_user': None, 'name_by_user': None,
'primary_config_entry': <ANY>, 'primary_config_entry': <ANY>,
'serial_number': None, 'serial_number': None,
'suggested_area': None,
'sw_version': '6004971003', 'sw_version': '6004971003',
'via_device_id': None, 'via_device_id': None,
}) })
@ -1845,7 +1790,6 @@
'name_by_user': None, 'name_by_user': None,
'primary_config_entry': <ANY>, 'primary_config_entry': <ANY>,
'serial_number': None, 'serial_number': None,
'suggested_area': None,
'sw_version': 'SKY40147', 'sw_version': 'SKY40147',
'via_device_id': None, 'via_device_id': None,
}) })
@ -1878,7 +1822,6 @@
'name_by_user': None, 'name_by_user': None,
'primary_config_entry': <ANY>, 'primary_config_entry': <ANY>,
'serial_number': None, 'serial_number': None,
'suggested_area': 'Theater',
'sw_version': None, 'sw_version': None,
'via_device_id': None, 'via_device_id': None,
}) })
@ -1911,7 +1854,6 @@
'name_by_user': None, 'name_by_user': None,
'primary_config_entry': <ANY>, 'primary_config_entry': <ANY>,
'serial_number': None, 'serial_number': None,
'suggested_area': 'Theater',
'sw_version': None, 'sw_version': None,
'via_device_id': None, 'via_device_id': None,
}) })
@ -1944,7 +1886,6 @@
'name_by_user': None, 'name_by_user': None,
'primary_config_entry': <ANY>, 'primary_config_entry': <ANY>,
'serial_number': None, 'serial_number': None,
'suggested_area': None,
'sw_version': '1.3.1 Build 240621 Rel.162048', 'sw_version': '1.3.1 Build 240621 Rel.162048',
'via_device_id': None, 'via_device_id': None,
}) })
@ -1977,7 +1918,6 @@
'name_by_user': None, 'name_by_user': None,
'primary_config_entry': <ANY>, 'primary_config_entry': <ANY>,
'serial_number': None, 'serial_number': None,
'suggested_area': 'Theater',
'sw_version': 'SAT-iMX8M23WWC-1010.5', 'sw_version': 'SAT-iMX8M23WWC-1010.5',
'via_device_id': None, 'via_device_id': None,
}) })
@ -2010,7 +1950,6 @@
'name_by_user': None, 'name_by_user': None,
'primary_config_entry': <ANY>, 'primary_config_entry': <ANY>,
'serial_number': None, 'serial_number': None,
'suggested_area': None,
'sw_version': 'SAT-MT8532D24WWC-1016.0', 'sw_version': 'SAT-MT8532D24WWC-1016.0',
'via_device_id': None, 'via_device_id': None,
}) })
@ -2043,7 +1982,6 @@
'name_by_user': None, 'name_by_user': None,
'primary_config_entry': <ANY>, 'primary_config_entry': <ANY>,
'serial_number': None, 'serial_number': None,
'suggested_area': None,
'sw_version': 'latest', 'sw_version': 'latest',
'via_device_id': None, 'via_device_id': None,
}) })
@ -2076,7 +2014,6 @@
'name_by_user': None, 'name_by_user': None,
'primary_config_entry': <ANY>, 'primary_config_entry': <ANY>,
'serial_number': None, 'serial_number': None,
'suggested_area': 'Theater',
'sw_version': 'T-KTMAKUC-1290.3', 'sw_version': 'T-KTMAKUC-1290.3',
'via_device_id': None, 'via_device_id': None,
}) })
@ -2109,7 +2046,6 @@
'name_by_user': None, 'name_by_user': None,
'primary_config_entry': <ANY>, 'primary_config_entry': <ANY>,
'serial_number': None, 'serial_number': None,
'suggested_area': 'Theater',
'sw_version': None, 'sw_version': None,
'via_device_id': None, 'via_device_id': None,
}) })
@ -2142,7 +2078,6 @@
'name_by_user': None, 'name_by_user': None,
'primary_config_entry': <ANY>, 'primary_config_entry': <ANY>,
'serial_number': None, 'serial_number': None,
'suggested_area': 'Theater',
'sw_version': None, 'sw_version': None,
'via_device_id': None, 'via_device_id': None,
}) })
@ -2175,7 +2110,6 @@
'name_by_user': None, 'name_by_user': None,
'primary_config_entry': <ANY>, 'primary_config_entry': <ANY>,
'serial_number': None, 'serial_number': None,
'suggested_area': 'Theater',
'sw_version': None, 'sw_version': None,
'via_device_id': None, 'via_device_id': None,
}) })
@ -2208,7 +2142,6 @@
'name_by_user': None, 'name_by_user': None,
'primary_config_entry': <ANY>, 'primary_config_entry': <ANY>,
'serial_number': None, 'serial_number': None,
'suggested_area': 'Theater',
'sw_version': None, 'sw_version': None,
'via_device_id': None, 'via_device_id': None,
}) })
@ -2245,7 +2178,6 @@
'name_by_user': None, 'name_by_user': None,
'primary_config_entry': <ANY>, 'primary_config_entry': <ANY>,
'serial_number': None, 'serial_number': None,
'suggested_area': 'Theater',
'sw_version': '000.055.00005', 'sw_version': '000.055.00005',
'via_device_id': None, 'via_device_id': None,
}) })

View File

@ -27,7 +27,6 @@
'name_by_user': None, 'name_by_user': None,
'primary_config_entry': <ANY>, 'primary_config_entry': <ANY>,
'serial_number': None, 'serial_number': None,
'suggested_area': None,
'sw_version': 127, 'sw_version': 127,
'via_device_id': None, 'via_device_id': None,
}) })

View File

@ -27,7 +27,6 @@
'name_by_user': None, 'name_by_user': None,
'primary_config_entry': <ANY>, 'primary_config_entry': <ANY>,
'serial_number': None, 'serial_number': None,
'suggested_area': None,
'sw_version': 'core: v2.3.6 / zigbee: 20240314', 'sw_version': 'core: v2.3.6 / zigbee: 20240314',
'via_device_id': None, 'via_device_id': None,
}) })

View File

@ -54,7 +54,7 @@ from homeassistant.const import (
) )
from homeassistant.core import HomeAssistant from homeassistant.core import HomeAssistant
from homeassistant.exceptions import HomeAssistantError, ServiceValidationError from homeassistant.exceptions import HomeAssistantError, ServiceValidationError
from homeassistant.helpers import entity_registry as er from homeassistant.helpers import area_registry as ar, entity_registry as er
from homeassistant.helpers.device_registry import ( from homeassistant.helpers.device_registry import (
CONNECTION_NETWORK_MAC, CONNECTION_NETWORK_MAC,
CONNECTION_UPNP, CONNECTION_UPNP,
@ -83,11 +83,15 @@ async def test_device_registry(
assert reg_device.manufacturer == "Sonos" assert reg_device.manufacturer == "Sonos"
assert reg_device.name == "Zone A" assert reg_device.name == "Zone A"
# Default device provides battery info, area should not be suggested # Default device provides battery info, area should not be suggested
assert reg_device.suggested_area is None assert reg_device.area_id is None
async def test_device_registry_not_portable( async def test_device_registry_not_portable(
hass: HomeAssistant, device_registry: DeviceRegistry, async_setup_sonos, soco hass: HomeAssistant,
area_registry: ar.AreaRegistry,
device_registry: DeviceRegistry,
async_setup_sonos,
soco,
) -> None: ) -> None:
"""Test non-portable sonos device registered in the device registry to ensure area suggested.""" """Test non-portable sonos device registered in the device registry to ensure area suggested."""
soco.get_battery_info.return_value = {} soco.get_battery_info.return_value = {}
@ -97,7 +101,7 @@ async def test_device_registry_not_portable(
identifiers={("sonos", "RINCON_test")} identifiers={("sonos", "RINCON_test")}
) )
assert reg_device is not None assert reg_device is not None
assert reg_device.suggested_area == "Zone A" assert reg_device.area_id == area_registry.async_get_area_by_name("Zone A").id
async def test_entity_basic( async def test_entity_basic(

View File

@ -31,7 +31,6 @@
'name_by_user': None, 'name_by_user': None,
'primary_config_entry': <ANY>, 'primary_config_entry': <ANY>,
'serial_number': None, 'serial_number': None,
'suggested_area': None,
'sw_version': '', 'sw_version': '',
'via_device_id': <ANY>, 'via_device_id': <ANY>,
}) })
@ -72,7 +71,6 @@
'name_by_user': None, 'name_by_user': None,
'primary_config_entry': <ANY>, 'primary_config_entry': <ANY>,
'serial_number': None, 'serial_number': None,
'suggested_area': None,
'sw_version': '', 'sw_version': '',
'via_device_id': <ANY>, 'via_device_id': <ANY>,
}) })

View File

@ -76,7 +76,6 @@
'name_by_user': None, 'name_by_user': None,
'primary_config_entry': <ANY>, 'primary_config_entry': <ANY>,
'serial_number': None, 'serial_number': None,
'suggested_area': None,
'sw_version': '10.10', 'sw_version': '10.10',
'via_device_id': <ANY>, 'via_device_id': <ANY>,
}) })
@ -158,7 +157,6 @@
'name_by_user': None, 'name_by_user': None,
'primary_config_entry': <ANY>, 'primary_config_entry': <ANY>,
'serial_number': None, 'serial_number': None,
'suggested_area': None,
'sw_version': '10.10', 'sw_version': '10.10',
'via_device_id': <ANY>, 'via_device_id': <ANY>,
}) })

View File

@ -80,7 +80,6 @@
'name_by_user': None, 'name_by_user': None,
'primary_config_entry': <ANY>, 'primary_config_entry': <ANY>,
'serial_number': None, 'serial_number': None,
'suggested_area': None,
'sw_version': '10.10', 'sw_version': '10.10',
'via_device_id': None, 'via_device_id': None,
}) })

View File

@ -77,7 +77,6 @@
'name_by_user': None, 'name_by_user': None,
'primary_config_entry': <ANY>, 'primary_config_entry': <ANY>,
'serial_number': None, 'serial_number': None,
'suggested_area': None,
'sw_version': '10.10', 'sw_version': '10.10',
'via_device_id': <ANY>, 'via_device_id': <ANY>,
}) })
@ -160,7 +159,6 @@
'name_by_user': None, 'name_by_user': None,
'primary_config_entry': <ANY>, 'primary_config_entry': <ANY>,
'serial_number': None, 'serial_number': None,
'suggested_area': None,
'sw_version': '10.10', 'sw_version': '10.10',
'via_device_id': <ANY>, 'via_device_id': <ANY>,
}) })

View File

@ -89,7 +89,6 @@
'name_by_user': None, 'name_by_user': None,
'primary_config_entry': <ANY>, 'primary_config_entry': <ANY>,
'serial_number': None, 'serial_number': None,
'suggested_area': None,
'sw_version': '10.10', 'sw_version': '10.10',
'via_device_id': None, 'via_device_id': None,
}) })

View File

@ -27,7 +27,6 @@
'name_by_user': None, 'name_by_user': None,
'primary_config_entry': <ANY>, 'primary_config_entry': <ANY>,
'serial_number': '0000-0000', 'serial_number': '0000-0000',
'suggested_area': None,
'sw_version': None, 'sw_version': None,
'via_device_id': None, 'via_device_id': None,
}) })
@ -60,7 +59,6 @@
'name_by_user': None, 'name_by_user': None,
'primary_config_entry': <ANY>, 'primary_config_entry': <ANY>,
'serial_number': None, 'serial_number': None,
'suggested_area': None,
'sw_version': None, 'sw_version': None,
'via_device_id': <ANY>, 'via_device_id': <ANY>,
}) })

View File

@ -76,7 +76,6 @@
'name_by_user': None, 'name_by_user': None,
'primary_config_entry': <ANY>, 'primary_config_entry': <ANY>,
'serial_number': None, 'serial_number': None,
'suggested_area': None,
'sw_version': None, 'sw_version': None,
'via_device_id': <ANY>, 'via_device_id': <ANY>,
}) })

View File

@ -27,7 +27,6 @@
'name_by_user': None, 'name_by_user': None,
'primary_config_entry': <ANY>, 'primary_config_entry': <ANY>,
'serial_number': '123456', 'serial_number': '123456',
'suggested_area': None,
'sw_version': None, 'sw_version': None,
'via_device_id': None, 'via_device_id': None,
}) })
@ -60,7 +59,6 @@
'name_by_user': None, 'name_by_user': None,
'primary_config_entry': <ANY>, 'primary_config_entry': <ANY>,
'serial_number': 'LRWXF7EK4KC700000', 'serial_number': 'LRWXF7EK4KC700000',
'suggested_area': None,
'sw_version': None, 'sw_version': None,
'via_device_id': None, 'via_device_id': None,
}) })
@ -93,7 +91,6 @@
'name_by_user': None, 'name_by_user': None,
'primary_config_entry': <ANY>, 'primary_config_entry': <ANY>,
'serial_number': '123', 'serial_number': '123',
'suggested_area': None,
'sw_version': None, 'sw_version': None,
'via_device_id': <ANY>, 'via_device_id': <ANY>,
}) })
@ -126,7 +123,6 @@
'name_by_user': None, 'name_by_user': None,
'primary_config_entry': <ANY>, 'primary_config_entry': <ANY>,
'serial_number': '234', 'serial_number': '234',
'suggested_area': None,
'sw_version': None, 'sw_version': None,
'via_device_id': <ANY>, 'via_device_id': <ANY>,
}) })

View File

@ -27,7 +27,6 @@
'name_by_user': None, 'name_by_user': None,
'primary_config_entry': <ANY>, 'primary_config_entry': <ANY>,
'serial_number': '123456', 'serial_number': '123456',
'suggested_area': None,
'sw_version': None, 'sw_version': None,
'via_device_id': None, 'via_device_id': None,
}) })
@ -60,7 +59,6 @@
'name_by_user': None, 'name_by_user': None,
'primary_config_entry': <ANY>, 'primary_config_entry': <ANY>,
'serial_number': 'LRW3F7EK4NC700000', 'serial_number': 'LRW3F7EK4NC700000',
'suggested_area': None,
'sw_version': None, 'sw_version': None,
'via_device_id': None, 'via_device_id': None,
}) })
@ -93,7 +91,6 @@
'name_by_user': None, 'name_by_user': None,
'primary_config_entry': <ANY>, 'primary_config_entry': <ANY>,
'serial_number': '123', 'serial_number': '123',
'suggested_area': None,
'sw_version': None, 'sw_version': None,
'via_device_id': <ANY>, 'via_device_id': <ANY>,
}) })
@ -126,7 +123,6 @@
'name_by_user': None, 'name_by_user': None,
'primary_config_entry': <ANY>, 'primary_config_entry': <ANY>,
'serial_number': '234', 'serial_number': '234',
'suggested_area': None,
'sw_version': None, 'sw_version': None,
'via_device_id': <ANY>, 'via_device_id': <ANY>,
}) })

View File

@ -27,7 +27,6 @@
'name_by_user': None, 'name_by_user': None,
'primary_config_entry': <ANY>, 'primary_config_entry': <ANY>,
'serial_number': None, 'serial_number': None,
'suggested_area': None,
'sw_version': '01.12.14.0', 'sw_version': '01.12.14.0',
'via_device_id': None, 'via_device_id': None,
}) })

View File

@ -430,7 +430,6 @@
'name_by_user': None, 'name_by_user': None,
'primary_config_entry': <ANY>, 'primary_config_entry': <ANY>,
'serial_number': None, 'serial_number': None,
'suggested_area': None,
'sw_version': '1.0.0', 'sw_version': '1.0.0',
'via_device_id': None, 'via_device_id': None,
}) })

View File

@ -612,7 +612,6 @@
'name_by_user': None, 'name_by_user': None,
'primary_config_entry': <ANY>, 'primary_config_entry': <ANY>,
'serial_number': None, 'serial_number': None,
'suggested_area': None,
'sw_version': '1.0.0', 'sw_version': '1.0.0',
'via_device_id': None, 'via_device_id': None,
}) })

View File

@ -82,7 +82,6 @@
'name_by_user': None, 'name_by_user': None,
'primary_config_entry': <ANY>, 'primary_config_entry': <ANY>,
'serial_number': None, 'serial_number': None,
'suggested_area': None,
'sw_version': '1.0.0', 'sw_version': '1.0.0',
'via_device_id': None, 'via_device_id': None,
}) })

View File

@ -92,7 +92,6 @@
'name_by_user': None, 'name_by_user': None,
'primary_config_entry': <ANY>, 'primary_config_entry': <ANY>,
'serial_number': None, 'serial_number': None,
'suggested_area': None,
'sw_version': '1.0.0', 'sw_version': '1.0.0',
'via_device_id': <ANY>, 'via_device_id': <ANY>,
}) })

View File

@ -196,7 +196,6 @@
'name_by_user': None, 'name_by_user': None,
'primary_config_entry': <ANY>, 'primary_config_entry': <ANY>,
'serial_number': None, 'serial_number': None,
'suggested_area': None,
'sw_version': '1.0.0', 'sw_version': '1.0.0',
'via_device_id': None, 'via_device_id': None,
}) })

View File

@ -31,7 +31,6 @@
'name_by_user': None, 'name_by_user': None,
'primary_config_entry': <ANY>, 'primary_config_entry': <ANY>,
'serial_number': None, 'serial_number': None,
'suggested_area': None,
'sw_version': '1.0.0', 'sw_version': '1.0.0',
'via_device_id': None, 'via_device_id': None,
}) })

View File

@ -31,7 +31,6 @@
'name_by_user': None, 'name_by_user': None,
'primary_config_entry': <ANY>, 'primary_config_entry': <ANY>,
'serial_number': None, 'serial_number': None,
'suggested_area': None,
'sw_version': '1.0.0', 'sw_version': '1.0.0',
'via_device_id': None, 'via_device_id': None,
}) })

View File

@ -31,7 +31,6 @@
'name_by_user': None, 'name_by_user': None,
'primary_config_entry': <ANY>, 'primary_config_entry': <ANY>,
'serial_number': None, 'serial_number': None,
'suggested_area': None,
'sw_version': '1.0.0', 'sw_version': '1.0.0',
'via_device_id': None, 'via_device_id': None,
}) })

View File

@ -31,7 +31,6 @@
'name_by_user': None, 'name_by_user': None,
'primary_config_entry': <ANY>, 'primary_config_entry': <ANY>,
'serial_number': None, 'serial_number': None,
'suggested_area': None,
'sw_version': '1.0.0', 'sw_version': '1.0.0',
'via_device_id': None, 'via_device_id': None,
}) })

View File

@ -31,7 +31,6 @@
'name_by_user': None, 'name_by_user': None,
'primary_config_entry': <ANY>, 'primary_config_entry': <ANY>,
'serial_number': None, 'serial_number': None,
'suggested_area': None,
'sw_version': '1.0.0', 'sw_version': '1.0.0',
'via_device_id': None, 'via_device_id': None,
}) })

Some files were not shown because too many files have changed in this diff Show More