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'))
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.