Remove entity name input from Samsung TV config flow (#144372)

This commit is contained in:
epenet 2025-05-07 09:13:14 +02:00 committed by GitHub
parent dbffd8c0ff
commit 65278100a0
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
2 changed files with 9 additions and 31 deletions

View File

@ -23,7 +23,6 @@ from homeassistant.const import (
CONF_MAC,
CONF_METHOD,
CONF_MODEL,
CONF_NAME,
CONF_PIN,
CONF_PORT,
CONF_TOKEN,
@ -63,7 +62,7 @@ from .const import (
UPNP_SVC_RENDERING_CONTROL,
)
DATA_SCHEMA = vol.Schema({vol.Required(CONF_HOST): str, vol.Required(CONF_NAME): str})
DATA_SCHEMA = vol.Schema({vol.Required(CONF_HOST): str})
def _strip_uuid(udn: str) -> str:
@ -139,7 +138,6 @@ class SamsungTVConfigFlow(ConfigFlow, domain=DOMAIN):
CONF_MANUFACTURER: self._manufacturer or DEFAULT_MANUFACTURER,
CONF_METHOD: self._bridge.method,
CONF_MODEL: self._model,
CONF_NAME: self._name,
CONF_PORT: self._bridge.port,
CONF_SSDP_RENDERING_CONTROL_LOCATION: self._ssdp_rendering_control_location,
CONF_SSDP_MAIN_TV_AGENT_LOCATION: self._ssdp_main_tv_agent_location,
@ -261,8 +259,7 @@ class SamsungTVConfigFlow(ConfigFlow, domain=DOMAIN):
)
except socket.gaierror as err:
raise AbortFlow(RESULT_UNKNOWN_HOST) from err
self._name = user_input.get(CONF_NAME, self._host) or ""
self._title = self._name
self._title = self._host
async def async_step_user(
self, user_input: dict[str, Any] | None = None
@ -534,10 +531,6 @@ class SamsungTVConfigFlow(ConfigFlow, domain=DOMAIN):
self, entry_data: Mapping[str, Any]
) -> ConfigFlowResult:
"""Handle configuration by re-auth."""
if entry_data.get(CONF_MODEL) and entry_data.get(CONF_NAME):
self._title = f"{entry_data[CONF_NAME]} ({entry_data[CONF_MODEL]})"
else:
self._title = entry_data.get(CONF_NAME) or entry_data[CONF_HOST]
return await self.async_step_reauth_confirm()
async def async_step_reauth_confirm(
@ -570,11 +563,11 @@ class SamsungTVConfigFlow(ConfigFlow, domain=DOMAIN):
# On websocket we will get RESULT_CANNOT_CONNECT when auth is missing
errors = {"base": RESULT_AUTH_MISSING}
self.context["title_placeholders"] = {"device": self._title}
self.context["title_placeholders"] = {"device": reauth_entry.title}
return self.async_show_form(
step_id="reauth_confirm",
errors=errors,
description_placeholders={"device": self._title},
description_placeholders={"device": reauth_entry.title},
)
async def _async_start_encrypted_pairing(self, host: str) -> None:
@ -611,10 +604,10 @@ class SamsungTVConfigFlow(ConfigFlow, domain=DOMAIN):
errors = {"base": RESULT_INVALID_PIN}
self.context["title_placeholders"] = {"device": self._title}
self.context["title_placeholders"] = {"device": reauth_entry.title}
return self.async_show_form(
step_id="reauth_confirm_encrypted",
errors=errors,
description_placeholders={"device": self._title},
description_placeholders={"device": reauth_entry.title},
data_schema=vol.Schema({vol.Required(CONF_PIN): str}),
)

View File

@ -81,7 +81,7 @@ MOCK_IMPORT_WSDATA = {
CONF_NAME: "fake",
CONF_PORT: 8002,
}
MOCK_USER_DATA = {CONF_HOST: "fake_host", CONF_NAME: "fake_name"}
MOCK_USER_DATA = {CONF_HOST: "fake_host"}
MOCK_DHCP_DATA = DhcpServiceInfo(
ip="fake_host", macaddress="aabbccddeeff", hostname="fake_hostname"
@ -176,9 +176,8 @@ async def test_user_legacy(hass: HomeAssistant) -> None:
)
# legacy tv entry created
assert result["type"] is FlowResultType.CREATE_ENTRY
assert result["title"] == "fake_name"
assert result["title"] == "fake_host"
assert result["data"][CONF_HOST] == "fake_host"
assert result["data"][CONF_NAME] == "fake_name"
assert result["data"][CONF_METHOD] == "legacy"
assert result["data"][CONF_MANUFACTURER] == DEFAULT_MANUFACTURER
assert result["data"][CONF_MODEL] is None
@ -211,9 +210,8 @@ async def test_user_legacy_does_not_ok_first_time(hass: HomeAssistant) -> None:
# legacy tv entry created
assert result3["type"] is FlowResultType.CREATE_ENTRY
assert result3["title"] == "fake_name"
assert result3["title"] == "fake_host"
assert result3["data"][CONF_HOST] == "fake_host"
assert result3["data"][CONF_NAME] == "fake_name"
assert result3["data"][CONF_METHOD] == "legacy"
assert result3["data"][CONF_MANUFACTURER] == DEFAULT_MANUFACTURER
assert result3["data"][CONF_MODEL] is None
@ -241,7 +239,6 @@ async def test_user_websocket(hass: HomeAssistant) -> None:
assert result["type"] is FlowResultType.CREATE_ENTRY
assert result["title"] == "Living Room (82GXARRS)"
assert result["data"][CONF_HOST] == "fake_host"
assert result["data"][CONF_NAME] == "Living Room"
assert result["data"][CONF_METHOD] == "websocket"
assert result["data"][CONF_MANUFACTURER] == "Samsung"
assert result["data"][CONF_MODEL] == "82GXARRS"
@ -290,7 +287,6 @@ async def test_user_encrypted_websocket(
assert result4["type"] is FlowResultType.CREATE_ENTRY
assert result4["title"] == "TV-UE48JU6470 (UE48JU6400)"
assert result4["data"][CONF_HOST] == "fake_host"
assert result4["data"][CONF_NAME] == "TV-UE48JU6470"
assert result4["data"][CONF_MAC] == "aa:bb:aa:aa:aa:aa"
assert result4["data"][CONF_MANUFACTURER] == "Samsung"
assert result4["data"][CONF_MODEL] == "UE48JU6400"
@ -422,7 +418,6 @@ async def test_user_websocket_auth_retry(hass: HomeAssistant) -> None:
assert result["type"] is FlowResultType.CREATE_ENTRY
assert result["title"] == "Living Room (82GXARRS)"
assert result["data"][CONF_HOST] == "fake_host"
assert result["data"][CONF_NAME] == "Living Room"
assert result["data"][CONF_MANUFACTURER] == "Samsung"
assert result["data"][CONF_MODEL] == "82GXARRS"
assert result["result"].unique_id == "be9554b9-c9fb-41f4-8920-22da015376a4"
@ -485,7 +480,6 @@ async def test_ssdp(hass: HomeAssistant) -> None:
assert result["type"] is FlowResultType.CREATE_ENTRY
assert result["title"] == "fake_model"
assert result["data"][CONF_HOST] == "fake_host"
assert result["data"][CONF_NAME] == "fake_model"
assert result["data"][CONF_MANUFACTURER] == "Samsung fake_manufacturer"
assert result["data"][CONF_MODEL] == "fake_model"
assert result["result"].unique_id == "0d1cef00-00dc-1000-9c80-4844f7b172de"
@ -544,7 +538,6 @@ async def test_ssdp_noprefix(hass: HomeAssistant) -> None:
assert result["type"] is FlowResultType.CREATE_ENTRY
assert result["title"] == "fake_model"
assert result["data"][CONF_HOST] == "fake_host"
assert result["data"][CONF_NAME] == "fake_model"
assert result["data"][CONF_MANUFACTURER] == "Samsung fake_manufacturer"
assert result["data"][CONF_MODEL] == "fake_model"
assert result["result"].unique_id == "0d1cef00-00dc-1000-9c80-4844f7b172de"
@ -580,7 +573,6 @@ async def test_ssdp_legacy_missing_auth(hass: HomeAssistant) -> None:
assert result["type"] is FlowResultType.CREATE_ENTRY
assert result["title"] == "fake_model"
assert result["data"][CONF_HOST] == "fake_host"
assert result["data"][CONF_NAME] == "fake_model"
assert result["data"][CONF_MANUFACTURER] == "Samsung fake_manufacturer"
assert result["data"][CONF_MODEL] == "fake_model"
assert result["result"].unique_id == "0d1cef00-00dc-1000-9c80-4844f7b172de"
@ -620,7 +612,6 @@ async def test_ssdp_websocket_success_populates_mac_address_and_ssdp_location(
assert result["type"] is FlowResultType.CREATE_ENTRY
assert result["title"] == "Living Room (82GXARRS)"
assert result["data"][CONF_HOST] == "fake_host"
assert result["data"][CONF_NAME] == "Living Room"
assert result["data"][CONF_MAC] == "aa:bb:aa:aa:aa:aa"
assert result["data"][CONF_MANUFACTURER] == "Samsung fake_manufacturer"
assert result["data"][CONF_MODEL] == "82GXARRS"
@ -650,7 +641,6 @@ async def test_ssdp_websocket_success_populates_mac_address_and_main_tv_ssdp_loc
assert result["type"] is FlowResultType.CREATE_ENTRY
assert result["title"] == "Living Room (82GXARRS)"
assert result["data"][CONF_HOST] == "fake_host"
assert result["data"][CONF_NAME] == "Living Room"
assert result["data"][CONF_MAC] == "aa:bb:aa:aa:aa:aa"
assert result["data"][CONF_MANUFACTURER] == "Samsung fake_manufacturer"
assert result["data"][CONF_MODEL] == "82GXARRS"
@ -702,7 +692,6 @@ async def test_ssdp_encrypted_websocket_success_populates_mac_address_and_ssdp_l
assert result4["type"] is FlowResultType.CREATE_ENTRY
assert result4["title"] == "TV-UE48JU6470 (UE48JU6400)"
assert result4["data"][CONF_HOST] == "fake_host"
assert result4["data"][CONF_NAME] == "TV-UE48JU6470"
assert result4["data"][CONF_MAC] == "aa:bb:aa:aa:aa:aa"
assert result4["data"][CONF_MANUFACTURER] == "Samsung fake_manufacturer"
assert result4["data"][CONF_MODEL] == "UE48JU6400"
@ -907,7 +896,6 @@ async def test_dhcp_wireless(hass: HomeAssistant) -> None:
assert result["type"] is FlowResultType.CREATE_ENTRY
assert result["title"] == "TV-UE48JU6470 (UE48JU6400)"
assert result["data"][CONF_HOST] == "fake_host"
assert result["data"][CONF_NAME] == "TV-UE48JU6470"
assert result["data"][CONF_MAC] == "aa:bb:aa:aa:aa:aa"
assert result["data"][CONF_MANUFACTURER] == "Samsung"
assert result["data"][CONF_MODEL] == "UE48JU6400"
@ -938,7 +926,6 @@ async def test_dhcp_wired(hass: HomeAssistant, rest_api: Mock) -> None:
assert result["type"] is FlowResultType.CREATE_ENTRY
assert result["title"] == "Samsung Frame (43) (UE43LS003)"
assert result["data"][CONF_HOST] == "fake_host"
assert result["data"][CONF_NAME] == "Samsung Frame (43)"
assert result["data"][CONF_MAC] == "aa:ee:tt:hh:ee:rr"
assert result["data"][CONF_MANUFACTURER] == "Samsung"
assert result["data"][CONF_MODEL] == "UE43LS003"
@ -1036,7 +1023,6 @@ async def test_zeroconf(hass: HomeAssistant) -> None:
assert result["type"] is FlowResultType.CREATE_ENTRY
assert result["title"] == "Living Room (82GXARRS)"
assert result["data"][CONF_HOST] == "127.0.0.1"
assert result["data"][CONF_NAME] == "Living Room"
assert result["data"][CONF_MAC] == "aa:bb:aa:aa:aa:aa"
assert result["data"][CONF_MANUFACTURER] == "Samsung"
assert result["data"][CONF_MODEL] == "82GXARRS"
@ -1255,7 +1241,6 @@ async def test_autodetect_legacy(hass: HomeAssistant) -> None:
)
assert result["type"] is FlowResultType.CREATE_ENTRY
assert result["data"][CONF_METHOD] == "legacy"
assert result["data"][CONF_NAME] == "fake_name"
assert result["data"][CONF_MAC] is None
assert result["data"][CONF_PORT] == LEGACY_PORT