mirror of
https://github.com/home-assistant/core.git
synced 2025-07-18 10:47:10 +00:00
Disable IPV6 in the august integration (#98003)
This commit is contained in:
parent
2e643c0c75
commit
ece7ec6a38
@ -25,13 +25,14 @@ from homeassistant.exceptions import (
|
|||||||
ConfigEntryNotReady,
|
ConfigEntryNotReady,
|
||||||
HomeAssistantError,
|
HomeAssistantError,
|
||||||
)
|
)
|
||||||
from homeassistant.helpers import aiohttp_client, device_registry as dr, discovery_flow
|
from homeassistant.helpers import device_registry as dr, discovery_flow
|
||||||
|
|
||||||
from .activity import ActivityStream
|
from .activity import ActivityStream
|
||||||
from .const import CONF_BRAND, DOMAIN, MIN_TIME_BETWEEN_DETAIL_UPDATES, PLATFORMS
|
from .const import CONF_BRAND, DOMAIN, MIN_TIME_BETWEEN_DETAIL_UPDATES, PLATFORMS
|
||||||
from .exceptions import CannotConnect, InvalidAuth, RequireValidation
|
from .exceptions import CannotConnect, InvalidAuth, RequireValidation
|
||||||
from .gateway import AugustGateway
|
from .gateway import AugustGateway
|
||||||
from .subscriber import AugustSubscriberMixin
|
from .subscriber import AugustSubscriberMixin
|
||||||
|
from .util import async_create_august_clientsession
|
||||||
|
|
||||||
_LOGGER = logging.getLogger(__name__)
|
_LOGGER = logging.getLogger(__name__)
|
||||||
|
|
||||||
@ -46,10 +47,7 @@ YALEXS_BLE_DOMAIN = "yalexs_ble"
|
|||||||
|
|
||||||
async def async_setup_entry(hass: HomeAssistant, entry: ConfigEntry) -> bool:
|
async def async_setup_entry(hass: HomeAssistant, entry: ConfigEntry) -> bool:
|
||||||
"""Set up August from a config entry."""
|
"""Set up August from a config entry."""
|
||||||
# Create an aiohttp session instead of using the default one since the
|
session = async_create_august_clientsession(hass)
|
||||||
# default one is likely to trigger august's WAF if another integration
|
|
||||||
# is also using Cloudflare
|
|
||||||
session = aiohttp_client.async_create_clientsession(hass)
|
|
||||||
august_gateway = AugustGateway(hass, session)
|
august_gateway = AugustGateway(hass, session)
|
||||||
|
|
||||||
try:
|
try:
|
||||||
|
@ -13,7 +13,6 @@ from homeassistant import config_entries
|
|||||||
from homeassistant.const import CONF_PASSWORD, CONF_USERNAME
|
from homeassistant.const import CONF_PASSWORD, CONF_USERNAME
|
||||||
from homeassistant.core import callback
|
from homeassistant.core import callback
|
||||||
from homeassistant.data_entry_flow import FlowResult
|
from homeassistant.data_entry_flow import FlowResult
|
||||||
from homeassistant.helpers import aiohttp_client
|
|
||||||
|
|
||||||
from .const import (
|
from .const import (
|
||||||
CONF_ACCESS_TOKEN_CACHE_FILE,
|
CONF_ACCESS_TOKEN_CACHE_FILE,
|
||||||
@ -26,6 +25,7 @@ from .const import (
|
|||||||
)
|
)
|
||||||
from .exceptions import CannotConnect, InvalidAuth, RequireValidation
|
from .exceptions import CannotConnect, InvalidAuth, RequireValidation
|
||||||
from .gateway import AugustGateway
|
from .gateway import AugustGateway
|
||||||
|
from .util import async_create_august_clientsession
|
||||||
|
|
||||||
_LOGGER = logging.getLogger(__name__)
|
_LOGGER = logging.getLogger(__name__)
|
||||||
|
|
||||||
@ -159,10 +159,7 @@ class AugustConfigFlow(config_entries.ConfigFlow, domain=DOMAIN):
|
|||||||
"""Set up the gateway."""
|
"""Set up the gateway."""
|
||||||
if self._august_gateway is not None:
|
if self._august_gateway is not None:
|
||||||
return self._august_gateway
|
return self._august_gateway
|
||||||
# Create an aiohttp session instead of using the default one since the
|
self._aiohttp_session = async_create_august_clientsession(self.hass)
|
||||||
# default one is likely to trigger august's WAF if another integration
|
|
||||||
# is also using Cloudflare
|
|
||||||
self._aiohttp_session = aiohttp_client.async_create_clientsession(self.hass)
|
|
||||||
self._august_gateway = AugustGateway(self.hass, self._aiohttp_session)
|
self._august_gateway = AugustGateway(self.hass, self._aiohttp_session)
|
||||||
return self._august_gateway
|
return self._august_gateway
|
||||||
|
|
||||||
|
24
homeassistant/components/august/util.py
Normal file
24
homeassistant/components/august/util.py
Normal file
@ -0,0 +1,24 @@
|
|||||||
|
"""August util functions."""
|
||||||
|
|
||||||
|
import socket
|
||||||
|
|
||||||
|
import aiohttp
|
||||||
|
|
||||||
|
from homeassistant.core import HomeAssistant, callback
|
||||||
|
from homeassistant.helpers import aiohttp_client
|
||||||
|
|
||||||
|
|
||||||
|
@callback
|
||||||
|
def async_create_august_clientsession(hass: HomeAssistant) -> aiohttp.ClientSession:
|
||||||
|
"""Create an aiohttp session for the august integration."""
|
||||||
|
# Create an aiohttp session instead of using the default one since the
|
||||||
|
# default one is likely to trigger august's WAF if another integration
|
||||||
|
# is also using Cloudflare
|
||||||
|
#
|
||||||
|
# The family is set to AF_INET because IPv6 keeps coming up as an issue
|
||||||
|
# see https://github.com/home-assistant/core/issues/97146
|
||||||
|
#
|
||||||
|
# When https://github.com/aio-libs/aiohttp/issues/4451 is implemented
|
||||||
|
# we can allow IPv6 again
|
||||||
|
#
|
||||||
|
return aiohttp_client.async_create_clientsession(hass, family=socket.AF_INET)
|
Loading…
x
Reference in New Issue
Block a user