Use async_create_clientsession for enigma2 (#108395)

Use async_creeate_clientsession for enigma2
This commit is contained in:
Sid 2024-01-20 04:04:03 +01:00 committed by GitHub
parent 2b389739d3
commit b612fafb9b
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194

View File

@ -5,6 +5,7 @@ from aiohttp.client_exceptions import ClientConnectorError
from openwebif.api import OpenWebIfDevice from openwebif.api import OpenWebIfDevice
from openwebif.enums import RemoteControlCodes, SetVolumeOption from openwebif.enums import RemoteControlCodes, SetVolumeOption
import voluptuous as vol import voluptuous as vol
from yarl import URL
from homeassistant.components.media_player import ( from homeassistant.components.media_player import (
MediaPlayerEntity, MediaPlayerEntity,
@ -22,6 +23,7 @@ from homeassistant.const import (
) )
from homeassistant.core import HomeAssistant from homeassistant.core import HomeAssistant
from homeassistant.exceptions import PlatformNotReady from homeassistant.exceptions import PlatformNotReady
from homeassistant.helpers.aiohttp_client import async_create_clientsession
import homeassistant.helpers.config_validation as cv import homeassistant.helpers.config_validation as cv
from homeassistant.helpers.config_validation import PLATFORM_SCHEMA from homeassistant.helpers.config_validation import PLATFORM_SCHEMA
from homeassistant.helpers.entity_platform import AddEntitiesCallback from homeassistant.helpers.entity_platform import AddEntitiesCallback
@ -88,12 +90,18 @@ async def async_setup_platform(
config[CONF_DEEP_STANDBY] = DEFAULT_DEEP_STANDBY config[CONF_DEEP_STANDBY] = DEFAULT_DEEP_STANDBY
config[CONF_SOURCE_BOUQUET] = DEFAULT_SOURCE_BOUQUET config[CONF_SOURCE_BOUQUET] = DEFAULT_SOURCE_BOUQUET
device = OpenWebIfDevice( base_url = URL.build(
scheme="https" if config[CONF_SSL] else "http",
host=config[CONF_HOST], host=config[CONF_HOST],
port=config.get(CONF_PORT), port=config.get(CONF_PORT),
username=config.get(CONF_USERNAME), user=config.get(CONF_USERNAME),
password=config.get(CONF_PASSWORD), password=config.get(CONF_PASSWORD),
is_https=config[CONF_SSL], )
session = async_create_clientsession(hass, verify_ssl=False, base_url=base_url)
device = OpenWebIfDevice(
host=session,
turn_off_to_deep=config.get(CONF_DEEP_STANDBY), turn_off_to_deep=config.get(CONF_DEEP_STANDBY),
source_bouquet=config.get(CONF_SOURCE_BOUQUET), source_bouquet=config.get(CONF_SOURCE_BOUQUET),
) )
@ -101,7 +109,6 @@ async def async_setup_platform(
try: try:
about = await device.get_about() about = await device.get_about()
except ClientConnectorError as err: except ClientConnectorError as err:
await device.close()
raise PlatformNotReady from err raise PlatformNotReady from err
async_add_entities([Enigma2Device(config[CONF_NAME], device, about)]) async_add_entities([Enigma2Device(config[CONF_NAME], device, about)])