HA UI not starting following upgrade

I’ve just upgraded from HA v0.65.0 (Docker) to the current HA version on Lubuntu 18.04. I’ve spent a couple of hours modifying or removing parts of my config which were causing errors, and now get a clean bill of health from the config checker. The problem is that the HA GUI will not start. It did originally start in safe mode, which allowed my to debug my config, but will not now start at all.
This is what I got when I checked my config:

[email protected]:~$ sudo docker run -it --rm -v /home/myuser/homeassistant:/config -v /etc/localtime:/etc/localtime:ro homeassistant/amd64-homeassistant hass -c /config --script check_config
starting version 3.2.4
Testing configuration at /config
[email protected]:~$ 

I’ve tried a reboot but it didn’t help. Any tips for what I should try next to fix the issue?

Here is my HA log:

2021-07-26 17:22:44 WARNING (SyncWorker_0) [homeassistant.loader] We found a custom integration tapo_p100_control which has not been tested by Home Assistant. This component might cause stability problems, be sure to disable it if you experience issues with Home Assistant
2021-07-26 17:22:44 ERROR (SyncWorker_0) [homeassistant.loader] The custom integration 'tapo_p100_control' does not have a valid version key (None) in the manifest file and was blocked from loading. See https://developers.home-assistant.io/blog/2021/01/29/custom-integration-changes#versions for more details
2021-07-26 17:22:46 WARNING (Recorder) [homeassistant.components.recorder.util] The system could not validate that the sqlite3 database at //config/home-assistant_v2.db was shutdown cleanly
2021-07-26 17:22:54 WARNING (MainThread) [homeassistant.components.hive] The 'hive' option near /config/configuration.yaml:0 is deprecated, please remove it from your configuration
2021-07-26 17:22:55 WARNING (MainThread) [homeassistant.components.broadlink.switch] The 'host' option near /config/configuration.yaml:242 is deprecated, please remove it from your configuration
2021-07-26 17:22:55 WARNING (MainThread) [homeassistant.components.broadlink.switch] The 'host' option near /config/configuration.yaml:275 is deprecated, please remove it from your configuration
2021-07-26 17:22:55 WARNING (MainThread) [homeassistant.components.squeezebox.media_player] The 'host' option near /config/configuration.yaml:150 is deprecated, please remove it from your configuration
2021-07-26 17:23:00 ERROR (MainThread) [homeassistant.components.updater] Error requesting Home Assistant update data: Cannot connect to host www.home-assistant.io:443 ssl:default [Try again]
2021-07-26 17:23:00 WARNING (MainThread) [homeassistant.config_entries] Config entry '[email protected]' for hive integration could not authenticate
2021-07-26 17:23:00 ERROR (MainThread) [metno] Access to https://aa015h6buqvih86i1.api.met.no/weatherapi/locationforecast/2.0/complete returned error 'ClientConnectorError'
2021-07-26 17:23:01 ERROR (Thread-4) [pychromecast.discovery] Unhandled exception in worker thread
Traceback (most recent call last):
  File "/usr/local/lib/python3.9/site-packages/pychromecast/discovery.py", line 252, in run
    self._poll_hosts()
  File "/usr/local/lib/python3.9/site-packages/pychromecast/discovery.py", line 268, in _poll_hosts
    device_status = get_device_status(host, timeout=4, context=self._context)
  File "/usr/local/lib/python3.9/site-packages/pychromecast/dial.py", line 109, in get_device_status
    status = _get_status(
  File "/usr/local/lib/python3.9/site-packages/pychromecast/dial.py", line 88, in _get_status
    with urllib.request.urlopen(req, timeout=timeout, context=context) as response:
  File "/usr/local/lib/python3.9/urllib/request.py", line 214, in urlopen
    return opener.open(url, data, timeout)
  File "/usr/local/lib/python3.9/urllib/request.py", line 517, in open
    response = self._open(req, data)
  File "/usr/local/lib/python3.9/urllib/request.py", line 534, in _open
    result = self._call_chain(self.handle_open, protocol, protocol +
  File "/usr/local/lib/python3.9/urllib/request.py", line 494, in _call_chain
    result = func(*args)
  File "/usr/local/lib/python3.9/urllib/request.py", line 1389, in https_open
    return self.do_open(http.client.HTTPSConnection, req,
  File "/usr/local/lib/python3.9/urllib/request.py", line 1315, in do_open
    h = http_class(host, timeout=req.timeout, **http_conn_args)
  File "/usr/local/lib/python3.9/http/client.py", line 1380, in __init__
    super(HTTPSConnection, self).__init__(host, port, timeout,
  File "/usr/local/lib/python3.9/http/client.py", line 832, in __init__
    self._validate_host(self.host)
  File "/usr/local/lib/python3.9/http/client.py", line 1206, in _validate_host
    raise InvalidURL(f"URL can't contain control characters. {host!r} "
http.client.InvalidURL: URL can't contain control characters. 'Lounge TV' (found at least ' ')
2021-07-26 17:23:01 ERROR (Thread-4) [root] Uncaught thread exception
Traceback (most recent call last):
  File "/usr/local/lib/python3.9/threading.py", line 954, in _bootstrap_inner
    self.run()
  File "/usr/local/lib/python3.9/site-packages/pychromecast/discovery.py", line 252, in run
    self._poll_hosts()
  File "/usr/local/lib/python3.9/site-packages/pychromecast/discovery.py", line 268, in _poll_hosts
    device_status = get_device_status(host, timeout=4, context=self._context)
  File "/usr/local/lib/python3.9/site-packages/pychromecast/dial.py", line 109, in get_device_status
    status = _get_status(
  File "/usr/local/lib/python3.9/site-packages/pychromecast/dial.py", line 88, in _get_status
    with urllib.request.urlopen(req, timeout=timeout, context=context) as response:
  File "/usr/local/lib/python3.9/urllib/request.py", line 214, in urlopen
    return opener.open(url, data, timeout)
  File "/usr/local/lib/python3.9/urllib/request.py", line 517, in open
    response = self._open(req, data)
  File "/usr/local/lib/python3.9/urllib/request.py", line 534, in _open
    result = self._call_chain(self.handle_open, protocol, protocol +
  File "/usr/local/lib/python3.9/urllib/request.py", line 494, in _call_chain
    result = func(*args)
  File "/usr/local/lib/python3.9/urllib/request.py", line 1389, in https_open
    return self.do_open(http.client.HTTPSConnection, req,
  File "/usr/local/lib/python3.9/urllib/request.py", line 1315, in do_open
    h = http_class(host, timeout=req.timeout, **http_conn_args)
  File "/usr/local/lib/python3.9/http/client.py", line 1380, in __init__
    super(HTTPSConnection, self).__init__(host, port, timeout,
  File "/usr/local/lib/python3.9/http/client.py", line 832, in __init__
    self._validate_host(self.host)
  File "/usr/local/lib/python3.9/http/client.py", line 1206, in _validate_host
    raise InvalidURL(f"URL can't contain control characters. {host!r} "
http.client.InvalidURL: URL can't contain control characters. 'Lounge TV' (found at least ' ')
2021-07-26 17:23:04 WARNING (MainThread) [homeassistant.config_entries] Config entry 'Broadlink_Lounge' for broadlink integration not ready yet: [Errno -4000] Network timeout; Retrying in background
2021-07-26 17:23:04 WARNING (MainThread) [homeassistant.config_entries] Config entry 'Broadlink_Kitchen' for broadlink integration not ready yet: [Errno -4000] Network timeout; Retrying in background
2021-07-26 17:23:04 WARNING (MainThread) [homeassistant.components.broadlink.switch] Your configuration for the switch platform is deprecated. Please refer to the Broadlink documentation to catch up
2021-07-26 17:23:04 WARNING (MainThread) [homeassistant.components.broadlink.switch] Your configuration for the switch platform is deprecated. Please refer to the Broadlink documentation to catch up
2021-07-26 17:23:05 ERROR (MainThread) [homeassistant.components.ezviz] Unable to connect to Ezviz service: A Invalid URL or Proxy error occured
2021-07-26 17:23:05 WARNING (MainThread) [homeassistant.config_entries] Config entry '[email protected]' for ezviz integration not ready yet: A Invalid URL or Proxy error occured; Retrying in background
2021-07-26 17:23:28 WARNING (MainThread) [homeassistant.components.media_player] Updating squeezebox media_player took longer than the scheduled update interval 0:00:10
2021-07-26 17:23:28 WARNING (MainThread) [homeassistant.helpers.entity] Update of media_player.kitchen is taking over 10 seconds
2021-07-26 17:23:28 WARNING (MainThread) [homeassistant.helpers.entity] Update of media_player.bedroom is taking over 10 seconds
2021-07-26 17:23:28 WARNING (MainThread) [homeassistant.helpers.entity] Update of media_player.lounge_tv is taking over 10 seconds
2021-07-26 17:23:28 WARNING (MainThread) [homeassistant.helpers.entity] Update of media_player.shield_2 is taking over 10 seconds
2021-07-26 17:23:28 WARNING (MainThread) [homeassistant.helpers.entity] Update of media_player.lounge_speaker_4 is taking over 10 seconds
2021-07-26 17:23:28 WARNING (MainThread) [homeassistant.helpers.entity] Update of media_player.kitchen_speaker is taking over 10 seconds
2021-07-26 17:23:28 WARNING (MainThread) [homeassistant.helpers.entity] Update of media_player.study is taking over 10 seconds
2021-07-26 17:23:28 ERROR (MainThread) [pysqueezebox.server] Failed communicating with LMS: <class 'asyncio.exceptions.TimeoutError'>
2021-07-26 17:23:28 ERROR (MainThread) [pysqueezebox.server] Failed communicating with LMS: <class 'asyncio.exceptions.TimeoutError'>
2021-07-26 17:23:28 ERROR (MainThread) [pysqueezebox.server] Failed communicating with LMS: <class 'asyncio.exceptions.TimeoutError'>
2021-07-26 17:23:28 ERROR (MainThread) [pysqueezebox.server] Failed communicating with LMS: <class 'asyncio.exceptions.TimeoutError'>
2021-07-26 17:23:28 ERROR (MainThread) [pysqueezebox.server] Failed communicating with LMS: <class 'asyncio.exceptions.TimeoutError'>
2021-07-26 17:23:28 ERROR (MainThread) [pysqueezebox.server] Failed communicating with LMS: <class 'asyncio.exceptions.TimeoutError'>
2021-07-26 17:23:28 ERROR (MainThread) [pysqueezebox.server] Failed communicating with LMS: <class 'asyncio.exceptions.TimeoutError'>
2021-07-26 17:23:40 WARNING (Thread-6) [pychromecast.socket_client] [Lounge speaker(192.168.1.45):8009] Heartbeat timeout, resetting connection
2021-07-26 17:23:52 ERROR (Thread-7) [pychromecast.socket_client] [SHIELD(192.168.1.217):8009] Failed to connect to service ServiceInfo(type='mdns', data='SHIELD-Android-TV-92534629569444c4c2f8a43d471b1c1f._googlecast._tcp.local.'), retrying in 5.0s
2021-07-26 17:23:55 WARNING (MainThread) [homeassistant.bootstrap] Waiting on integrations to complete setup: asuswrt, device_tracker, owntracks
2021-07-26 17:24:07 WARNING (Thread-9) [pychromecast.socket_client] [Google Kitchen(192.168.1.85):8009] Heartbeat timeout, resetting connection
2021-07-26 17:24:09 ERROR (Thread-8) [pychromecast.socket_client] [Lounge TV(192.168.1.74):8009] Failed to connect to service ServiceInfo(type='mdns', data='Chromecast-cc0357aa45d05e3de942969975197971._googlecast._tcp.local.'), retrying in 5.0s
2021-07-26 17:24:10 ERROR (Thread-6) [pychromecast.socket_client] [Lounge speaker(192.168.1.45):8009] Failed to connect to service ServiceInfo(type='mdns', data='Google-Home-203b884a84f1ef7866f8fa1770337311._googlecast._tcp.local.'), retrying in 5.0s
2021-07-26 17:24:18 ERROR (MainThread) [pysqueezebox.server] Failed communicating with LMS: <class 'asyncio.exceptions.TimeoutError'>
2021-07-26 17:24:19 ERROR (Thread-10) [pychromecast.socket_client] [Study speaker(192.168.1.88):8009] Failed to connect to service ServiceInfo(type='mdns', data='Google-Home-Mini-44edfa3e5bcec65165af31d4361012b8._googlecast._tcp.local.'), retrying in 5.0s
2021-07-26 17:24:20 WARNING (Thread-7) [pychromecast.socket_client] [SHIELD(192.168.1.217):8009] Heartbeat timeout, resetting connection
2021-07-26 17:24:37 ERROR (Thread-9) [pychromecast.socket_client] [Google Kitchen(192.168.1.85):8009] Failed to connect to service ServiceInfo(type='mdns', data='Google-Home-Mini-dedaf1babd473ca5603cd0b61c49051d._googlecast._tcp.local.'), retrying in 5.0s
2021-07-26 17:24:38 WARNING (Thread-8) [pychromecast.socket_client] [Lounge TV(192.168.1.74):8009] Heartbeat timeout, resetting connection
2021-07-26 17:24:48 WARNING (Thread-10) [pychromecast.socket_client] [Study speaker(192.168.1.88):8009] Heartbeat timeout, resetting connection
2021-07-26 17:24:50 ERROR (Thread-7) [pychromecast.socket_client] [SHIELD(192.168.1.217):8009] Failed to connect to service ServiceInfo(type='mdns', data='SHIELD-Android-TV-92534629569444c4c2f8a43d471b1c1f._googlecast._tcp.local.'), retrying in 5.0s
2021-07-26 17:24:55 WARNING (MainThread) [homeassistant.bootstrap] Waiting on integrations to complete setup: asuswrt, device_tracker, owntracks
2021-07-26 17:25:04 WARNING (MainThread) [homeassistant.config_entries] Config entry '192.168.1.1' for asuswrt integration not ready yet: [Errno 110] Connect call failed ('192.168.1.1', 22); Retrying in background
2021-07-26 17:25:08 ERROR (Thread-8) [pychromecast.socket_client] [Lounge TV(192.168.1.74):8009] Failed to connect to service ServiceInfo(type='mdns', data='Chromecast-cc0357aa45d05e3de942969975197971._googlecast._tcp.local.'), retrying in 5.0s
2021-07-26 17:25:18 ERROR (Thread-10) [pychromecast.socket_client] [Study speaker(192.168.1.88):8009] Failed to connect to service ServiceInfo(type='mdns', data='Google-Home-Mini-44edfa3e5bcec65165af31d4361012b8._googlecast._tcp.local.'), retrying in 5.0s
2021-07-26 17:25:28 ERROR (MainThread) [pysqueezebox.server] Failed communicating with LMS: <class 'asyncio.exceptions.TimeoutError'>
2021-07-26 17:25:55 WARNING (MainThread) [homeassistant.bootstrap] Waiting on integrations to complete setup: device_tracker, owntracks
2021-07-26 17:26:55 WARNING (MainThread) [homeassistant.bootstrap] Waiting on integrations to complete setup: device_tracker, owntracks
2021-07-26 17:27:55 WARNING (MainThread) [homeassistant.bootstrap] Waiting on integrations to complete setup: device_tracker, owntracks
2021-07-26 17:28:01 ERROR (MainThread) [homeassistant.setup] Setup of device_tracker is taking longer than 300 seconds. Startup will proceed without waiting any longer
2021-07-26 17:28:01 ERROR (MainThread) [homeassistant] Error doing job: Task exception was never retrieved
Traceback (most recent call last):
  File "/usr/src/homeassistant/homeassistant/data_entry_flow.py", line 153, in async_init
    flow, result = await task
  File "/usr/src/homeassistant/homeassistant/data_entry_flow.py", line 179, in _async_init
    result = await self._async_handle_step(flow, flow.init_step, data, init_done)
  File "/usr/src/homeassistant/homeassistant/data_entry_flow.py", line 260, in _async_handle_step
    result: FlowResult = await getattr(flow, method)(user_input)
  File "/usr/src/homeassistant/homeassistant/components/owntracks/config_flow.py", line 56, in async_step_import
    webhook_id, _webhook_url, cloudhook = await self._get_webhook_id()
  File "/usr/src/homeassistant/homeassistant/components/owntracks/config_flow.py", line 76, in _get_webhook_id
    webhook_url = self.hass.components.webhook.async_generate_url(webhook_id)
  File "/usr/src/homeassistant/homeassistant/components/webhook/__init__.py", line 60, in async_generate_url
    get_url(hass, prefer_external=True, allow_cloud=False),
  File "/usr/src/homeassistant/homeassistant/helpers/network.py", line 83, in get_url
    request_host = _get_request_host()
  File "/usr/src/homeassistant/homeassistant/helpers/network.py", line 123, in _get_request_host
    raise NoURLAvailableError
homeassistant.helpers.network.NoURLAvailableError
2021-07-26 17:28:01 ERROR (MainThread) [homeassistant] Error doing job: Task exception was never retrieved
Traceback (most recent call last):
  File "/usr/src/homeassistant/homeassistant/data_entry_flow.py", line 153, in async_init
    flow, result = await task
  File "/usr/src/homeassistant/homeassistant/data_entry_flow.py", line 179, in _async_init
    result = await self._async_handle_step(flow, flow.init_step, data, init_done)
  File "/usr/src/homeassistant/homeassistant/data_entry_flow.py", line 260, in _async_handle_step
    result: FlowResult = await getattr(flow, method)(user_input)
  File "/usr/src/homeassistant/homeassistant/components/hive/config_flow.py", line 120, in async_step_reauth
    return await self.async_step_user(data)
  File "/usr/src/homeassistant/homeassistant/components/hive/config_flow.py", line 48, in async_step_user
    self.tokens = await self.hive_auth.login()
  File "/usr/local/lib/python3.9/site-packages/apyhiveapi/api/hive_auth_async.py", line 219, in login
    await self.async_init()
  File "/usr/local/lib/python3.9/site-packages/apyhiveapi/api/hive_auth_async.py", line 82, in async_init
    self.__pool_id = self.data.get("UPID")
AttributeError: 'NoneType' object has no attribute 'get'
2021-07-26 17:28:01 WARNING (Recorder) [homeassistant.components.recorder.migration] Database is about to upgrade. Schema version: 5
2021-07-26 17:28:01 WARNING (Recorder) [homeassistant.components.recorder.migration] Adding columns context_id, context_user_id to table events. Note: this can take several minutes on large databases and slow computers. Please be patient!
2021-07-26 17:28:01 WARNING (Recorder) [homeassistant.components.recorder.migration] Column context_id already exists on events, continuing
2021-07-26 17:28:01 WARNING (Recorder) [homeassistant.components.recorder.migration] Column context_user_id already exists on events, continuing
2021-07-26 17:28:01 WARNING (Recorder) [homeassistant.components.recorder.migration] Adding index `ix_events_context_id` to database. Note: this can take several minutes on large databases and slow computers. Please be patient!
2021-07-26 17:28:01 WARNING (Recorder) [homeassistant.components.recorder.migration] Index ix_events_context_id already exists on events, continuing
2021-07-26 17:28:01 WARNING (Recorder) [homeassistant.components.recorder.migration] Adding index `ix_events_context_user_id` to database. Note: this can take several minutes on large databases and slow computers. Please be patient!
2021-07-26 17:28:01 WARNING (Recorder) [homeassistant.components.recorder.migration] Index ix_events_context_user_id already exists on events, continuing
2021-07-26 17:28:01 WARNING (Recorder) [homeassistant.components.recorder.migration] Adding columns context_id, context_user_id to table states. Note: this can take several minutes on large databases and slow computers. Please be patient!
2021-07-26 17:28:01 WARNING (Recorder) [homeassistant.components.recorder.migration] Column context_id already exists on states, continuing
2021-07-26 17:28:01 WARNING (Recorder) [homeassistant.components.recorder.migration] Column context_user_id already exists on states, continuing
2021-07-26 17:28:01 WARNING (Recorder) [homeassistant.components.recorder.migration] Adding columns context_parent_id to table events. Note: this can take several minutes on large databases and slow computers. Please be patient!
2021-07-26 17:28:01 WARNING (Recorder) [homeassistant.components.recorder.migration] Column context_parent_id already exists on events, continuing
2021-07-26 17:28:01 WARNING (Recorder) [homeassistant.components.recorder.migration] Adding columns old_state_id to table states. Note: this can take several minutes on large databases and slow computers. Please be patient!
2021-07-26 17:28:01 WARNING (Recorder) [homeassistant.components.recorder.migration] Column old_state_id already exists on states, continuing
2021-07-26 17:28:01 WARNING (Recorder) [homeassistant.components.recorder.migration] Adding index `ix_events_context_parent_id` to database. Note: this can take several minutes on large databases and slow computers. Please be patient!
2021-07-26 17:28:01 ERROR (MainThread) [homeassistant.config_entries] Error setting up entry 192.168.1.1 for asuswrt
Traceback (most recent call last):
  File "/usr/src/homeassistant/homeassistant/config_entries.py", line 293, in async_setup
    result = await component.async_setup_entry(hass, self)  # type: ignore
  File "/usr/src/homeassistant/homeassistant/components/asuswrt/__init__.py", line 123, in async_setup_entry
    await router.setup()
  File "/usr/src/homeassistant/homeassistant/components/asuswrt/router.py", line 235, in setup
    await self._api.connection.async_connect()
  File "/usr/local/lib/python3.9/site-packages/aioasuswrt/connection.py", line 78, in async_connect
    self._client = await asyncssh.connect(self._host, **kwargs)
  File "/usr/local/lib/python3.9/site-packages/asyncssh/connection.py", line 6803, in connect
    return await _connect(options, loop, flags, conn_factory,
  File "/usr/local/lib/python3.9/site-packages/asyncssh/connection.py", line 303, in _connect
    await conn.wait_established()
  File "/usr/local/lib/python3.9/site-packages/asyncssh/connection.py", line 2243, in wait_established
    await self._waiter
asyncssh.misc.ConnectionLost: Connection lost
2021-07-26 17:37:48 WARNING (Recorder) [homeassistant.components.recorder.migration] Failed to drop index ix_states_context_id from table states. Schema Migration will continue; this is not a critical operation
2021-07-26 17:37:48 WARNING (Recorder) [homeassistant.components.recorder.migration] Failed to drop index ix_states_context_user_id from table states. Schema Migration will continue; this is not a critical operation
2021-07-26 17:37:48 WARNING (Recorder) [homeassistant.components.recorder.migration] Failed to drop index ix_states_entity_id from table states. Schema Migration will continue; this is not a critical operation
2021-07-26 17:37:48 WARNING (Recorder) [homeassistant.components.recorder.migration] Adding index `ix_events_event_type_time_fired` to database. Note: this can take several minutes on large databases and slow computers. Please be patient!

Between 0.65 and 2017.7.x there have been a lot of database migrations. It can take several hours. If there are no important things in history you want to keep, stop HA, delete your database and try again.

Thanks - I stopped HA and deleted the database. Still no luck with the UI starting though (10 minutes after I started the server). The current log is below.
???

2021-07-26 17:59:19 WARNING (SyncWorker_0) [homeassistant.loader] We found a custom integration tapo_p100_control which has not been tested by Home Assistant. This component might cause stability problems, be sure to disable it if you experience issues with Home Assistant
2021-07-26 17:59:19 ERROR (SyncWorker_0) [homeassistant.loader] The custom integration 'tapo_p100_control' does not have a valid version key (None) in the manifest file and was blocked from loading. See https://developers.home-assistant.io/blog/2021/01/29/custom-integration-changes#versions for more details
2021-07-26 17:59:27 WARNING (MainThread) [homeassistant.components.hive] The 'hive' option near /config/configuration.yaml:0 is deprecated, please remove it from your configuration
2021-07-26 17:59:29 WARNING (MainThread) [homeassistant.components.squeezebox.media_player] The 'host' option near /config/configuration.yaml:150 is deprecated, please remove it from your configuration
2021-07-26 17:59:29 WARNING (MainThread) [homeassistant.components.broadlink.switch] The 'host' option near /config/configuration.yaml:242 is deprecated, please remove it from your configuration
2021-07-26 17:59:29 WARNING (MainThread) [homeassistant.components.broadlink.switch] The 'host' option near /config/configuration.yaml:275 is deprecated, please remove it from your configuration
2021-07-26 17:59:36 WARNING (MainThread) [homeassistant.setup] Setup of zone is taking over 10 seconds.
2021-07-26 17:59:36 WARNING (MainThread) [homeassistant.setup] Setup of input_boolean is taking over 10 seconds.
2021-07-26 17:59:36 WARNING (MainThread) [homeassistant.setup] Setup of input_select is taking over 10 seconds.
2021-07-26 17:59:36 WARNING (MainThread) [homeassistant.components.broadlink.switch] Your configuration for the switch platform is deprecated. Please refer to the Broadlink documentation to catch up
2021-07-26 17:59:36 WARNING (MainThread) [homeassistant.components.broadlink.switch] Your configuration for the switch platform is deprecated. Please refer to the Broadlink documentation to catch up
2021-07-26 17:59:36 ERROR (Thread-4) [pychromecast.discovery] Unhandled exception in worker thread
Traceback (most recent call last):
  File "/usr/local/lib/python3.9/site-packages/pychromecast/discovery.py", line 252, in run
    self._poll_hosts()
  File "/usr/local/lib/python3.9/site-packages/pychromecast/discovery.py", line 268, in _poll_hosts
    device_status = get_device_status(host, timeout=4, context=self._context)
  File "/usr/local/lib/python3.9/site-packages/pychromecast/dial.py", line 109, in get_device_status
    status = _get_status(
  File "/usr/local/lib/python3.9/site-packages/pychromecast/dial.py", line 88, in _get_status
    with urllib.request.urlopen(req, timeout=timeout, context=context) as response:
  File "/usr/local/lib/python3.9/urllib/request.py", line 214, in urlopen
    return opener.open(url, data, timeout)
  File "/usr/local/lib/python3.9/urllib/request.py", line 517, in open
    response = self._open(req, data)
  File "/usr/local/lib/python3.9/urllib/request.py", line 534, in _open
    result = self._call_chain(self.handle_open, protocol, protocol +
  File "/usr/local/lib/python3.9/urllib/request.py", line 494, in _call_chain
    result = func(*args)
  File "/usr/local/lib/python3.9/urllib/request.py", line 1389, in https_open
    return self.do_open(http.client.HTTPSConnection, req,
  File "/usr/local/lib/python3.9/urllib/request.py", line 1315, in do_open
    h = http_class(host, timeout=req.timeout, **http_conn_args)
  File "/usr/local/lib/python3.9/http/client.py", line 1380, in __init__
    super(HTTPSConnection, self).__init__(host, port, timeout,
  File "/usr/local/lib/python3.9/http/client.py", line 832, in __init__
    self._validate_host(self.host)
  File "/usr/local/lib/python3.9/http/client.py", line 1206, in _validate_host
    raise InvalidURL(f"URL can't contain control characters. {host!r} "
http.client.InvalidURL: URL can't contain control characters. 'Lounge TV' (found at least ' ')
2021-07-26 17:59:36 ERROR (Thread-4) [root] Uncaught thread exception
Traceback (most recent call last):
  File "/usr/local/lib/python3.9/threading.py", line 954, in _bootstrap_inner
    self.run()
  File "/usr/local/lib/python3.9/site-packages/pychromecast/discovery.py", line 252, in run
    self._poll_hosts()
  File "/usr/local/lib/python3.9/site-packages/pychromecast/discovery.py", line 268, in _poll_hosts
    device_status = get_device_status(host, timeout=4, context=self._context)
  File "/usr/local/lib/python3.9/site-packages/pychromecast/dial.py", line 109, in get_device_status
    status = _get_status(
  File "/usr/local/lib/python3.9/site-packages/pychromecast/dial.py", line 88, in _get_status
    with urllib.request.urlopen(req, timeout=timeout, context=context) as response:
  File "/usr/local/lib/python3.9/urllib/request.py", line 214, in urlopen
    return opener.open(url, data, timeout)
  File "/usr/local/lib/python3.9/urllib/request.py", line 517, in open
    response = self._open(req, data)
  File "/usr/local/lib/python3.9/urllib/request.py", line 534, in _open
    result = self._call_chain(self.handle_open, protocol, protocol +
  File "/usr/local/lib/python3.9/urllib/request.py", line 494, in _call_chain
    result = func(*args)
  File "/usr/local/lib/python3.9/urllib/request.py", line 1389, in https_open
    return self.do_open(http.client.HTTPSConnection, req,
  File "/usr/local/lib/python3.9/urllib/request.py", line 1315, in do_open
    h = http_class(host, timeout=req.timeout, **http_conn_args)
  File "/usr/local/lib/python3.9/http/client.py", line 1380, in __init__
    super(HTTPSConnection, self).__init__(host, port, timeout,
  File "/usr/local/lib/python3.9/http/client.py", line 832, in __init__
    self._validate_host(self.host)
  File "/usr/local/lib/python3.9/http/client.py", line 1206, in _validate_host
    raise InvalidURL(f"URL can't contain control characters. {host!r} "
http.client.InvalidURL: URL can't contain control characters. 'Lounge TV' (found at least ' ')
2021-07-26 18:00:28 WARNING (MainThread) [homeassistant.bootstrap] Waiting on integrations to complete setup: device_tracker, owntracks
2021-07-26 18:01:28 WARNING (MainThread) [homeassistant.bootstrap] Waiting on integrations to complete setup: device_tracker, owntracks
2021-07-26 18:02:28 WARNING (MainThread) [homeassistant.bootstrap] Waiting on integrations to complete setup: device_tracker, owntracks
2021-07-26 18:03:28 WARNING (MainThread) [homeassistant.bootstrap] Waiting on integrations to complete setup: device_tracker, owntracks
2021-07-26 18:04:28 WARNING (MainThread) [homeassistant.bootstrap] Waiting on integrations to complete setup: device_tracker, owntracks
2021-07-26 18:04:36 ERROR (MainThread) [homeassistant.setup] Setup of device_tracker is taking longer than 300 seconds. Startup will proceed without waiting any longer
2021-07-26 18:04:36 ERROR (MainThread) [homeassistant] Error doing job: Task exception was never retrieved
Traceback (most recent call last):
  File "/usr/src/homeassistant/homeassistant/data_entry_flow.py", line 153, in async_init
    flow, result = await task
  File "/usr/src/homeassistant/homeassistant/data_entry_flow.py", line 179, in _async_init
    result = await self._async_handle_step(flow, flow.init_step, data, init_done)
  File "/usr/src/homeassistant/homeassistant/data_entry_flow.py", line 260, in _async_handle_step
    result: FlowResult = await getattr(flow, method)(user_input)
  File "/usr/src/homeassistant/homeassistant/components/owntracks/config_flow.py", line 56, in async_step_import
    webhook_id, _webhook_url, cloudhook = await self._get_webhook_id()
  File "/usr/src/homeassistant/homeassistant/components/owntracks/config_flow.py", line 76, in _get_webhook_id
    webhook_url = self.hass.components.webhook.async_generate_url(webhook_id)
  File "/usr/src/homeassistant/homeassistant/components/webhook/__init__.py", line 60, in async_generate_url
    get_url(hass, prefer_external=True, allow_cloud=False),
  File "/usr/src/homeassistant/homeassistant/helpers/network.py", line 83, in get_url
    request_host = _get_request_host()
  File "/usr/src/homeassistant/homeassistant/helpers/network.py", line 123, in _get_request_host
    raise NoURLAvailableError
homeassistant.helpers.network.NoURLAvailableError

This could be a coincidence, but my original instance of HA (v0.65.0), which I have running in a different ESXi VM, will now no longer startup the GUI either.
Could it be that the two instances are competing for resources and that’s what is preventing both of them loading the GUI? Each VM has a different IP address, but the 2nd (upgraded) VM was originally cloned from the first.
???