Add sound pressure unit constants (dB + dBa) (#53159)
parent
ea6e325762
commit
c35b5a1c64
|
@ -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",
|
||||
},
|
||||
|
|
|
@ -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,
|
||||
}
|
||||
}
|
||||
},
|
||||
|
|
|
@ -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,
|
||||
|
|
|
@ -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],
|
||||
},
|
||||
|
|
|
@ -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": [
|
||||
|
|
|
@ -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),
|
||||
}
|
||||
|
||||
|
||||
|
|
|
@ -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"))
|
||||
|
|
Loading…
Reference in New Issue