Use shared httpx client in enphase_envoy (#48709)
* Use shared httpx client in enphase_envoy * test fix * f * bump version
This commit is contained in:
parent
a610076001
commit
73f227b651
5 changed files with 19 additions and 9 deletions
|
@ -13,6 +13,7 @@ from homeassistant.config_entries import ConfigEntry
|
|||
from homeassistant.const import CONF_HOST, CONF_NAME, CONF_PASSWORD, CONF_USERNAME
|
||||
from homeassistant.core import HomeAssistant
|
||||
from homeassistant.exceptions import ConfigEntryNotReady
|
||||
from homeassistant.helpers.httpx_client import get_async_client
|
||||
from homeassistant.helpers.update_coordinator import DataUpdateCoordinator, UpdateFailed
|
||||
|
||||
from .const import COORDINATOR, DOMAIN, NAME, PLATFORMS, SENSORS
|
||||
|
@ -27,8 +28,12 @@ async def async_setup_entry(hass: HomeAssistant, entry: ConfigEntry) -> bool:
|
|||
|
||||
config = entry.data
|
||||
name = config[CONF_NAME]
|
||||
|
||||
envoy_reader = EnvoyReader(
|
||||
config[CONF_HOST], config[CONF_USERNAME], config[CONF_PASSWORD]
|
||||
config[CONF_HOST],
|
||||
config[CONF_USERNAME],
|
||||
config[CONF_PASSWORD],
|
||||
async_client=get_async_client(hass),
|
||||
)
|
||||
|
||||
try:
|
||||
|
@ -36,7 +41,7 @@ async def async_setup_entry(hass: HomeAssistant, entry: ConfigEntry) -> bool:
|
|||
except httpx.HTTPStatusError as err:
|
||||
_LOGGER.error("Authentication failure during setup: %s", err)
|
||||
return
|
||||
except (AttributeError, httpx.HTTPError) as err:
|
||||
except (RuntimeError, httpx.HTTPError) as err:
|
||||
raise ConfigEntryNotReady from err
|
||||
|
||||
async def async_update_data():
|
||||
|
@ -63,7 +68,7 @@ async def async_setup_entry(hass: HomeAssistant, entry: ConfigEntry) -> bool:
|
|||
coordinator = DataUpdateCoordinator(
|
||||
hass,
|
||||
_LOGGER,
|
||||
name="envoy {name}",
|
||||
name=f"envoy {name}",
|
||||
update_method=async_update_data,
|
||||
update_interval=SCAN_INTERVAL,
|
||||
)
|
||||
|
|
|
@ -18,6 +18,7 @@ from homeassistant.const import (
|
|||
)
|
||||
from homeassistant.core import HomeAssistant, callback
|
||||
from homeassistant.exceptions import HomeAssistantError
|
||||
from homeassistant.helpers.httpx_client import get_async_client
|
||||
|
||||
from .const import DOMAIN
|
||||
|
||||
|
@ -31,14 +32,18 @@ CONF_SERIAL = "serial"
|
|||
async def validate_input(hass: HomeAssistant, data: dict[str, Any]) -> dict[str, Any]:
|
||||
"""Validate the user input allows us to connect."""
|
||||
envoy_reader = EnvoyReader(
|
||||
data[CONF_HOST], data[CONF_USERNAME], data[CONF_PASSWORD], inverters=True
|
||||
data[CONF_HOST],
|
||||
data[CONF_USERNAME],
|
||||
data[CONF_PASSWORD],
|
||||
inverters=True,
|
||||
async_client=get_async_client(hass),
|
||||
)
|
||||
|
||||
try:
|
||||
await envoy_reader.getData()
|
||||
except httpx.HTTPStatusError as err:
|
||||
raise InvalidAuth from err
|
||||
except (AttributeError, httpx.HTTPError) as err:
|
||||
except (RuntimeError, httpx.HTTPError) as err:
|
||||
raise CannotConnect from err
|
||||
|
||||
|
||||
|
|
|
@ -3,11 +3,11 @@
|
|||
"name": "Enphase Envoy",
|
||||
"documentation": "https://www.home-assistant.io/integrations/enphase_envoy",
|
||||
"requirements": [
|
||||
"envoy_reader==0.18.3"
|
||||
"envoy_reader==0.18.4"
|
||||
],
|
||||
"codeowners": [
|
||||
"@gtdiehl"
|
||||
],
|
||||
"config_flow": true,
|
||||
"zeroconf": [{ "type": "_enphase-envoy._tcp.local."}]
|
||||
}
|
||||
}
|
||||
|
|
|
@ -557,7 +557,7 @@ env_canada==0.2.5
|
|||
# envirophat==0.0.6
|
||||
|
||||
# homeassistant.components.enphase_envoy
|
||||
envoy_reader==0.18.3
|
||||
envoy_reader==0.18.4
|
||||
|
||||
# homeassistant.components.season
|
||||
ephem==3.7.7.0
|
||||
|
|
|
@ -303,7 +303,7 @@ emulated_roku==0.2.1
|
|||
enocean==0.50
|
||||
|
||||
# homeassistant.components.enphase_envoy
|
||||
envoy_reader==0.18.3
|
||||
envoy_reader==0.18.4
|
||||
|
||||
# homeassistant.components.season
|
||||
ephem==3.7.7.0
|
||||
|
|
Loading…
Add table
Reference in a new issue