1 """Helper functions for LG Netcast TV."""
3 from typing
import TypedDict
4 import xml.etree.ElementTree
as ET
6 from pylgnetcast
import LgNetCastClient
7 from requests
import RequestException
13 from .const
import DOMAIN
17 """Unable to retrieve details from Netcast TV."""
21 """Netcast TV Details."""
29 hass: HomeAssistant, client: LgNetCastClient
31 """Discover UUID and Model Name from Netcast Tv."""
33 resp = await hass.async_add_executor_job(client.query_device_info)
34 except RequestException
as err:
36 f
"Error in connecting to {client.url}"
38 except ET.ParseError
as err:
49 hass: HomeAssistant, device_id: str
51 """Get Device Entry from Device Registry by device ID.
53 Raises ValueError if device ID is invalid.
55 device_reg = dr.async_get(hass)
56 if (device := device_reg.async_get(device_id))
is None:
57 raise ValueError(f
"Device {device_id} is not a valid {DOMAIN} device.")
NetcastDetails async_discover_netcast_details(HomeAssistant hass, LgNetCastClient client)
DeviceEntry async_get_device_entry_by_device_id(HomeAssistant hass, str device_id)