fix: exception after kaiterra api call timeout (#27622)
parent
cf76f22c89
commit
afa7e0bfe8
homeassistant/components/kaiterra
|
@ -1,35 +1,33 @@
|
|||
"""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,
|
||||
|
|
|
@ -1,16 +1,14 @@
|
|||
"""Support for Kaiterra Air Quality Sensors."""
|
||||
from homeassistant.components.air_quality import AirQualityEntity
|
||||
|
||||
from homeassistant.const import CONF_DEVICE_ID, CONF_NAME
|
||||
from homeassistant.helpers.dispatcher import async_dispatcher_connect
|
||||
|
||||
from homeassistant.const import CONF_DEVICE_ID, CONF_NAME
|
||||
|
||||
from .const import (
|
||||
DOMAIN,
|
||||
ATTR_VOC,
|
||||
ATTR_AQI_LEVEL,
|
||||
ATTR_AQI_POLLUTANT,
|
||||
ATTR_VOC,
|
||||
DISPATCHER_KAITERRA,
|
||||
DOMAIN,
|
||||
)
|
||||
|
||||
|
||||
|
|
|
@ -1,21 +1,17 @@
|
|||
"""Data for all Kaiterra devices."""
|
||||
import asyncio
|
||||
from logging import getLogger
|
||||
|
||||
import asyncio
|
||||
|
||||
import async_timeout
|
||||
|
||||
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)
|
||||
|
|
|
@ -1,11 +1,9 @@
|
|||
"""Support for Kaiterra Temperature ahn Humidity Sensors."""
|
||||
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 homeassistant.helpers.dispatcher import async_dispatcher_connect
|
||||
|
||||
from homeassistant.const import CONF_DEVICE_ID, CONF_NAME, TEMP_CELSIUS, TEMP_FAHRENHEIT
|
||||
|
||||
from .const import DOMAIN, DISPATCHER_KAITERRA
|
||||
from .const import DISPATCHER_KAITERRA, DOMAIN
|
||||
|
||||
SENSORS = [
|
||||
{"name": "Temperature", "prop": "rtemp", "device_class": "temperature"},
|
||||
|
|
Loading…
Reference in New Issue