Skip to content
Snippets Groups Projects
Commit afa7e0bf authored by Michał Mrozek's avatar Michał Mrozek Committed by Paulus Schoutsen
Browse files

fix: exception after kaiterra api call timeout (#27622)

parent cf76f22c
No related branches found
No related tags found
No related merge requests found
"""Support for Kaiterra devices."""
import voluptuous as vol
from homeassistant.helpers.aiohttp_client import async_get_clientsession
from homeassistant.helpers.event import async_track_time_interval
from homeassistant.helpers.discovery import async_load_platform
from homeassistant.helpers import config_validation as cv
from homeassistant.const import (
CONF_API_KEY,
CONF_DEVICES,
CONF_DEVICE_ID,
CONF_DEVICES,
CONF_NAME,
CONF_SCAN_INTERVAL,
CONF_TYPE,
CONF_NAME,
)
from homeassistant.helpers import config_validation as cv
from homeassistant.helpers.aiohttp_client import async_get_clientsession
from homeassistant.helpers.discovery import async_load_platform
from homeassistant.helpers.event import async_track_time_interval
from .api_data import KaiterraApiData
from .const import (
AVAILABLE_AQI_STANDARDS,
AVAILABLE_UNITS,
AVAILABLE_DEVICE_TYPES,
AVAILABLE_UNITS,
CONF_AQI_STANDARD,
CONF_PREFERRED_UNITS,
DOMAIN,
DEFAULT_AQI_STANDARD,
DEFAULT_PREFERRED_UNIT,
DEFAULT_SCAN_INTERVAL,
DOMAIN,
KAITERRA_COMPONENTS,
)
from .api_data import KaiterraApiData
KAITERRA_DEVICE_SCHEMA = vol.Schema(
{
vol.Required(CONF_DEVICE_ID): cv.string,
......
"""Support for Kaiterra Air Quality Sensors."""
from homeassistant.components.air_quality import AirQualityEntity
from homeassistant.helpers.dispatcher import async_dispatcher_connect
from homeassistant.const import CONF_DEVICE_ID, CONF_NAME
from homeassistant.helpers.dispatcher import async_dispatcher_connect
from .const import (
DOMAIN,
ATTR_VOC,
ATTR_AQI_LEVEL,
ATTR_AQI_POLLUTANT,
ATTR_VOC,
DISPATCHER_KAITERRA,
DOMAIN,
)
......
"""Data for all Kaiterra devices."""
from logging import getLogger
import asyncio
import async_timeout
from logging import getLogger
from aiohttp.client_exceptions import ClientResponseError
import async_timeout
from kaiterra_async_client import AQIStandard, KaiterraAPIClient, Units
from kaiterra_async_client import KaiterraAPIClient, AQIStandard, Units
from homeassistant.const import CONF_API_KEY, CONF_DEVICE_ID, CONF_DEVICES, CONF_TYPE
from homeassistant.helpers.dispatcher import async_dispatcher_send
from homeassistant.const import CONF_API_KEY, CONF_DEVICES, CONF_DEVICE_ID, CONF_TYPE
from .const import (
AQI_SCALE,
AQI_LEVEL,
AQI_SCALE,
CONF_AQI_STANDARD,
CONF_PREFERRED_UNITS,
DISPATCHER_KAITERRA,
......@@ -60,9 +56,10 @@ class KaiterraApiData:
with async_timeout.timeout(10):
data = await self._api.get_latest_sensor_readings(self._devices)
except (ClientResponseError, asyncio.TimeoutError):
_LOGGER.debug("Couldn't fetch data")
_LOGGER.debug("Couldn't fetch data from Kaiterra API")
self.data = {}
async_dispatcher_send(self._hass, DISPATCHER_KAITERRA)
return
_LOGGER.debug("New data retrieved: %s", data)
......@@ -102,8 +99,7 @@ class KaiterraApiData:
device["aqi_pollutant"] = {"value": main_pollutant}
self.data[self._devices_ids[i]] = device
async_dispatcher_send(self._hass, DISPATCHER_KAITERRA)
except IndexError as err:
_LOGGER.error("Parsing error %s", err)
async_dispatcher_send(self._hass, DISPATCHER_KAITERRA)
async_dispatcher_send(self._hass, DISPATCHER_KAITERRA)
"""Support for Kaiterra Temperature ahn Humidity Sensors."""
from homeassistant.helpers.entity import Entity
from homeassistant.helpers.dispatcher import async_dispatcher_connect
from homeassistant.const import CONF_DEVICE_ID, CONF_NAME, TEMP_CELSIUS, TEMP_FAHRENHEIT
from homeassistant.helpers.dispatcher import async_dispatcher_connect
from homeassistant.helpers.entity import Entity
from .const import DOMAIN, DISPATCHER_KAITERRA
from .const import DISPATCHER_KAITERRA, DOMAIN
SENSORS = [
{"name": "Temperature", "prop": "rtemp", "device_class": "temperature"},
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment