Centrally define Watt (#21570)

* centralize Watt definition

* lint
pull/21587/head
Diogo Gomes 2019-03-02 10:29:59 +00:00 committed by Daniel Høyer Iversen
parent e55ce61100
commit ed2b9e5483
26 changed files with 70 additions and 58 deletions

View File

@ -6,7 +6,7 @@ import voluptuous as vol
from homeassistant.components.sensor import PLATFORM_SCHEMA from homeassistant.components.sensor import PLATFORM_SCHEMA
import homeassistant.helpers.config_validation as cv import homeassistant.helpers.config_validation as cv
from homeassistant.components import apcupsd from homeassistant.components import apcupsd
from homeassistant.const import (TEMP_CELSIUS, CONF_RESOURCES) from homeassistant.const import (TEMP_CELSIUS, CONF_RESOURCES, POWER_WATT)
from homeassistant.helpers.entity import Entity from homeassistant.helpers.entity import Entity
_LOGGER = logging.getLogger(__name__) _LOGGER = logging.getLogger(__name__)
@ -57,7 +57,7 @@ SENSOR_TYPES = {
'nombattv': ['Battery Nominal Voltage', 'V', 'mdi:flash'], 'nombattv': ['Battery Nominal Voltage', 'V', 'mdi:flash'],
'nominv': ['Nominal Input Voltage', 'V', 'mdi:flash'], 'nominv': ['Nominal Input Voltage', 'V', 'mdi:flash'],
'nomoutv': ['Nominal Output Voltage', 'V', 'mdi:flash'], 'nomoutv': ['Nominal Output Voltage', 'V', 'mdi:flash'],
'nompower': ['Nominal Output Power', 'W', 'mdi:flash'], 'nompower': ['Nominal Output Power', POWER_WATT, 'mdi:flash'],
'nomapnt': ['Nominal Apparent Power', 'VA', 'mdi:flash'], 'nomapnt': ['Nominal Apparent Power', 'VA', 'mdi:flash'],
'numxfers': ['Transfer Count', '', 'mdi:counter'], 'numxfers': ['Transfer Count', '', 'mdi:counter'],
'outcurnt': ['Output Current', 'A', 'mdi:flash'], 'outcurnt': ['Output Current', 'A', 'mdi:flash'],
@ -93,7 +93,7 @@ INFERRED_UNITS = {
' Volts': 'V', ' Volts': 'V',
' Ampere': 'A', ' Ampere': 'A',
' Volt-Ampere': 'VA', ' Volt-Ampere': 'VA',
' Watts': 'W', ' Watts': POWER_WATT,
' Hz': 'Hz', ' Hz': 'Hz',
' C': TEMP_CELSIUS, ' C': TEMP_CELSIUS,
' Percent Load Capacity': '%', ' Percent Load Capacity': '%',

View File

@ -2,6 +2,7 @@
import logging import logging
from homeassistant.helpers.entity import Entity from homeassistant.helpers.entity import Entity
from homeassistant.const import POWER_WATT
from homeassistant.components.edp_redy import EdpRedyDevice, EDP_REDY from homeassistant.components.edp_redy import EdpRedyDevice, EDP_REDY
@ -29,7 +30,7 @@ async def async_setup_platform(
# Create a sensor for global active power # Create a sensor for global active power
devices.append(EdpRedySensor(session, ACTIVE_POWER_ID, "Power Home", devices.append(EdpRedySensor(session, ACTIVE_POWER_ID, "Power Home",
'mdi:flash', 'W')) 'mdi:flash', POWER_WATT))
async_add_entities(devices, True) async_add_entities(devices, True)
@ -89,7 +90,7 @@ class EdpRedyModuleSensor(EdpRedyDevice, Entity):
@property @property
def unit_of_measurement(self): def unit_of_measurement(self):
"""Return the unit of measurement of this sensor.""" """Return the unit of measurement of this sensor."""
return 'W' return POWER_WATT
async def async_update(self): async def async_update(self):
"""Parse the data for this sensor.""" """Parse the data for this sensor."""

View File

@ -4,7 +4,7 @@ import logging
import voluptuous as vol import voluptuous as vol
from homeassistant.components.sensor import PLATFORM_SCHEMA from homeassistant.components.sensor import PLATFORM_SCHEMA
from homeassistant.const import (CONF_NAME, CONF_ID) from homeassistant.const import (CONF_NAME, CONF_ID, POWER_WATT)
from homeassistant.helpers.entity import Entity from homeassistant.helpers.entity import Entity
import homeassistant.helpers.config_validation as cv import homeassistant.helpers.config_validation as cv
from homeassistant.components import enocean from homeassistant.components import enocean
@ -59,4 +59,4 @@ class EnOceanSensor(enocean.EnOceanDevice, Entity):
@property @property
def unit_of_measurement(self): def unit_of_measurement(self):
"""Return the unit of measurement.""" """Return the unit of measurement."""
return 'W' return POWER_WATT

View File

@ -2,7 +2,7 @@
import logging import logging
from homeassistant.components.homematic import ATTR_DISCOVER_DEVICES, HMDevice from homeassistant.components.homematic import ATTR_DISCOVER_DEVICES, HMDevice
from homeassistant.const import STATE_UNKNOWN from homeassistant.const import STATE_UNKNOWN, POWER_WATT
_LOGGER = logging.getLogger(__name__) _LOGGER = logging.getLogger(__name__)
@ -24,7 +24,7 @@ HM_UNIT_HA_CAST = {
'TEMPERATURE': '°C', 'TEMPERATURE': '°C',
'ACTUAL_TEMPERATURE': '°C', 'ACTUAL_TEMPERATURE': '°C',
'BRIGHTNESS': '#', 'BRIGHTNESS': '#',
'POWER': 'W', 'POWER': POWER_WATT,
'CURRENT': 'mA', 'CURRENT': 'mA',
'VOLTAGE': 'V', 'VOLTAGE': 'V',
'ENERGY_COUNTER': 'Wh', 'ENERGY_COUNTER': 'Wh',

View File

@ -5,7 +5,7 @@ from homeassistant.components.homematicip_cloud import (
DOMAIN as HMIPC_DOMAIN, HMIPC_HAPID, HomematicipGenericDevice) DOMAIN as HMIPC_DOMAIN, HMIPC_HAPID, HomematicipGenericDevice)
from homeassistant.const import ( from homeassistant.const import (
DEVICE_CLASS_HUMIDITY, DEVICE_CLASS_ILLUMINANCE, DEVICE_CLASS_TEMPERATURE, DEVICE_CLASS_HUMIDITY, DEVICE_CLASS_ILLUMINANCE, DEVICE_CLASS_TEMPERATURE,
TEMP_CELSIUS) TEMP_CELSIUS, POWER_WATT)
_LOGGER = logging.getLogger(__name__) _LOGGER = logging.getLogger(__name__)
@ -223,4 +223,4 @@ class HomematicipPowerSensor(HomematicipGenericDevice):
@property @property
def unit_of_measurement(self): def unit_of_measurement(self):
"""Return the unit this state is expressed in.""" """Return the unit this state is expressed in."""
return 'W' return POWER_WATT

View File

@ -5,7 +5,8 @@ from typing import Callable
from homeassistant.components.isy994 import ( from homeassistant.components.isy994 import (
ISY994_NODES, ISY994_WEATHER, ISYDevice) ISY994_NODES, ISY994_WEATHER, ISYDevice)
from homeassistant.components.sensor import DOMAIN from homeassistant.components.sensor import DOMAIN
from homeassistant.const import TEMP_CELSIUS, TEMP_FAHRENHEIT, UNIT_UV_INDEX from homeassistant.const import (
TEMP_CELSIUS, TEMP_FAHRENHEIT, UNIT_UV_INDEX, POWER_WATT)
from homeassistant.helpers.typing import ConfigType from homeassistant.helpers.typing import ConfigType
_LOGGER = logging.getLogger(__name__) _LOGGER = logging.getLogger(__name__)
@ -75,7 +76,7 @@ UOM_FRIENDLY_NAME = {
'69': 'gal', '69': 'gal',
'71': UNIT_UV_INDEX, '71': UNIT_UV_INDEX,
'72': 'V', '72': 'V',
'73': 'W', '73': POWER_WATT,
'74': 'W/m²', '74': 'W/m²',
'75': 'weekday', '75': 'weekday',
'76': 'Wind Direction (°)', '76': 'Wind Direction (°)',

View File

@ -1,7 +1,7 @@
"""Support for monitoring juicenet/juicepoint/juicebox based EVSE sensors.""" """Support for monitoring juicenet/juicepoint/juicebox based EVSE sensors."""
import logging import logging
from homeassistant.const import TEMP_CELSIUS from homeassistant.const import TEMP_CELSIUS, POWER_WATT
from homeassistant.helpers.entity import Entity from homeassistant.helpers.entity import Entity
from homeassistant.components.juicenet import JuicenetDevice, DOMAIN from homeassistant.components.juicenet import JuicenetDevice, DOMAIN
@ -14,7 +14,7 @@ SENSOR_TYPES = {
'temperature': ['Temperature', TEMP_CELSIUS], 'temperature': ['Temperature', TEMP_CELSIUS],
'voltage': ['Voltage', 'V'], 'voltage': ['Voltage', 'V'],
'amps': ['Amps', 'A'], 'amps': ['Amps', 'A'],
'watts': ['Watts', 'W'], 'watts': ['Watts', POWER_WATT],
'charge_time': ['Charge time', 's'], 'charge_time': ['Charge time', 's'],
'energy_added': ['Energy added', 'Wh'] 'energy_added': ['Energy added', 'Wh']
} }

View File

@ -1,7 +1,7 @@
"""Support for MySensors sensors.""" """Support for MySensors sensors."""
from homeassistant.components import mysensors from homeassistant.components import mysensors
from homeassistant.components.sensor import DOMAIN from homeassistant.components.sensor import DOMAIN
from homeassistant.const import TEMP_CELSIUS, TEMP_FAHRENHEIT from homeassistant.const import TEMP_CELSIUS, TEMP_FAHRENHEIT, POWER_WATT
SENSORS = { SENSORS = {
'V_TEMP': [None, 'mdi:thermometer'], 'V_TEMP': [None, 'mdi:thermometer'],
@ -12,7 +12,7 @@ SENSORS = {
'V_WEIGHT': ['kg', 'mdi:weight-kilogram'], 'V_WEIGHT': ['kg', 'mdi:weight-kilogram'],
'V_DISTANCE': ['m', 'mdi:ruler'], 'V_DISTANCE': ['m', 'mdi:ruler'],
'V_IMPEDANCE': ['ohm', None], 'V_IMPEDANCE': ['ohm', None],
'V_WATT': ['W', None], 'V_WATT': [POWER_WATT, None],
'V_KWH': ['kWh', None], 'V_KWH': ['kWh', None],
'V_FLOW': ['m', None], 'V_FLOW': ['m', None],
'V_VOLUME': ['', None], 'V_VOLUME': ['', None],

View File

@ -6,7 +6,8 @@ import voluptuous as vol
from homeassistant.const import ( from homeassistant.const import (
ATTR_ENTITY_ID, ATTR_NAME, ATTR_STATE, CONF_DEVICE, CONF_DEVICES, ATTR_ENTITY_ID, ATTR_NAME, ATTR_STATE, CONF_DEVICE, CONF_DEVICES,
EVENT_HOMEASSISTANT_START, EVENT_HOMEASSISTANT_STOP, TEMP_CELSIUS) EVENT_HOMEASSISTANT_START, EVENT_HOMEASSISTANT_STOP, TEMP_CELSIUS,
POWER_WATT)
import homeassistant.helpers.config_validation as cv import homeassistant.helpers.config_validation as cv
from homeassistant.helpers.entity import Entity from homeassistant.helpers.entity import Entity
from homeassistant.util import slugify from homeassistant.util import slugify
@ -40,8 +41,8 @@ DATA_TYPES = OrderedDict([
('Barometer', ''), ('Barometer', ''),
('Wind direction', ''), ('Wind direction', ''),
('Rain rate', ''), ('Rain rate', ''),
('Energy usage', 'W'), ('Energy usage', POWER_WATT),
('Total usage', 'W'), ('Total usage', POWER_WATT),
('Sound', ''), ('Sound', ''),
('Sensor Status', ''), ('Sensor Status', ''),
('Counter value', ''), ('Counter value', ''),

View File

@ -3,6 +3,7 @@ from datetime import timedelta
import logging import logging
from homeassistant.components.sense import SENSE_DATA from homeassistant.components.sense import SENSE_DATA
from homeassistant.const import POWER_WATT
from homeassistant.helpers.entity import Entity from homeassistant.helpers.entity import Entity
from homeassistant.util import Throttle from homeassistant.util import Throttle
@ -90,7 +91,7 @@ class Sense(Entity):
self._state = None self._state = None
if sensor_type == ACTIVE_TYPE: if sensor_type == ACTIVE_TYPE:
self._unit_of_measurement = 'W' self._unit_of_measurement = POWER_WATT
else: else:
self._unit_of_measurement = 'kWh' self._unit_of_measurement = 'kWh'

View File

@ -10,7 +10,7 @@ import requests
import voluptuous as vol import voluptuous as vol
from homeassistant.components.sensor import PLATFORM_SCHEMA from homeassistant.components.sensor import PLATFORM_SCHEMA
from homeassistant.const import CONF_CURRENCY from homeassistant.const import CONF_CURRENCY, POWER_WATT
import homeassistant.helpers.config_validation as cv import homeassistant.helpers.config_validation as cv
from homeassistant.helpers.entity import Entity from homeassistant.helpers.entity import Entity
@ -34,11 +34,11 @@ DEFAULT_PERIOD = 'year'
DEFAULT_UTC_OFFSET = '0' DEFAULT_UTC_OFFSET = '0'
SENSOR_TYPES = { SENSOR_TYPES = {
CONF_INSTANT: ['Energy Usage', 'W'], CONF_INSTANT: ['Energy Usage', POWER_WATT],
CONF_AMOUNT: ['Energy Consumed', 'kWh'], CONF_AMOUNT: ['Energy Consumed', 'kWh'],
CONF_BUDGET: ['Energy Budget', None], CONF_BUDGET: ['Energy Budget', None],
CONF_COST: ['Energy Cost', None], CONF_COST: ['Energy Cost', None],
CONF_CURRENT_VALUES: ['Per-Device Usage', 'W'] CONF_CURRENT_VALUES: ['Per-Device Usage', POWER_WATT]
} }
TYPES_SCHEMA = vol.In(SENSOR_TYPES) TYPES_SCHEMA = vol.In(SENSOR_TYPES)

View File

@ -10,7 +10,7 @@ import logging
import voluptuous as vol import voluptuous as vol
from homeassistant.components.sensor import PLATFORM_SCHEMA from homeassistant.components.sensor import PLATFORM_SCHEMA
from homeassistant.const import (CONF_ACCESS_TOKEN, CONF_NAME) from homeassistant.const import (CONF_ACCESS_TOKEN, CONF_NAME, POWER_WATT)
from homeassistant.helpers.entity import Entity from homeassistant.helpers.entity import Entity
import homeassistant.helpers.config_validation as cv import homeassistant.helpers.config_validation as cv
from homeassistant.helpers.aiohttp_client import async_get_clientsession from homeassistant.helpers.aiohttp_client import async_get_clientsession
@ -27,7 +27,7 @@ ICON = 'mdi:gauge'
SCAN_INTERVAL = timedelta(seconds=60) SCAN_INTERVAL = timedelta(seconds=60)
UNIT_OF_MEASUREMENT = 'W' UNIT_OF_MEASUREMENT = POWER_WATT
PLATFORM_SCHEMA = PLATFORM_SCHEMA.extend({ PLATFORM_SCHEMA = PLATFORM_SCHEMA.extend({
vol.Required(CONF_ACCESS_TOKEN): cv.string, vol.Required(CONF_ACCESS_TOKEN): cv.string,

View File

@ -14,7 +14,7 @@ import homeassistant.helpers.config_validation as cv
from homeassistant.components.sensor import PLATFORM_SCHEMA from homeassistant.components.sensor import PLATFORM_SCHEMA
from homeassistant.const import ( from homeassistant.const import (
CONF_API_KEY, CONF_URL, CONF_VALUE_TEMPLATE, CONF_UNIT_OF_MEASUREMENT, CONF_API_KEY, CONF_URL, CONF_VALUE_TEMPLATE, CONF_UNIT_OF_MEASUREMENT,
CONF_ID, CONF_SCAN_INTERVAL, STATE_UNKNOWN) CONF_ID, CONF_SCAN_INTERVAL, STATE_UNKNOWN, POWER_WATT)
from homeassistant.helpers.entity import Entity from homeassistant.helpers.entity import Entity
from homeassistant.helpers import template from homeassistant.helpers import template
from homeassistant.util import Throttle from homeassistant.util import Throttle
@ -34,7 +34,7 @@ CONF_ONLY_INCLUDE_FEEDID = 'include_only_feed_id'
CONF_SENSOR_NAMES = 'sensor_names' CONF_SENSOR_NAMES = 'sensor_names'
DECIMALS = 2 DECIMALS = 2
DEFAULT_UNIT = 'W' DEFAULT_UNIT = POWER_WATT
MIN_TIME_BETWEEN_UPDATES = timedelta(seconds=5) MIN_TIME_BETWEEN_UPDATES = timedelta(seconds=5)

View File

@ -11,14 +11,15 @@ import voluptuous as vol
from homeassistant.helpers.entity import Entity from homeassistant.helpers.entity import Entity
from homeassistant.components.sensor import PLATFORM_SCHEMA from homeassistant.components.sensor import PLATFORM_SCHEMA
import homeassistant.helpers.config_validation as cv import homeassistant.helpers.config_validation as cv
from homeassistant.const import (CONF_IP_ADDRESS, CONF_MONITORED_CONDITIONS) from homeassistant.const import (
CONF_IP_ADDRESS, CONF_MONITORED_CONDITIONS, POWER_WATT)
REQUIREMENTS = ['envoy_reader==0.3'] REQUIREMENTS = ['envoy_reader==0.3']
_LOGGER = logging.getLogger(__name__) _LOGGER = logging.getLogger(__name__)
SENSORS = { SENSORS = {
"production": ("Envoy Current Energy Production", 'W'), "production": ("Envoy Current Energy Production", POWER_WATT),
"daily_production": ("Envoy Today's Energy Production", "Wh"), "daily_production": ("Envoy Today's Energy Production", "Wh"),
"seven_days_production": ("Envoy Last Seven Days Energy Production", "Wh"), "seven_days_production": ("Envoy Last Seven Days Energy Production", "Wh"),
"lifetime_production": ("Envoy Lifetime Energy Production", "Wh"), "lifetime_production": ("Envoy Lifetime Energy Production", "Wh"),

View File

@ -6,7 +6,7 @@ https://home-assistant.io/components/sensors.greeneye_monitor_temperature/
""" """
import logging import logging
from homeassistant.const import CONF_NAME, CONF_TEMPERATURE_UNIT from homeassistant.const import CONF_NAME, CONF_TEMPERATURE_UNIT, POWER_WATT
from homeassistant.helpers.entity import Entity from homeassistant.helpers.entity import Entity
from ..greeneye_monitor import ( from ..greeneye_monitor import (
@ -33,7 +33,7 @@ DEPENDENCIES = ['greeneye_monitor']
DATA_PULSES = 'pulses' DATA_PULSES = 'pulses'
DATA_WATT_SECONDS = 'watt_seconds' DATA_WATT_SECONDS = 'watt_seconds'
UNIT_WATTS = 'W' UNIT_WATTS = POWER_WATT
COUNTER_ICON = 'mdi:counter' COUNTER_ICON = 'mdi:counter'
CURRENT_SENSOR_ICON = 'mdi:flash' CURRENT_SENSOR_ICON = 'mdi:flash'

View File

@ -11,7 +11,7 @@ import requests.exceptions
import voluptuous as vol import voluptuous as vol
from homeassistant.components.sensor import PLATFORM_SCHEMA from homeassistant.components.sensor import PLATFORM_SCHEMA
from homeassistant.const import (CONF_API_KEY) from homeassistant.const import (CONF_API_KEY, POWER_WATT)
from homeassistant.helpers.entity import Entity from homeassistant.helpers.entity import Entity
from homeassistant.util import Throttle from homeassistant.util import Throttle
import homeassistant.helpers.config_validation as cv import homeassistant.helpers.config_validation as cv
@ -148,7 +148,7 @@ class NeurioEnergy(Entity):
self._state = None self._state = None
if sensor_type == ACTIVE_TYPE: if sensor_type == ACTIVE_TYPE:
self._unit_of_measurement = 'W' self._unit_of_measurement = POWER_WATT
elif sensor_type == DAILY_TYPE: elif sensor_type == DAILY_TYPE:
self._unit_of_measurement = 'kWh' self._unit_of_measurement = 'kWh'

View File

@ -13,7 +13,8 @@ from homeassistant.components.sensor import PLATFORM_SCHEMA
import homeassistant.helpers.config_validation as cv import homeassistant.helpers.config_validation as cv
from homeassistant.const import ( from homeassistant.const import (
CONF_HOST, CONF_PORT, CONF_NAME, CONF_USERNAME, CONF_PASSWORD, CONF_HOST, CONF_PORT, CONF_NAME, CONF_USERNAME, CONF_PASSWORD,
TEMP_CELSIUS, CONF_RESOURCES, CONF_ALIAS, ATTR_STATE, STATE_UNKNOWN) TEMP_CELSIUS, CONF_RESOURCES, CONF_ALIAS, ATTR_STATE, STATE_UNKNOWN,
POWER_WATT)
from homeassistant.exceptions import PlatformNotReady from homeassistant.exceptions import PlatformNotReady
from homeassistant.helpers.entity import Entity from homeassistant.helpers.entity import Entity
from homeassistant.util import Throttle from homeassistant.util import Throttle
@ -63,8 +64,8 @@ SENSOR_TYPES = {
'ups.efficiency': ['Efficiency', '%', 'mdi:gauge'], 'ups.efficiency': ['Efficiency', '%', 'mdi:gauge'],
'ups.power': ['Current Apparent Power', 'VA', 'mdi:flash'], 'ups.power': ['Current Apparent Power', 'VA', 'mdi:flash'],
'ups.power.nominal': ['Nominal Power', 'VA', 'mdi:flash'], 'ups.power.nominal': ['Nominal Power', 'VA', 'mdi:flash'],
'ups.realpower': ['Current Real Power', 'W', 'mdi:flash'], 'ups.realpower': ['Current Real Power', POWER_WATT, 'mdi:flash'],
'ups.realpower.nominal': ['Nominal Real Power', 'W', 'mdi:flash'], 'ups.realpower.nominal': ['Nominal Real Power', POWER_WATT, 'mdi:flash'],
'ups.beeper.status': ['Beeper Status', '', 'mdi:information-outline'], 'ups.beeper.status': ['Beeper Status', '', 'mdi:information-outline'],
'ups.type': ['UPS Type', '', 'mdi:information-outline'], 'ups.type': ['UPS Type', '', 'mdi:information-outline'],
'ups.watchdog.status': ['Watchdog Status', '', 'mdi:information-outline'], 'ups.watchdog.status': ['Watchdog Status', '', 'mdi:information-outline'],

View File

@ -12,7 +12,7 @@ import voluptuous as vol
from homeassistant.components.sensor import PLATFORM_SCHEMA from homeassistant.components.sensor import PLATFORM_SCHEMA
from homeassistant.const import ( from homeassistant.const import (
CONF_API_KEY, CONF_MONITORED_CONDITIONS, CONF_NAME) CONF_API_KEY, CONF_MONITORED_CONDITIONS, CONF_NAME, POWER_WATT)
import homeassistant.helpers.config_validation as cv import homeassistant.helpers.config_validation as cv
from homeassistant.helpers.entity import Entity from homeassistant.helpers.entity import Entity
from homeassistant.util import Throttle from homeassistant.util import Throttle
@ -36,7 +36,7 @@ SENSOR_TYPES = {
'mdi:solar-power'], 'mdi:solar-power'],
'energy_today': ['lastDayData', "Energy today", 'Wh', 'energy_today': ['lastDayData', "Energy today", 'Wh',
'mdi:solar-power'], 'mdi:solar-power'],
'current_power': ['currentPower', "Current Power", 'W', 'current_power': ['currentPower', "Current Power", POWER_WATT,
'mdi:solar-power'] 'mdi:solar-power']
} }

View File

@ -11,7 +11,8 @@ import requests
import voluptuous as vol import voluptuous as vol
from homeassistant.components.sensor import PLATFORM_SCHEMA from homeassistant.components.sensor import PLATFORM_SCHEMA
from homeassistant.const import (CONF_HOST, CONF_NAME, CONF_PORT) from homeassistant.const import (
CONF_HOST, CONF_NAME, CONF_PORT, POWER_WATT)
from homeassistant.helpers import config_validation as cv from homeassistant.helpers import config_validation as cv
from homeassistant.helpers.entity import Entity from homeassistant.helpers.entity import Entity
from homeassistant.util import Throttle from homeassistant.util import Throttle
@ -46,7 +47,7 @@ def setup_platform(hass, config, add_entities, discovery_info=None):
dev = [] dev = []
for mtu in gateway.data: for mtu in gateway.data:
dev.append(Ted5000Sensor(gateway, name, mtu, 'W')) dev.append(Ted5000Sensor(gateway, name, mtu, POWER_WATT))
dev.append(Ted5000Sensor(gateway, name, mtu, 'V')) dev.append(Ted5000Sensor(gateway, name, mtu, 'V'))
add_entities(dev) add_entities(dev)
@ -58,7 +59,7 @@ class Ted5000Sensor(Entity):
def __init__(self, gateway, name, mtu, unit): def __init__(self, gateway, name, mtu, unit):
"""Initialize the sensor.""" """Initialize the sensor."""
units = {'W': 'power', 'V': 'voltage'} units = {POWER_WATT: 'power', 'V': 'voltage'}
self._gateway = gateway self._gateway = gateway
self._name = '{} mtu{} {}'.format(name, mtu, units[unit]) self._name = '{} mtu{} {}'.format(name, mtu, units[unit])
self._mtu = mtu self._mtu = mtu
@ -114,4 +115,4 @@ class Ted5000Gateway:
voltage = int(doc["LiveData"]["Voltage"]["MTU%d" % mtu] voltage = int(doc["LiveData"]["Voltage"]["MTU%d" % mtu]
["VoltageNow"]) ["VoltageNow"])
self.data[mtu] = {'W': power, 'V': voltage / 10} self.data[mtu] = {POWER_WATT: power, 'V': voltage / 10}

View File

@ -11,7 +11,7 @@ import voluptuous as vol
from homeassistant.components.sensor import PLATFORM_SCHEMA from homeassistant.components.sensor import PLATFORM_SCHEMA
from homeassistant.const import ( from homeassistant.const import (
CONF_HOST, CONF_NAME, CONF_PORT, CONF_MONITORED_CONDITIONS) CONF_HOST, CONF_NAME, CONF_PORT, CONF_MONITORED_CONDITIONS, POWER_WATT)
from homeassistant.exceptions import PlatformNotReady from homeassistant.exceptions import PlatformNotReady
from homeassistant.helpers.aiohttp_client import async_get_clientsession from homeassistant.helpers.aiohttp_client import async_get_clientsession
import homeassistant.helpers.config_validation as cv import homeassistant.helpers.config_validation as cv
@ -31,10 +31,10 @@ DEFAULT_PORT = 80
MIN_TIME_BETWEEN_UPDATES = timedelta(minutes=1) MIN_TIME_BETWEEN_UPDATES = timedelta(minutes=1)
SENSOR_TYPES = { SENSOR_TYPES = {
'average': ['Average', 'W', 'mdi:power-off'], 'average': ['Average', POWER_WATT, 'mdi:power-off'],
'consumption': ['Consumption', 'Wh', 'mdi:power-plug'], 'consumption': ['Consumption', 'Wh', 'mdi:power-plug'],
'max': ['Max', 'W', 'mdi:arrow-up'], 'max': ['Max', POWER_WATT, 'mdi:arrow-up'],
'min': ['Min', 'W', 'mdi:arrow-down'], 'min': ['Min', POWER_WATT, 'mdi:arrow-down'],
} }
PLATFORM_SCHEMA = PLATFORM_SCHEMA.extend({ PLATFORM_SCHEMA = PLATFORM_SCHEMA.extend({

View File

@ -4,6 +4,7 @@ from datetime import timedelta
from homeassistant.components.smappee import DATA_SMAPPEE from homeassistant.components.smappee import DATA_SMAPPEE
from homeassistant.helpers.entity import Entity from homeassistant.helpers.entity import Entity
from homeassistant.const import POWER_WATT
DEPENDENCIES = ['smappee'] DEPENDENCIES = ['smappee']
@ -12,9 +13,10 @@ _LOGGER = logging.getLogger(__name__)
SENSOR_PREFIX = 'Smappee' SENSOR_PREFIX = 'Smappee'
SENSOR_TYPES = { SENSOR_TYPES = {
'solar': 'solar':
['Solar', 'mdi:white-balance-sunny', 'local', 'W', 'solar'], ['Solar', 'mdi:white-balance-sunny', 'local', POWER_WATT, 'solar'],
'active_power': 'active_power':
['Active Power', 'mdi:power-plug', 'local', 'W', 'active_power'], ['Active Power', 'mdi:power-plug', 'local', POWER_WATT,
'active_power'],
'current': 'current':
['Current', 'mdi:gauge', 'local', 'A', 'current'], ['Current', 'mdi:gauge', 'local', 'A', 'current'],
'voltage': 'voltage':

View File

@ -5,7 +5,7 @@ from typing import Optional, Sequence
from homeassistant.const import ( from homeassistant.const import (
DEVICE_CLASS_BATTERY, DEVICE_CLASS_HUMIDITY, DEVICE_CLASS_ILLUMINANCE, DEVICE_CLASS_BATTERY, DEVICE_CLASS_HUMIDITY, DEVICE_CLASS_ILLUMINANCE,
DEVICE_CLASS_TEMPERATURE, DEVICE_CLASS_TIMESTAMP, MASS_KILOGRAMS, DEVICE_CLASS_TEMPERATURE, DEVICE_CLASS_TIMESTAMP, MASS_KILOGRAMS,
TEMP_CELSIUS, TEMP_FAHRENHEIT) TEMP_CELSIUS, TEMP_FAHRENHEIT, POWER_WATT)
from . import SmartThingsEntity from . import SmartThingsEntity
from .const import DATA_BROKERS, DOMAIN from .const import DATA_BROKERS, DOMAIN
@ -85,7 +85,7 @@ CAPABILITY_TO_SENSORS = {
'ovenSetpoint': [ 'ovenSetpoint': [
Map('ovenSetpoint', "Oven Set Point", None, None)], Map('ovenSetpoint', "Oven Set Point", None, None)],
'powerMeter': [ 'powerMeter': [
Map('power', "Power Meter", 'W', None)], Map('power', "Power Meter", POWER_WATT, None)],
'powerSource': [ 'powerSource': [
Map('powerSource', "Power Source", None, None)], Map('powerSource', "Power Source", None, None)],
'refrigerationSetpoint': [ 'refrigerationSetpoint': [

View File

@ -12,7 +12,7 @@ import voluptuous as vol
from homeassistant.components.switch import (SwitchDevice, PLATFORM_SCHEMA) from homeassistant.components.switch import (SwitchDevice, PLATFORM_SCHEMA)
from homeassistant.const import ( from homeassistant.const import (
CONF_HOST, CONF_PASSWORD, CONF_USERNAME) CONF_HOST, CONF_PASSWORD, CONF_USERNAME, POWER_WATT)
import homeassistant.helpers.config_validation as cv import homeassistant.helpers.config_validation as cv
from homeassistant.const import TEMP_CELSIUS, ATTR_TEMPERATURE from homeassistant.const import TEMP_CELSIUS, ATTR_TEMPERATURE
@ -25,7 +25,7 @@ DEFAULT_HOST = 'fritz.box'
ATTR_CURRENT_CONSUMPTION = 'current_consumption' ATTR_CURRENT_CONSUMPTION = 'current_consumption'
ATTR_CURRENT_CONSUMPTION_UNIT = 'current_consumption_unit' ATTR_CURRENT_CONSUMPTION_UNIT = 'current_consumption_unit'
ATTR_CURRENT_CONSUMPTION_UNIT_VALUE = 'W' ATTR_CURRENT_CONSUMPTION_UNIT_VALUE = POWER_WATT
ATTR_TOTAL_CONSUMPTION = 'total_consumption' ATTR_TOTAL_CONSUMPTION = 'total_consumption'
ATTR_TOTAL_CONSUMPTION_UNIT = 'total_consumption_unit' ATTR_TOTAL_CONSUMPTION_UNIT = 'total_consumption_unit'

View File

@ -5,7 +5,7 @@ from homeassistant.components import sensor, tellduslive
from homeassistant.components.tellduslive.entry import TelldusLiveEntity from homeassistant.components.tellduslive.entry import TelldusLiveEntity
from homeassistant.const import ( from homeassistant.const import (
DEVICE_CLASS_HUMIDITY, DEVICE_CLASS_ILLUMINANCE, DEVICE_CLASS_TEMPERATURE, DEVICE_CLASS_HUMIDITY, DEVICE_CLASS_ILLUMINANCE, DEVICE_CLASS_TEMPERATURE,
TEMP_CELSIUS) TEMP_CELSIUS, POWER_WATT)
from homeassistant.helpers.dispatcher import async_dispatcher_connect from homeassistant.helpers.dispatcher import async_dispatcher_connect
_LOGGER = logging.getLogger(__name__) _LOGGER = logging.getLogger(__name__)
@ -33,7 +33,7 @@ SENSOR_TYPES = {
SENSOR_TYPE_WINDAVERAGE: ['Wind average', 'm/s', '', None], SENSOR_TYPE_WINDAVERAGE: ['Wind average', 'm/s', '', None],
SENSOR_TYPE_WINDGUST: ['Wind gust', 'm/s', '', None], SENSOR_TYPE_WINDGUST: ['Wind gust', 'm/s', '', None],
SENSOR_TYPE_UV: ['UV', 'UV', '', None], SENSOR_TYPE_UV: ['UV', 'UV', '', None],
SENSOR_TYPE_WATT: ['Power', 'W', '', None], SENSOR_TYPE_WATT: ['Power', POWER_WATT, '', None],
SENSOR_TYPE_LUMINANCE: ['Luminance', 'lx', None, DEVICE_CLASS_ILLUMINANCE], SENSOR_TYPE_LUMINANCE: ['Luminance', 'lx', None, DEVICE_CLASS_ILLUMINANCE],
SENSOR_TYPE_DEW_POINT: SENSOR_TYPE_DEW_POINT:
['Dew Point', TEMP_CELSIUS, None, DEVICE_CLASS_TEMPERATURE], ['Dew Point', TEMP_CELSIUS, None, DEVICE_CLASS_TEMPERATURE],

View File

@ -7,7 +7,7 @@ at https://home-assistant.io/components/sensor.zha/
import logging import logging
from homeassistant.components.sensor import DOMAIN from homeassistant.components.sensor import DOMAIN
from homeassistant.const import TEMP_CELSIUS from homeassistant.const import TEMP_CELSIUS, POWER_WATT
from homeassistant.helpers.dispatcher import async_dispatcher_connect from homeassistant.helpers.dispatcher import async_dispatcher_connect
from .core.const import ( from .core.const import (
DATA_ZHA, DATA_ZHA_DISPATCHERS, ZHA_DISCOVERY_NEW, HUMIDITY, TEMPERATURE, DATA_ZHA, DATA_ZHA_DISPATCHERS, ZHA_DISCOVERY_NEW, HUMIDITY, TEMPERATURE,
@ -69,8 +69,8 @@ UNIT_REGISTRY = {
TEMPERATURE: TEMP_CELSIUS, TEMPERATURE: TEMP_CELSIUS,
PRESSURE: 'hPa', PRESSURE: 'hPa',
ILLUMINANCE: 'lx', ILLUMINANCE: 'lx',
METERING: 'W', METERING: POWER_WATT,
ELECTRICAL_MEASUREMENT: 'W', ELECTRICAL_MEASUREMENT: POWER_WATT,
GENERIC: None GENERIC: None
} }

View File

@ -319,6 +319,9 @@ ATTR_DEVICE_CLASS = 'device_class'
ATTR_TEMPERATURE = 'temperature' ATTR_TEMPERATURE = 'temperature'
# #### UNITS OF MEASUREMENT #### # #### UNITS OF MEASUREMENT ####
# Power units
POWER_WATT = 'W'
# Temperature units # Temperature units
TEMP_CELSIUS = '°C' TEMP_CELSIUS = '°C'
TEMP_FAHRENHEIT = '°F' TEMP_FAHRENHEIT = '°F'