diff --git a/homeassistant/components/ambient_station/__init__.py b/homeassistant/components/ambient_station/__init__.py index ac8ae18a657..8658c3d04b9 100644 --- a/homeassistant/components/ambient_station/__init__.py +++ b/homeassistant/components/ambient_station/__init__.py @@ -19,6 +19,7 @@ from homeassistant.const import ( EVENT_HOMEASSISTANT_STOP, PERCENTAGE, POWER_WATT, + PRESSURE_INHG, SPEED_MILES_PER_HOUR, TEMP_FAHRENHEIT, ) @@ -143,8 +144,8 @@ TYPE_WINDSPEEDMPH = "windspeedmph" TYPE_YEARLYRAININ = "yearlyrainin" SENSOR_TYPES = { TYPE_24HOURRAININ: ("24 Hr Rain", "in", TYPE_SENSOR, None), - TYPE_BAROMABSIN: ("Abs Pressure", "inHg", TYPE_SENSOR, "pressure"), - TYPE_BAROMRELIN: ("Rel Pressure", "inHg", TYPE_SENSOR, "pressure"), + TYPE_BAROMABSIN: ("Abs Pressure", PRESSURE_INHG, TYPE_SENSOR, "pressure"), + TYPE_BAROMRELIN: ("Rel Pressure", PRESSURE_INHG, TYPE_SENSOR, "pressure"), TYPE_BATT10: ("Battery 10", None, TYPE_BINARY_SENSOR, "battery"), TYPE_BATT1: ("Battery 1", None, TYPE_BINARY_SENSOR, "battery"), TYPE_BATT2: ("Battery 2", None, TYPE_BINARY_SENSOR, "battery"), diff --git a/homeassistant/components/bloomsky/sensor.py b/homeassistant/components/bloomsky/sensor.py index 812efe7697e..eaa03ef2f3b 100644 --- a/homeassistant/components/bloomsky/sensor.py +++ b/homeassistant/components/bloomsky/sensor.py @@ -8,6 +8,8 @@ from homeassistant.const import ( AREA_SQUARE_METERS, CONF_MONITORED_CONDITIONS, PERCENTAGE, + PRESSURE_INHG, + PRESSURE_MBAR, TEMP_CELSIUS, TEMP_FAHRENHEIT, ) @@ -32,7 +34,7 @@ SENSOR_TYPES = [ SENSOR_UNITS_IMPERIAL = { "Temperature": TEMP_FAHRENHEIT, "Humidity": PERCENTAGE, - "Pressure": "inHg", + "Pressure": PRESSURE_INHG, "Luminance": f"cd/{AREA_SQUARE_METERS}", "Voltage": "mV", } @@ -41,7 +43,7 @@ SENSOR_UNITS_IMPERIAL = { SENSOR_UNITS_METRIC = { "Temperature": TEMP_CELSIUS, "Humidity": PERCENTAGE, - "Pressure": "mbar", + "Pressure": PRESSURE_MBAR, "Luminance": f"cd/{AREA_SQUARE_METERS}", "Voltage": "mV", } diff --git a/homeassistant/components/bom/sensor.py b/homeassistant/components/bom/sensor.py index 56406b29e82..848be51cc8f 100644 --- a/homeassistant/components/bom/sensor.py +++ b/homeassistant/components/bom/sensor.py @@ -22,6 +22,7 @@ from homeassistant.const import ( LENGTH_KILOMETERS, LENGTH_METERS, PERCENTAGE, + PRESSURE_MBAR, SPEED_KILOMETERS_PER_HOUR, TEMP_CELSIUS, ) @@ -66,7 +67,7 @@ SENSOR_TYPES = { "gust_kt": ["Wind Gust kt", "kt"], "air_temp": ["Air Temp C", TEMP_CELSIUS], "dewpt": ["Dew Point C", TEMP_CELSIUS], - "press": ["Pressure mb", "mbar"], + "press": ["Pressure mb", PRESSURE_MBAR], "press_qnh": ["Pressure qnh", "qnh"], "press_msl": ["Pressure msl", "msl"], "press_tend": ["Pressure Tend", None], diff --git a/homeassistant/components/buienradar/sensor.py b/homeassistant/components/buienradar/sensor.py index ba0063ebb85..d1d1f0cf632 100644 --- a/homeassistant/components/buienradar/sensor.py +++ b/homeassistant/components/buienradar/sensor.py @@ -31,6 +31,7 @@ from homeassistant.const import ( IRRADIATION_WATTS_PER_SQUARE_METER, LENGTH_KILOMETERS, PERCENTAGE, + PRESSURE_HPA, SPEED_KILOMETERS_PER_HOUR, TEMP_CELSIUS, TIME_HOURS, @@ -78,7 +79,7 @@ SENSOR_TYPES = { "windforce": ["Wind force", "Bft", "mdi:weather-windy"], "winddirection": ["Wind direction", None, "mdi:compass-outline"], "windazimuth": ["Wind direction azimuth", DEGREE, "mdi:compass-outline"], - "pressure": ["Pressure", "hPa", "mdi:gauge"], + "pressure": ["Pressure", PRESSURE_HPA, "mdi:gauge"], "visibility": ["Visibility", LENGTH_KILOMETERS, None], "windgust": ["Wind gust", SPEED_KILOMETERS_PER_HOUR, "mdi:weather-windy"], "precipitation": ["Precipitation", f"mm/{TIME_HOURS}", "mdi:weather-pouring"], diff --git a/homeassistant/components/darksky/sensor.py b/homeassistant/components/darksky/sensor.py index e167f16b4e4..48ceffbac50 100644 --- a/homeassistant/components/darksky/sensor.py +++ b/homeassistant/components/darksky/sensor.py @@ -19,6 +19,7 @@ from homeassistant.const import ( LENGTH_CENTIMETERS, LENGTH_KILOMETERS, PERCENTAGE, + PRESSURE_MBAR, SPEED_KILOMETERS_PER_HOUR, SPEED_METERS_PER_SECOND, SPEED_MILES_PER_HOUR, @@ -219,11 +220,11 @@ SENSOR_TYPES = { ], "pressure": [ "Pressure", - "mbar", - "mbar", - "mbar", - "mbar", - "mbar", + PRESSURE_MBAR, + PRESSURE_MBAR, + PRESSURE_MBAR, + PRESSURE_MBAR, + PRESSURE_MBAR, "mdi:gauge", ["currently", "hourly", "daily"], ], diff --git a/homeassistant/components/envirophat/sensor.py b/homeassistant/components/envirophat/sensor.py index 4813fd47a92..873d9935ee8 100644 --- a/homeassistant/components/envirophat/sensor.py +++ b/homeassistant/components/envirophat/sensor.py @@ -6,7 +6,13 @@ import logging import voluptuous as vol from homeassistant.components.sensor import PLATFORM_SCHEMA -from homeassistant.const import CONF_DISPLAY_OPTIONS, CONF_NAME, TEMP_CELSIUS, VOLT +from homeassistant.const import ( + CONF_DISPLAY_OPTIONS, + CONF_NAME, + PRESSURE_HPA, + TEMP_CELSIUS, + VOLT, +) import homeassistant.helpers.config_validation as cv from homeassistant.helpers.entity import Entity from homeassistant.util import Throttle @@ -30,7 +36,7 @@ SENSOR_TYPES = { "magnetometer_y": ["magnetometer_y", " ", "mdi:magnet"], "magnetometer_z": ["magnetometer_z", " ", "mdi:magnet"], "temperature": ["temperature", TEMP_CELSIUS, "mdi:thermometer"], - "pressure": ["pressure", "hPa", "mdi:gauge"], + "pressure": ["pressure", PRESSURE_HPA, "mdi:gauge"], "voltage_0": ["voltage_0", VOLT, "mdi:flash"], "voltage_1": ["voltage_1", VOLT, "mdi:flash"], "voltage_2": ["voltage_2", VOLT, "mdi:flash"], diff --git a/homeassistant/components/homematic/sensor.py b/homeassistant/components/homematic/sensor.py index 51a88bd1207..121b3af5d81 100644 --- a/homeassistant/components/homematic/sensor.py +++ b/homeassistant/components/homematic/sensor.py @@ -11,6 +11,7 @@ from homeassistant.const import ( FREQUENCY_HERTZ, PERCENTAGE, POWER_WATT, + PRESSURE_HPA, SPEED_KILOMETERS_PER_HOUR, TEMP_CELSIUS, VOLT, @@ -59,7 +60,7 @@ HM_UNIT_HA_CAST = { "WIND_DIRECTION": DEGREE, "WIND_DIRECTION_RANGE": DEGREE, "SUNSHINEDURATION": "#", - "AIR_PRESSURE": "hPa", + "AIR_PRESSURE": PRESSURE_HPA, "FREQUENCY": FREQUENCY_HERTZ, "VALUE": "#", "VALVE_STATE": PERCENTAGE, diff --git a/homeassistant/components/isy994/const.py b/homeassistant/components/isy994/const.py index 375f4e4aa73..75c7b3b9de1 100644 --- a/homeassistant/components/isy994/const.py +++ b/homeassistant/components/isy994/const.py @@ -60,7 +60,9 @@ from homeassistant.const import ( MASS_POUNDS, PERCENTAGE, POWER_WATT, + PRESSURE_HPA, PRESSURE_INHG, + PRESSURE_MBAR, SERVICE_LOCK, SERVICE_UNLOCK, SPEED_KILOMETERS_PER_HOUR, @@ -411,8 +413,8 @@ UOM_FRIENDLY_NAME = { "113": "", # raw 3-byte signed value "114": "", # raw 4-byte signed value "116": LENGTH_MILES, - "117": "mbar", - "118": "hPa", + "117": PRESSURE_MBAR, + "118": PRESSURE_HPA, "119": f"{POWER_WATT}{TIME_HOURS}", "120": f"{LENGTH_INCHES}/{TIME_DAYS}", } diff --git a/homeassistant/components/luftdaten/__init__.py b/homeassistant/components/luftdaten/__init__.py index 9d184969139..91e9c96d429 100644 --- a/homeassistant/components/luftdaten/__init__.py +++ b/homeassistant/components/luftdaten/__init__.py @@ -13,6 +13,7 @@ from homeassistant.const import ( CONF_SENSORS, CONF_SHOW_ON_MAP, PERCENTAGE, + PRESSURE_PA, TEMP_CELSIUS, ) from homeassistant.core import callback @@ -44,8 +45,8 @@ TOPIC_UPDATE = f"{DOMAIN}_data_update" SENSORS = { SENSOR_TEMPERATURE: ["Temperature", "mdi:thermometer", TEMP_CELSIUS], SENSOR_HUMIDITY: ["Humidity", "mdi:water-percent", PERCENTAGE], - SENSOR_PRESSURE: ["Pressure", "mdi:arrow-down-bold", "Pa"], - SENSOR_PRESSURE_AT_SEALEVEL: ["Pressure at sealevel", "mdi:download", "Pa"], + SENSOR_PRESSURE: ["Pressure", "mdi:arrow-down-bold", PRESSURE_PA], + SENSOR_PRESSURE_AT_SEALEVEL: ["Pressure at sealevel", "mdi:download", PRESSURE_PA], SENSOR_PM10: [ "PM10", "mdi:thought-bubble", diff --git a/homeassistant/components/opentherm_gw/const.py b/homeassistant/components/opentherm_gw/const.py index a32a2199760..3ff1577c436 100644 --- a/homeassistant/components/opentherm_gw/const.py +++ b/homeassistant/components/opentherm_gw/const.py @@ -5,6 +5,7 @@ from homeassistant.components.binary_sensor import DEVICE_CLASS_PROBLEM from homeassistant.const import ( DEVICE_CLASS_TEMPERATURE, PERCENTAGE, + PRESSURE_BAR, TEMP_CELSIUS, TIME_HOURS, TIME_MINUTES, @@ -39,7 +40,6 @@ SERVICE_SET_MAX_MOD = "set_max_modulation" SERVICE_SET_OAT = "set_outside_temperature" SERVICE_SET_SB_TEMP = "set_setback_temperature" -UNIT_BAR = "bar" UNIT_KW = "kW" UNIT_L_MIN = f"L/{TIME_MINUTES}" @@ -152,7 +152,11 @@ SENSOR_INFO = { "Room Setpoint {}", ], gw_vars.DATA_REL_MOD_LEVEL: [None, PERCENTAGE, "Relative Modulation Level {}"], - gw_vars.DATA_CH_WATER_PRESS: [None, UNIT_BAR, "Central Heating Water Pressure {}"], + gw_vars.DATA_CH_WATER_PRESS: [ + None, + PRESSURE_BAR, + "Central Heating Water Pressure {}", + ], gw_vars.DATA_DHW_FLOW_RATE: [None, UNIT_L_MIN, "Hot Water Flow Rate {}"], gw_vars.DATA_ROOM_SETPOINT_2: [ DEVICE_CLASS_TEMPERATURE, diff --git a/homeassistant/components/point/sensor.py b/homeassistant/components/point/sensor.py index 4ac8f0c1832..9436877e434 100644 --- a/homeassistant/components/point/sensor.py +++ b/homeassistant/components/point/sensor.py @@ -7,6 +7,7 @@ from homeassistant.const import ( DEVICE_CLASS_PRESSURE, DEVICE_CLASS_TEMPERATURE, PERCENTAGE, + PRESSURE_HPA, TEMP_CELSIUS, ) from homeassistant.helpers.dispatcher import async_dispatcher_connect @@ -21,7 +22,7 @@ DEVICE_CLASS_SOUND = "sound_level" SENSOR_TYPES = { DEVICE_CLASS_TEMPERATURE: (None, 1, TEMP_CELSIUS), - DEVICE_CLASS_PRESSURE: (None, 0, "hPa"), + DEVICE_CLASS_PRESSURE: (None, 0, PRESSURE_HPA), DEVICE_CLASS_HUMIDITY: (None, 1, PERCENTAGE), DEVICE_CLASS_SOUND: ("mdi:ear-hearing", 1, "dBa"), } diff --git a/homeassistant/components/wunderground/sensor.py b/homeassistant/components/wunderground/sensor.py index 2d9c4f5c9c1..6699c2f7e1d 100644 --- a/homeassistant/components/wunderground/sensor.py +++ b/homeassistant/components/wunderground/sensor.py @@ -24,6 +24,7 @@ from homeassistant.const import ( LENGTH_KILOMETERS, LENGTH_MILES, PERCENTAGE, + PRESSURE_INHG, SPEED_KILOMETERS_PER_HOUR, SPEED_MILES_PER_HOUR, TEMP_CELSIUS, @@ -406,7 +407,7 @@ SENSOR_TYPES = { "Precipitation Today", "precip_today_string", "mdi:umbrella" ), "pressure_in": WUCurrentConditionsSensorConfig( - "Pressure", "pressure_in", "mdi:gauge", "inHg", device_class="pressure" + "Pressure", "pressure_in", "mdi:gauge", PRESSURE_INHG, device_class="pressure" ), "pressure_mb": WUCurrentConditionsSensorConfig( "Pressure", "pressure_mb", "mdi:gauge", "mb", device_class="pressure" diff --git a/homeassistant/components/xiaomi_aqara/sensor.py b/homeassistant/components/xiaomi_aqara/sensor.py index 576e99eab4b..ed1792a5fdb 100644 --- a/homeassistant/components/xiaomi_aqara/sensor.py +++ b/homeassistant/components/xiaomi_aqara/sensor.py @@ -11,6 +11,7 @@ from homeassistant.const import ( DEVICE_CLASS_TEMPERATURE, PERCENTAGE, POWER_WATT, + PRESSURE_HPA, TEMP_CELSIUS, ) @@ -24,7 +25,7 @@ SENSOR_TYPES = { "humidity": [PERCENTAGE, None, DEVICE_CLASS_HUMIDITY], "illumination": ["lm", None, DEVICE_CLASS_ILLUMINANCE], "lux": ["lx", None, DEVICE_CLASS_ILLUMINANCE], - "pressure": ["hPa", None, DEVICE_CLASS_PRESSURE], + "pressure": [PRESSURE_HPA, None, DEVICE_CLASS_PRESSURE], "bed_activity": ["μm", None, None], "load_power": [POWER_WATT, None, DEVICE_CLASS_POWER], } diff --git a/homeassistant/components/zamg/sensor.py b/homeassistant/components/zamg/sensor.py index 9372be58493..4852e874672 100644 --- a/homeassistant/components/zamg/sensor.py +++ b/homeassistant/components/zamg/sensor.py @@ -21,6 +21,7 @@ from homeassistant.const import ( DEGREE, LENGTH_METERS, PERCENTAGE, + PRESSURE_HPA, SPEED_KILOMETERS_PER_HOUR, TEMP_CELSIUS, __version__, @@ -42,8 +43,8 @@ DEFAULT_NAME = "zamg" MIN_TIME_BETWEEN_UPDATES = timedelta(minutes=10) SENSOR_TYPES = { - "pressure": ("Pressure", "hPa", "LDstat hPa", float), - "pressure_sealevel": ("Pressure at Sea Level", "hPa", "LDred hPa", float), + "pressure": ("Pressure", PRESSURE_HPA, "LDstat hPa", float), + "pressure_sealevel": ("Pressure at Sea Level", PRESSURE_HPA, "LDred hPa", float), "humidity": ("Humidity", PERCENTAGE, "RF %", int), "wind_speed": ( "Wind Speed", diff --git a/homeassistant/components/zha/sensor.py b/homeassistant/components/zha/sensor.py index 6e2878f371b..215299ca34f 100644 --- a/homeassistant/components/zha/sensor.py +++ b/homeassistant/components/zha/sensor.py @@ -16,6 +16,7 @@ from homeassistant.const import ( ATTR_UNIT_OF_MEASUREMENT, PERCENTAGE, POWER_WATT, + PRESSURE_HPA, STATE_UNKNOWN, TEMP_CELSIUS, ) @@ -266,7 +267,7 @@ class Pressure(Sensor): SENSOR_ATTR = "measured_value" _device_class = DEVICE_CLASS_PRESSURE _decimals = 0 - _unit = "hPa" + _unit = PRESSURE_HPA @STRICT_MATCH(channel_names=CHANNEL_TEMPERATURE) diff --git a/tests/components/zha/test_sensor.py b/tests/components/zha/test_sensor.py index 7cba51b3e5c..1c7d85c4528 100644 --- a/tests/components/zha/test_sensor.py +++ b/tests/components/zha/test_sensor.py @@ -16,6 +16,7 @@ from homeassistant.const import ( CONF_UNIT_SYSTEM_METRIC, PERCENTAGE, POWER_WATT, + PRESSURE_HPA, STATE_UNAVAILABLE, STATE_UNKNOWN, TEMP_CELSIUS, @@ -48,10 +49,10 @@ async def async_test_temperature(hass, cluster, entity_id): async def async_test_pressure(hass, cluster, entity_id): """Test pressure sensor.""" await send_attributes_report(hass, cluster, {1: 1, 0: 1000, 2: 10000}) - assert_state(hass, entity_id, "1000", "hPa") + assert_state(hass, entity_id, "1000", PRESSURE_HPA) await send_attributes_report(hass, cluster, {0: 1000, 20: -1, 16: 10000}) - assert_state(hass, entity_id, "1000", "hPa") + assert_state(hass, entity_id, "1000", PRESSURE_HPA) async def async_test_illuminance(hass, cluster, entity_id): diff --git a/tests/testing_config/custom_components/test/sensor.py b/tests/testing_config/custom_components/test/sensor.py index 8d0cdf6ac93..7cb8bb070b1 100644 --- a/tests/testing_config/custom_components/test/sensor.py +++ b/tests/testing_config/custom_components/test/sensor.py @@ -4,7 +4,7 @@ Provide a mock sensor platform. Call init before using it in your tests to ensure clean test data. """ import homeassistant.components.sensor as sensor -from homeassistant.const import PERCENTAGE +from homeassistant.const import PERCENTAGE, PRESSURE_HPA from tests.common import MockEntity @@ -18,7 +18,7 @@ UNITS_OF_MEASUREMENT = { sensor.DEVICE_CLASS_SIGNAL_STRENGTH: "dB", # signal strength (dB/dBm) sensor.DEVICE_CLASS_TEMPERATURE: "C", # temperature (C/F) sensor.DEVICE_CLASS_TIMESTAMP: "hh:mm:ss", # timestamp (ISO8601) - sensor.DEVICE_CLASS_PRESSURE: "hPa", # pressure (hPa/mbar) + sensor.DEVICE_CLASS_PRESSURE: PRESSURE_HPA, # pressure (hPa/mbar) sensor.DEVICE_CLASS_POWER: "kW", # power (W/kW) sensor.DEVICE_CLASS_CURRENT: "A", # current (A) sensor.DEVICE_CLASS_ENERGY: "kWh", # energy (Wh/kWh)