diff --git a/homeassistant/components/octoprint/config_flow.py b/homeassistant/components/octoprint/config_flow.py index ea2013f29b9f2c9c45be3e40cf3330c96144c84d..acc1449bd9634392779ddadfd250103d4cd55be1 100644 --- a/homeassistant/components/octoprint/config_flow.py +++ b/homeassistant/components/octoprint/config_flow.py @@ -1,9 +1,9 @@ """Config flow for OctoPrint integration.""" import logging -from urllib.parse import urlsplit from pyoctoprintapi import ApiError, OctoprintClient, OctoprintException import voluptuous as vol +from yarl import URL from homeassistant import config_entries, data_entry_flow, exceptions from homeassistant.const import ( @@ -162,14 +162,16 @@ class ConfigFlow(config_entries.ConfigFlow, domain=DOMAIN): await self.async_set_unique_id(uuid) self._abort_if_unique_id_configured() - url = urlsplit(discovery_info["presentationURL"]) + url = URL(discovery_info["presentationURL"]) self.context["title_placeholders"] = { - CONF_HOST: url.hostname, + CONF_HOST: url.host, } self.discovery_schema = _schema_with_defaults( - host=url.hostname, + host=url.host, + path=url.path, port=url.port, + ssl=url.scheme == "https", ) return await self.async_step_user()