Remove temp unit logic

HA should convert unit automatically
This commit is contained in:
hydreliox 2016-01-13 04:16:25 +01:00
parent 03febb81d3
commit 0c2fe4c5f3

View File

@ -8,12 +8,12 @@ https://home-assistant.io/components/...
""" """
import logging import logging
from datetime import timedelta from datetime import timedelta
from homeassistant.components.sensor import DOMAIN
from homeassistant.const import (CONF_API_KEY, CONF_USERNAME, CONF_PASSWORD, from homeassistant.const import (CONF_API_KEY, CONF_USERNAME, CONF_PASSWORD,
TEMP_CELCIUS, TEMP_FAHRENHEIT) TEMP_CELCIUS)
from homeassistant.helpers.entity import Entity from homeassistant.helpers.entity import Entity
from homeassistant.helpers import validate_config from homeassistant.helpers import validate_config
from homeassistant.util import Throttle from homeassistant.util import Throttle
from homeassistant.util.temperature import celcius_to_fahrenheit
REQUIREMENTS = [ REQUIREMENTS = [
'https://github.com/HydrelioxGitHub/netatmo-api-python/archive/' 'https://github.com/HydrelioxGitHub/netatmo-api-python/archive/'
@ -23,11 +23,11 @@ REQUIREMENTS = [
_LOGGER = logging.getLogger(__name__) _LOGGER = logging.getLogger(__name__)
SENSOR_TYPES = { SENSOR_TYPES = {
'temperature': ['Temperature', ''], 'temperature': ['Temperature', TEMP_CELCIUS],
'co2': ['CO2', 'ppm'], 'co2' : ['CO2', 'ppm'],
'pressure': ['Pressure', 'mb'], 'pressure' : ['Pressure', 'mb'],
'noise': ['Noise', 'dB'], 'noise' : ['Noise', 'dB'],
'humidity': ['Humidity', '%'] 'humidity' : ['Humidity', '%']
} }
CONF_SECRET_KEY = 'secret_key' CONF_SECRET_KEY = 'secret_key'
@ -51,8 +51,6 @@ def setup_platform(hass, config, add_devices, discovery_info=None):
import lnetatmo import lnetatmo
SENSOR_TYPES['temperature'][1] = hass.config.temperature_unit
unit = hass.config.temperature_unit
authorization = lnetatmo.ClientAuth(config.get(CONF_API_KEY, None), authorization = lnetatmo.ClientAuth(config.get(CONF_API_KEY, None),
config.get(CONF_SECRET_KEY, None), config.get(CONF_SECRET_KEY, None),
config.get(CONF_USERNAME, None), config.get(CONF_USERNAME, None),
@ -80,7 +78,7 @@ def setup_platform(hass, config, add_devices, discovery_info=None):
_LOGGER.error('Sensor type: "%s" does not exist', variable) _LOGGER.error('Sensor type: "%s" does not exist', variable)
else: else:
dev.append( dev.append(
NetAtmoSensor(data, module_name, variable, unit)) NetAtmoSensor(data, module_name, variable))
except KeyError: except KeyError:
pass pass
@ -88,16 +86,14 @@ def setup_platform(hass, config, add_devices, discovery_info=None):
# pylint: disable=too-few-public-methods # pylint: disable=too-few-public-methods
# pylint: disable=too-many-instance-attributes
class NetAtmoSensor(Entity): class NetAtmoSensor(Entity):
""" Implements a NetAtmo sensor. """ """ Implements a NetAtmo sensor. """
def __init__(self, netatmo_data, module_name, sensor_type, temp_unit): def __init__(self, netatmo_data, module_name, sensor_type):
self.client_name = 'NetAtmo' self.client_name = 'NetAtmo'
self._name = module_name + '_' + SENSOR_TYPES[sensor_type][0] self._name = module_name + '_' + SENSOR_TYPES[sensor_type][0]
self.netatmo_data = netatmo_data self.netatmo_data = netatmo_data
self.module_name = module_name self.module_name = module_name
self.temp_unit = temp_unit
self.type = sensor_type self.type = sensor_type
self._state = None self._state = None
self._unit_of_measurement = SENSOR_TYPES[sensor_type][1] self._unit_of_measurement = SENSOR_TYPES[sensor_type][1]
@ -125,15 +121,7 @@ class NetAtmoSensor(Entity):
data = self.netatmo_data.data[self.module_name] data = self.netatmo_data.data[self.module_name]
if self.type == 'temperature': if self.type == 'temperature':
if self.temp_unit == TEMP_CELCIUS: self._state = round(data['Temperature'], 1)
self._state = round(data['Temperature'],
1)
elif self.temp_unit == TEMP_FAHRENHEIT:
converted_temperature = celcius_to_fahrenheit(
data['Temperature'])
self._state = round(converted_temperature, 1)
else:
self._state = round(data['Temperature'], 1)
elif self.type == 'humidity': elif self.type == 'humidity':
self._state = data['Humidity'] self._state = data['Humidity']
elif self.type == 'noise': elif self.type == 'noise':
@ -141,8 +129,7 @@ class NetAtmoSensor(Entity):
elif self.type == 'co2': elif self.type == 'co2':
self._state = data['CO2'] self._state = data['CO2']
elif self.type == 'pressure': elif self.type == 'pressure':
self._state = round(data['Pressure'], self._state = round(data['Pressure'], 1)
1)
class NetAtmoData(object): class NetAtmoData(object):