diff --git a/src/daikin_cloud/daikin_cloud.py b/src/daikin_cloud/daikin_cloud.py index a0d6ceb..42b12ad 100644 --- a/src/daikin_cloud/daikin_cloud.py +++ b/src/daikin_cloud/daikin_cloud.py @@ -13,12 +13,12 @@ from logger import logger import os import socketio +import aiohttp from daikin_api import DaikinAPI from daikin_installation import DaikinInstallation from daikin_device import DaikinDevice from daikin_profile import DaikinProfile - class DaikinCloud: """Methods to interact with the Daikin One API.""" @@ -31,10 +31,12 @@ class DaikinCloud: def __init__(self) -> None: self.api = DaikinAPI() - self.user_socket = socketio.AsyncClient() self.devices = [] async def after_login(self): + session = aiohttp.ClientSession(headers = {"Authorization": f"Bearer {self.api.api_tokens['access_token']}"}); + self.user_socket = socketio.AsyncClient(http_session=session) + await self.fetch_installations() await self.connect_user_socket() diff --git a/src/daikin_cloud/daikin_installation.py b/src/daikin_cloud/daikin_installation.py index ba3fc0b..69d9215 100644 --- a/src/daikin_cloud/daikin_installation.py +++ b/src/daikin_cloud/daikin_installation.py @@ -2,6 +2,7 @@ import json from logger import logger import socketio +import aiohttp from daikin_device import DaikinDevice from daikin_api import DaikinAPI from daikin_device_data import DeviceDataMessage @@ -23,7 +24,9 @@ def __init__(self, api, installation_data) -> None: self.installation_id = installation_data["_id"] self.devices: dict[str, DaikinDevice] = {} self.installation_namespace = f"/{self.installation_id}::{self.api.SCOPE}" - self.installation_socket = socketio.AsyncClient() + + session = aiohttp.ClientSession(headers = {"Authorization": f"Bearer {self.api.api_tokens['access_token']}"}); + self.installation_socket = socketio.AsyncClient(http_session=session) for d in installation_data["devices"]: self.devices[d["mac"]] = DaikinDevice(d, self) logger.debug(