Updated sensor to work with new version of hass

This commit is contained in:
2020-10-10 10:59:59 +02:00
parent 251d5eed6d
commit da35de4ee3
+5 -10
View File
@@ -1,13 +1,10 @@
"""Platform for sensor integration.""" """Platform for sensor integration."""
import aiohttp
import async_timeout import async_timeout
import asyncio
import json import json
import logging import logging
import voluptuous as vol import voluptuous as vol
from datetime import timedelta from datetime import timedelta
from random import randrange
import homeassistant.helpers.config_validation as cv import homeassistant.helpers.config_validation as cv
@@ -20,16 +17,14 @@ from homeassistant.const import (
ATTR_LONGITUDE, ATTR_LONGITUDE,
CONF_MONITORED_CONDITIONS, CONF_MONITORED_CONDITIONS,
DEVICE_CLASS_HUMIDITY, DEVICE_CLASS_HUMIDITY,
DEVICE_CLASS_PRESSURE,
DEVICE_CLASS_TEMPERATURE, DEVICE_CLASS_TEMPERATURE,
TEMP_CELSIUS, TEMP_CELSIUS,
HTTP_BAD_REQUEST, HTTP_BAD_REQUEST,
UNIT_PERCENTAGE, PERCENTAGE,
) )
from homeassistant.components.sensor import PLATFORM_SCHEMA from homeassistant.components.sensor import PLATFORM_SCHEMA
from homeassistant.helpers.entity import Entity from homeassistant.helpers.entity import Entity
from homeassistant.helpers.update_coordinator import DataUpdateCoordinator, UpdateFailed from homeassistant.helpers.update_coordinator import DataUpdateCoordinator
from homeassistant.helpers.event import async_call_later, async_track_utc_time_change
from homeassistant.helpers.aiohttp_client import async_get_clientsession from homeassistant.helpers.aiohttp_client import async_get_clientsession
_LOGGER = logging.getLogger(__name__) _LOGGER = logging.getLogger(__name__)
@@ -39,7 +34,7 @@ CONF_STATION = "station"
SENSOR_TYPES = { SENSOR_TYPES = {
"temperature": ["Temperature", TEMP_CELSIUS, DEVICE_CLASS_TEMPERATURE], "temperature": ["Temperature", TEMP_CELSIUS, DEVICE_CLASS_TEMPERATURE],
"precipitation": ["Precipitation", "mm", None], "precipitation": ["Precipitation", "mm", None],
"humidity": ["Humidity", UNIT_PERCENTAGE, DEVICE_CLASS_HUMIDITY], "humidity": ["Humidity", PERCENTAGE, DEVICE_CLASS_HUMIDITY],
} }
PLATFORM_SCHEMA = PLATFORM_SCHEMA.extend( PLATFORM_SCHEMA = PLATFORM_SCHEMA.extend(
@@ -66,7 +61,6 @@ CONFIG_CONDITIONS = {
async def async_setup_platform(hass, config, add_entities, discovery_info=None): async def async_setup_platform(hass, config, add_entities, discovery_info=None):
"""Set up the sensor platform.""" """Set up the sensor platform."""
async def async_update_data(): async def async_update_data():
data = {} data = {}
_LOGGER.info("Update MeteoSwiss data.") _LOGGER.info("Update MeteoSwiss data.")
@@ -102,7 +96,7 @@ async def async_setup_platform(hass, config, add_entities, discovery_info=None):
_LOGGER, _LOGGER,
name="MeteoSwissData", name="MeteoSwissData",
update_method=async_update_data, update_method=async_update_data,
update_interval=timedelta(minutes=9), update_interval=timedelta(minutes=10),
) )
await coordinator.async_refresh() await coordinator.async_refresh()
station = config.get(CONF_STATION) station = config.get(CONF_STATION)
@@ -145,6 +139,7 @@ class MeteoSwissSensor(Entity):
@property @property
def device_state_attributes(self): def device_state_attributes(self):
"""Return device attributes."""
attributes = { attributes = {
ATTR_ATTRIBUTION: "Data provided by MeteoSwiss via data.geo.admin.ch.", ATTR_ATTRIBUTION: "Data provided by MeteoSwiss via data.geo.admin.ch.",
ATTR_TIME: self._coordinator.data[self._station][self._monitored_condition][ ATTR_TIME: self._coordinator.data[self._station][self._monitored_condition][