Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Kodi integration slows down HA restart/shutdown #47828

Open
definitio opened this issue Mar 12, 2021 · 49 comments
Open

Kodi integration slows down HA restart/shutdown #47828

definitio opened this issue Mar 12, 2021 · 49 comments
Assignees

Comments

@definitio
Copy link
Contributor

definitio commented Mar 12, 2021

The problem

When Kodi integration is enabled HA restart (or shutdown) takes a few minutes if there is no connection to kodi. I have this problem for 2-3 months (after moving configuration to UI).

What is version of Home Assistant Core has the issue?

2021.3.3

What was the last working version of Home Assistant Core?

No response

What type of installation are you running?

Home Assistant Container

Integration causing the issue

Kodi

Link to integration documentation on our website

https://www.home-assistant.io/integrations/kodi/

Example YAML snippet

No response

Anything in the logs that might be useful for us?

Log:

2021-03-18 15:07:53 WARNING (MainThread) [homeassistant.core] Timed out waiting for shutdown stage 1 to complete, the shutdown will continue
2021-03-18 15:07:59 DEBUG (MainThread) [homeassistant.components.kodi.media_player] Unable to connect to Kodi via websocket
Traceback (most recent call last):                                                                                                                                                                                           
  File "/usr/local/lib/python3.8/site-packages/aiohttp/connector.py", line 969, in _wrap_create_connection                                                                                                                   
    return await self._loop.create_connection(*args, **kwargs)  # type: ignore  # noqa                                                                                                                                       
  File "/usr/local/lib/python3.8/asyncio/base_events.py", line 1025, in create_connection                                                                                                                                    
    raise exceptions[0]                                                                                                                                                                                                      
  File "/usr/local/lib/python3.8/asyncio/base_events.py", line 1010, in create_connection                                                                                                                                    
    sock = await self._connect_sock(                                                                                                                                                                                         
  File "/usr/local/lib/python3.8/asyncio/base_events.py", line 924, in _connect_sock                                                                                                                                         
    await self.sock_connect(sock, address)                                                                                                                                                                                   
  File "/usr/local/lib/python3.8/asyncio/selector_events.py", line 496, in sock_connect                                                                                                                                      
    return await fut                                                                                                                                                                                                         
  File "/usr/local/lib/python3.8/asyncio/selector_events.py", line 528, in _sock_connect_cb                                                                                                                                  
    raise OSError(err, f'Connect call failed {address}')                                                                                                                                                                     
TimeoutError: [Errno 110] Connect call failed ('10.10.1.91', 9090)                                                                                                                                                           

The above exception was the direct cause of the following exception:                                                                                                                                                         

Traceback (most recent call last):                                                                                                                                                                                           
  File "/usr/local/lib/python3.8/site-packages/jsonrpc_websocket/jsonrpc.py", line 63, in ws_connect                                                                                                                         
    self._client = await self._session.ws_connect(                                                                                                                                                                           
  File "/usr/local/lib/python3.8/site-packages/aiohttp/client.py", line 754, in _ws_connect                                                                                                                                  
    resp = await self.request(                                                                                                                                                                                               
  File "/usr/local/lib/python3.8/site-packages/aiohttp/client.py", line 520, in _request                                                                                                                                     
    conn = await self._connector.connect(                                                                                                                                                                                    
  File "/usr/local/lib/python3.8/site-packages/aiohttp/connector.py", line 535, in connect                                                                                                                                   
    proto = await self._create_connection(req, traces, timeout)                                                                                                                                                              
  File "/usr/local/lib/python3.8/site-packages/aiohttp/connector.py", line 892, in _create_connection                                                                                                                        
    _, proto = await self._create_direct_connection(req, traces, timeout)                                                                                                                                                    
  File "/usr/local/lib/python3.8/site-packages/aiohttp/connector.py", line 1051, in _create_direct_connection                                                                                                                
    raise last_exc                                                                                                                                                                                                           
  File "/usr/local/lib/python3.8/site-packages/aiohttp/connector.py", line 1020, in _create_direct_connection                                                                                                                
    transp, proto = await self._wrap_create_connection(                                                                                                                                                                      
  File "/usr/local/lib/python3.8/site-packages/aiohttp/connector.py", line 975, in _wrap_create_connection                                                                                                                   
    raise client_error(req.connection_key, exc) from exc                                                                                                                                                                     
aiohttp.client_exceptions.ClientConnectorError: Cannot connect to host lroom-tv.lan:9090 ssl:default [Connect call failed ('10.10.1.91', 9090)]                                                                              

During handling of the above exception, another exception occurred:                                                                                                                                                          

Traceback (most recent call last):                                                                                                                                                                                           
  File "/usr/local/lib/python3.8/site-packages/pykodi/kodi.py", line 135, in connect                                                                                                                                         
    await self._ws_server.ws_connect()                                                                                                                                                                                       
  File "/usr/local/lib/python3.8/site-packages/jsonrpc_websocket/jsonrpc.py", line 66, in ws_connect                                                                                                                         
    raise TransportError('Error connecting to server', None, exc)                                                                                                                                                            
jsonrpc_base.jsonrpc.TransportError: ('Error connecting to server', ClientConnectorError(ConnectionKey(host='lroom-tv.lan', port=9090, is_ssl=False, ssl=None, proxy=None, proxy_auth=None, proxy_headers_hash=4231791446501600363), TimeoutError(110, "Connect call failed ('10.10.1.91', 9090)")))                                                                                                                                                      

The above exception was the direct cause of the following exception:                                                                                                                                                         

Traceback (most recent call last):                                                                                                                                                                                           
  File "/usr/src/homeassistant/homeassistant/components/kodi/media_player.py", line 409, in _async_ws_connect                                                                                                                
    await self._connection.connect()                                                                                                                                                                                         
  File "/usr/local/lib/python3.8/site-packages/pykodi/kodi.py", line 137, in connect                                                                                                                                         
    raise CannotConnectError from error                                                                                                                                                                                      
pykodi.kodi.CannotConnectError                                                                                                                                                                                               
2021-03-18 15:08:09 DEBUG (MainThread) [homeassistant.components.kodi.media_player] Unable to connect to Kodi via websocket
Traceback (most recent call last):                                                                                                                                                                                           
  File "/usr/local/lib/python3.8/site-packages/aiohttp/connector.py", line 969, in _wrap_create_connection                                                                                                                   
    return await self._loop.create_connection(*args, **kwargs)  # type: ignore  # noqa                                                                                                                                       
  File "/usr/local/lib/python3.8/asyncio/base_events.py", line 1025, in create_connection                                                                                                                                    
    raise exceptions[0]                                                                                                                                                                                                      
  File "/usr/local/lib/python3.8/asyncio/base_events.py", line 1010, in create_connection                                                                                                                                    
    sock = await self._connect_sock(                                                                                                                                                                                         
  File "/usr/local/lib/python3.8/asyncio/base_events.py", line 924, in _connect_sock                                                                                                                                         
    await self.sock_connect(sock, address)                                                                                                                                                                                   
  File "/usr/local/lib/python3.8/asyncio/selector_events.py", line 496, in sock_connect                                                                                                                                      
    return await fut                                                                                                                                                                                                         
  File "/usr/local/lib/python3.8/asyncio/selector_events.py", line 528, in _sock_connect_cb                                                                                                                                  
    raise OSError(err, f'Connect call failed {address}')                                                                                                                                                                     
TimeoutError: [Errno 110] Connect call failed ('10.10.1.91', 9090)                                                                                                                                                           

The above exception was the direct cause of the following exception:                                                                                                                                                         

Traceback (most recent call last):                                                                                                                                                                                           
  File "/usr/local/lib/python3.8/site-packages/jsonrpc_websocket/jsonrpc.py", line 63, in ws_connect                                                                                                                         
    self._client = await self._session.ws_connect(                                                                                                                                                                           
  File "/usr/local/lib/python3.8/site-packages/aiohttp/client.py", line 754, in _ws_connect                                                                                                                                  
    resp = await self.request(                                                                                                                                                                                               
  File "/usr/local/lib/python3.8/site-packages/aiohttp/client.py", line 520, in _request                                                                                                                                     
    conn = await self._connector.connect(                                                                                                                                                                                    
  File "/usr/local/lib/python3.8/site-packages/aiohttp/connector.py", line 535, in connect                                                                                                                                   
    proto = await self._create_connection(req, traces, timeout)                                                                                                                                                              
  File "/usr/local/lib/python3.8/site-packages/aiohttp/connector.py", line 892, in _create_connection                                                                                                                        
    _, proto = await self._create_direct_connection(req, traces, timeout)                                                                                                                                                    
  File "/usr/local/lib/python3.8/site-packages/aiohttp/connector.py", line 1051, in _create_direct_connection                                                                                                                
    raise last_exc                                                                                                                                                                                                           
  File "/usr/local/lib/python3.8/site-packages/aiohttp/connector.py", line 1020, in _create_direct_connection                                                                                                                
    transp, proto = await self._wrap_create_connection(                                                                                                                                                                      
  File "/usr/local/lib/python3.8/site-packages/aiohttp/connector.py", line 975, in _wrap_create_connection                                                                                                                   
    raise client_error(req.connection_key, exc) from exc                                                                                                                                                                     
aiohttp.client_exceptions.ClientConnectorError: Cannot connect to host lroom-tv.lan:9090 ssl:default [Connect call failed ('10.10.1.91', 9090)]                                                                              

During handling of the above exception, another exception occurred:                                                                                                                                                          

Traceback (most recent call last):                                                                                                                                                                                           
  File "/usr/local/lib/python3.8/site-packages/pykodi/kodi.py", line 135, in connect                                                                                                                                         
    await self._ws_server.ws_connect()                                                                                                                                                                                       
  File "/usr/local/lib/python3.8/site-packages/jsonrpc_websocket/jsonrpc.py", line 66, in ws_connect                                                                                                                         
    raise TransportError('Error connecting to server', None, exc)                                                                                                                                                            
jsonrpc_base.jsonrpc.TransportError: ('Error connecting to server', ClientConnectorError(ConnectionKey(host='lroom-tv.lan', port=9090, is_ssl=False, ssl=None, proxy=None, proxy_auth=None, proxy_headers_hash=4231791446501600363), TimeoutError(110, "Connect call failed ('10.10.1.91', 9090)")))                                                                                                                                                      

The above exception was the direct cause of the following exception:                                                                                                                                                         

Traceback (most recent call last):                                                                                                                                                                                           
  File "/usr/src/homeassistant/homeassistant/components/kodi/media_player.py", line 409, in _async_ws_connect                                                                                                                
    await self._connection.connect()                                                                                                                                                                                         
  File "/usr/local/lib/python3.8/site-packages/pykodi/kodi.py", line 137, in connect                                                                                                                                         
    raise CannotConnectError from error                                                                                                                                                                                      
pykodi.kodi.CannotConnectError                                                                                                                                                                                               
2021-03-18 15:08:20 DEBUG (MainThread) [homeassistant.components.kodi.media_player] Unable to connect to Kodi via websocket
Traceback (most recent call last):                                                                                                                                                                                           
  File "/usr/local/lib/python3.8/site-packages/aiohttp/connector.py", line 969, in _wrap_create_connection                                                                                                                   
    return await self._loop.create_connection(*args, **kwargs)  # type: ignore  # noqa                                                                                                                                       
  File "/usr/local/lib/python3.8/asyncio/base_events.py", line 1025, in create_connection                                                                                                                                    
    raise exceptions[0]                                                                                                                                                                                                      
  File "/usr/local/lib/python3.8/asyncio/base_events.py", line 1010, in create_connection                                                                                                                                    
    sock = await self._connect_sock(                                                                                                                                                                                         
  File "/usr/local/lib/python3.8/asyncio/base_events.py", line 924, in _connect_sock                                                                                                                                         
    await self.sock_connect(sock, address)                                                                                                                                                                                   
  File "/usr/local/lib/python3.8/asyncio/selector_events.py", line 496, in sock_connect                                                                                                                                      
    return await fut                                                                                                                                                                                                         
  File "/usr/local/lib/python3.8/asyncio/selector_events.py", line 528, in _sock_connect_cb                                                                                                                                  
    raise OSError(err, f'Connect call failed {address}')                                                                                                                                                                     
TimeoutError: [Errno 110] Connect call failed ('10.10.1.91', 9090)                                                                                                                                                           

The above exception was the direct cause of the following exception:                                                                                                                                                         

Traceback (most recent call last):                                                                                                                                                                                           
  File "/usr/local/lib/python3.8/site-packages/jsonrpc_websocket/jsonrpc.py", line 63, in ws_connect                                                                                                                         
    self._client = await self._session.ws_connect(                                                                                                                                                                           
  File "/usr/local/lib/python3.8/site-packages/aiohttp/client.py", line 754, in _ws_connect                                                                                                                                  
    resp = await self.request(                                                                                                                                                                                               
  File "/usr/local/lib/python3.8/site-packages/aiohttp/client.py", line 520, in _request                                                                                                                                     
    conn = await self._connector.connect(                                                                                                                                                                                    
  File "/usr/local/lib/python3.8/site-packages/aiohttp/connector.py", line 535, in connect                                                                                                                                   
    proto = await self._create_connection(req, traces, timeout)                                                                                                                                                              
  File "/usr/local/lib/python3.8/site-packages/aiohttp/connector.py", line 892, in _create_connection                                                                                                                        
    _, proto = await self._create_direct_connection(req, traces, timeout)                                                                                                                                                    
  File "/usr/local/lib/python3.8/site-packages/aiohttp/connector.py", line 1051, in _create_direct_connection                                                                                                                
    raise last_exc                                                                                                                                                                                                           
  File "/usr/local/lib/python3.8/site-packages/aiohttp/connector.py", line 1020, in _create_direct_connection                                                                                                                
    transp, proto = await self._wrap_create_connection(                                                                                                                                                                      
  File "/usr/local/lib/python3.8/site-packages/aiohttp/connector.py", line 975, in _wrap_create_connection                                                                                                                   
    raise client_error(req.connection_key, exc) from exc                                                                                                                                                                     
aiohttp.client_exceptions.ClientConnectorError: Cannot connect to host lroom-tv.lan:9090 ssl:default [Connect call failed ('10.10.1.91', 9090)]                                                                              

During handling of the above exception, another exception occurred:                                                                                                                                                          

Traceback (most recent call last):                                                                                                                                                                                           
  File "/usr/local/lib/python3.8/site-packages/pykodi/kodi.py", line 135, in connect                                                                                                                                         
    await self._ws_server.ws_connect()                                                                                                                                                                                       
  File "/usr/local/lib/python3.8/site-packages/jsonrpc_websocket/jsonrpc.py", line 66, in ws_connect                                                                                                                         
    raise TransportError('Error connecting to server', None, exc)                                                                                                                                                            
jsonrpc_base.jsonrpc.TransportError: ('Error connecting to server', ClientConnectorError(ConnectionKey(host='lroom-tv.lan', port=9090, is_ssl=False, ssl=None, proxy=None, proxy_auth=None, proxy_headers_hash=4231791446501600363), TimeoutError(110, "Connect call failed ('10.10.1.91', 9090)")))                                                                                                                                                      

The above exception was the direct cause of the following exception:                                                                                                                                                         

Traceback (most recent call last):                                                                                                                                                                                           
  File "/usr/src/homeassistant/homeassistant/components/kodi/media_player.py", line 409, in _async_ws_connect                                                                                                                
    await self._connection.connect()                                                                                                                                                                                         
  File "/usr/local/lib/python3.8/site-packages/pykodi/kodi.py", line 137, in connect                                                                                                                                         
    raise CannotConnectError from error                                                                                                                                                                                      
pykodi.kodi.CannotConnectError                                                                                                                                                                                               
2021-03-18 15:08:30 DEBUG (MainThread) [homeassistant.components.kodi.media_player] Unable to connect to Kodi via websocket
Traceback (most recent call last):                                                                                                                                                                                           
  File "/usr/local/lib/python3.8/site-packages/aiohttp/connector.py", line 969, in _wrap_create_connection                                                                                                                   
    return await self._loop.create_connection(*args, **kwargs)  # type: ignore  # noqa                                                                                                                                       
  File "/usr/local/lib/python3.8/asyncio/base_events.py", line 1025, in create_connection                                                                                                                                    
    raise exceptions[0]                                                                                                                                                                                                      
  File "/usr/local/lib/python3.8/asyncio/base_events.py", line 1010, in create_connection                                                                                                                                    
    sock = await self._connect_sock(                                                                                                                                                                                         
  File "/usr/local/lib/python3.8/asyncio/base_events.py", line 924, in _connect_sock                                                                                                                                         
    await self.sock_connect(sock, address)                                                                                                                                                                                   
  File "/usr/local/lib/python3.8/asyncio/selector_events.py", line 496, in sock_connect                                                                                                                                      
    return await fut                                                                                                                                                                                                         
  File "/usr/local/lib/python3.8/asyncio/selector_events.py", line 528, in _sock_connect_cb                                                                                                                                  
    raise OSError(err, f'Connect call failed {address}')                                                                                                                                                                     
TimeoutError: [Errno 110] Connect call failed ('10.10.1.91', 9090)                                                                                                                                                           

The above exception was the direct cause of the following exception:                                                                                                                                                         

Traceback (most recent call last):                                                                                                                                                                                           
  File "/usr/local/lib/python3.8/site-packages/jsonrpc_websocket/jsonrpc.py", line 63, in ws_connect                                                                                                                         
    self._client = await self._session.ws_connect(                                                                                                                                                                           
  File "/usr/local/lib/python3.8/site-packages/aiohttp/client.py", line 754, in _ws_connect                                                                                                                                  
    resp = await self.request(                                                                                                                                                                                               
  File "/usr/local/lib/python3.8/site-packages/aiohttp/client.py", line 520, in _request                                                                                                                                     
    conn = await self._connector.connect(                                                                                                                                                                                    
  File "/usr/local/lib/python3.8/site-packages/aiohttp/connector.py", line 535, in connect                                                                                                                                   
    proto = await self._create_connection(req, traces, timeout)                                                                                                                                                              
  File "/usr/local/lib/python3.8/site-packages/aiohttp/connector.py", line 892, in _create_connection                                                                                                                        
    _, proto = await self._create_direct_connection(req, traces, timeout)                                                                                                                                                    
  File "/usr/local/lib/python3.8/site-packages/aiohttp/connector.py", line 1051, in _create_direct_connection                                                                                                                
    raise last_exc                                                                                                                                                                                                           
  File "/usr/local/lib/python3.8/site-packages/aiohttp/connector.py", line 1020, in _create_direct_connection                                                                                                                
    transp, proto = await self._wrap_create_connection(                                                                                                                                                                      
  File "/usr/local/lib/python3.8/site-packages/aiohttp/connector.py", line 975, in _wrap_create_connection                                                                                                                   
    raise client_error(req.connection_key, exc) from exc                                                                                                                                                                     
aiohttp.client_exceptions.ClientConnectorError: Cannot connect to host lroom-tv.lan:9090 ssl:default [Connect call failed ('10.10.1.91', 9090)]                                                                              

During handling of the above exception, another exception occurred:                                                                                                                                                          

Traceback (most recent call last):                                                                                                                                                                                           
  File "/usr/local/lib/python3.8/site-packages/pykodi/kodi.py", line 135, in connect                                                                                                                                         
    await self._ws_server.ws_connect()                                                                                                                                                                                       
  File "/usr/local/lib/python3.8/site-packages/jsonrpc_websocket/jsonrpc.py", line 66, in ws_connect                                                                                                                         
    raise TransportError('Error connecting to server', None, exc)                                                                                                                                                            
jsonrpc_base.jsonrpc.TransportError: ('Error connecting to server', ClientConnectorError(ConnectionKey(host='lroom-tv.lan', port=9090, is_ssl=False, ssl=None, proxy=None, proxy_auth=None, proxy_headers_hash=4231791446501600363), TimeoutError(110, "Connect call failed ('10.10.1.91', 9090)")))                                                                                                                                                      

The above exception was the direct cause of the following exception:                                                                                                                                                         

Traceback (most recent call last):                                                                                                                                                                                           
  File "/usr/src/homeassistant/homeassistant/components/kodi/media_player.py", line 409, in _async_ws_connect                                                                                                                
    await self._connection.connect()                                                                                                                                                                                         
  File "/usr/local/lib/python3.8/site-packages/pykodi/kodi.py", line 137, in connect                                                                                                                                         
    raise CannotConnectError from error                                                                                                                                                                                      
pykodi.kodi.CannotConnectError                                                                                                                                                                                               
2021-03-18 15:08:40 DEBUG (MainThread) [homeassistant.components.kodi.media_player] Unable to connect to Kodi via websocket
Traceback (most recent call last):                                                                                                                                                                                           
  File "/usr/local/lib/python3.8/site-packages/aiohttp/connector.py", line 969, in _wrap_create_connection                                                                                                                   
    return await self._loop.create_connection(*args, **kwargs)  # type: ignore  # noqa                                                                                                                                       
  File "/usr/local/lib/python3.8/asyncio/base_events.py", line 1025, in create_connection                                                                                                                                    
    raise exceptions[0]                                                                                                                                                                                                      
  File "/usr/local/lib/python3.8/asyncio/base_events.py", line 1010, in create_connection                                                                                                                                    
    sock = await self._connect_sock(                                                                                                                                                                                         
  File "/usr/local/lib/python3.8/asyncio/base_events.py", line 924, in _connect_sock                                                                                                                                         
    await self.sock_connect(sock, address)                                                                                                                                                                                   
  File "/usr/local/lib/python3.8/asyncio/selector_events.py", line 496, in sock_connect                                                                                                                                      
    return await fut                                                                                                                                                                                                         
  File "/usr/local/lib/python3.8/asyncio/selector_events.py", line 528, in _sock_connect_cb                                                                                                                                  
    raise OSError(err, f'Connect call failed {address}')                                                                                                                                                                     
TimeoutError: [Errno 110] Connect call failed ('10.10.1.91', 9090)                                                                                                                                                           

The above exception was the direct cause of the following exception:                                                                                                                                                         

Traceback (most recent call last):                                                                                                                                                                                           
  File "/usr/local/lib/python3.8/site-packages/jsonrpc_websocket/jsonrpc.py", line 63, in ws_connect                                                                                                                         
    self._client = await self._session.ws_connect(                                                                                                                                                                           
  File "/usr/local/lib/python3.8/site-packages/aiohttp/client.py", line 754, in _ws_connect                                                                                                                                  
    resp = await self.request(                                                                                                                                                                                               
  File "/usr/local/lib/python3.8/site-packages/aiohttp/client.py", line 520, in _request                                                                                                                                     
    conn = await self._connector.connect(                                                                                                                                                                                    
  File "/usr/local/lib/python3.8/site-packages/aiohttp/connector.py", line 535, in connect                                                                                                                                   
    proto = await self._create_connection(req, traces, timeout)                                                                                                                                                              
  File "/usr/local/lib/python3.8/site-packages/aiohttp/connector.py", line 892, in _create_connection                                                                                                                        
    _, proto = await self._create_direct_connection(req, traces, timeout)                                                                                                                                                    
  File "/usr/local/lib/python3.8/site-packages/aiohttp/connector.py", line 1051, in _create_direct_connection                                                                                                                
    raise last_exc                                                                                                                                                                                                           
  File "/usr/local/lib/python3.8/site-packages/aiohttp/connector.py", line 1020, in _create_direct_connection                                                                                                                
    transp, proto = await self._wrap_create_connection(                                                                                                                                                                      
  File "/usr/local/lib/python3.8/site-packages/aiohttp/connector.py", line 975, in _wrap_create_connection                                                                                                                   
    raise client_error(req.connection_key, exc) from exc                                                                                                                                                                     
aiohttp.client_exceptions.ClientConnectorError: Cannot connect to host lroom-tv.lan:9090 ssl:default [Connect call failed ('10.10.1.91', 9090)]                                                                              

During handling of the above exception, another exception occurred:                                                                                                                                                          

Traceback (most recent call last):                                                                                                                                                                                           
  File "/usr/local/lib/python3.8/site-packages/pykodi/kodi.py", line 135, in connect                                                                                                                                         
    await self._ws_server.ws_connect()                                                                                                                                                                                       
  File "/usr/local/lib/python3.8/site-packages/jsonrpc_websocket/jsonrpc.py", line 66, in ws_connect                                                                                                                         
    raise TransportError('Error connecting to server', None, exc)                                                                                                                                                            
jsonrpc_base.jsonrpc.TransportError: ('Error connecting to server', ClientConnectorError(ConnectionKey(host='lroom-tv.lan', port=9090, is_ssl=False, ssl=None, proxy=None, proxy_auth=None, proxy_headers_hash=4231791446501600363), TimeoutError(110, "Connect call failed ('10.10.1.91', 9090)")))                                                                                                                                                      

The above exception was the direct cause of the following exception:                                                                                                                                                         

Traceback (most recent call last):                                                                                                                                                                                           
  File "/usr/src/homeassistant/homeassistant/components/kodi/media_player.py", line 409, in _async_ws_connect                                                                                                                
    await self._connection.connect()                                                                                                                                                                                         
  File "/usr/local/lib/python3.8/site-packages/pykodi/kodi.py", line 137, in connect                                                                                                                                         
    raise CannotConnectError from error                                                                                                                                                                                      
pykodi.kodi.CannotConnectError                                                                                                                                                                                               
2021-03-18 15:08:50 DEBUG (MainThread) [homeassistant.components.kodi.media_player] Unable to connect to Kodi via websocket
Traceback (most recent call last):                                                                                                                                                                                           
  File "/usr/local/lib/python3.8/site-packages/aiohttp/connector.py", line 969, in _wrap_create_connection                                                                                                                   
    return await self._loop.create_connection(*args, **kwargs)  # type: ignore  # noqa                                                                                                                                       
  File "/usr/local/lib/python3.8/asyncio/base_events.py", line 1025, in create_connection                                                                                                                                    
    raise exceptions[0]                                                                                                                                                                                                      
  File "/usr/local/lib/python3.8/asyncio/base_events.py", line 1010, in create_connection                                                                                                                                    
    sock = await self._connect_sock(                                                                                                                                                                                         
  File "/usr/local/lib/python3.8/asyncio/base_events.py", line 924, in _connect_sock                                                                                                                                         
    await self.sock_connect(sock, address)                                                                                                                                                                                   
  File "/usr/local/lib/python3.8/asyncio/selector_events.py", line 496, in sock_connect                                                                                                                                      
    return await fut                                                                                                                                                                                                         
  File "/usr/local/lib/python3.8/asyncio/selector_events.py", line 528, in _sock_connect_cb                                                                                                                                  
    raise OSError(err, f'Connect call failed {address}')                                                                                                                                                                     
TimeoutError: [Errno 110] Connect call failed ('10.10.1.91', 9090)                                                                                                                                                           

The above exception was the direct cause of the following exception:                                                                                                                                                         

Traceback (most recent call last):                                                                                                                                                                                           
  File "/usr/local/lib/python3.8/site-packages/jsonrpc_websocket/jsonrpc.py", line 63, in ws_connect                                                                                                                         
    self._client = await self._session.ws_connect(                                                                                                                                                                           
  File "/usr/local/lib/python3.8/site-packages/aiohttp/client.py", line 754, in _ws_connect                                                                                                                                  
    resp = await self.request(                                                                                                                                                                                               
  File "/usr/local/lib/python3.8/site-packages/aiohttp/client.py", line 520, in _request                                                                                                                                     
    conn = await self._connector.connect(                                                                                                                                                                                    
  File "/usr/local/lib/python3.8/site-packages/aiohttp/connector.py", line 535, in connect                                                                                                                                   
    proto = await self._create_connection(req, traces, timeout)                                                                                                                                                              
  File "/usr/local/lib/python3.8/site-packages/aiohttp/connector.py", line 892, in _create_connection                                                                                                                        
    _, proto = await self._create_direct_connection(req, traces, timeout)                                                                                                                                                    
  File "/usr/local/lib/python3.8/site-packages/aiohttp/connector.py", line 1051, in _create_direct_connection                                                                                                                
    raise last_exc                                                                                                                                                                                                           
  File "/usr/local/lib/python3.8/site-packages/aiohttp/connector.py", line 1020, in _create_direct_connection                                                                                                                
    transp, proto = await self._wrap_create_connection(                                                                                                                                                                      
  File "/usr/local/lib/python3.8/site-packages/aiohttp/connector.py", line 975, in _wrap_create_connection                                                                                                                   
    raise client_error(req.connection_key, exc) from exc                                                                                                                                                                     
aiohttp.client_exceptions.ClientConnectorError: Cannot connect to host lroom-tv.lan:9090 ssl:default [Connect call failed ('10.10.1.91', 9090)]                                                                              

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/usr/local/lib/python3.8/site-packages/pykodi/kodi.py", line 135, in connect
    await self._ws_server.ws_connect()
  File "/usr/local/lib/python3.8/site-packages/jsonrpc_websocket/jsonrpc.py", line 66, in ws_connect
    raise TransportError('Error connecting to server', None, exc)
jsonrpc_base.jsonrpc.TransportError: ('Error connecting to server', ClientConnectorError(ConnectionKey(host='lroom-tv.lan', port=9090, is_ssl=False, ssl=None, proxy=None, proxy_auth=None, proxy_headers_hash=4231791446501600363), TimeoutError(110, "Connect call failed ('10.10.1.91', 9090)")))

The above exception was the direct cause of the following exception:

Traceback (most recent call last):
  File "/usr/src/homeassistant/homeassistant/components/kodi/media_player.py", line 409, in _async_ws_connect
    await self._connection.connect()
  File "/usr/local/lib/python3.8/site-packages/pykodi/kodi.py", line 137, in connect
    raise CannotConnectError from error
pykodi.kodi.CannotConnectError
2021-03-18 15:08:53 WARNING (MainThread) [homeassistant.core] Timed out waiting for shutdown stage 2 to complete, the shutdown will continue
Timed out waiting for shutdown stage 3 to complete, the shutdown will continue

I also have an other problem with Kodi: #38659

@probot-home-assistant
Copy link

Hey there @OnFreund, @cgtobi, mind taking a look at this issue as its been labeled with an integration (kodi) you are listed as a codeowner for? Thanks!
(message by CodeOwnersMention)

@github-actions
Copy link

There hasn't been any activity on this issue recently. Due to the high number of incoming GitHub notifications, we have to clean some of the old issues, as many of them have already been resolved with the latest updates.
Please make sure to update to the latest Home Assistant version and check if that solves the issue. Let us know if that works for you by adding a comment 👍
This issue has now been marked as stale and will be closed if no further activity occurs. Thank you for your contributions.

@github-actions github-actions bot added the stale label Jun 16, 2021
@definitio
Copy link
Contributor Author

It's still actual.

@github-actions github-actions bot removed the stale label Jun 16, 2021
@Shamshala
Copy link

Same for me.

@github-actions
Copy link

There hasn't been any activity on this issue recently. Due to the high number of incoming GitHub notifications, we have to clean some of the old issues, as many of them have already been resolved with the latest updates.
Please make sure to update to the latest Home Assistant version and check if that solves the issue. Let us know if that works for you by adding a comment 👍
This issue has now been marked as stale and will be closed if no further activity occurs. Thank you for your contributions.

@github-actions github-actions bot added the stale label Sep 17, 2021
@definitio
Copy link
Contributor Author

It's still actual.

@github-actions github-actions bot removed the stale label Sep 18, 2021
@hcw70
Copy link

hcw70 commented Nov 2, 2021

Also happens for me.
After my kodi went offline, even whole home assistant history graph stopped working.

See flat lines here:

When restarted, restart hangs while trying to connect to kodi.

After removing Kodi integration, all was smooth again.

Looks like Kodi integration needs to implement async discovery as other integrations already do.

I am using HA 2021.10.6

@github-actions
Copy link

There hasn't been any activity on this issue recently. Due to the high number of incoming GitHub notifications, we have to clean some of the old issues, as many of them have already been resolved with the latest updates.
Please make sure to update to the latest Home Assistant version and check if that solves the issue. Let us know if that works for you by adding a comment 👍
This issue has now been marked as stale and will be closed if no further activity occurs. Thank you for your contributions.

@github-actions github-actions bot added the stale label Jan 31, 2022
@definitio
Copy link
Contributor Author

It's still actual.

@github-actions github-actions bot removed the stale label Feb 1, 2022
@Wampukas
Copy link

It is still actual for me as well. Kodi is hanging all HA after reboot process.

@PedroDelCargo
Copy link

Same problem for me. Kodi takes more than 2 minutes to start.

@c-lega
Copy link

c-lega commented Mar 11, 2022

Same here...

@quadhammer
Copy link

Yes, it's annoying. It needs an option to set a timeout to 5secs or something, rather than the default minutes.

@definitio
Copy link
Contributor Author

definitio commented Jun 12, 2022

The issue is related to zeroconf integration. Sometimes an error appears on restart:

2022-06-12 14:38:48 ERROR (MainThread) [homeassistant] Error doing job: Task exception was never retrieved
Traceback (most recent call last):
  File "/usr/local/lib/python3.9/site-packages/zeroconf/_services/browser.py", line 445, in _async_start_query_sender
    await self.zc.async_wait_for_start()
  File "/usr/local/lib/python3.9/site-packages/zeroconf/_core.py", line 507, in async_wait_for_start
    raise NotRunningException
zeroconf._exceptions.NotRunningException

Disabling zeroconf fixes slow restart/shutdown.

UPD: This workaround doesn't work for me anymore.

@definitio
Copy link
Contributor Author

definitio commented Jul 9, 2022

I have a better workaround:

  1. Forward all packets to 9090 port via a reverse proxy.
  2. Reject packets to Kodi when the first rule doesn't match.
    HA takes less than a minute to restart.

@quadhammer
Copy link

I don't understand how that works, nor how to implement it. Hopefully someone maintaining this integration can come up with a more user-friendly solution.

We can't be the only people who don't have Kodi running permanently,, and thus have to wait over 2 minutes for home assistant to load.

@h3llrais3r
Copy link

Have been setting up home assistant recently and kodi is one of my first integrations. Facing the same issue as well. Since adding kodi integration, ha startup takes a long time... as all my kodi instances are not available when not in use... :(

@Sian-Lee-SA
Copy link
Contributor

Must say this has been a long time issue, about year ago removed the Kodi integration only to add it again today. Restart Home Assistant to remind me why I removed it to begin wth. The startup time is ridiculous and is the only reason my HA won't start in a few seconds, instead it's around 30x added to the start up time simply because I don't have the kodi instance up and running, The timeout needs to be shortened or make connection attempts in longer timeouts after startup.

For now, I might have to override the integration with custom docker files but really don't want to resort to this,

@h3llrais3r
Copy link

Probably found the cause: see #73097

@issue-triage-workflows
Copy link

There hasn't been any activity on this issue recently. Due to the high number of incoming GitHub notifications, we have to clean some of the old issues, as many of them have already been resolved with the latest updates.
Please make sure to update to the latest Home Assistant version and check if that solves the issue. Let us know if that works for you by adding a comment 👍
This issue has now been marked as stale and will be closed if no further activity occurs. Thank you for your contributions.

@ildar170975
Copy link

Up

@github-actions github-actions bot removed the stale label Aug 21, 2023
@hcw70
Copy link

hcw70 commented Aug 21, 2023

Also still affects me.

@PedroDelCargo
Copy link

Still the same here aswell.

@segoz
Copy link

segoz commented Sep 16, 2023

Same here! Annoying, annoying, annoying...

@krasatos
Copy link

Is there at least a way to disable the kodi integration on shutdown and reenable it after startup?

@dolenec
Copy link

dolenec commented Nov 10, 2023

For me problem is the same and yes, I agree with @krasatos that it would be great if it would be possible to delay startup of integrations which makes slow HA startup.
Also, problem still persists and was never resolved..

@issue-triage-workflows
Copy link

There hasn't been any activity on this issue recently. Due to the high number of incoming GitHub notifications, we have to clean some of the old issues, as many of them have already been resolved with the latest updates.
Please make sure to update to the latest Home Assistant version and check if that solves the issue. Let us know if that works for you by adding a comment 👍
This issue has now been marked as stale and will be closed if no further activity occurs. Thank you for your contributions.

@andige
Copy link

andige commented Feb 8, 2024

Still broken. Still annoying :-(
During HA updates I have now developed a habit of switching on my home theater pc (running libreelec) to speed up the HA reboot time. This is a workaround but far away from a solution...

Kodi integration takes 132 seconds to load on my setup, if kodi is down.

Core 2024.2.0
Supervisor 2024.01.1
Operating System 11.5

@ABEIDO
Copy link

ABEIDO commented Feb 11, 2024

Still broken. Still annoying :-( During HA updates I have now developed a habit of switching on my home theater pc (running libreelec) to speed up the HA reboot time. This is a workaround but far away from a solution...

Kodi integration takes 132 seconds to load on my setup, if kodi is down.

Core 2024.2.0 Supervisor 2024.01.1 Operating System 11.5

:) same here, and i have 2 diffrent kodi machines i start for quicker HA reboots.

@dolenec
Copy link

dolenec commented Feb 11, 2024

Same problem here.. 3 Kodi players..

Don't know why so long timeout..

@dolenec
Copy link

dolenec commented Feb 29, 2024

3 years opened case and still no solution?

@quadhammer
Copy link

Yeah, it's a pain in the arse.

@dolenec
Copy link

dolenec commented Mar 1, 2024

@balloob Can be done something regarding that? On super fast PC restart is taking super slow because of this integration..

@dolenec
Copy link

dolenec commented Mar 4, 2024

@bdraco Maybe you can help us aka Kodi users ? 🤪

@dolenec
Copy link

dolenec commented Mar 4, 2024

Same: #73097

@krasatos
Copy link

Any updates or workarounds please?

@rossc719g
Copy link

This is a big sore point for me as well.
I love this kodi integration, and use it a lot, but every time I restart HA, it just hangs for so long.
I hate to ask... but... is this integration just abandoned at this point?

"Starting Kodi, not everything will be available until it is finished."

@issue-triage-workflows
Copy link

There hasn't been any activity on this issue recently. Due to the high number of incoming GitHub notifications, we have to clean some of the old issues, as many of them have already been resolved with the latest updates.
Please make sure to update to the latest Home Assistant version and check if that solves the issue. Let us know if that works for you by adding a comment 👍
This issue has now been marked as stale and will be closed if no further activity occurs. Thank you for your contributions.

@i3laze
Copy link

i3laze commented Sep 7, 2024

@definitio @krasatos @rossc719g , is it still actual?

I personally got Kodi integration working just fine, but this issue will be auto-closed without activity.
Fresh error logs might help.

@quadhammer
Copy link

I personally got Kodi integration working just fine

It works fine, if Kodi is already running on startup of Home Assistant; if not it delays HA starting by 2 minutes.

@oopiicaa
Copy link

oopiicaa commented Oct 7, 2024

@definitio @krasatos @rossc719g , is it still actual?

I personally got Kodi integration working just fine, but this issue will be auto-closed without activity. Fresh error logs might help.

Logger: homeassistant.bootstrap
Source: bootstrap.py:738
First occurred: 11:03:45 (2 occurrences)
Last logged: 11:04:45

Waiting on integrations to complete setup: {('kodi', '1275f04307659bd3aeee2a56d77b3959'): 10535.677405882}
Logger: homeassistant.components.kodi.media_player
Source: components/kodi/media_player.py:433
integration: Kodi (documentation, issues)
First occurred: 11:05:14 (2 occurrences)
Last logged: 11:07:26

Unable to connect to Kodi via websocket

@dangel666
Copy link

2024-10-20 05:59:27.735 WARNING (MainThread) [homeassistant.components.kodi.media_player] Unable to connect to Kodi via websocket

I'm reminded of this issue every time I restart. I'm not leaving my kodi instance on when not in use of course.

@i3laze
Copy link

i3laze commented Oct 21, 2024

Oh.. just stumbled on that myself.

One of my HA installations is running in docker on top of Kodi box.
It uses additional bridge interface to reach Kodi and other containers (MQTT broker).

With that bridge unreachable HA was initializing Kodi integration so long I had enough time to reach web-interface and disable the item.

@oopiicaa
Copy link

oopiicaa commented Nov 8, 2024

@cgtobi any chance of taking a look at this?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests