OpenVoiceOS / ovos-PHAL-plugin-homeassistant

HomeAssistant PHAL Plugin for OpenVoice OS
Apache License 2.0
10 stars 3 forks source link

Plugin should wait for network connectivity #54

Closed goldyfruit closed 2 months ago

goldyfruit commented 7 months ago

The plugin should wait until network connectivity is detected to load as if not then the plugin will not be able to reach the HA API.

Feb 24 23:49:08 rpi5b03 ovos_PHAL[933]: 2024-02-24 23:49:08.500 - OVOS - ovos_plugin_manager.templates.audio:<module>:14 - WARNING - Deprecation version=0.1.0. Caller=ovos_plugin_manager.templates:8. ovos_plugin_manager.templates.audio has been deprecated on ovos-audio, move to ovos_plugin_manager.templates.media
Feb 24 23:49:08 rpi5b03 ovos_PHAL[933]: 2024-02-24 23:49:08.662 - OVOS - ovos_plugin_manager.audio:<module>:7 - WARNING - Deprecation version=0.1.0. Caller=ovos_plugin_manager.plugin_entry:4. ovos_plugin_manager.audio has been deprecated on ovos-audio, move to ovos_plugin_manager.media
Feb 24 23:49:08 rpi5b03 ovos_PHAL[933]: 2024-02-24 23:49:08.677 - PHAL - ovos_bus_client.conf:load_message_bus_config:28 - DEBUG - Loading message bus configs
Feb 24 23:49:08 rpi5b03 ovos_PHAL[933]: 2024-02-24 23:49:08.794 - PHAL - ovos_PHAL.service:on_started:25 - INFO - PHAL is started
Feb 24 23:49:08 rpi5b03 ovos_PHAL[933]: 2024-02-24 23:49:08.809 - PHAL - ovos_bus_client.client.client:on_open:93 - DEBUG - Connected
Feb 24 23:49:09 rpi5b03 ovos_PHAL[933]: 2024-02-24 23:49:09.751 - PHAL - ovos_plugin_manager.utils.config:get_plugin_config:40 - DEBUG - Loaded configuration: {'module': 'ovos-phal-plugin-ipgeo', 'lang': 'en-us'}
Feb 24 23:49:09 rpi5b03 ovos_PHAL[933]: 2024-02-24 23:49:09.752 - PHAL - ovos_config.models:load_local:112 - DEBUG - Configuration /home/goldyfruit/.config/mycroft/web_cache.json loaded
Feb 24 23:49:09 rpi5b03 ovos_PHAL[933]: 2024-02-24 23:49:09.753 - PHAL - ovos_phal_plugin_ipgeo:on_reset:35 - DEBUG - Skipping overwrite of existing location
Feb 24 23:49:09 rpi5b03 ovos_PHAL[933]: 2024-02-24 23:49:09.754 - PHAL - ovos_PHAL.service:load_plugins:83 - INFO - PHAL plugin loaded: ovos-phal-plugin-ipgeo
Feb 24 23:49:09 rpi5b03 ovos_PHAL[933]: 2024-02-24 23:49:09.785 - PHAL - ovos_plugin_manager.utils.config:get_plugin_config:40 - DEBUG - Loaded configuration: {'module': 'ovos-PHAL-plugin-alsa', 'lang': 'en-us'}
Feb 24 23:49:09 rpi5b03 ovos_PHAL[933]: 2024-02-24 23:49:09.804 - PHAL - ovos_PHAL.service:load_plugins:83 - INFO - PHAL plugin loaded: ovos-PHAL-plugin-alsa
Feb 24 23:49:09 rpi5b03 ovos_PHAL[933]: 2024-02-24 23:49:09.806 - PHAL - ovos_plugin_manager.utils.config:get_plugin_config:40 - DEBUG - Loaded configuration: {'module': 'ovos-PHAL-plugin-oauth', 'lang': 'en-us'}
Feb 24 23:49:09 rpi5b03 ovos_PHAL[933]: 2024-02-24 23:49:09.807 - PHAL - ovos_PHAL.service:load_plugins:83 - INFO - PHAL plugin loaded: ovos-PHAL-plugin-oauth
Feb 24 23:49:09 rpi5b03 ovos_PHAL[933]: 2024-02-24 23:49:09.809 - PHAL - ovos_utils.network_utils:get_ip:42 - ERROR - [Errno 101] Network is unreachable
Feb 24 23:49:09 rpi5b03 ovos_PHAL[933]:  * Serving Flask app 'ovos_PHAL_plugin_oauth'
Feb 24 23:49:09 rpi5b03 ovos_PHAL[933]:  * Debug mode: off
Feb 24 23:49:09 rpi5b03 ovos_PHAL[933]: WARNING: This is a development server. Do not use it in a production deployment. Use a production WSGI server instead.
Feb 24 23:49:09 rpi5b03 ovos_PHAL[933]:  * Running on all addresses (0.0.0.0)
Feb 24 23:49:09 rpi5b03 ovos_PHAL[933]:  * Running on http://127.0.0.1:36536
Feb 24 23:49:09 rpi5b03 ovos_PHAL[933]:  * Running on http://127.0.0.1:36536
Feb 24 23:49:09 rpi5b03 ovos_PHAL[933]: Press CTRL+C to quit
Feb 24 23:49:09 rpi5b03 ovos_PHAL[933]: 2024-02-24 23:49:09.819 - PHAL - ovos_bus_client.apis.gui:setup_default_handlers:188 - DEBUG - Volunteering gui page upload
Feb 24 23:49:09 rpi5b03 ovos_PHAL[933]: 2024-02-24 23:49:09.823 - PHAL - ovos_PHAL.service:load_plugins:85 - ERROR - failed to load PHAL plugin: ovos-PHAL-plugin-homeassistant
Feb 24 23:49:09 rpi5b03 ovos_PHAL[933]: Traceback (most recent call last):
Feb 24 23:49:09 rpi5b03 ovos_PHAL[933]:   File "/home/goldyfruit/.venvs/ovos/lib/python3.11/site-packages/urllib3/connection.py", line 203, in _new_conn
Feb 24 23:49:09 rpi5b03 ovos_PHAL[933]:     sock = connection.create_connection(
Feb 24 23:49:09 rpi5b03 ovos_PHAL[933]:            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
Feb 24 23:49:09 rpi5b03 ovos_PHAL[933]:   File "/home/goldyfruit/.venvs/ovos/lib/python3.11/site-packages/urllib3/util/connection.py", line 85, in create_connection
Feb 24 23:49:09 rpi5b03 ovos_PHAL[933]:     raise err
Feb 24 23:49:09 rpi5b03 ovos_PHAL[933]:   File "/home/goldyfruit/.venvs/ovos/lib/python3.11/site-packages/urllib3/util/connection.py", line 73, in create_connection
Feb 24 23:49:09 rpi5b03 ovos_PHAL[933]:     sock.connect(sa)
Feb 24 23:49:09 rpi5b03 ovos_PHAL[933]: OSError: [Errno 101] Network is unreachable
Feb 24 23:49:09 rpi5b03 ovos_PHAL[933]: The above exception was the direct cause of the following exception:
Feb 24 23:49:09 rpi5b03 ovos_PHAL[933]: Traceback (most recent call last):
Feb 24 23:49:09 rpi5b03 ovos_PHAL[933]:   File "/home/goldyfruit/.venvs/ovos/lib/python3.11/site-packages/urllib3/connectionpool.py", line 791, in urlopen
Feb 24 23:49:09 rpi5b03 ovos_PHAL[933]:     response = self._make_request(
Feb 24 23:49:09 rpi5b03 ovos_PHAL[933]:                ^^^^^^^^^^^^^^^^^^^
Feb 24 23:49:09 rpi5b03 ovos_PHAL[933]:   File "/home/goldyfruit/.venvs/ovos/lib/python3.11/site-packages/urllib3/connectionpool.py", line 497, in _make_request
Feb 24 23:49:09 rpi5b03 ovos_PHAL[933]:     conn.request(
Feb 24 23:49:09 rpi5b03 ovos_PHAL[933]:   File "/home/goldyfruit/.venvs/ovos/lib/python3.11/site-packages/urllib3/connection.py", line 395, in request
Feb 24 23:49:09 rpi5b03 ovos_PHAL[933]:     self.endheaders()
Feb 24 23:49:09 rpi5b03 ovos_PHAL[933]:   File "/usr/lib/python3.11/http/client.py", line 1277, in endheaders
Feb 24 23:49:09 rpi5b03 ovos_PHAL[933]:     self._send_output(message_body, encode_chunked=encode_chunked)
Feb 24 23:49:09 rpi5b03 ovos_PHAL[933]:   File "/usr/lib/python3.11/http/client.py", line 1037, in _send_output
Feb 24 23:49:09 rpi5b03 ovos_PHAL[933]:     self.send(msg)
Feb 24 23:49:09 rpi5b03 ovos_PHAL[933]:   File "/usr/lib/python3.11/http/client.py", line 975, in send
Feb 24 23:49:09 rpi5b03 ovos_PHAL[933]:     self.connect()
Feb 24 23:49:09 rpi5b03 ovos_PHAL[933]:   File "/home/goldyfruit/.venvs/ovos/lib/python3.11/site-packages/urllib3/connection.py", line 243, in connect
Feb 24 23:49:09 rpi5b03 ovos_PHAL[933]:     self.sock = self._new_conn()
Feb 24 23:49:09 rpi5b03 ovos_PHAL[933]:                 ^^^^^^^^^^^^^^^^
Feb 24 23:49:09 rpi5b03 ovos_PHAL[933]:   File "/home/goldyfruit/.venvs/ovos/lib/python3.11/site-packages/urllib3/connection.py", line 218, in _new_conn
Feb 24 23:49:09 rpi5b03 ovos_PHAL[933]:     raise NewConnectionError(
Feb 24 23:49:09 rpi5b03 ovos_PHAL[933]: urllib3.exceptions.NewConnectionError: <urllib3.connection.HTTPConnection object at 0x7fffac009450>: Failed to establish a new connection: [Errno 101] Network is unreachable
Feb 24 23:49:09 rpi5b03 ovos_PHAL[933]: The above exception was the direct cause of the following exception:
Feb 24 23:49:09 rpi5b03 ovos_PHAL[933]: Traceback (most recent call last):
Feb 24 23:49:09 rpi5b03 ovos_PHAL[933]:   File "/home/goldyfruit/.venvs/ovos/lib/python3.11/site-packages/requests/adapters.py", line 486, in send
Feb 24 23:49:09 rpi5b03 ovos_PHAL[933]:     resp = conn.urlopen(
Feb 24 23:49:09 rpi5b03 ovos_PHAL[933]:            ^^^^^^^^^^^^^
Feb 24 23:49:09 rpi5b03 ovos_PHAL[933]:   File "/home/goldyfruit/.venvs/ovos/lib/python3.11/site-packages/urllib3/connectionpool.py", line 845, in urlopen
Feb 24 23:49:09 rpi5b03 ovos_PHAL[933]:     retries = retries.increment(
Feb 24 23:49:09 rpi5b03 ovos_PHAL[933]:               ^^^^^^^^^^^^^^^^^^
Feb 24 23:49:09 rpi5b03 ovos_PHAL[933]:   File "/home/goldyfruit/.venvs/ovos/lib/python3.11/site-packages/urllib3/util/retry.py", line 515, in increment
Feb 24 23:49:09 rpi5b03 ovos_PHAL[933]:     raise MaxRetryError(_pool, url, reason) from reason  # type: ignore[arg-type]
Feb 24 23:49:09 rpi5b03 ovos_PHAL[933]:     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
Feb 24 23:49:09 rpi5b03 ovos_PHAL[933]: urllib3.exceptions.MaxRetryError: HTTPConnectionPool(host='10.17.2.189', port=8123): Max retries exceeded with url: /api/states (Caused by NewConnectionError('<urllib3.connection.HTTPConnection object at 0x7fffac009450>: Failed to establish a new connection: [Errno 101] Network is unreachable'))
Feb 24 23:49:09 rpi5b03 ovos_PHAL[933]: During handling of the above exception, another exception occurred:
Feb 24 23:49:09 rpi5b03 ovos_PHAL[933]: Traceback (most recent call last):
Feb 24 23:49:09 rpi5b03 ovos_PHAL[933]:   File "/home/goldyfruit/.venvs/ovos/lib/python3.11/site-packages/ovos_PHAL/service.py", line 82, in load_plugins
Feb 24 23:49:09 rpi5b03 ovos_PHAL[933]:     self.drivers[name] = plug(bus=self.bus, config=config)
Feb 24 23:49:09 rpi5b03 ovos_PHAL[933]:                          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
Feb 24 23:49:09 rpi5b03 ovos_PHAL[933]:   File "/home/goldyfruit/.venvs/ovos/lib/python3.11/site-packages/ovos_PHAL_plugin_homeassistant/__init__.py", line 116, in __init__
Feb 24 23:49:09 rpi5b03 ovos_PHAL[933]:     self.init_configuration()
Feb 24 23:49:09 rpi5b03 ovos_PHAL[933]:   File "/home/goldyfruit/.venvs/ovos/lib/python3.11/site-packages/ovos_PHAL_plugin_homeassistant/__init__.py", line 225, in init_configuration
Feb 24 23:49:09 rpi5b03 ovos_PHAL[933]:     self.devices = self.connector.get_all_devices()
Feb 24 23:49:09 rpi5b03 ovos_PHAL[933]:                    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
Feb 24 23:49:09 rpi5b03 ovos_PHAL[933]:   File "/home/goldyfruit/.venvs/ovos/lib/python3.11/site-packages/ovos_PHAL_plugin_homeassistant/logic/connector.py", line 149, in get_all_devices
Feb 24 23:49:09 rpi5b03 ovos_PHAL[933]:     response = requests.get(url, headers=self.headers)
Feb 24 23:49:09 rpi5b03 ovos_PHAL[933]:                ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
Feb 24 23:49:09 rpi5b03 ovos_PHAL[933]:   File "/home/goldyfruit/.venvs/ovos/lib/python3.11/site-packages/requests/api.py", line 73, in get
Feb 24 23:49:09 rpi5b03 ovos_PHAL[933]:     return request("get", url, params=params, **kwargs)
Feb 24 23:49:09 rpi5b03 ovos_PHAL[933]:            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
Feb 24 23:49:09 rpi5b03 ovos_PHAL[933]:   File "/home/goldyfruit/.venvs/ovos/lib/python3.11/site-packages/requests/api.py", line 59, in request
Feb 24 23:49:09 rpi5b03 ovos_PHAL[933]:     return session.request(method=method, url=url, **kwargs)
Feb 24 23:49:09 rpi5b03 ovos_PHAL[933]:            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
Feb 24 23:49:09 rpi5b03 ovos_PHAL[933]:   File "/home/goldyfruit/.venvs/ovos/lib/python3.11/site-packages/requests/sessions.py", line 589, in request
Feb 24 23:49:09 rpi5b03 ovos_PHAL[933]:     resp = self.send(prep, **send_kwargs)
Feb 24 23:49:09 rpi5b03 ovos_PHAL[933]:            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
Feb 24 23:49:09 rpi5b03 ovos_PHAL[933]:   File "/home/goldyfruit/.venvs/ovos/lib/python3.11/site-packages/requests/sessions.py", line 703, in send
Feb 24 23:49:09 rpi5b03 ovos_PHAL[933]:     r = adapter.send(request, **kwargs)
Feb 24 23:49:09 rpi5b03 ovos_PHAL[933]:         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
Feb 24 23:49:09 rpi5b03 ovos_PHAL[933]:   File "/home/goldyfruit/.venvs/ovos/lib/python3.11/site-packages/requests/adapters.py", line 519, in send
Feb 24 23:49:09 rpi5b03 ovos_PHAL[933]:     raise ConnectionError(e, request=request)
Feb 24 23:49:09 rpi5b03 ovos_PHAL[933]: requests.exceptions.ConnectionError: HTTPConnectionPool(host='10.17.2.189', port=8123): Max retries exceeded with url: /api/states (Caused by NewConnectionError('<urllib3.connection.HTTPConnection object at 0x7fffac009450>: Failed to establish a new connection: [Errno 101] Network is unreachable'))
goldyfruit commented 7 months ago

This only happens during the OS boot process.