mirror of
https://github.com/home-assistant/core.git
synced 2025-07-16 17:57:11 +00:00
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
@ -13,6 +13,7 @@ from homeassistant.config_entries import ConfigEntry
|
|||||||
from homeassistant.const import CONF_HOST, CONF_NAME, CONF_PASSWORD, CONF_USERNAME
|
from homeassistant.const import CONF_HOST, CONF_NAME, CONF_PASSWORD, CONF_USERNAME
|
||||||
from homeassistant.core import HomeAssistant
|
from homeassistant.core import HomeAssistant
|
||||||
from homeassistant.exceptions import ConfigEntryNotReady
|
from homeassistant.exceptions import ConfigEntryNotReady
|
||||||
|
from homeassistant.helpers.httpx_client import get_async_client
|
||||||
from homeassistant.helpers.update_coordinator import DataUpdateCoordinator, UpdateFailed
|
from homeassistant.helpers.update_coordinator import DataUpdateCoordinator, UpdateFailed
|
||||||
|
|
||||||
from .const import COORDINATOR, DOMAIN, NAME, PLATFORMS, SENSORS
|
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
|
config = entry.data
|
||||||
name = config[CONF_NAME]
|
name = config[CONF_NAME]
|
||||||
|
|
||||||
envoy_reader = EnvoyReader(
|
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:
|
try:
|
||||||
@ -36,7 +41,7 @@ async def async_setup_entry(hass: HomeAssistant, entry: ConfigEntry) -> bool:
|
|||||||
except httpx.HTTPStatusError as err:
|
except httpx.HTTPStatusError as err:
|
||||||
_LOGGER.error("Authentication failure during setup: %s", err)
|
_LOGGER.error("Authentication failure during setup: %s", err)
|
||||||
return
|
return
|
||||||
except (AttributeError, httpx.HTTPError) as err:
|
except (RuntimeError, httpx.HTTPError) as err:
|
||||||
raise ConfigEntryNotReady from err
|
raise ConfigEntryNotReady from err
|
||||||
|
|
||||||
async def async_update_data():
|
async def async_update_data():
|
||||||
@ -63,7 +68,7 @@ async def async_setup_entry(hass: HomeAssistant, entry: ConfigEntry) -> bool:
|
|||||||
coordinator = DataUpdateCoordinator(
|
coordinator = DataUpdateCoordinator(
|
||||||
hass,
|
hass,
|
||||||
_LOGGER,
|
_LOGGER,
|
||||||
name="envoy {name}",
|
name=f"envoy {name}",
|
||||||
update_method=async_update_data,
|
update_method=async_update_data,
|
||||||
update_interval=SCAN_INTERVAL,
|
update_interval=SCAN_INTERVAL,
|
||||||
)
|
)
|
||||||
|
@ -18,6 +18,7 @@ from homeassistant.const import (
|
|||||||
)
|
)
|
||||||
from homeassistant.core import HomeAssistant, callback
|
from homeassistant.core import HomeAssistant, callback
|
||||||
from homeassistant.exceptions import HomeAssistantError
|
from homeassistant.exceptions import HomeAssistantError
|
||||||
|
from homeassistant.helpers.httpx_client import get_async_client
|
||||||
|
|
||||||
from .const import DOMAIN
|
from .const import DOMAIN
|
||||||
|
|
||||||
@ -31,14 +32,18 @@ CONF_SERIAL = "serial"
|
|||||||
async def validate_input(hass: HomeAssistant, data: dict[str, Any]) -> dict[str, Any]:
|
async def validate_input(hass: HomeAssistant, data: dict[str, Any]) -> dict[str, Any]:
|
||||||
"""Validate the user input allows us to connect."""
|
"""Validate the user input allows us to connect."""
|
||||||
envoy_reader = EnvoyReader(
|
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:
|
try:
|
||||||
await envoy_reader.getData()
|
await envoy_reader.getData()
|
||||||
except httpx.HTTPStatusError as err:
|
except httpx.HTTPStatusError as err:
|
||||||
raise InvalidAuth from err
|
raise InvalidAuth from err
|
||||||
except (AttributeError, httpx.HTTPError) as err:
|
except (RuntimeError, httpx.HTTPError) as err:
|
||||||
raise CannotConnect from err
|
raise CannotConnect from err
|
||||||
|
|
||||||
|
|
||||||
|
@ -3,7 +3,7 @@
|
|||||||
"name": "Enphase Envoy",
|
"name": "Enphase Envoy",
|
||||||
"documentation": "https://www.home-assistant.io/integrations/enphase_envoy",
|
"documentation": "https://www.home-assistant.io/integrations/enphase_envoy",
|
||||||
"requirements": [
|
"requirements": [
|
||||||
"envoy_reader==0.18.3"
|
"envoy_reader==0.18.4"
|
||||||
],
|
],
|
||||||
"codeowners": [
|
"codeowners": [
|
||||||
"@gtdiehl"
|
"@gtdiehl"
|
||||||
|
@ -557,7 +557,7 @@ env_canada==0.2.5
|
|||||||
# envirophat==0.0.6
|
# envirophat==0.0.6
|
||||||
|
|
||||||
# homeassistant.components.enphase_envoy
|
# homeassistant.components.enphase_envoy
|
||||||
envoy_reader==0.18.3
|
envoy_reader==0.18.4
|
||||||
|
|
||||||
# homeassistant.components.season
|
# homeassistant.components.season
|
||||||
ephem==3.7.7.0
|
ephem==3.7.7.0
|
||||||
|
@ -303,7 +303,7 @@ emulated_roku==0.2.1
|
|||||||
enocean==0.50
|
enocean==0.50
|
||||||
|
|
||||||
# homeassistant.components.enphase_envoy
|
# homeassistant.components.enphase_envoy
|
||||||
envoy_reader==0.18.3
|
envoy_reader==0.18.4
|
||||||
|
|
||||||
# homeassistant.components.season
|
# homeassistant.components.season
|
||||||
ephem==3.7.7.0
|
ephem==3.7.7.0
|
||||||
|
Loading…
x
Reference in New Issue
Block a user