diff --git a/homeassistant/components/webostv/__init__.py b/homeassistant/components/webostv/__init__.py index a441a70888b..0790ece9333 100644 --- a/homeassistant/components/webostv/__init__.py +++ b/homeassistant/components/webostv/__init__.py @@ -28,7 +28,6 @@ from homeassistant.const import ( ) import homeassistant.helpers.config_validation as cv from homeassistant.helpers.dispatcher import async_dispatcher_send -from homeassistant.helpers.event import async_call_later from .const import ATTR_SOUND_OUTPUT @@ -139,30 +138,15 @@ async def async_setup_tv_finalize(hass, config, conf, client): client.clear_state_update_callbacks() await client.disconnect() - async def async_load_platforms(_): - """Load platforms and event listener.""" - await async_connect(client) + hass.bus.async_listen_once(EVENT_HOMEASSISTANT_STOP, async_on_stop) - if client.connection is None: - async_call_later(hass, 60, async_load_platforms) - _LOGGER.debug( - "No connection could be made with host %s, retrying in 60 seconds", - conf.get(CONF_HOST), - ) - return - - hass.bus.async_listen_once(EVENT_HOMEASSISTANT_STOP, async_on_stop) - - hass.async_create_task( - hass.helpers.discovery.async_load_platform( - "media_player", DOMAIN, conf, config - ) - ) - hass.async_create_task( - hass.helpers.discovery.async_load_platform("notify", DOMAIN, conf, config) - ) - - await async_load_platforms(None) + await async_connect(client) + hass.async_create_task( + hass.helpers.discovery.async_load_platform("media_player", DOMAIN, conf, config) + ) + hass.async_create_task( + hass.helpers.discovery.async_load_platform("notify", DOMAIN, conf, config) + ) async def async_request_configuration(hass, config, conf, client): diff --git a/homeassistant/components/webostv/media_player.py b/homeassistant/components/webostv/media_player.py index 16dc98e5eac..3e443929012 100644 --- a/homeassistant/components/webostv/media_player.py +++ b/homeassistant/components/webostv/media_player.py @@ -116,7 +116,7 @@ class LgWebOSMediaPlayerEntity(MediaPlayerEntity): """Initialize the webos device.""" self._client = client self._name = name - self._unique_id = client.software_info["device_id"] + self._unique_id = client.client_key self._customize = customize self._on_script = on_script diff --git a/tests/components/webostv/test_media_player.py b/tests/components/webostv/test_media_player.py index e4395769562..099927c6c1f 100644 --- a/tests/components/webostv/test_media_player.py +++ b/tests/components/webostv/test_media_player.py @@ -41,8 +41,8 @@ def client_fixture(): "homeassistant.components.webostv.WebOsClient", autospec=True ) as mock_client_class: client = mock_client_class.return_value - client.connection = True client.software_info = {"device_id": "a1:b1:c1:d1:e1:f1"} + client.client_key = "0123456789" yield client