diff --git a/homeassistant/components/awair/const.py b/homeassistant/components/awair/const.py index 2853ef9dd6c..1841a167a50 100644 --- a/homeassistant/components/awair/const.py +++ b/homeassistant/components/awair/const.py @@ -18,6 +18,7 @@ from homeassistant.const import ( DEVICE_CLASS_TEMPERATURE, LIGHT_LUX, PERCENTAGE, + SOUND_PRESSURE_WEIGHTED_DBA, TEMP_CELSIUS, ) @@ -72,7 +73,7 @@ SENSOR_TYPES = { API_SPL_A: { ATTR_DEVICE_CLASS: None, ATTR_ICON: "mdi:ear-hearing", - ATTR_UNIT: "dBa", + ATTR_UNIT: SOUND_PRESSURE_WEIGHTED_DBA, ATTR_LABEL: "Sound level", ATTR_UNIQUE_ID: "sound_level", }, diff --git a/homeassistant/components/demo/__init__.py b/homeassistant/components/demo/__init__.py index eef341a9c8b..db53c1c528f 100644 --- a/homeassistant/components/demo/__init__.py +++ b/homeassistant/components/demo/__init__.py @@ -2,7 +2,11 @@ import asyncio from homeassistant import bootstrap, config_entries -from homeassistant.const import ATTR_ENTITY_ID, EVENT_HOMEASSISTANT_START +from homeassistant.const import ( + ATTR_ENTITY_ID, + EVENT_HOMEASSISTANT_START, + SOUND_PRESSURE_DB, +) import homeassistant.core as ha DOMAIN = "demo" @@ -119,7 +123,7 @@ async def async_setup(hass, config): "min": 0, "max": 10, "name": "Allowed Noise", - "unit_of_measurement": "dB", + "unit_of_measurement": SOUND_PRESSURE_DB, } } }, diff --git a/homeassistant/components/isy994/const.py b/homeassistant/components/isy994/const.py index ed40c7eb289..34b89baad68 100644 --- a/homeassistant/components/isy994/const.py +++ b/homeassistant/components/isy994/const.py @@ -71,6 +71,8 @@ from homeassistant.const import ( PRESSURE_MBAR, SERVICE_LOCK, SERVICE_UNLOCK, + SOUND_PRESSURE_DB, + SOUND_PRESSURE_WEIGHTED_DBA, SPEED_INCHES_PER_DAY, SPEED_INCHES_PER_HOUR, SPEED_KILOMETERS_PER_HOUR, @@ -341,8 +343,8 @@ UOM_FRIENDLY_NAME = { "8": VOLUME_CUBIC_METERS, "9": TIME_DAYS, "10": TIME_DAYS, - "12": "dB", - "13": "dB A", + "12": SOUND_PRESSURE_DB, + "13": SOUND_PRESSURE_WEIGHTED_DBA, "14": DEGREE, "16": "macroseismic", "17": TEMP_FAHRENHEIT, diff --git a/homeassistant/components/mysensors/sensor.py b/homeassistant/components/mysensors/sensor.py index 1cb2b632362..467ab761124 100644 --- a/homeassistant/components/mysensors/sensor.py +++ b/homeassistant/components/mysensors/sensor.py @@ -20,6 +20,7 @@ from homeassistant.const import ( MASS_KILOGRAMS, PERCENTAGE, POWER_WATT, + SOUND_PRESSURE_DB, TEMP_CELSIUS, TEMP_FAHRENHEIT, VOLT, @@ -53,7 +54,7 @@ SENSORS: dict[str, list[str | None] | dict[str, list[str | None]]] = { "V_FLOW": [LENGTH_METERS, "mdi:gauge", None], "V_VOLUME": [f"{VOLUME_CUBIC_METERS}", None, None], "V_LEVEL": { - "S_SOUND": ["dB", "mdi:volume-high", None], + "S_SOUND": [SOUND_PRESSURE_DB, "mdi:volume-high", None], "S_VIBRATION": [FREQUENCY_HERTZ, None, None], "S_LIGHT_LEVEL": [LIGHT_LUX, "mdi:white-balance-sunny", None], }, diff --git a/homeassistant/components/netatmo/sensor.py b/homeassistant/components/netatmo/sensor.py index a6ba3fd1c57..035aa711a25 100644 --- a/homeassistant/components/netatmo/sensor.py +++ b/homeassistant/components/netatmo/sensor.py @@ -17,6 +17,7 @@ from homeassistant.const import ( PERCENTAGE, PRESSURE_MBAR, SIGNAL_STRENGTH_DECIBELS_MILLIWATT, + SOUND_PRESSURE_DB, SPEED_KILOMETERS_PER_HOUR, TEMP_CELSIUS, ) @@ -92,7 +93,7 @@ SENSOR_TYPES = { None, False, ], - "noise": ["Noise", "Noise", "dB", "mdi:volume-high", None, True], + "noise": ["Noise", "Noise", SOUND_PRESSURE_DB, "mdi:volume-high", None, True], "humidity": ["Humidity", "Humidity", PERCENTAGE, None, DEVICE_CLASS_HUMIDITY, True], "rain": ["Rain", "Rain", LENGTH_MILLIMETERS, "mdi:weather-rainy", None, True], "sum_rain_1": [ diff --git a/homeassistant/components/point/sensor.py b/homeassistant/components/point/sensor.py index 338ed275f50..dc34e1f9367 100644 --- a/homeassistant/components/point/sensor.py +++ b/homeassistant/components/point/sensor.py @@ -8,6 +8,7 @@ from homeassistant.const import ( DEVICE_CLASS_TEMPERATURE, PERCENTAGE, PRESSURE_HPA, + SOUND_PRESSURE_WEIGHTED_DBA, TEMP_CELSIUS, ) from homeassistant.helpers.dispatcher import async_dispatcher_connect @@ -24,7 +25,7 @@ SENSOR_TYPES = { DEVICE_CLASS_TEMPERATURE: (None, 1, TEMP_CELSIUS), DEVICE_CLASS_PRESSURE: (None, 0, PRESSURE_HPA), DEVICE_CLASS_HUMIDITY: (None, 1, PERCENTAGE), - DEVICE_CLASS_SOUND: ("mdi:ear-hearing", 1, "dBa"), + DEVICE_CLASS_SOUND: ("mdi:ear-hearing", 1, SOUND_PRESSURE_WEIGHTED_DBA), } diff --git a/homeassistant/const.py b/homeassistant/const.py index 3f07196d570..4e78e657ba6 100644 --- a/homeassistant/const.py +++ b/homeassistant/const.py @@ -467,6 +467,13 @@ PRESSURE_MBAR: Final[UnitPressureT] = UnitPressureT(UnitT("mbar")) PRESSURE_INHG: Final[UnitPressureT] = UnitPressureT(UnitT("inHg")) PRESSURE_PSI: Final[UnitPressureT] = UnitPressureT(UnitT("psi")) +# Sound pressure units +UnitSoundPressureT = NewType("UnitSoundPressureT", UnitT) +SOUND_PRESSURE_DB: Final[UnitSoundPressureT] = UnitSoundPressureT(UnitT("dB")) +SOUND_PRESSURE_WEIGHTED_DBA: Final[UnitSoundPressureT] = UnitSoundPressureT( + UnitT("dBa") +) + # Volume units UnitVolumeT = NewType("UnitVolumeT", UnitT) VOLUME_LITERS: Final[UnitVolumeT] = UnitVolumeT(UnitT("L"))