Alphabetize parts of device registry code (#57532)
This commit is contained in:
parent
c4f8c52df9
commit
bdbedd0f06
4 changed files with 66 additions and 66 deletions
|
@ -67,17 +67,17 @@ async def websocket_update_device(hass, connection, msg):
|
||||||
def _entry_dict(entry):
|
def _entry_dict(entry):
|
||||||
"""Convert entry to API format."""
|
"""Convert entry to API format."""
|
||||||
return {
|
return {
|
||||||
|
"area_id": entry.area_id,
|
||||||
"config_entries": list(entry.config_entries),
|
"config_entries": list(entry.config_entries),
|
||||||
"connections": list(entry.connections),
|
"connections": list(entry.connections),
|
||||||
"manufacturer": entry.manufacturer,
|
"disabled_by": entry.disabled_by,
|
||||||
"model": entry.model,
|
|
||||||
"name": entry.name,
|
|
||||||
"sw_version": entry.sw_version,
|
|
||||||
"entry_type": entry.entry_type,
|
"entry_type": entry.entry_type,
|
||||||
"id": entry.id,
|
"id": entry.id,
|
||||||
"identifiers": list(entry.identifiers),
|
"identifiers": list(entry.identifiers),
|
||||||
"via_device_id": entry.via_device_id,
|
"manufacturer": entry.manufacturer,
|
||||||
"area_id": entry.area_id,
|
"model": entry.model,
|
||||||
"name_by_user": entry.name_by_user,
|
"name_by_user": entry.name_by_user,
|
||||||
"disabled_by": entry.disabled_by,
|
"name": entry.name,
|
||||||
|
"sw_version": entry.sw_version,
|
||||||
|
"via_device_id": entry.via_device_id,
|
||||||
}
|
}
|
||||||
|
|
|
@ -53,20 +53,9 @@ class _DeviceIndex(NamedTuple):
|
||||||
class DeviceEntry:
|
class DeviceEntry:
|
||||||
"""Device Registry Entry."""
|
"""Device Registry Entry."""
|
||||||
|
|
||||||
|
area_id: str | None = attr.ib(default=None)
|
||||||
config_entries: set[str] = attr.ib(converter=set, factory=set)
|
config_entries: set[str] = attr.ib(converter=set, factory=set)
|
||||||
connections: set[tuple[str, str]] = attr.ib(converter=set, factory=set)
|
connections: set[tuple[str, str]] = attr.ib(converter=set, factory=set)
|
||||||
identifiers: set[tuple[str, str]] = attr.ib(converter=set, factory=set)
|
|
||||||
manufacturer: str | None = attr.ib(default=None)
|
|
||||||
model: str | None = attr.ib(default=None)
|
|
||||||
name: str | None = attr.ib(default=None)
|
|
||||||
sw_version: str | None = attr.ib(default=None)
|
|
||||||
via_device_id: str | None = attr.ib(default=None)
|
|
||||||
area_id: str | None = attr.ib(default=None)
|
|
||||||
name_by_user: str | None = attr.ib(default=None)
|
|
||||||
entry_type: str | None = attr.ib(default=None)
|
|
||||||
id: str = attr.ib(factory=uuid_util.random_uuid_hex)
|
|
||||||
# This value is not stored, just used to keep track of events to fire.
|
|
||||||
is_new: bool = attr.ib(default=False)
|
|
||||||
disabled_by: str | None = attr.ib(
|
disabled_by: str | None = attr.ib(
|
||||||
default=None,
|
default=None,
|
||||||
validator=attr.validators.in_(
|
validator=attr.validators.in_(
|
||||||
|
@ -78,7 +67,18 @@ class DeviceEntry:
|
||||||
)
|
)
|
||||||
),
|
),
|
||||||
)
|
)
|
||||||
|
entry_type: str | None = attr.ib(default=None)
|
||||||
|
id: str = attr.ib(factory=uuid_util.random_uuid_hex)
|
||||||
|
identifiers: set[tuple[str, str]] = attr.ib(converter=set, factory=set)
|
||||||
|
manufacturer: str | None = attr.ib(default=None)
|
||||||
|
model: str | None = attr.ib(default=None)
|
||||||
|
name_by_user: str | None = attr.ib(default=None)
|
||||||
|
name: str | None = attr.ib(default=None)
|
||||||
suggested_area: str | None = attr.ib(default=None)
|
suggested_area: str | None = attr.ib(default=None)
|
||||||
|
sw_version: 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.
|
||||||
|
is_new: bool = attr.ib(default=False)
|
||||||
|
|
||||||
@property
|
@property
|
||||||
def disabled(self) -> bool:
|
def disabled(self) -> bool:
|
||||||
|
@ -245,19 +245,19 @@ class DeviceRegistry:
|
||||||
*,
|
*,
|
||||||
config_entry_id: str,
|
config_entry_id: str,
|
||||||
connections: set[tuple[str, str]] | None = None,
|
connections: set[tuple[str, str]] | None = None,
|
||||||
|
default_manufacturer: str | None | UndefinedType = UNDEFINED,
|
||||||
|
default_model: str | None | UndefinedType = UNDEFINED,
|
||||||
|
default_name: str | None | UndefinedType = UNDEFINED,
|
||||||
|
# To disable a device if it gets created
|
||||||
|
disabled_by: str | None | UndefinedType = UNDEFINED,
|
||||||
|
entry_type: str | None | UndefinedType = UNDEFINED,
|
||||||
identifiers: set[tuple[str, str]] | None = None,
|
identifiers: set[tuple[str, str]] | None = None,
|
||||||
manufacturer: str | None | UndefinedType = UNDEFINED,
|
manufacturer: str | None | UndefinedType = UNDEFINED,
|
||||||
model: str | None | UndefinedType = UNDEFINED,
|
model: str | None | UndefinedType = UNDEFINED,
|
||||||
name: str | None | UndefinedType = UNDEFINED,
|
name: str | None | UndefinedType = UNDEFINED,
|
||||||
default_manufacturer: str | None | UndefinedType = UNDEFINED,
|
|
||||||
default_model: str | None | UndefinedType = UNDEFINED,
|
|
||||||
default_name: str | None | UndefinedType = UNDEFINED,
|
|
||||||
sw_version: str | None | UndefinedType = UNDEFINED,
|
|
||||||
entry_type: str | None | UndefinedType = UNDEFINED,
|
|
||||||
via_device: tuple[str, str] | None = None,
|
|
||||||
# To disable a device if it gets created
|
|
||||||
disabled_by: str | None | UndefinedType = UNDEFINED,
|
|
||||||
suggested_area: str | None | UndefinedType = UNDEFINED,
|
suggested_area: str | None | UndefinedType = UNDEFINED,
|
||||||
|
sw_version: str | None | UndefinedType = UNDEFINED,
|
||||||
|
via_device: tuple[str, str] | None = None,
|
||||||
) -> DeviceEntry:
|
) -> DeviceEntry:
|
||||||
"""Get device. Create if it doesn't exist."""
|
"""Get device. Create if it doesn't exist."""
|
||||||
if not identifiers and not connections:
|
if not identifiers and not connections:
|
||||||
|
@ -302,16 +302,16 @@ class DeviceRegistry:
|
||||||
device = self._async_update_device(
|
device = self._async_update_device(
|
||||||
device.id,
|
device.id,
|
||||||
add_config_entry_id=config_entry_id,
|
add_config_entry_id=config_entry_id,
|
||||||
via_device_id=via_device_id,
|
disabled_by=disabled_by,
|
||||||
|
entry_type=entry_type,
|
||||||
|
manufacturer=manufacturer,
|
||||||
merge_connections=connections or UNDEFINED,
|
merge_connections=connections or UNDEFINED,
|
||||||
merge_identifiers=identifiers or UNDEFINED,
|
merge_identifiers=identifiers or UNDEFINED,
|
||||||
manufacturer=manufacturer,
|
|
||||||
model=model,
|
model=model,
|
||||||
name=name,
|
name=name,
|
||||||
sw_version=sw_version,
|
|
||||||
entry_type=entry_type,
|
|
||||||
disabled_by=disabled_by,
|
|
||||||
suggested_area=suggested_area,
|
suggested_area=suggested_area,
|
||||||
|
sw_version=sw_version,
|
||||||
|
via_device_id=via_device_id,
|
||||||
)
|
)
|
||||||
|
|
||||||
# This is safe because _async_update_device will always return a device
|
# This is safe because _async_update_device will always return a device
|
||||||
|
@ -324,34 +324,34 @@ class DeviceRegistry:
|
||||||
self,
|
self,
|
||||||
device_id: str,
|
device_id: str,
|
||||||
*,
|
*,
|
||||||
|
add_config_entry_id: str | UndefinedType = UNDEFINED,
|
||||||
area_id: str | None | UndefinedType = UNDEFINED,
|
area_id: str | None | UndefinedType = UNDEFINED,
|
||||||
|
disabled_by: str | None | UndefinedType = UNDEFINED,
|
||||||
manufacturer: str | None | UndefinedType = UNDEFINED,
|
manufacturer: str | None | UndefinedType = UNDEFINED,
|
||||||
model: str | None | UndefinedType = UNDEFINED,
|
model: str | None | UndefinedType = UNDEFINED,
|
||||||
name: str | None | UndefinedType = UNDEFINED,
|
|
||||||
name_by_user: str | None | UndefinedType = UNDEFINED,
|
name_by_user: str | None | UndefinedType = UNDEFINED,
|
||||||
|
name: str | None | UndefinedType = UNDEFINED,
|
||||||
new_identifiers: set[tuple[str, str]] | UndefinedType = UNDEFINED,
|
new_identifiers: set[tuple[str, str]] | UndefinedType = UNDEFINED,
|
||||||
|
remove_config_entry_id: str | UndefinedType = UNDEFINED,
|
||||||
|
suggested_area: str | None | UndefinedType = UNDEFINED,
|
||||||
sw_version: str | None | UndefinedType = UNDEFINED,
|
sw_version: str | None | UndefinedType = UNDEFINED,
|
||||||
via_device_id: str | None | UndefinedType = UNDEFINED,
|
via_device_id: str | None | UndefinedType = UNDEFINED,
|
||||||
add_config_entry_id: str | UndefinedType = UNDEFINED,
|
|
||||||
remove_config_entry_id: str | UndefinedType = UNDEFINED,
|
|
||||||
disabled_by: str | None | UndefinedType = UNDEFINED,
|
|
||||||
suggested_area: str | None | UndefinedType = UNDEFINED,
|
|
||||||
) -> DeviceEntry | None:
|
) -> DeviceEntry | None:
|
||||||
"""Update properties of a device."""
|
"""Update properties of a device."""
|
||||||
return self._async_update_device(
|
return self._async_update_device(
|
||||||
device_id,
|
device_id,
|
||||||
|
add_config_entry_id=add_config_entry_id,
|
||||||
area_id=area_id,
|
area_id=area_id,
|
||||||
|
disabled_by=disabled_by,
|
||||||
manufacturer=manufacturer,
|
manufacturer=manufacturer,
|
||||||
model=model,
|
model=model,
|
||||||
name=name,
|
|
||||||
name_by_user=name_by_user,
|
name_by_user=name_by_user,
|
||||||
|
name=name,
|
||||||
new_identifiers=new_identifiers,
|
new_identifiers=new_identifiers,
|
||||||
|
remove_config_entry_id=remove_config_entry_id,
|
||||||
|
suggested_area=suggested_area,
|
||||||
sw_version=sw_version,
|
sw_version=sw_version,
|
||||||
via_device_id=via_device_id,
|
via_device_id=via_device_id,
|
||||||
add_config_entry_id=add_config_entry_id,
|
|
||||||
remove_config_entry_id=remove_config_entry_id,
|
|
||||||
disabled_by=disabled_by,
|
|
||||||
suggested_area=suggested_area,
|
|
||||||
)
|
)
|
||||||
|
|
||||||
@callback
|
@callback
|
||||||
|
@ -360,20 +360,20 @@ class DeviceRegistry:
|
||||||
device_id: str,
|
device_id: str,
|
||||||
*,
|
*,
|
||||||
add_config_entry_id: str | UndefinedType = UNDEFINED,
|
add_config_entry_id: str | UndefinedType = UNDEFINED,
|
||||||
remove_config_entry_id: str | UndefinedType = UNDEFINED,
|
area_id: str | None | UndefinedType = UNDEFINED,
|
||||||
|
disabled_by: str | None | UndefinedType = UNDEFINED,
|
||||||
|
entry_type: str | None | UndefinedType = UNDEFINED,
|
||||||
|
manufacturer: str | None | UndefinedType = UNDEFINED,
|
||||||
merge_connections: set[tuple[str, str]] | UndefinedType = UNDEFINED,
|
merge_connections: set[tuple[str, str]] | UndefinedType = UNDEFINED,
|
||||||
merge_identifiers: set[tuple[str, str]] | UndefinedType = UNDEFINED,
|
merge_identifiers: set[tuple[str, str]] | UndefinedType = UNDEFINED,
|
||||||
new_identifiers: set[tuple[str, str]] | UndefinedType = UNDEFINED,
|
|
||||||
manufacturer: str | None | UndefinedType = UNDEFINED,
|
|
||||||
model: str | None | UndefinedType = UNDEFINED,
|
model: str | None | UndefinedType = UNDEFINED,
|
||||||
name: str | None | UndefinedType = UNDEFINED,
|
|
||||||
sw_version: str | None | UndefinedType = UNDEFINED,
|
|
||||||
entry_type: str | None | UndefinedType = UNDEFINED,
|
|
||||||
via_device_id: str | None | UndefinedType = UNDEFINED,
|
|
||||||
area_id: str | None | UndefinedType = UNDEFINED,
|
|
||||||
name_by_user: str | None | UndefinedType = UNDEFINED,
|
name_by_user: str | None | UndefinedType = UNDEFINED,
|
||||||
disabled_by: str | None | UndefinedType = UNDEFINED,
|
name: str | None | UndefinedType = UNDEFINED,
|
||||||
|
new_identifiers: set[tuple[str, str]] | UndefinedType = UNDEFINED,
|
||||||
|
remove_config_entry_id: str | UndefinedType = UNDEFINED,
|
||||||
suggested_area: str | None | UndefinedType = UNDEFINED,
|
suggested_area: str | None | UndefinedType = UNDEFINED,
|
||||||
|
sw_version: str | None | UndefinedType = UNDEFINED,
|
||||||
|
via_device_id: str | None | UndefinedType = UNDEFINED,
|
||||||
) -> DeviceEntry | None:
|
) -> DeviceEntry | None:
|
||||||
"""Update device attributes."""
|
"""Update device attributes."""
|
||||||
old = self.devices[device_id]
|
old = self.devices[device_id]
|
||||||
|
@ -424,14 +424,14 @@ class DeviceRegistry:
|
||||||
changes["identifiers"] = new_identifiers
|
changes["identifiers"] = new_identifiers
|
||||||
|
|
||||||
for attr_name, value in (
|
for attr_name, value in (
|
||||||
|
("disabled_by", disabled_by),
|
||||||
|
("entry_type", entry_type),
|
||||||
("manufacturer", manufacturer),
|
("manufacturer", manufacturer),
|
||||||
("model", model),
|
("model", model),
|
||||||
("name", name),
|
("name", name),
|
||||||
("sw_version", sw_version),
|
|
||||||
("entry_type", entry_type),
|
|
||||||
("via_device_id", via_device_id),
|
|
||||||
("disabled_by", disabled_by),
|
|
||||||
("suggested_area", suggested_area),
|
("suggested_area", suggested_area),
|
||||||
|
("sw_version", sw_version),
|
||||||
|
("via_device_id", via_device_id),
|
||||||
):
|
):
|
||||||
if value is not UNDEFINED and value != getattr(old, attr_name):
|
if value is not UNDEFINED and value != getattr(old, attr_name):
|
||||||
changes[attr_name] = value
|
changes[attr_name] = value
|
||||||
|
|
|
@ -158,18 +158,18 @@ def get_unit_of_measurement(hass: HomeAssistant, entity_id: str) -> str | None:
|
||||||
class DeviceInfo(TypedDict, total=False):
|
class DeviceInfo(TypedDict, total=False):
|
||||||
"""Entity device information for device registry."""
|
"""Entity device information for device registry."""
|
||||||
|
|
||||||
name: str | None
|
|
||||||
connections: set[tuple[str, str]]
|
connections: set[tuple[str, str]]
|
||||||
|
default_manufacturer: str
|
||||||
|
default_model: str
|
||||||
|
default_name: str
|
||||||
|
entry_type: str | None
|
||||||
identifiers: set[tuple[str, str]]
|
identifiers: set[tuple[str, str]]
|
||||||
manufacturer: str | None
|
manufacturer: str | None
|
||||||
model: str | None
|
model: str | None
|
||||||
|
name: str | None
|
||||||
suggested_area: str | None
|
suggested_area: str | None
|
||||||
sw_version: str | None
|
sw_version: str | None
|
||||||
via_device: tuple[str, str]
|
via_device: tuple[str, str]
|
||||||
entry_type: str | None
|
|
||||||
default_name: str
|
|
||||||
default_manufacturer: str
|
|
||||||
default_model: str
|
|
||||||
|
|
||||||
|
|
||||||
@dataclass
|
@dataclass
|
||||||
|
|
|
@ -461,17 +461,17 @@ class EntityPlatform:
|
||||||
processed_dev_info = {"config_entry_id": config_entry_id}
|
processed_dev_info = {"config_entry_id": config_entry_id}
|
||||||
for key in (
|
for key in (
|
||||||
"connections",
|
"connections",
|
||||||
|
"default_manufacturer",
|
||||||
|
"default_model",
|
||||||
|
"default_name",
|
||||||
|
"entry_type",
|
||||||
"identifiers",
|
"identifiers",
|
||||||
"manufacturer",
|
"manufacturer",
|
||||||
"model",
|
"model",
|
||||||
"name",
|
"name",
|
||||||
"default_manufacturer",
|
|
||||||
"default_model",
|
|
||||||
"default_name",
|
|
||||||
"sw_version",
|
|
||||||
"entry_type",
|
|
||||||
"via_device",
|
|
||||||
"suggested_area",
|
"suggested_area",
|
||||||
|
"sw_version",
|
||||||
|
"via_device",
|
||||||
):
|
):
|
||||||
if key in device_info:
|
if key in device_info:
|
||||||
processed_dev_info[key] = device_info[key] # type: ignore[misc]
|
processed_dev_info[key] = device_info[key] # type: ignore[misc]
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue