Tweak handling of entities with has_entity_name
set (#74948)
Co-authored-by: Paulus Schoutsen <balloob@gmail.com>
This commit is contained in:
parent
da027fa390
commit
2e228b2608
4 changed files with 33 additions and 22 deletions
|
@ -1,6 +1,8 @@
|
||||||
"""HTTP views to interact with the entity registry."""
|
"""HTTP views to interact with the entity registry."""
|
||||||
from __future__ import annotations
|
from __future__ import annotations
|
||||||
|
|
||||||
|
from typing import Any
|
||||||
|
|
||||||
import voluptuous as vol
|
import voluptuous as vol
|
||||||
|
|
||||||
from homeassistant import config_entries
|
from homeassistant import config_entries
|
||||||
|
@ -223,32 +225,32 @@ def websocket_remove_entity(hass, connection, msg):
|
||||||
|
|
||||||
|
|
||||||
@callback
|
@callback
|
||||||
def _entry_dict(entry):
|
def _entry_dict(entry: er.RegistryEntry) -> dict[str, Any]:
|
||||||
"""Convert entry to API format."""
|
"""Convert entry to API format."""
|
||||||
return {
|
return {
|
||||||
"area_id": entry.area_id,
|
"area_id": entry.area_id,
|
||||||
"config_entry_id": entry.config_entry_id,
|
"config_entry_id": entry.config_entry_id,
|
||||||
"device_id": entry.device_id,
|
"device_id": entry.device_id,
|
||||||
"disabled_by": entry.disabled_by,
|
"disabled_by": entry.disabled_by,
|
||||||
|
"has_entity_name": entry.has_entity_name,
|
||||||
"entity_category": entry.entity_category,
|
"entity_category": entry.entity_category,
|
||||||
"entity_id": entry.entity_id,
|
"entity_id": entry.entity_id,
|
||||||
"hidden_by": entry.hidden_by,
|
"hidden_by": entry.hidden_by,
|
||||||
"icon": entry.icon,
|
"icon": entry.icon,
|
||||||
"name": entry.name,
|
"name": entry.name,
|
||||||
|
"original_name": entry.original_name,
|
||||||
"platform": entry.platform,
|
"platform": entry.platform,
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
@callback
|
@callback
|
||||||
def _entry_ext_dict(entry):
|
def _entry_ext_dict(entry: er.RegistryEntry) -> dict[str, Any]:
|
||||||
"""Convert entry to API format."""
|
"""Convert entry to API format."""
|
||||||
data = _entry_dict(entry)
|
data = _entry_dict(entry)
|
||||||
data["capabilities"] = entry.capabilities
|
data["capabilities"] = entry.capabilities
|
||||||
data["device_class"] = entry.device_class
|
data["device_class"] = entry.device_class
|
||||||
data["has_entity_name"] = entry.has_entity_name
|
|
||||||
data["options"] = entry.options
|
data["options"] = entry.options
|
||||||
data["original_device_class"] = entry.original_device_class
|
data["original_device_class"] = entry.original_device_class
|
||||||
data["original_icon"] = entry.original_icon
|
data["original_icon"] = entry.original_icon
|
||||||
data["original_name"] = entry.original_name
|
|
||||||
data["unique_id"] = entry.unique_id
|
data["unique_id"] = entry.unique_id
|
||||||
return data
|
return data
|
||||||
|
|
|
@ -544,6 +544,7 @@ class EntityPlatform:
|
||||||
entity_category=entity.entity_category,
|
entity_category=entity.entity_category,
|
||||||
hidden_by=hidden_by,
|
hidden_by=hidden_by,
|
||||||
known_object_ids=self.entities.keys(),
|
known_object_ids=self.entities.keys(),
|
||||||
|
has_entity_name=entity.has_entity_name,
|
||||||
original_device_class=entity.device_class,
|
original_device_class=entity.device_class,
|
||||||
original_icon=entity.icon,
|
original_icon=entity.icon,
|
||||||
original_name=entity.name,
|
original_name=entity.name,
|
||||||
|
|
|
@ -57,28 +57,32 @@ async def test_list_entities(hass, client):
|
||||||
|
|
||||||
assert msg["result"] == [
|
assert msg["result"] == [
|
||||||
{
|
{
|
||||||
|
"area_id": None,
|
||||||
"config_entry_id": None,
|
"config_entry_id": None,
|
||||||
"device_id": None,
|
"device_id": None,
|
||||||
"area_id": None,
|
|
||||||
"disabled_by": None,
|
"disabled_by": None,
|
||||||
"entity_id": "test_domain.name",
|
|
||||||
"hidden_by": None,
|
|
||||||
"name": "Hello World",
|
|
||||||
"icon": None,
|
|
||||||
"platform": "test_platform",
|
|
||||||
"entity_category": None,
|
"entity_category": None,
|
||||||
|
"entity_id": "test_domain.name",
|
||||||
|
"has_entity_name": False,
|
||||||
|
"hidden_by": None,
|
||||||
|
"icon": None,
|
||||||
|
"name": "Hello World",
|
||||||
|
"original_name": None,
|
||||||
|
"platform": "test_platform",
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
|
"area_id": None,
|
||||||
"config_entry_id": None,
|
"config_entry_id": None,
|
||||||
"device_id": None,
|
"device_id": None,
|
||||||
"area_id": None,
|
|
||||||
"disabled_by": None,
|
"disabled_by": None,
|
||||||
"entity_id": "test_domain.no_name",
|
|
||||||
"hidden_by": None,
|
|
||||||
"name": None,
|
|
||||||
"icon": None,
|
|
||||||
"platform": "test_platform",
|
|
||||||
"entity_category": None,
|
"entity_category": None,
|
||||||
|
"entity_id": "test_domain.no_name",
|
||||||
|
"has_entity_name": False,
|
||||||
|
"hidden_by": None,
|
||||||
|
"icon": None,
|
||||||
|
"name": None,
|
||||||
|
"original_name": None,
|
||||||
|
"platform": "test_platform",
|
||||||
},
|
},
|
||||||
]
|
]
|
||||||
|
|
||||||
|
@ -103,16 +107,18 @@ async def test_list_entities(hass, client):
|
||||||
|
|
||||||
assert msg["result"] == [
|
assert msg["result"] == [
|
||||||
{
|
{
|
||||||
|
"area_id": None,
|
||||||
"config_entry_id": None,
|
"config_entry_id": None,
|
||||||
"device_id": None,
|
"device_id": None,
|
||||||
"area_id": None,
|
|
||||||
"disabled_by": None,
|
"disabled_by": None,
|
||||||
"entity_id": "test_domain.name",
|
|
||||||
"hidden_by": None,
|
|
||||||
"name": "Hello World",
|
|
||||||
"icon": None,
|
|
||||||
"platform": "test_platform",
|
|
||||||
"entity_category": None,
|
"entity_category": None,
|
||||||
|
"entity_id": "test_domain.name",
|
||||||
|
"has_entity_name": False,
|
||||||
|
"hidden_by": None,
|
||||||
|
"icon": None,
|
||||||
|
"name": "Hello World",
|
||||||
|
"original_name": None,
|
||||||
|
"platform": "test_platform",
|
||||||
},
|
},
|
||||||
]
|
]
|
||||||
|
|
||||||
|
|
|
@ -1194,6 +1194,7 @@ async def test_entity_info_added_to_entity_registry(hass):
|
||||||
capability_attributes={"max": 100},
|
capability_attributes={"max": 100},
|
||||||
device_class="mock-device-class",
|
device_class="mock-device-class",
|
||||||
entity_category=EntityCategory.CONFIG,
|
entity_category=EntityCategory.CONFIG,
|
||||||
|
has_entity_name=True,
|
||||||
icon="nice:icon",
|
icon="nice:icon",
|
||||||
name="best name",
|
name="best name",
|
||||||
supported_features=5,
|
supported_features=5,
|
||||||
|
@ -1213,6 +1214,7 @@ async def test_entity_info_added_to_entity_registry(hass):
|
||||||
capabilities={"max": 100},
|
capabilities={"max": 100},
|
||||||
device_class=None,
|
device_class=None,
|
||||||
entity_category=EntityCategory.CONFIG,
|
entity_category=EntityCategory.CONFIG,
|
||||||
|
has_entity_name=True,
|
||||||
icon=None,
|
icon=None,
|
||||||
id=ANY,
|
id=ANY,
|
||||||
name=None,
|
name=None,
|
||||||
|
|
Loading…
Add table
Reference in a new issue