mirror of
https://github.com/home-assistant/core.git
synced 2025-07-22 12:47:08 +00:00
Add and use UNIT_DEGREE constant (#33978)
* Add and use UNIT_DEGREE constant * Replace more occurrences * Add and use TEMP_KELVIN * Run isort
This commit is contained in:
parent
c18a6d5ea3
commit
b893150154
@ -16,6 +16,7 @@ from homeassistant.const import (
|
|||||||
POWER_WATT,
|
POWER_WATT,
|
||||||
SPEED_MILES_PER_HOUR,
|
SPEED_MILES_PER_HOUR,
|
||||||
TEMP_FAHRENHEIT,
|
TEMP_FAHRENHEIT,
|
||||||
|
UNIT_DEGREE,
|
||||||
UNIT_PERCENTAGE,
|
UNIT_PERCENTAGE,
|
||||||
)
|
)
|
||||||
from homeassistant.core import callback
|
from homeassistant.core import callback
|
||||||
@ -218,10 +219,10 @@ SENSOR_TYPES = {
|
|||||||
TYPE_TOTALRAININ: ("Lifetime Rain", "in", TYPE_SENSOR, None),
|
TYPE_TOTALRAININ: ("Lifetime Rain", "in", TYPE_SENSOR, None),
|
||||||
TYPE_UV: ("uv", "Index", TYPE_SENSOR, None),
|
TYPE_UV: ("uv", "Index", TYPE_SENSOR, None),
|
||||||
TYPE_WEEKLYRAININ: ("Weekly Rain", "in", TYPE_SENSOR, None),
|
TYPE_WEEKLYRAININ: ("Weekly Rain", "in", TYPE_SENSOR, None),
|
||||||
TYPE_WINDDIR: ("Wind Dir", "°", TYPE_SENSOR, None),
|
TYPE_WINDDIR: ("Wind Dir", UNIT_DEGREE, TYPE_SENSOR, None),
|
||||||
TYPE_WINDDIR_AVG10M: ("Wind Dir Avg 10m", "°", TYPE_SENSOR, None),
|
TYPE_WINDDIR_AVG10M: ("Wind Dir Avg 10m", UNIT_DEGREE, TYPE_SENSOR, None),
|
||||||
TYPE_WINDDIR_AVG2M: ("Wind Dir Avg 2m", SPEED_MILES_PER_HOUR, TYPE_SENSOR, None),
|
TYPE_WINDDIR_AVG2M: ("Wind Dir Avg 2m", SPEED_MILES_PER_HOUR, TYPE_SENSOR, None),
|
||||||
TYPE_WINDGUSTDIR: ("Gust Dir", "°", TYPE_SENSOR, None),
|
TYPE_WINDGUSTDIR: ("Gust Dir", UNIT_DEGREE, TYPE_SENSOR, None),
|
||||||
TYPE_WINDGUSTMPH: ("Wind Gust", SPEED_MILES_PER_HOUR, TYPE_SENSOR, None),
|
TYPE_WINDGUSTMPH: ("Wind Gust", SPEED_MILES_PER_HOUR, TYPE_SENSOR, None),
|
||||||
TYPE_WINDSPDMPH_AVG10M: ("Wind Avg 10m", SPEED_MILES_PER_HOUR, TYPE_SENSOR, None),
|
TYPE_WINDSPDMPH_AVG10M: ("Wind Avg 10m", SPEED_MILES_PER_HOUR, TYPE_SENSOR, None),
|
||||||
TYPE_WINDSPDMPH_AVG2M: ("Wind Avg 2m", SPEED_MILES_PER_HOUR, TYPE_SENSOR, None),
|
TYPE_WINDSPDMPH_AVG2M: ("Wind Avg 2m", SPEED_MILES_PER_HOUR, TYPE_SENSOR, None),
|
||||||
|
@ -3,7 +3,7 @@ import json
|
|||||||
import logging
|
import logging
|
||||||
|
|
||||||
from homeassistant.components import mqtt
|
from homeassistant.components import mqtt
|
||||||
from homeassistant.const import TEMP_CELSIUS, TEMP_FAHRENHEIT
|
from homeassistant.const import TEMP_CELSIUS, TEMP_FAHRENHEIT, UNIT_DEGREE
|
||||||
from homeassistant.core import callback
|
from homeassistant.core import callback
|
||||||
from homeassistant.helpers.entity import Entity
|
from homeassistant.helpers.entity import Entity
|
||||||
from homeassistant.util import slugify
|
from homeassistant.util import slugify
|
||||||
@ -45,7 +45,7 @@ def discover_sensors(topic, payload):
|
|||||||
return (
|
return (
|
||||||
ArwnSensor("Wind Speed", "speed", unit, "mdi:speedometer"),
|
ArwnSensor("Wind Speed", "speed", unit, "mdi:speedometer"),
|
||||||
ArwnSensor("Wind Gust", "gust", unit, "mdi:speedometer"),
|
ArwnSensor("Wind Gust", "gust", unit, "mdi:speedometer"),
|
||||||
ArwnSensor("Wind Direction", "direction", "°", "mdi:compass"),
|
ArwnSensor("Wind Direction", "direction", UNIT_DEGREE, "mdi:compass"),
|
||||||
)
|
)
|
||||||
|
|
||||||
|
|
||||||
|
@ -32,6 +32,7 @@ from homeassistant.const import (
|
|||||||
SPEED_KILOMETERS_PER_HOUR,
|
SPEED_KILOMETERS_PER_HOUR,
|
||||||
TEMP_CELSIUS,
|
TEMP_CELSIUS,
|
||||||
TIME_HOURS,
|
TIME_HOURS,
|
||||||
|
UNIT_DEGREE,
|
||||||
UNIT_PERCENTAGE,
|
UNIT_PERCENTAGE,
|
||||||
)
|
)
|
||||||
from homeassistant.core import callback
|
from homeassistant.core import callback
|
||||||
@ -76,7 +77,7 @@ SENSOR_TYPES = {
|
|||||||
"windspeed": ["Wind speed", SPEED_KILOMETERS_PER_HOUR, "mdi:weather-windy"],
|
"windspeed": ["Wind speed", SPEED_KILOMETERS_PER_HOUR, "mdi:weather-windy"],
|
||||||
"windforce": ["Wind force", "Bft", "mdi:weather-windy"],
|
"windforce": ["Wind force", "Bft", "mdi:weather-windy"],
|
||||||
"winddirection": ["Wind direction", None, "mdi:compass-outline"],
|
"winddirection": ["Wind direction", None, "mdi:compass-outline"],
|
||||||
"windazimuth": ["Wind direction azimuth", "°", "mdi:compass-outline"],
|
"windazimuth": ["Wind direction azimuth", UNIT_DEGREE, "mdi:compass-outline"],
|
||||||
"pressure": ["Pressure", "hPa", "mdi:gauge"],
|
"pressure": ["Pressure", "hPa", "mdi:gauge"],
|
||||||
"visibility": ["Visibility", LENGTH_KILOMETERS, None],
|
"visibility": ["Visibility", LENGTH_KILOMETERS, None],
|
||||||
"windgust": ["Wind gust", SPEED_KILOMETERS_PER_HOUR, "mdi:weather-windy"],
|
"windgust": ["Wind gust", SPEED_KILOMETERS_PER_HOUR, "mdi:weather-windy"],
|
||||||
@ -148,11 +149,11 @@ SENSOR_TYPES = {
|
|||||||
"winddirection_3d": ["Wind direction 3d", None, "mdi:compass-outline"],
|
"winddirection_3d": ["Wind direction 3d", None, "mdi:compass-outline"],
|
||||||
"winddirection_4d": ["Wind direction 4d", None, "mdi:compass-outline"],
|
"winddirection_4d": ["Wind direction 4d", None, "mdi:compass-outline"],
|
||||||
"winddirection_5d": ["Wind direction 5d", None, "mdi:compass-outline"],
|
"winddirection_5d": ["Wind direction 5d", None, "mdi:compass-outline"],
|
||||||
"windazimuth_1d": ["Wind direction azimuth 1d", "°", "mdi:compass-outline"],
|
"windazimuth_1d": ["Wind direction azimuth 1d", UNIT_DEGREE, "mdi:compass-outline"],
|
||||||
"windazimuth_2d": ["Wind direction azimuth 2d", "°", "mdi:compass-outline"],
|
"windazimuth_2d": ["Wind direction azimuth 2d", UNIT_DEGREE, "mdi:compass-outline"],
|
||||||
"windazimuth_3d": ["Wind direction azimuth 3d", "°", "mdi:compass-outline"],
|
"windazimuth_3d": ["Wind direction azimuth 3d", UNIT_DEGREE, "mdi:compass-outline"],
|
||||||
"windazimuth_4d": ["Wind direction azimuth 4d", "°", "mdi:compass-outline"],
|
"windazimuth_4d": ["Wind direction azimuth 4d", UNIT_DEGREE, "mdi:compass-outline"],
|
||||||
"windazimuth_5d": ["Wind direction azimuth 5d", "°", "mdi:compass-outline"],
|
"windazimuth_5d": ["Wind direction azimuth 5d", UNIT_DEGREE, "mdi:compass-outline"],
|
||||||
"condition_1d": ["Condition 1d", None, None],
|
"condition_1d": ["Condition 1d", None, None],
|
||||||
"condition_2d": ["Condition 2d", None, None],
|
"condition_2d": ["Condition 2d", None, None],
|
||||||
"condition_3d": ["Condition 3d", None, None],
|
"condition_3d": ["Condition 3d", None, None],
|
||||||
|
@ -22,6 +22,7 @@ from homeassistant.const import (
|
|||||||
TEMP_CELSIUS,
|
TEMP_CELSIUS,
|
||||||
TEMP_FAHRENHEIT,
|
TEMP_FAHRENHEIT,
|
||||||
TIME_HOURS,
|
TIME_HOURS,
|
||||||
|
UNIT_DEGREE,
|
||||||
UNIT_PERCENTAGE,
|
UNIT_PERCENTAGE,
|
||||||
UNIT_UV_INDEX,
|
UNIT_UV_INDEX,
|
||||||
)
|
)
|
||||||
@ -87,11 +88,11 @@ SENSOR_TYPES = {
|
|||||||
],
|
],
|
||||||
"nearest_storm_bearing": [
|
"nearest_storm_bearing": [
|
||||||
"Nearest Storm Bearing",
|
"Nearest Storm Bearing",
|
||||||
"°",
|
UNIT_DEGREE,
|
||||||
"°",
|
UNIT_DEGREE,
|
||||||
"°",
|
UNIT_DEGREE,
|
||||||
"°",
|
UNIT_DEGREE,
|
||||||
"°",
|
UNIT_DEGREE,
|
||||||
"mdi:weather-lightning",
|
"mdi:weather-lightning",
|
||||||
["currently"],
|
["currently"],
|
||||||
],
|
],
|
||||||
@ -177,11 +178,11 @@ SENSOR_TYPES = {
|
|||||||
],
|
],
|
||||||
"wind_bearing": [
|
"wind_bearing": [
|
||||||
"Wind Bearing",
|
"Wind Bearing",
|
||||||
"°",
|
UNIT_DEGREE,
|
||||||
"°",
|
UNIT_DEGREE,
|
||||||
"°",
|
UNIT_DEGREE,
|
||||||
"°",
|
UNIT_DEGREE,
|
||||||
"°",
|
UNIT_DEGREE,
|
||||||
"mdi:compass",
|
"mdi:compass",
|
||||||
["currently", "hourly", "daily"],
|
["currently", "hourly", "daily"],
|
||||||
],
|
],
|
||||||
|
@ -10,6 +10,7 @@ from homeassistant.const import (
|
|||||||
POWER_WATT,
|
POWER_WATT,
|
||||||
SPEED_KILOMETERS_PER_HOUR,
|
SPEED_KILOMETERS_PER_HOUR,
|
||||||
TEMP_CELSIUS,
|
TEMP_CELSIUS,
|
||||||
|
UNIT_DEGREE,
|
||||||
UNIT_PERCENTAGE,
|
UNIT_PERCENTAGE,
|
||||||
UNIT_VOLT,
|
UNIT_VOLT,
|
||||||
VOLUME_CUBIC_METERS,
|
VOLUME_CUBIC_METERS,
|
||||||
@ -53,8 +54,8 @@ HM_UNIT_HA_CAST = {
|
|||||||
"HIGHEST_ILLUMINATION": "lx",
|
"HIGHEST_ILLUMINATION": "lx",
|
||||||
"RAIN_COUNTER": "mm",
|
"RAIN_COUNTER": "mm",
|
||||||
"WIND_SPEED": SPEED_KILOMETERS_PER_HOUR,
|
"WIND_SPEED": SPEED_KILOMETERS_PER_HOUR,
|
||||||
"WIND_DIRECTION": "°",
|
"WIND_DIRECTION": UNIT_DEGREE,
|
||||||
"WIND_DIRECTION_RANGE": "°",
|
"WIND_DIRECTION_RANGE": UNIT_DEGREE,
|
||||||
"SUNSHINEDURATION": "#",
|
"SUNSHINEDURATION": "#",
|
||||||
"AIR_PRESSURE": "hPa",
|
"AIR_PRESSURE": "hPa",
|
||||||
"FREQUENCY": "Hz",
|
"FREQUENCY": "Hz",
|
||||||
|
@ -19,6 +19,7 @@ from homeassistant.const import (
|
|||||||
TIME_MONTHS,
|
TIME_MONTHS,
|
||||||
TIME_SECONDS,
|
TIME_SECONDS,
|
||||||
TIME_YEARS,
|
TIME_YEARS,
|
||||||
|
UNIT_DEGREE,
|
||||||
UNIT_PERCENTAGE,
|
UNIT_PERCENTAGE,
|
||||||
UNIT_UV_INDEX,
|
UNIT_UV_INDEX,
|
||||||
UNIT_VOLT,
|
UNIT_VOLT,
|
||||||
@ -41,7 +42,7 @@ UOM_FRIENDLY_NAME = {
|
|||||||
"10": TIME_DAYS,
|
"10": TIME_DAYS,
|
||||||
"12": "dB",
|
"12": "dB",
|
||||||
"13": "dB A",
|
"13": "dB A",
|
||||||
"14": "°",
|
"14": UNIT_DEGREE,
|
||||||
"16": "macroseismic",
|
"16": "macroseismic",
|
||||||
"17": TEMP_FAHRENHEIT,
|
"17": TEMP_FAHRENHEIT,
|
||||||
"18": "ft",
|
"18": "ft",
|
||||||
@ -97,7 +98,7 @@ UOM_FRIENDLY_NAME = {
|
|||||||
"73": POWER_WATT,
|
"73": POWER_WATT,
|
||||||
"74": f"{POWER_WATT}/m²",
|
"74": f"{POWER_WATT}/m²",
|
||||||
"75": "weekday",
|
"75": "weekday",
|
||||||
"76": "Wind Direction (°)",
|
"76": f"Wind Direction ({UNIT_DEGREE})",
|
||||||
"77": TIME_YEARS,
|
"77": TIME_YEARS,
|
||||||
"82": "mm",
|
"82": "mm",
|
||||||
"83": LENGTH_KILOMETERS,
|
"83": LENGTH_KILOMETERS,
|
||||||
@ -107,8 +108,8 @@ UOM_FRIENDLY_NAME = {
|
|||||||
"88": "Water activity",
|
"88": "Water activity",
|
||||||
"89": "RPM",
|
"89": "RPM",
|
||||||
"90": "Hz",
|
"90": "Hz",
|
||||||
"91": "° (Relative to North)",
|
"91": f"{UNIT_DEGREE} (Relative to North)",
|
||||||
"92": "° (Relative to South)",
|
"92": f"{UNIT_DEGREE} (Relative to South)",
|
||||||
}
|
}
|
||||||
|
|
||||||
UOM_TO_STATES = {
|
UOM_TO_STATES = {
|
||||||
|
@ -4,6 +4,8 @@ from itertools import product
|
|||||||
from homeassistant.const import (
|
from homeassistant.const import (
|
||||||
TEMP_CELSIUS,
|
TEMP_CELSIUS,
|
||||||
TEMP_FAHRENHEIT,
|
TEMP_FAHRENHEIT,
|
||||||
|
TEMP_KELVIN,
|
||||||
|
UNIT_DEGREE,
|
||||||
UNIT_PERCENTAGE,
|
UNIT_PERCENTAGE,
|
||||||
UNIT_VOLT,
|
UNIT_VOLT,
|
||||||
)
|
)
|
||||||
@ -149,7 +151,7 @@ VAR_UNITS = [
|
|||||||
"LCN",
|
"LCN",
|
||||||
"NATIVE",
|
"NATIVE",
|
||||||
TEMP_CELSIUS,
|
TEMP_CELSIUS,
|
||||||
"°K",
|
TEMP_KELVIN,
|
||||||
TEMP_FAHRENHEIT,
|
TEMP_FAHRENHEIT,
|
||||||
"LUX_T",
|
"LUX_T",
|
||||||
"LX_T",
|
"LX_T",
|
||||||
@ -167,7 +169,7 @@ VAR_UNITS = [
|
|||||||
"AMP",
|
"AMP",
|
||||||
"A",
|
"A",
|
||||||
"DEGREE",
|
"DEGREE",
|
||||||
"°",
|
UNIT_DEGREE,
|
||||||
]
|
]
|
||||||
|
|
||||||
RELVARREF = ["CURRENT", "PROG"]
|
RELVARREF = ["CURRENT", "PROG"]
|
||||||
|
@ -7,6 +7,7 @@ from homeassistant.const import (
|
|||||||
POWER_WATT,
|
POWER_WATT,
|
||||||
TEMP_CELSIUS,
|
TEMP_CELSIUS,
|
||||||
TEMP_FAHRENHEIT,
|
TEMP_FAHRENHEIT,
|
||||||
|
UNIT_DEGREE,
|
||||||
UNIT_PERCENTAGE,
|
UNIT_PERCENTAGE,
|
||||||
UNIT_VOLT,
|
UNIT_VOLT,
|
||||||
)
|
)
|
||||||
@ -22,7 +23,7 @@ SENSORS = {
|
|||||||
"V_RAINRATE": [None, "mdi:weather-rainy"],
|
"V_RAINRATE": [None, "mdi:weather-rainy"],
|
||||||
"V_WIND": [None, "mdi:weather-windy"],
|
"V_WIND": [None, "mdi:weather-windy"],
|
||||||
"V_GUST": [None, "mdi:weather-windy"],
|
"V_GUST": [None, "mdi:weather-windy"],
|
||||||
"V_DIRECTION": ["°", "mdi:compass"],
|
"V_DIRECTION": [UNIT_DEGREE, "mdi:compass"],
|
||||||
"V_WEIGHT": [MASS_KILOGRAMS, "mdi:weight-kilogram"],
|
"V_WEIGHT": [MASS_KILOGRAMS, "mdi:weight-kilogram"],
|
||||||
"V_DISTANCE": ["m", "mdi:ruler"],
|
"V_DISTANCE": ["m", "mdi:ruler"],
|
||||||
"V_IMPEDANCE": ["ohm", None],
|
"V_IMPEDANCE": ["ohm", None],
|
||||||
|
@ -15,6 +15,7 @@ from homeassistant.const import (
|
|||||||
SPEED_METERS_PER_SECOND,
|
SPEED_METERS_PER_SECOND,
|
||||||
TEMP_CELSIUS,
|
TEMP_CELSIUS,
|
||||||
TEMP_FAHRENHEIT,
|
TEMP_FAHRENHEIT,
|
||||||
|
UNIT_DEGREE,
|
||||||
UNIT_PERCENTAGE,
|
UNIT_PERCENTAGE,
|
||||||
)
|
)
|
||||||
import homeassistant.helpers.config_validation as cv
|
import homeassistant.helpers.config_validation as cv
|
||||||
@ -36,7 +37,7 @@ SENSOR_TYPES = {
|
|||||||
"weather": ["Condition", None],
|
"weather": ["Condition", None],
|
||||||
"temperature": ["Temperature", None],
|
"temperature": ["Temperature", None],
|
||||||
"wind_speed": ["Wind speed", SPEED_METERS_PER_SECOND],
|
"wind_speed": ["Wind speed", SPEED_METERS_PER_SECOND],
|
||||||
"wind_bearing": ["Wind bearing", "°"],
|
"wind_bearing": ["Wind bearing", UNIT_DEGREE],
|
||||||
"humidity": ["Humidity", UNIT_PERCENTAGE],
|
"humidity": ["Humidity", UNIT_PERCENTAGE],
|
||||||
"pressure": ["Pressure", "mbar"],
|
"pressure": ["Pressure", "mbar"],
|
||||||
"clouds": ["Cloud coverage", UNIT_PERCENTAGE],
|
"clouds": ["Cloud coverage", UNIT_PERCENTAGE],
|
||||||
|
@ -5,6 +5,7 @@ import logging
|
|||||||
from homeassistant.const import (
|
from homeassistant.const import (
|
||||||
ENERGY_KILO_WATT_HOUR,
|
ENERGY_KILO_WATT_HOUR,
|
||||||
POWER_WATT,
|
POWER_WATT,
|
||||||
|
UNIT_DEGREE,
|
||||||
UNIT_PERCENTAGE,
|
UNIT_PERCENTAGE,
|
||||||
UNIT_VOLT,
|
UNIT_VOLT,
|
||||||
VOLUME_CUBIC_METERS,
|
VOLUME_CUBIC_METERS,
|
||||||
@ -73,7 +74,7 @@ SENSOR_TYPES = {
|
|||||||
"Water Sensor Temperature",
|
"Water Sensor Temperature",
|
||||||
"mdi:temperature-celsius",
|
"mdi:temperature-celsius",
|
||||||
"water",
|
"water",
|
||||||
"°",
|
UNIT_DEGREE,
|
||||||
"temperature",
|
"temperature",
|
||||||
],
|
],
|
||||||
"water_sensor_humidity": [
|
"water_sensor_humidity": [
|
||||||
|
@ -6,7 +6,7 @@ import voluptuous as vol
|
|||||||
|
|
||||||
from homeassistant.components.http import HomeAssistantView
|
from homeassistant.components.http import HomeAssistantView
|
||||||
from homeassistant.components.sensor import PLATFORM_SCHEMA
|
from homeassistant.components.sensor import PLATFORM_SCHEMA
|
||||||
from homeassistant.const import CONF_EMAIL, CONF_NAME
|
from homeassistant.const import CONF_EMAIL, CONF_NAME, UNIT_DEGREE
|
||||||
from homeassistant.core import callback
|
from homeassistant.core import callback
|
||||||
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
|
||||||
@ -91,7 +91,7 @@ class TorqueReceiveDataView(HomeAssistantView):
|
|||||||
|
|
||||||
temp_unit = data[key]
|
temp_unit = data[key]
|
||||||
if "\\xC2\\xB0" in temp_unit:
|
if "\\xC2\\xB0" in temp_unit:
|
||||||
temp_unit = temp_unit.replace("\\xC2\\xB0", "°")
|
temp_unit = temp_unit.replace("\\xC2\\xB0", UNIT_DEGREE)
|
||||||
|
|
||||||
units[pid] = temp_unit
|
units[pid] = temp_unit
|
||||||
elif is_value:
|
elif is_value:
|
||||||
|
@ -18,6 +18,7 @@ from homeassistant.const import (
|
|||||||
DEVICE_CLASS_TEMPERATURE,
|
DEVICE_CLASS_TEMPERATURE,
|
||||||
SPEED_METERS_PER_SECOND,
|
SPEED_METERS_PER_SECOND,
|
||||||
TEMP_CELSIUS,
|
TEMP_CELSIUS,
|
||||||
|
UNIT_DEGREE,
|
||||||
UNIT_PERCENTAGE,
|
UNIT_PERCENTAGE,
|
||||||
)
|
)
|
||||||
from homeassistant.helpers.aiohttp_client import async_get_clientsession
|
from homeassistant.helpers.aiohttp_client import async_get_clientsession
|
||||||
@ -61,7 +62,7 @@ SENSOR_TYPES = {
|
|||||||
],
|
],
|
||||||
"wind_direction": [
|
"wind_direction": [
|
||||||
"Wind direction",
|
"Wind direction",
|
||||||
"°",
|
UNIT_DEGREE,
|
||||||
"winddirection",
|
"winddirection",
|
||||||
"mdi:flag-triangle",
|
"mdi:flag-triangle",
|
||||||
None,
|
None,
|
||||||
|
@ -3,7 +3,7 @@ import logging
|
|||||||
|
|
||||||
import pywink
|
import pywink
|
||||||
|
|
||||||
from homeassistant.const import TEMP_CELSIUS
|
from homeassistant.const import TEMP_CELSIUS, UNIT_DEGREE
|
||||||
|
|
||||||
from . import DOMAIN, WinkDevice
|
from . import DOMAIN, WinkDevice
|
||||||
|
|
||||||
@ -48,7 +48,7 @@ class WinkSensorDevice(WinkDevice):
|
|||||||
"""Initialize the Wink device."""
|
"""Initialize the Wink device."""
|
||||||
super().__init__(wink, hass)
|
super().__init__(wink, hass)
|
||||||
self.capability = self.wink.capability()
|
self.capability = self.wink.capability()
|
||||||
if self.wink.unit() == "°":
|
if self.wink.unit() == UNIT_DEGREE:
|
||||||
self._unit_of_measurement = TEMP_CELSIUS
|
self._unit_of_measurement = TEMP_CELSIUS
|
||||||
else:
|
else:
|
||||||
self._unit_of_measurement = self.wink.unit()
|
self._unit_of_measurement = self.wink.unit()
|
||||||
|
@ -26,6 +26,7 @@ from homeassistant.const import (
|
|||||||
SPEED_MILES_PER_HOUR,
|
SPEED_MILES_PER_HOUR,
|
||||||
TEMP_CELSIUS,
|
TEMP_CELSIUS,
|
||||||
TEMP_FAHRENHEIT,
|
TEMP_FAHRENHEIT,
|
||||||
|
UNIT_DEGREE,
|
||||||
UNIT_PERCENTAGE,
|
UNIT_PERCENTAGE,
|
||||||
)
|
)
|
||||||
from homeassistant.exceptions import PlatformNotReady
|
from homeassistant.exceptions import PlatformNotReady
|
||||||
@ -456,7 +457,7 @@ SENSOR_TYPES = {
|
|||||||
),
|
),
|
||||||
"weather": WUCurrentConditionsSensorConfig("Weather Summary", "weather", None),
|
"weather": WUCurrentConditionsSensorConfig("Weather Summary", "weather", None),
|
||||||
"wind_degrees": WUCurrentConditionsSensorConfig(
|
"wind_degrees": WUCurrentConditionsSensorConfig(
|
||||||
"Wind Degrees", "wind_degrees", "mdi:weather-windy", "°"
|
"Wind Degrees", "wind_degrees", "mdi:weather-windy", UNIT_DEGREE
|
||||||
),
|
),
|
||||||
"wind_dir": WUCurrentConditionsSensorConfig(
|
"wind_dir": WUCurrentConditionsSensorConfig(
|
||||||
"Wind Direction", "wind_dir", "mdi:weather-windy"
|
"Wind Direction", "wind_dir", "mdi:weather-windy"
|
||||||
|
@ -24,6 +24,7 @@ from homeassistant.const import (
|
|||||||
PRESSURE_HPA,
|
PRESSURE_HPA,
|
||||||
SPEED_METERS_PER_SECOND,
|
SPEED_METERS_PER_SECOND,
|
||||||
TEMP_CELSIUS,
|
TEMP_CELSIUS,
|
||||||
|
UNIT_DEGREE,
|
||||||
UNIT_PERCENTAGE,
|
UNIT_PERCENTAGE,
|
||||||
)
|
)
|
||||||
from homeassistant.helpers.aiohttp_client import async_get_clientsession
|
from homeassistant.helpers.aiohttp_client import async_get_clientsession
|
||||||
@ -47,7 +48,7 @@ SENSOR_TYPES = {
|
|||||||
"windSpeed": ["Wind speed", SPEED_METERS_PER_SECOND, None],
|
"windSpeed": ["Wind speed", SPEED_METERS_PER_SECOND, None],
|
||||||
"windGust": ["Wind gust", SPEED_METERS_PER_SECOND, None],
|
"windGust": ["Wind gust", SPEED_METERS_PER_SECOND, None],
|
||||||
"pressure": ["Pressure", PRESSURE_HPA, DEVICE_CLASS_PRESSURE],
|
"pressure": ["Pressure", PRESSURE_HPA, DEVICE_CLASS_PRESSURE],
|
||||||
"windDirection": ["Wind direction", "°", None],
|
"windDirection": ["Wind direction", UNIT_DEGREE, None],
|
||||||
"humidity": ["Humidity", UNIT_PERCENTAGE, DEVICE_CLASS_HUMIDITY],
|
"humidity": ["Humidity", UNIT_PERCENTAGE, DEVICE_CLASS_HUMIDITY],
|
||||||
"fog": ["Fog", UNIT_PERCENTAGE, None],
|
"fog": ["Fog", UNIT_PERCENTAGE, None],
|
||||||
"cloudiness": ["Cloudiness", UNIT_PERCENTAGE, None],
|
"cloudiness": ["Cloudiness", UNIT_PERCENTAGE, None],
|
||||||
|
@ -19,6 +19,7 @@ from homeassistant.const import (
|
|||||||
CONF_NAME,
|
CONF_NAME,
|
||||||
SPEED_KILOMETERS_PER_HOUR,
|
SPEED_KILOMETERS_PER_HOUR,
|
||||||
TEMP_CELSIUS,
|
TEMP_CELSIUS,
|
||||||
|
UNIT_DEGREE,
|
||||||
UNIT_PERCENTAGE,
|
UNIT_PERCENTAGE,
|
||||||
__version__,
|
__version__,
|
||||||
)
|
)
|
||||||
@ -48,14 +49,14 @@ SENSOR_TYPES = {
|
|||||||
f"WG {SPEED_KILOMETERS_PER_HOUR}",
|
f"WG {SPEED_KILOMETERS_PER_HOUR}",
|
||||||
float,
|
float,
|
||||||
),
|
),
|
||||||
"wind_bearing": ("Wind Bearing", "°", "WR °", int),
|
"wind_bearing": ("Wind Bearing", UNIT_DEGREE, f"WR {UNIT_DEGREE}", int),
|
||||||
"wind_max_speed": (
|
"wind_max_speed": (
|
||||||
"Top Wind Speed",
|
"Top Wind Speed",
|
||||||
SPEED_KILOMETERS_PER_HOUR,
|
SPEED_KILOMETERS_PER_HOUR,
|
||||||
f"WSG {SPEED_KILOMETERS_PER_HOUR}",
|
f"WSG {SPEED_KILOMETERS_PER_HOUR}",
|
||||||
float,
|
float,
|
||||||
),
|
),
|
||||||
"wind_max_bearing": ("Top Wind Bearing", "°", "WSR °", int),
|
"wind_max_bearing": ("Top Wind Bearing", UNIT_DEGREE, f"WSR {UNIT_DEGREE}", int),
|
||||||
"sun_last_hour": ("Sun Last Hour", UNIT_PERCENTAGE, f"SO {UNIT_PERCENTAGE}", int),
|
"sun_last_hour": ("Sun Last Hour", UNIT_PERCENTAGE, f"SO {UNIT_PERCENTAGE}", int),
|
||||||
"temperature": ("Temperature", TEMP_CELSIUS, f"T {TEMP_CELSIUS}", float),
|
"temperature": ("Temperature", TEMP_CELSIUS, f"T {TEMP_CELSIUS}", float),
|
||||||
"precipitation": ("Precipitation", "l/m²", "N l/m²", float),
|
"precipitation": ("Precipitation", "l/m²", "N l/m²", float),
|
||||||
|
@ -352,9 +352,13 @@ UNIT_VOLT = "V"
|
|||||||
ENERGY_WATT_HOUR = f"{POWER_WATT}h"
|
ENERGY_WATT_HOUR = f"{POWER_WATT}h"
|
||||||
ENERGY_KILO_WATT_HOUR = f"k{ENERGY_WATT_HOUR}"
|
ENERGY_KILO_WATT_HOUR = f"k{ENERGY_WATT_HOUR}"
|
||||||
|
|
||||||
|
# Degree units
|
||||||
|
UNIT_DEGREE = "°"
|
||||||
|
|
||||||
# Temperature units
|
# Temperature units
|
||||||
TEMP_CELSIUS = "°C"
|
TEMP_CELSIUS = f"{UNIT_DEGREE}C"
|
||||||
TEMP_FAHRENHEIT = "°F"
|
TEMP_FAHRENHEIT = f"{UNIT_DEGREE}F"
|
||||||
|
TEMP_KELVIN = f"{UNIT_DEGREE}K"
|
||||||
|
|
||||||
# Time units
|
# Time units
|
||||||
TIME_MICROSECONDS = "μs"
|
TIME_MICROSECONDS = "μs"
|
||||||
@ -410,6 +414,7 @@ UNIT_UV_INDEX: str = "UV index"
|
|||||||
|
|
||||||
# Percentage units
|
# Percentage units
|
||||||
UNIT_PERCENTAGE = "%"
|
UNIT_PERCENTAGE = "%"
|
||||||
|
|
||||||
# Irradiation units
|
# Irradiation units
|
||||||
IRRADIATION_WATTS_PER_SQUARE_METER = f"{POWER_WATT}/{AREA_SQUARE_METERS}"
|
IRRADIATION_WATTS_PER_SQUARE_METER = f"{POWER_WATT}/{AREA_SQUARE_METERS}"
|
||||||
|
|
||||||
|
@ -9,6 +9,7 @@ from homeassistant.const import (
|
|||||||
CONCENTRATION_MICROGRAMS_PER_CUBIC_METER,
|
CONCENTRATION_MICROGRAMS_PER_CUBIC_METER,
|
||||||
DEVICE_CLASS_POWER,
|
DEVICE_CLASS_POWER,
|
||||||
ENERGY_KILO_WATT_HOUR,
|
ENERGY_KILO_WATT_HOUR,
|
||||||
|
UNIT_DEGREE,
|
||||||
)
|
)
|
||||||
from homeassistant.setup import async_setup_component
|
from homeassistant.setup import async_setup_component
|
||||||
|
|
||||||
@ -47,7 +48,7 @@ async def prometheus_client(loop, hass, hass_client):
|
|||||||
sensor3.entity_id = "sensor.electricity_price"
|
sensor3.entity_id = "sensor.electricity_price"
|
||||||
await sensor3.async_update_ha_state()
|
await sensor3.async_update_ha_state()
|
||||||
|
|
||||||
sensor4 = DemoSensor(None, "Wind Direction", 25, None, "°", None)
|
sensor4 = DemoSensor(None, "Wind Direction", 25, None, UNIT_DEGREE, None)
|
||||||
sensor4.hass = hass
|
sensor4.hass = hass
|
||||||
sensor4.entity_id = "sensor.wind_direction"
|
sensor4.entity_id = "sensor.wind_direction"
|
||||||
await sensor4.async_update_ha_state()
|
await sensor4.async_update_ha_state()
|
||||||
|
@ -3,7 +3,7 @@ from datetime import datetime
|
|||||||
from unittest.mock import patch
|
from unittest.mock import patch
|
||||||
|
|
||||||
from homeassistant.bootstrap import async_setup_component
|
from homeassistant.bootstrap import async_setup_component
|
||||||
from homeassistant.const import SPEED_METERS_PER_SECOND, UNIT_PERCENTAGE
|
from homeassistant.const import SPEED_METERS_PER_SECOND, UNIT_DEGREE, UNIT_PERCENTAGE
|
||||||
import homeassistant.util.dt as dt_util
|
import homeassistant.util.dt as dt_util
|
||||||
|
|
||||||
from tests.common import assert_setup_component, load_fixture
|
from tests.common import assert_setup_component, load_fixture
|
||||||
@ -59,7 +59,7 @@ async def test_custom_setup(hass, aioclient_mock):
|
|||||||
assert state.state == "1009.3"
|
assert state.state == "1009.3"
|
||||||
|
|
||||||
state = hass.states.get("sensor.yr_wind_direction")
|
state = hass.states.get("sensor.yr_wind_direction")
|
||||||
assert state.attributes.get("unit_of_measurement") == "°"
|
assert state.attributes.get("unit_of_measurement") == UNIT_DEGREE
|
||||||
assert state.state == "103.6"
|
assert state.state == "103.6"
|
||||||
|
|
||||||
state = hass.states.get("sensor.yr_humidity")
|
state = hass.states.get("sensor.yr_humidity")
|
||||||
@ -105,7 +105,7 @@ async def test_forecast_setup(hass, aioclient_mock):
|
|||||||
assert state.state == "1008.3"
|
assert state.state == "1008.3"
|
||||||
|
|
||||||
state = hass.states.get("sensor.yr_wind_direction")
|
state = hass.states.get("sensor.yr_wind_direction")
|
||||||
assert state.attributes.get("unit_of_measurement") == "°"
|
assert state.attributes.get("unit_of_measurement") == UNIT_DEGREE
|
||||||
assert state.state == "148.9"
|
assert state.state == "148.9"
|
||||||
|
|
||||||
state = hass.states.get("sensor.yr_humidity")
|
state = hass.states.get("sensor.yr_humidity")
|
||||||
|
Loading…
x
Reference in New Issue
Block a user