mirror of
https://github.com/home-assistant/core.git
synced 2025-04-24 01:08:12 +00:00
Add new unit constants (#53258)
* Add new unit constant - MHz * Add new unit constants - precipitation (in, in/h)
This commit is contained in:
parent
ba00c786b0
commit
fd2f15b7c7
@ -28,6 +28,8 @@ from homeassistant.const import (
|
||||
IRRADIATION_WATTS_PER_SQUARE_METER,
|
||||
LIGHT_LUX,
|
||||
PERCENTAGE,
|
||||
PRECIPITATION_INCHES,
|
||||
PRECIPITATION_INCHES_PER_HOUR,
|
||||
PRESSURE_INHG,
|
||||
SPEED_MILES_PER_HOUR,
|
||||
TEMP_FAHRENHEIT,
|
||||
@ -156,7 +158,7 @@ TYPE_WINDSPDMPH_AVG2M = "windspdmph_avg2m"
|
||||
TYPE_WINDSPEEDMPH = "windspeedmph"
|
||||
TYPE_YEARLYRAININ = "yearlyrainin"
|
||||
SENSOR_TYPES = {
|
||||
TYPE_24HOURRAININ: ("24 Hr Rain", "in", SENSOR, None),
|
||||
TYPE_24HOURRAININ: ("24 Hr Rain", PRECIPITATION_INCHES, SENSOR, None),
|
||||
TYPE_BAROMABSIN: ("Abs Pressure", PRESSURE_INHG, SENSOR, DEVICE_CLASS_PRESSURE),
|
||||
TYPE_BAROMRELIN: ("Rel Pressure", PRESSURE_INHG, SENSOR, DEVICE_CLASS_PRESSURE),
|
||||
TYPE_BATT10: ("Battery 10", None, BINARY_SENSOR, DEVICE_CLASS_BATTERY),
|
||||
@ -172,11 +174,16 @@ SENSOR_TYPES = {
|
||||
TYPE_BATTOUT: ("Battery", None, BINARY_SENSOR, DEVICE_CLASS_BATTERY),
|
||||
TYPE_BATT_CO2: ("CO2 Battery", None, BINARY_SENSOR, DEVICE_CLASS_BATTERY),
|
||||
TYPE_CO2: ("co2", CONCENTRATION_PARTS_PER_MILLION, SENSOR, DEVICE_CLASS_CO2),
|
||||
TYPE_DAILYRAININ: ("Daily Rain", "in", SENSOR, None),
|
||||
TYPE_DAILYRAININ: ("Daily Rain", PRECIPITATION_INCHES, SENSOR, None),
|
||||
TYPE_DEWPOINT: ("Dew Point", TEMP_FAHRENHEIT, SENSOR, DEVICE_CLASS_TEMPERATURE),
|
||||
TYPE_EVENTRAININ: ("Event Rain", "in", SENSOR, None),
|
||||
TYPE_EVENTRAININ: ("Event Rain", PRECIPITATION_INCHES, SENSOR, None),
|
||||
TYPE_FEELSLIKE: ("Feels Like", TEMP_FAHRENHEIT, SENSOR, DEVICE_CLASS_TEMPERATURE),
|
||||
TYPE_HOURLYRAININ: ("Hourly Rain Rate", "in/hr", SENSOR, None),
|
||||
TYPE_HOURLYRAININ: (
|
||||
"Hourly Rain Rate",
|
||||
PRECIPITATION_INCHES_PER_HOUR,
|
||||
SENSOR,
|
||||
None,
|
||||
),
|
||||
TYPE_HUMIDITY10: ("Humidity 10", PERCENTAGE, SENSOR, DEVICE_CLASS_HUMIDITY),
|
||||
TYPE_HUMIDITY1: ("Humidity 1", PERCENTAGE, SENSOR, DEVICE_CLASS_HUMIDITY),
|
||||
TYPE_HUMIDITY2: ("Humidity 2", PERCENTAGE, SENSOR, DEVICE_CLASS_HUMIDITY),
|
||||
@ -191,7 +198,7 @@ SENSOR_TYPES = {
|
||||
TYPE_HUMIDITYIN: ("Humidity In", PERCENTAGE, SENSOR, DEVICE_CLASS_HUMIDITY),
|
||||
TYPE_LASTRAIN: ("Last Rain", None, SENSOR, DEVICE_CLASS_TIMESTAMP),
|
||||
TYPE_MAXDAILYGUST: ("Max Gust", SPEED_MILES_PER_HOUR, SENSOR, None),
|
||||
TYPE_MONTHLYRAININ: ("Monthly Rain", "in", SENSOR, None),
|
||||
TYPE_MONTHLYRAININ: ("Monthly Rain", PRECIPITATION_INCHES, SENSOR, None),
|
||||
TYPE_PM25_24H: (
|
||||
"PM25 24h Avg",
|
||||
CONCENTRATION_MICROGRAMS_PER_CUBIC_METER,
|
||||
@ -277,9 +284,9 @@ SENSOR_TYPES = {
|
||||
TYPE_TEMP9F: ("Temp 9", TEMP_FAHRENHEIT, SENSOR, DEVICE_CLASS_TEMPERATURE),
|
||||
TYPE_TEMPF: ("Temp", TEMP_FAHRENHEIT, SENSOR, DEVICE_CLASS_TEMPERATURE),
|
||||
TYPE_TEMPINF: ("Inside Temp", TEMP_FAHRENHEIT, SENSOR, DEVICE_CLASS_TEMPERATURE),
|
||||
TYPE_TOTALRAININ: ("Lifetime Rain", "in", SENSOR, None),
|
||||
TYPE_TOTALRAININ: ("Lifetime Rain", PRECIPITATION_INCHES, SENSOR, None),
|
||||
TYPE_UV: ("uv", "Index", SENSOR, None),
|
||||
TYPE_WEEKLYRAININ: ("Weekly Rain", "in", SENSOR, None),
|
||||
TYPE_WEEKLYRAININ: ("Weekly Rain", PRECIPITATION_INCHES, SENSOR, None),
|
||||
TYPE_WINDDIR: ("Wind Dir", DEGREE, SENSOR, None),
|
||||
TYPE_WINDDIR_AVG10M: ("Wind Dir Avg 10m", DEGREE, SENSOR, None),
|
||||
TYPE_WINDDIR_AVG2M: ("Wind Dir Avg 2m", SPEED_MILES_PER_HOUR, SENSOR, None),
|
||||
@ -288,7 +295,7 @@ SENSOR_TYPES = {
|
||||
TYPE_WINDSPDMPH_AVG10M: ("Wind Avg 10m", SPEED_MILES_PER_HOUR, SENSOR, None),
|
||||
TYPE_WINDSPDMPH_AVG2M: ("Wind Avg 2m", SPEED_MILES_PER_HOUR, SENSOR, None),
|
||||
TYPE_WINDSPEEDMPH: ("Wind Speed", SPEED_MILES_PER_HOUR, SENSOR, None),
|
||||
TYPE_YEARLYRAININ: ("Yearly Rain", "in", SENSOR, None),
|
||||
TYPE_YEARLYRAININ: ("Yearly Rain", PRECIPITATION_INCHES, SENSOR, None),
|
||||
}
|
||||
|
||||
CONFIG_SCHEMA = cv.deprecated(DOMAIN)
|
||||
|
@ -7,6 +7,7 @@ from homeassistant.components.sensor import SensorEntity
|
||||
from homeassistant.const import (
|
||||
DEGREE,
|
||||
DEVICE_CLASS_TEMPERATURE,
|
||||
PRECIPITATION_INCHES,
|
||||
TEMP_CELSIUS,
|
||||
TEMP_FAHRENHEIT,
|
||||
)
|
||||
@ -44,7 +45,11 @@ def discover_sensors(topic, payload):
|
||||
if domain == "rain":
|
||||
if len(parts) >= 3 and parts[2] == "today":
|
||||
return ArwnSensor(
|
||||
topic, "Rain Since Midnight", "since_midnight", "in", "mdi:water"
|
||||
topic,
|
||||
"Rain Since Midnight",
|
||||
"since_midnight",
|
||||
PRECIPITATION_INCHES,
|
||||
"mdi:water",
|
||||
)
|
||||
return (
|
||||
ArwnSensor(topic + "/total", "Total Rainfall", "total", unit, "mdi:water"),
|
||||
|
@ -18,6 +18,7 @@ from homeassistant.config_entries import ConfigEntry
|
||||
from homeassistant.const import (
|
||||
DATA_BYTES,
|
||||
DATA_RATE_BYTES_PER_SECOND,
|
||||
FREQUENCY_MEGAHERTZ,
|
||||
PERCENTAGE,
|
||||
STATE_UNKNOWN,
|
||||
TIME_SECONDS,
|
||||
@ -192,11 +193,11 @@ SENSOR_META: dict[str | tuple[str, str], SensorMeta] = {
|
||||
),
|
||||
(KEY_DEVICE_SIGNAL, "ltedlfreq"): SensorMeta(
|
||||
name="Downlink frequency",
|
||||
formatter=lambda x: (round(int(x) / 10), "MHz"),
|
||||
formatter=lambda x: (round(int(x) / 10), FREQUENCY_MEGAHERTZ),
|
||||
),
|
||||
(KEY_DEVICE_SIGNAL, "lteulfreq"): SensorMeta(
|
||||
name="Uplink frequency",
|
||||
formatter=lambda x: (round(int(x) / 10), "MHz"),
|
||||
formatter=lambda x: (round(int(x) / 10), FREQUENCY_MEGAHERTZ),
|
||||
),
|
||||
KEY_MONITORING_CHECK_NOTIFICATIONS: SensorMeta(
|
||||
exclude=re.compile(
|
||||
|
@ -452,6 +452,7 @@ LENGTH_MILES: Final = "mi"
|
||||
|
||||
# Frequency units
|
||||
FREQUENCY_HERTZ: Final = "Hz"
|
||||
FREQUENCY_MEGAHERTZ: Final = "MHz"
|
||||
FREQUENCY_GIGAHERTZ: Final = "GHz"
|
||||
|
||||
# Pressure units
|
||||
@ -509,6 +510,8 @@ IRRADIATION_BTUS_PER_HOUR_SQUARE_FOOT: Final = "BTU/(h×ft²)"
|
||||
|
||||
# Precipitation units
|
||||
PRECIPITATION_MILLIMETERS_PER_HOUR: Final = "mm/h"
|
||||
PRECIPITATION_INCHES: Final = "in"
|
||||
PRECIPITATION_INCHES_PER_HOUR: Final = "in/h"
|
||||
|
||||
# Concentration units
|
||||
CONCENTRATION_MICROGRAMS_PER_CUBIC_METER: Final = "µg/m³"
|
||||
|
Loading…
x
Reference in New Issue
Block a user