From fcaabb3d33c2f9dbc785c972dbc0ae7cdd09222d Mon Sep 17 00:00:00 2001 From: Bram Kragten Date: Sun, 23 Feb 2020 00:18:10 +0100 Subject: [PATCH] =?UTF-8?q?Change=20get=5Fentity=20to=20return=20a=20exten?= =?UTF-8?q?ded=20entry,=20add=20inputs=20to=20de=E2=80=A6=20(#32083)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * Change get_entity to return a extended entry + add inputs to default config For https://github.com/home-assistant/home-assistant-polymer/pull/4940 * Fix tests, simplify code, update to return extended Co-authored-by: Paulus Schoutsen --- .../components/config/entity_registry.py | 19 +++++++++++++++---- .../components/default_config/manifest.json | 7 ++++++- .../components/config/test_entity_registry.py | 16 ++++++++++++---- 3 files changed, 33 insertions(+), 9 deletions(-) diff --git a/homeassistant/components/config/entity_registry.py b/homeassistant/components/config/entity_registry.py index a7993017116d..f024f146a601 100644 --- a/homeassistant/components/config/entity_registry.py +++ b/homeassistant/components/config/entity_registry.py @@ -57,7 +57,9 @@ async def websocket_get_entity(hass, connection, msg): ) return - connection.send_message(websocket_api.result_message(msg["id"], _entry_dict(entry))) + connection.send_message( + websocket_api.result_message(msg["id"], _entry_ext_dict(entry)) + ) @require_admin @@ -112,7 +114,7 @@ async def websocket_update_entity(hass, connection, msg): ) else: connection.send_message( - websocket_api.result_message(msg["id"], _entry_dict(entry)) + websocket_api.result_message(msg["id"], _entry_ext_dict(entry)) ) @@ -152,6 +154,15 @@ def _entry_dict(entry): "name": entry.name, "icon": entry.icon, "platform": entry.platform, - "original_name": entry.original_name, - "original_icon": entry.original_icon, } + + +@callback +def _entry_ext_dict(entry): + """Convert entry to API format.""" + data = _entry_dict(entry) + data["original_name"] = entry.original_name + data["original_icon"] = entry.original_icon + data["unique_id"] = entry.unique_id + data["capabilities"] = entry.capabilities + return data diff --git a/homeassistant/components/default_config/manifest.json b/homeassistant/components/default_config/manifest.json index e19b1262b74c..be9cb8dcc975 100644 --- a/homeassistant/components/default_config/manifest.json +++ b/homeassistant/components/default_config/manifest.json @@ -19,7 +19,12 @@ "system_health", "updater", "zeroconf", - "zone" + "zone", + "input_boolean", + "input_datetime", + "input_text", + "input_number", + "input_select" ], "codeowners": [] } diff --git a/tests/components/config/test_entity_registry.py b/tests/components/config/test_entity_registry.py index 8fe7e8fdbe4f..2a696624e0c8 100644 --- a/tests/components/config/test_entity_registry.py +++ b/tests/components/config/test_entity_registry.py @@ -42,8 +42,6 @@ async def test_list_entities(hass, client): "entity_id": "test_domain.name", "name": "Hello World", "icon": None, - "original_name": None, - "original_icon": None, "platform": "test_platform", }, { @@ -53,8 +51,6 @@ async def test_list_entities(hass, client): "entity_id": "test_domain.no_name", "name": None, "icon": None, - "original_name": None, - "original_icon": None, "platform": "test_platform", }, ] @@ -94,6 +90,8 @@ async def test_get_entity(hass, client): "icon": None, "original_name": None, "original_icon": None, + "capabilities": None, + "unique_id": "1234", } await client.send_json( @@ -115,6 +113,8 @@ async def test_get_entity(hass, client): "icon": None, "original_name": None, "original_icon": None, + "capabilities": None, + "unique_id": "6789", } @@ -165,6 +165,8 @@ async def test_update_entity(hass, client): "icon": "icon:after update", "original_name": None, "original_icon": None, + "capabilities": None, + "unique_id": "1234", } state = hass.states.get("test_domain.world") @@ -208,6 +210,8 @@ async def test_update_entity(hass, client): "icon": "icon:after update", "original_name": None, "original_icon": None, + "capabilities": None, + "unique_id": "1234", } @@ -254,6 +258,8 @@ async def test_update_entity_no_changes(hass, client): "icon": None, "original_name": None, "original_icon": None, + "capabilities": None, + "unique_id": "1234", } state = hass.states.get("test_domain.world") @@ -329,6 +335,8 @@ async def test_update_entity_id(hass, client): "icon": None, "original_name": None, "original_icon": None, + "capabilities": None, + "unique_id": "1234", } assert hass.states.get("test_domain.world") is None