mirror of
https://github.com/home-assistant/core.git
synced 2025-07-20 03:37:07 +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,
|
IRRADIATION_WATTS_PER_SQUARE_METER,
|
||||||
LIGHT_LUX,
|
LIGHT_LUX,
|
||||||
PERCENTAGE,
|
PERCENTAGE,
|
||||||
|
PRECIPITATION_INCHES,
|
||||||
|
PRECIPITATION_INCHES_PER_HOUR,
|
||||||
PRESSURE_INHG,
|
PRESSURE_INHG,
|
||||||
SPEED_MILES_PER_HOUR,
|
SPEED_MILES_PER_HOUR,
|
||||||
TEMP_FAHRENHEIT,
|
TEMP_FAHRENHEIT,
|
||||||
@ -156,7 +158,7 @@ TYPE_WINDSPDMPH_AVG2M = "windspdmph_avg2m"
|
|||||||
TYPE_WINDSPEEDMPH = "windspeedmph"
|
TYPE_WINDSPEEDMPH = "windspeedmph"
|
||||||
TYPE_YEARLYRAININ = "yearlyrainin"
|
TYPE_YEARLYRAININ = "yearlyrainin"
|
||||||
SENSOR_TYPES = {
|
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_BAROMABSIN: ("Abs Pressure", PRESSURE_INHG, SENSOR, DEVICE_CLASS_PRESSURE),
|
||||||
TYPE_BAROMRELIN: ("Rel 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),
|
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_BATTOUT: ("Battery", None, BINARY_SENSOR, DEVICE_CLASS_BATTERY),
|
||||||
TYPE_BATT_CO2: ("CO2 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_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_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_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_HUMIDITY10: ("Humidity 10", PERCENTAGE, SENSOR, DEVICE_CLASS_HUMIDITY),
|
||||||
TYPE_HUMIDITY1: ("Humidity 1", PERCENTAGE, SENSOR, DEVICE_CLASS_HUMIDITY),
|
TYPE_HUMIDITY1: ("Humidity 1", PERCENTAGE, SENSOR, DEVICE_CLASS_HUMIDITY),
|
||||||
TYPE_HUMIDITY2: ("Humidity 2", 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_HUMIDITYIN: ("Humidity In", PERCENTAGE, SENSOR, DEVICE_CLASS_HUMIDITY),
|
||||||
TYPE_LASTRAIN: ("Last Rain", None, SENSOR, DEVICE_CLASS_TIMESTAMP),
|
TYPE_LASTRAIN: ("Last Rain", None, SENSOR, DEVICE_CLASS_TIMESTAMP),
|
||||||
TYPE_MAXDAILYGUST: ("Max Gust", SPEED_MILES_PER_HOUR, SENSOR, None),
|
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: (
|
TYPE_PM25_24H: (
|
||||||
"PM25 24h Avg",
|
"PM25 24h Avg",
|
||||||
CONCENTRATION_MICROGRAMS_PER_CUBIC_METER,
|
CONCENTRATION_MICROGRAMS_PER_CUBIC_METER,
|
||||||
@ -277,9 +284,9 @@ SENSOR_TYPES = {
|
|||||||
TYPE_TEMP9F: ("Temp 9", TEMP_FAHRENHEIT, SENSOR, DEVICE_CLASS_TEMPERATURE),
|
TYPE_TEMP9F: ("Temp 9", TEMP_FAHRENHEIT, SENSOR, DEVICE_CLASS_TEMPERATURE),
|
||||||
TYPE_TEMPF: ("Temp", 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_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_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: ("Wind Dir", DEGREE, SENSOR, None),
|
||||||
TYPE_WINDDIR_AVG10M: ("Wind Dir Avg 10m", 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),
|
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_AVG10M: ("Wind Avg 10m", SPEED_MILES_PER_HOUR, SENSOR, None),
|
||||||
TYPE_WINDSPDMPH_AVG2M: ("Wind Avg 2m", 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_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)
|
CONFIG_SCHEMA = cv.deprecated(DOMAIN)
|
||||||
|
@ -7,6 +7,7 @@ from homeassistant.components.sensor import SensorEntity
|
|||||||
from homeassistant.const import (
|
from homeassistant.const import (
|
||||||
DEGREE,
|
DEGREE,
|
||||||
DEVICE_CLASS_TEMPERATURE,
|
DEVICE_CLASS_TEMPERATURE,
|
||||||
|
PRECIPITATION_INCHES,
|
||||||
TEMP_CELSIUS,
|
TEMP_CELSIUS,
|
||||||
TEMP_FAHRENHEIT,
|
TEMP_FAHRENHEIT,
|
||||||
)
|
)
|
||||||
@ -44,7 +45,11 @@ def discover_sensors(topic, payload):
|
|||||||
if domain == "rain":
|
if domain == "rain":
|
||||||
if len(parts) >= 3 and parts[2] == "today":
|
if len(parts) >= 3 and parts[2] == "today":
|
||||||
return ArwnSensor(
|
return ArwnSensor(
|
||||||
topic, "Rain Since Midnight", "since_midnight", "in", "mdi:water"
|
topic,
|
||||||
|
"Rain Since Midnight",
|
||||||
|
"since_midnight",
|
||||||
|
PRECIPITATION_INCHES,
|
||||||
|
"mdi:water",
|
||||||
)
|
)
|
||||||
return (
|
return (
|
||||||
ArwnSensor(topic + "/total", "Total Rainfall", "total", unit, "mdi:water"),
|
ArwnSensor(topic + "/total", "Total Rainfall", "total", unit, "mdi:water"),
|
||||||
|
@ -18,6 +18,7 @@ from homeassistant.config_entries import ConfigEntry
|
|||||||
from homeassistant.const import (
|
from homeassistant.const import (
|
||||||
DATA_BYTES,
|
DATA_BYTES,
|
||||||
DATA_RATE_BYTES_PER_SECOND,
|
DATA_RATE_BYTES_PER_SECOND,
|
||||||
|
FREQUENCY_MEGAHERTZ,
|
||||||
PERCENTAGE,
|
PERCENTAGE,
|
||||||
STATE_UNKNOWN,
|
STATE_UNKNOWN,
|
||||||
TIME_SECONDS,
|
TIME_SECONDS,
|
||||||
@ -192,11 +193,11 @@ SENSOR_META: dict[str | tuple[str, str], SensorMeta] = {
|
|||||||
),
|
),
|
||||||
(KEY_DEVICE_SIGNAL, "ltedlfreq"): SensorMeta(
|
(KEY_DEVICE_SIGNAL, "ltedlfreq"): SensorMeta(
|
||||||
name="Downlink frequency",
|
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(
|
(KEY_DEVICE_SIGNAL, "lteulfreq"): SensorMeta(
|
||||||
name="Uplink frequency",
|
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(
|
KEY_MONITORING_CHECK_NOTIFICATIONS: SensorMeta(
|
||||||
exclude=re.compile(
|
exclude=re.compile(
|
||||||
|
@ -452,6 +452,7 @@ LENGTH_MILES: Final = "mi"
|
|||||||
|
|
||||||
# Frequency units
|
# Frequency units
|
||||||
FREQUENCY_HERTZ: Final = "Hz"
|
FREQUENCY_HERTZ: Final = "Hz"
|
||||||
|
FREQUENCY_MEGAHERTZ: Final = "MHz"
|
||||||
FREQUENCY_GIGAHERTZ: Final = "GHz"
|
FREQUENCY_GIGAHERTZ: Final = "GHz"
|
||||||
|
|
||||||
# Pressure units
|
# Pressure units
|
||||||
@ -509,6 +510,8 @@ IRRADIATION_BTUS_PER_HOUR_SQUARE_FOOT: Final = "BTU/(h×ft²)"
|
|||||||
|
|
||||||
# Precipitation units
|
# Precipitation units
|
||||||
PRECIPITATION_MILLIMETERS_PER_HOUR: Final = "mm/h"
|
PRECIPITATION_MILLIMETERS_PER_HOUR: Final = "mm/h"
|
||||||
|
PRECIPITATION_INCHES: Final = "in"
|
||||||
|
PRECIPITATION_INCHES_PER_HOUR: Final = "in/h"
|
||||||
|
|
||||||
# Concentration units
|
# Concentration units
|
||||||
CONCENTRATION_MICROGRAMS_PER_CUBIC_METER: Final = "µg/m³"
|
CONCENTRATION_MICROGRAMS_PER_CUBIC_METER: Final = "µg/m³"
|
||||||
|
Loading…
x
Reference in New Issue
Block a user