Skip to content

Commit

Permalink
localapi: handle empty WebServer API responses
Browse files Browse the repository at this point in the history
Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com>
  • Loading branch information
Noltari committed Mar 4, 2024
1 parent 0c600ed commit a68a014
Showing 1 changed file with 8 additions and 2 deletions.
10 changes: 8 additions & 2 deletions aioairzone/localapi.py
Original file line number Diff line number Diff line change
Expand Up @@ -231,6 +231,8 @@ async def check_features(self, update: bool) -> None:
try:
self.webserver = None
webserver = await self.get_webserver()
if webserver is None:
raise APIError("check_features: empty WebServer API response")
if API_MAC in webserver:
self.api_features |= ApiFeature.WEBSERVER
self.update_webserver(webserver)
Expand Down Expand Up @@ -288,7 +290,11 @@ async def update_features(self) -> None:
_LOGGER.error("update_features: empty Systems API response")

if self.api_features & ApiFeature.WEBSERVER:
self.update_webserver(await self.get_webserver())
webserver = await self.get_webserver()
if webserver is not None:
self.update_webserver(webserver)
else:
_LOGGER.error("update_features: empty WebServer API response")

async def validate(self) -> str | None:
"""Validate Airzone API."""
Expand Down Expand Up @@ -493,7 +499,7 @@ async def get_version(self) -> dict[str, Any]:
self._api_raw_data[RAW_VERSION] = res
return res

async def get_webserver(self) -> dict[str, Any]:
async def get_webserver(self) -> dict[str, Any] | None:
"""Return Airzone WebServer."""
res = await self.http_request(
"POST",
Expand Down

0 comments on commit a68a014

Please sign in to comment.