mirror of
https://github.com/home-assistant/core.git
synced 2025-04-24 01:08:12 +00:00
Use strings instead of f-strings for constants (#40619)
This commit is contained in:
parent
c8a940c59f
commit
30b94892c4
@ -1,6 +1,7 @@
|
||||
"""Constants for AccuWeather integration."""
|
||||
from homeassistant.const import (
|
||||
ATTR_DEVICE_CLASS,
|
||||
CONCENTRATION_PARTS_PER_CUBIC_METER,
|
||||
DEVICE_CLASS_TEMPERATURE,
|
||||
LENGTH_FEET,
|
||||
LENGTH_INCHES,
|
||||
@ -13,7 +14,6 @@ from homeassistant.const import (
|
||||
TEMP_FAHRENHEIT,
|
||||
TIME_HOURS,
|
||||
UV_INDEX,
|
||||
VOLUME_CUBIC_METERS,
|
||||
)
|
||||
|
||||
ATTRIBUTION = "Data provided by AccuWeather"
|
||||
@ -22,7 +22,6 @@ ATTR_FORECAST = CONF_FORECAST = "forecast"
|
||||
ATTR_LABEL = "label"
|
||||
ATTR_UNIT_IMPERIAL = "Imperial"
|
||||
ATTR_UNIT_METRIC = "Metric"
|
||||
CONCENTRATION_PARTS_PER_CUBIC_METER = f"p/{VOLUME_CUBIC_METERS}"
|
||||
COORDINATOR = "coordinator"
|
||||
DOMAIN = "accuweather"
|
||||
MANUFACTURER = "AccuWeather, Inc."
|
||||
|
@ -9,7 +9,6 @@ import voluptuous as vol
|
||||
from homeassistant.components.binary_sensor import DEVICE_CLASS_CONNECTIVITY
|
||||
from homeassistant.config_entries import SOURCE_IMPORT
|
||||
from homeassistant.const import (
|
||||
AREA_SQUARE_METERS,
|
||||
ATTR_LOCATION,
|
||||
ATTR_NAME,
|
||||
CONCENTRATION_MICROGRAMS_PER_CUBIC_METER,
|
||||
@ -17,9 +16,9 @@ from homeassistant.const import (
|
||||
CONF_API_KEY,
|
||||
DEGREE,
|
||||
EVENT_HOMEASSISTANT_STOP,
|
||||
IRRADIATION_WATTS_PER_SQUARE_METER,
|
||||
LIGHT_LUX,
|
||||
PERCENTAGE,
|
||||
POWER_WATT,
|
||||
PRESSURE_INHG,
|
||||
SPEED_MILES_PER_HOUR,
|
||||
TEMP_FAHRENHEIT,
|
||||
@ -211,7 +210,7 @@ SENSOR_TYPES = {
|
||||
TYPE_SOILTEMP9F: ("Soil Temp 9", TEMP_FAHRENHEIT, TYPE_SENSOR, "temperature"),
|
||||
TYPE_SOLARRADIATION: (
|
||||
"Solar Rad",
|
||||
f"{POWER_WATT}/{AREA_SQUARE_METERS}",
|
||||
IRRADIATION_WATTS_PER_SQUARE_METER,
|
||||
TYPE_SENSOR,
|
||||
None,
|
||||
),
|
||||
|
@ -32,10 +32,10 @@ from homeassistant.const import (
|
||||
LENGTH_KILOMETERS,
|
||||
LENGTH_MILLIMETERS,
|
||||
PERCENTAGE,
|
||||
PRECIPITATION_MILLIMETERS_PER_HOUR,
|
||||
PRESSURE_HPA,
|
||||
SPEED_KILOMETERS_PER_HOUR,
|
||||
TEMP_CELSIUS,
|
||||
TIME_HOURS,
|
||||
)
|
||||
from homeassistant.core import callback
|
||||
import homeassistant.helpers.config_validation as cv
|
||||
@ -85,13 +85,13 @@ SENSOR_TYPES = {
|
||||
"windgust": ["Wind gust", SPEED_KILOMETERS_PER_HOUR, "mdi:weather-windy"],
|
||||
"precipitation": [
|
||||
"Precipitation",
|
||||
f"{LENGTH_MILLIMETERS}/{TIME_HOURS}",
|
||||
PRECIPITATION_MILLIMETERS_PER_HOUR,
|
||||
"mdi:weather-pouring",
|
||||
],
|
||||
"irradiance": ["Irradiance", IRRADIATION_WATTS_PER_SQUARE_METER, "mdi:sunglasses"],
|
||||
"precipitation_forecast_average": [
|
||||
"Precipitation forecast average",
|
||||
f"{LENGTH_MILLIMETERS}/{TIME_HOURS}",
|
||||
PRECIPITATION_MILLIMETERS_PER_HOUR,
|
||||
"mdi:weather-pouring",
|
||||
],
|
||||
"precipitation_forecast_total": [
|
||||
|
@ -33,8 +33,7 @@ from homeassistant.const import (
|
||||
POWER_WATT,
|
||||
TEMP_CELSIUS,
|
||||
TIME_DAYS,
|
||||
TIME_HOURS,
|
||||
VOLUME_CUBIC_METERS,
|
||||
VOLUME_FLOW_RATE_CUBIC_METERS_PER_HOUR,
|
||||
)
|
||||
import homeassistant.helpers.config_validation as cv
|
||||
from homeassistant.helpers.dispatcher import async_dispatcher_connect
|
||||
@ -160,14 +159,14 @@ SENSOR_TYPES = {
|
||||
ATTR_AIR_FLOW_SUPPLY: {
|
||||
ATTR_DEVICE_CLASS: None,
|
||||
ATTR_LABEL: "Supply airflow",
|
||||
ATTR_UNIT: f"{VOLUME_CUBIC_METERS}/{TIME_HOURS}",
|
||||
ATTR_UNIT: VOLUME_FLOW_RATE_CUBIC_METERS_PER_HOUR,
|
||||
ATTR_ICON: "mdi:fan",
|
||||
ATTR_ID: SENSOR_FAN_SUPPLY_FLOW,
|
||||
},
|
||||
ATTR_AIR_FLOW_EXHAUST: {
|
||||
ATTR_DEVICE_CLASS: None,
|
||||
ATTR_LABEL: "Exhaust airflow",
|
||||
ATTR_UNIT: f"{VOLUME_CUBIC_METERS}/{TIME_HOURS}",
|
||||
ATTR_UNIT: VOLUME_FLOW_RATE_CUBIC_METERS_PER_HOUR,
|
||||
ATTR_ICON: "mdi:fan",
|
||||
ATTR_ID: SENSOR_FAN_EXHAUST_FLOW,
|
||||
},
|
||||
|
@ -18,15 +18,14 @@ from homeassistant.const import (
|
||||
DEGREE,
|
||||
LENGTH_CENTIMETERS,
|
||||
LENGTH_KILOMETERS,
|
||||
LENGTH_MILLIMETERS,
|
||||
PERCENTAGE,
|
||||
PRECIPITATION_MILLIMETERS_PER_HOUR,
|
||||
PRESSURE_MBAR,
|
||||
SPEED_KILOMETERS_PER_HOUR,
|
||||
SPEED_METERS_PER_SECOND,
|
||||
SPEED_MILES_PER_HOUR,
|
||||
TEMP_CELSIUS,
|
||||
TEMP_FAHRENHEIT,
|
||||
TIME_HOURS,
|
||||
UV_INDEX,
|
||||
)
|
||||
import homeassistant.helpers.config_validation as cv
|
||||
@ -111,11 +110,11 @@ SENSOR_TYPES = {
|
||||
],
|
||||
"precip_intensity": [
|
||||
"Precip Intensity",
|
||||
f"{LENGTH_MILLIMETERS}/{TIME_HOURS}",
|
||||
PRECIPITATION_MILLIMETERS_PER_HOUR,
|
||||
"in",
|
||||
f"{LENGTH_MILLIMETERS}/{TIME_HOURS}",
|
||||
f"{LENGTH_MILLIMETERS}/{TIME_HOURS}",
|
||||
f"{LENGTH_MILLIMETERS}/{TIME_HOURS}",
|
||||
PRECIPITATION_MILLIMETERS_PER_HOUR,
|
||||
PRECIPITATION_MILLIMETERS_PER_HOUR,
|
||||
PRECIPITATION_MILLIMETERS_PER_HOUR,
|
||||
"mdi:weather-rainy",
|
||||
["currently", "minutely", "hourly", "daily"],
|
||||
],
|
||||
@ -331,11 +330,11 @@ SENSOR_TYPES = {
|
||||
],
|
||||
"precip_intensity_max": [
|
||||
"Daily Max Precip Intensity",
|
||||
f"{LENGTH_MILLIMETERS}/{TIME_HOURS}",
|
||||
PRECIPITATION_MILLIMETERS_PER_HOUR,
|
||||
"in",
|
||||
f"{LENGTH_MILLIMETERS}/{TIME_HOURS}",
|
||||
f"{LENGTH_MILLIMETERS}/{TIME_HOURS}",
|
||||
f"{LENGTH_MILLIMETERS}/{TIME_HOURS}",
|
||||
PRECIPITATION_MILLIMETERS_PER_HOUR,
|
||||
PRECIPITATION_MILLIMETERS_PER_HOUR,
|
||||
PRECIPITATION_MILLIMETERS_PER_HOUR,
|
||||
"mdi:thermometer",
|
||||
["daily"],
|
||||
],
|
||||
|
@ -44,13 +44,14 @@ from homeassistant.components.lock import DOMAIN as LOCK
|
||||
from homeassistant.components.sensor import DOMAIN as SENSOR
|
||||
from homeassistant.components.switch import DOMAIN as SWITCH
|
||||
from homeassistant.const import (
|
||||
AREA_SQUARE_METERS,
|
||||
CONCENTRATION_PARTS_PER_MILLION,
|
||||
CURRENCY_CENT,
|
||||
CURRENCY_DOLLAR,
|
||||
DEGREE,
|
||||
ENERGY_KILO_WATT_HOUR,
|
||||
ENERGY_WATT_HOUR,
|
||||
FREQUENCY_HERTZ,
|
||||
IRRADIATION_WATTS_PER_SQUARE_METER,
|
||||
LENGTH_CENTIMETERS,
|
||||
LENGTH_FEET,
|
||||
LENGTH_INCHES,
|
||||
@ -62,15 +63,20 @@ from homeassistant.const import (
|
||||
MASS_KILOGRAMS,
|
||||
MASS_POUNDS,
|
||||
PERCENTAGE,
|
||||
POWER_KILO_WATT,
|
||||
POWER_WATT,
|
||||
PRECIPITATION_MILLIMETERS_PER_HOUR,
|
||||
PRESSURE_HPA,
|
||||
PRESSURE_INHG,
|
||||
PRESSURE_MBAR,
|
||||
SERVICE_LOCK,
|
||||
SERVICE_UNLOCK,
|
||||
SPEED_INCHES_PER_DAY,
|
||||
SPEED_INCHES_PER_HOUR,
|
||||
SPEED_KILOMETERS_PER_HOUR,
|
||||
SPEED_METERS_PER_SECOND,
|
||||
SPEED_MILES_PER_HOUR,
|
||||
SPEED_MILLIMETERS_PER_DAY,
|
||||
STATE_CLOSED,
|
||||
STATE_CLOSING,
|
||||
STATE_LOCKED,
|
||||
@ -95,6 +101,8 @@ from homeassistant.const import (
|
||||
VOLT,
|
||||
VOLUME_CUBIC_FEET,
|
||||
VOLUME_CUBIC_METERS,
|
||||
VOLUME_FLOW_RATE_CUBIC_FEET_PER_MINUTE,
|
||||
VOLUME_FLOW_RATE_CUBIC_METERS_PER_HOUR,
|
||||
VOLUME_GALLONS,
|
||||
VOLUME_LITERS,
|
||||
)
|
||||
@ -328,8 +336,8 @@ UOM_FRIENDLY_NAME = {
|
||||
"4": TEMP_CELSIUS,
|
||||
"5": LENGTH_CENTIMETERS,
|
||||
"6": VOLUME_CUBIC_FEET,
|
||||
"7": f"{VOLUME_CUBIC_FEET}/{TIME_MINUTES}",
|
||||
"8": f"{VOLUME_CUBIC_METERS}",
|
||||
"7": VOLUME_FLOW_RATE_CUBIC_FEET_PER_MINUTE,
|
||||
"8": VOLUME_CUBIC_METERS,
|
||||
"9": TIME_DAYS,
|
||||
"10": TIME_DAYS,
|
||||
"12": "dB",
|
||||
@ -343,13 +351,13 @@ UOM_FRIENDLY_NAME = {
|
||||
"21": "%AH",
|
||||
"22": "%RH",
|
||||
"23": PRESSURE_INHG,
|
||||
"24": f"{LENGTH_INCHES}/{TIME_HOURS}",
|
||||
"24": SPEED_INCHES_PER_HOUR,
|
||||
UOM_INDEX: "index", # Index type. Use "node.formatted" for value
|
||||
"26": TEMP_KELVIN,
|
||||
"27": "keyword",
|
||||
"28": MASS_KILOGRAMS,
|
||||
"29": "kV",
|
||||
"30": "kW",
|
||||
"30": POWER_KILO_WATT,
|
||||
"31": "kPa",
|
||||
"32": SPEED_KILOMETERS_PER_HOUR,
|
||||
"33": ENERGY_KILO_WATT_HOUR,
|
||||
@ -358,14 +366,14 @@ UOM_FRIENDLY_NAME = {
|
||||
"36": LIGHT_LUX,
|
||||
"37": "mercalli",
|
||||
"38": LENGTH_METERS,
|
||||
"39": f"{VOLUME_CUBIC_METERS}/{TIME_HOURS}",
|
||||
"39": VOLUME_FLOW_RATE_CUBIC_METERS_PER_HOUR,
|
||||
"40": SPEED_METERS_PER_SECOND,
|
||||
"41": "mA",
|
||||
"42": TIME_MILLISECONDS,
|
||||
"43": "mV",
|
||||
"44": TIME_MINUTES,
|
||||
"45": TIME_MINUTES,
|
||||
"46": f"{LENGTH_MILLIMETERS}/{TIME_HOURS}",
|
||||
"46": PRECIPITATION_MILLIMETERS_PER_HOUR,
|
||||
"47": TIME_MONTHS,
|
||||
"48": SPEED_MILES_PER_HOUR,
|
||||
"49": SPEED_METERS_PER_SECOND,
|
||||
@ -388,7 +396,7 @@ UOM_FRIENDLY_NAME = {
|
||||
"71": UV_INDEX,
|
||||
"72": VOLT,
|
||||
"73": POWER_WATT,
|
||||
"74": f"{POWER_WATT}/{AREA_SQUARE_METERS}",
|
||||
"74": IRRADIATION_WATTS_PER_SQUARE_METER,
|
||||
"75": "weekday",
|
||||
"76": DEGREE,
|
||||
"77": TIME_YEARS,
|
||||
@ -408,7 +416,7 @@ UOM_FRIENDLY_NAME = {
|
||||
"103": CURRENCY_DOLLAR,
|
||||
"104": CURRENCY_CENT,
|
||||
"105": LENGTH_INCHES,
|
||||
"106": f"{LENGTH_MILLIMETERS}/{TIME_DAYS}",
|
||||
"106": SPEED_MILLIMETERS_PER_DAY,
|
||||
"107": "", # raw 1-byte unsigned value
|
||||
"108": "", # raw 2-byte unsigned value
|
||||
"109": "", # raw 3-byte unsigned value
|
||||
@ -420,8 +428,8 @@ UOM_FRIENDLY_NAME = {
|
||||
"116": LENGTH_MILES,
|
||||
"117": PRESSURE_MBAR,
|
||||
"118": PRESSURE_HPA,
|
||||
"119": f"{POWER_WATT}{TIME_HOURS}",
|
||||
"120": f"{LENGTH_INCHES}/{TIME_DAYS}",
|
||||
"119": ENERGY_WATT_HOUR,
|
||||
"120": SPEED_INCHES_PER_DAY,
|
||||
}
|
||||
|
||||
UOM_TO_STATES = {
|
||||
|
@ -27,11 +27,11 @@ from homeassistant.const import (
|
||||
LENGTH_MILLIMETERS,
|
||||
PERCENTAGE,
|
||||
POWER_WATT,
|
||||
PRECIPITATION_MILLIMETERS_PER_HOUR,
|
||||
PRESSURE_HPA,
|
||||
SIGNAL_STRENGTH_DECIBELS_MILLIWATT,
|
||||
SPEED_METERS_PER_SECOND,
|
||||
TEMP_CELSIUS,
|
||||
TIME_HOURS,
|
||||
UV_INDEX,
|
||||
VOLT,
|
||||
)
|
||||
@ -70,7 +70,7 @@ DATA_TYPES = OrderedDict(
|
||||
("Humidity", PERCENTAGE),
|
||||
("Barometer", PRESSURE_HPA),
|
||||
("Wind direction", DEGREE),
|
||||
("Rain rate", f"{LENGTH_MILLIMETERS}/{TIME_HOURS}"),
|
||||
("Rain rate", PRECIPITATION_MILLIMETERS_PER_HOUR),
|
||||
("Energy usage", POWER_WATT),
|
||||
("Total usage", ENERGY_KILO_WATT_HOUR),
|
||||
("Sound", None),
|
||||
|
@ -8,9 +8,9 @@ from homeassistant.const import (
|
||||
LIGHT_LUX,
|
||||
PERCENTAGE,
|
||||
POWER_WATT,
|
||||
PRECIPITATION_MILLIMETERS_PER_HOUR,
|
||||
SPEED_METERS_PER_SECOND,
|
||||
TEMP_CELSIUS,
|
||||
TIME_HOURS,
|
||||
UV_INDEX,
|
||||
)
|
||||
from homeassistant.helpers.dispatcher import async_dispatcher_connect
|
||||
@ -40,7 +40,7 @@ SENSOR_TYPES = {
|
||||
SENSOR_TYPE_HUMIDITY: ["Humidity", PERCENTAGE, None, DEVICE_CLASS_HUMIDITY],
|
||||
SENSOR_TYPE_RAINRATE: [
|
||||
"Rain rate",
|
||||
f"{LENGTH_MILLIMETERS}/{TIME_HOURS}",
|
||||
PRECIPITATION_MILLIMETERS_PER_HOUR,
|
||||
"mdi:water",
|
||||
None,
|
||||
],
|
||||
|
@ -5,8 +5,8 @@ from homeassistant.const import (
|
||||
POWER_WATT,
|
||||
TIME_HOURS,
|
||||
TIME_SECONDS,
|
||||
VOLUME_CUBIC_FEET,
|
||||
VOLUME_CUBIC_METERS,
|
||||
VOLUME_FLOW_RATE_CUBIC_FEET_PER_MINUTE,
|
||||
VOLUME_FLOW_RATE_CUBIC_METERS_PER_HOUR,
|
||||
)
|
||||
from homeassistant.core import callback
|
||||
|
||||
@ -63,8 +63,8 @@ class Metering(ZigbeeChannel):
|
||||
|
||||
unit_of_measure_map = {
|
||||
0x00: POWER_WATT,
|
||||
0x01: f"{VOLUME_CUBIC_METERS}/{TIME_HOURS}",
|
||||
0x02: f"{VOLUME_CUBIC_FEET}/{TIME_HOURS}",
|
||||
0x01: VOLUME_FLOW_RATE_CUBIC_METERS_PER_HOUR,
|
||||
0x02: VOLUME_FLOW_RATE_CUBIC_FEET_PER_MINUTE,
|
||||
0x03: f"ccf/{TIME_HOURS}",
|
||||
0x04: f"US gal/{TIME_HOURS}",
|
||||
0x05: f"IMP gal/{TIME_HOURS}",
|
||||
|
@ -370,18 +370,18 @@ ATTR_TEMPERATURE = "temperature"
|
||||
# #### UNITS OF MEASUREMENT ####
|
||||
# Power units
|
||||
POWER_WATT = "W"
|
||||
POWER_KILO_WATT = f"k{POWER_WATT}"
|
||||
POWER_KILO_WATT = "kW"
|
||||
|
||||
# Voltage units
|
||||
VOLT = "V"
|
||||
|
||||
# Energy units
|
||||
ENERGY_WATT_HOUR = f"{POWER_WATT}h"
|
||||
ENERGY_KILO_WATT_HOUR = f"k{ENERGY_WATT_HOUR}"
|
||||
ENERGY_WATT_HOUR = "Wh"
|
||||
ENERGY_KILO_WATT_HOUR = "kWh"
|
||||
|
||||
# Electrical units
|
||||
ELECTRICAL_CURRENT_AMPERE = "A"
|
||||
ELECTRICAL_VOLT_AMPERE = f"{VOLT}{ELECTRICAL_CURRENT_AMPERE}"
|
||||
ELECTRICAL_VOLT_AMPERE = "VA"
|
||||
|
||||
# Degree units
|
||||
DEGREE = "°"
|
||||
@ -392,8 +392,8 @@ CURRENCY_DOLLAR = "$"
|
||||
CURRENCY_CENT = "¢"
|
||||
|
||||
# Temperature units
|
||||
TEMP_CELSIUS = f"{DEGREE}C"
|
||||
TEMP_FAHRENHEIT = f"{DEGREE}F"
|
||||
TEMP_CELSIUS = "°C"
|
||||
TEMP_FAHRENHEIT = "°F"
|
||||
TEMP_KELVIN = "K"
|
||||
|
||||
# Time units
|
||||
@ -420,7 +420,7 @@ LENGTH_MILES: str = "mi"
|
||||
|
||||
# Frequency units
|
||||
FREQUENCY_HERTZ = "Hz"
|
||||
FREQUENCY_GIGAHERTZ = f"G{FREQUENCY_HERTZ}"
|
||||
FREQUENCY_GIGAHERTZ = "GHz"
|
||||
|
||||
# Pressure units
|
||||
PRESSURE_PA: str = "Pa"
|
||||
@ -433,14 +433,18 @@ PRESSURE_PSI: str = "psi"
|
||||
# Volume units
|
||||
VOLUME_LITERS: str = "L"
|
||||
VOLUME_MILLILITERS: str = "mL"
|
||||
VOLUME_CUBIC_METERS = f"{LENGTH_METERS}³"
|
||||
VOLUME_CUBIC_FEET = f"{LENGTH_FEET}³"
|
||||
VOLUME_CUBIC_METERS = "m³"
|
||||
VOLUME_CUBIC_FEET = "ft³"
|
||||
|
||||
VOLUME_GALLONS: str = "gal"
|
||||
VOLUME_FLUID_OUNCE: str = "fl. oz."
|
||||
|
||||
# Volume Flow Rate units
|
||||
VOLUME_FLOW_RATE_CUBIC_METERS_PER_HOUR = "m³/h"
|
||||
VOLUME_FLOW_RATE_CUBIC_FEET_PER_MINUTE = "ft³/m"
|
||||
|
||||
# Area units
|
||||
AREA_SQUARE_METERS = f"{LENGTH_METERS}²"
|
||||
AREA_SQUARE_METERS = "m²"
|
||||
|
||||
# Mass units
|
||||
MASS_GRAMS: str = "g"
|
||||
@ -452,7 +456,7 @@ MASS_OUNCES: str = "oz"
|
||||
MASS_POUNDS: str = "lb"
|
||||
|
||||
# Conductivity units
|
||||
CONDUCTIVITY: str = f"µS/{LENGTH_CENTIMETERS}"
|
||||
CONDUCTIVITY: str = "µS/cm"
|
||||
|
||||
# Light units
|
||||
LIGHT_LUX: str = "lx"
|
||||
@ -464,17 +468,24 @@ UV_INDEX: str = "UV index"
|
||||
PERCENTAGE = "%"
|
||||
|
||||
# Irradiation units
|
||||
IRRADIATION_WATTS_PER_SQUARE_METER = f"{POWER_WATT}/{AREA_SQUARE_METERS}"
|
||||
IRRADIATION_WATTS_PER_SQUARE_METER = "W/m²"
|
||||
|
||||
# Precipitation units
|
||||
PRECIPITATION_MILLIMETERS_PER_HOUR = "mm/h"
|
||||
|
||||
# Concentration units
|
||||
CONCENTRATION_MICROGRAMS_PER_CUBIC_METER = f"{MASS_MICROGRAMS}/{VOLUME_CUBIC_METERS}"
|
||||
CONCENTRATION_MILLIGRAMS_PER_CUBIC_METER = f"{MASS_MILLIGRAMS}/{VOLUME_CUBIC_METERS}"
|
||||
CONCENTRATION_MICROGRAMS_PER_CUBIC_METER = "µg/m³"
|
||||
CONCENTRATION_MILLIGRAMS_PER_CUBIC_METER = "mg/m³"
|
||||
CONCENTRATION_PARTS_PER_CUBIC_METER = "p/m³"
|
||||
CONCENTRATION_PARTS_PER_MILLION = "ppm"
|
||||
CONCENTRATION_PARTS_PER_BILLION = "ppb"
|
||||
|
||||
# Speed units
|
||||
SPEED_METERS_PER_SECOND = f"{LENGTH_METERS}/{TIME_SECONDS}"
|
||||
SPEED_KILOMETERS_PER_HOUR = f"{LENGTH_KILOMETERS}/{TIME_HOURS}"
|
||||
SPEED_MILLIMETERS_PER_DAY = "mm/d"
|
||||
SPEED_INCHES_PER_DAY = "in/d"
|
||||
SPEED_METERS_PER_SECOND = "m/s"
|
||||
SPEED_INCHES_PER_HOUR = "in/h"
|
||||
SPEED_KILOMETERS_PER_HOUR = "km/h"
|
||||
SPEED_MILES_PER_HOUR = "mph"
|
||||
|
||||
# Signal_strength units
|
||||
@ -503,17 +514,17 @@ DATA_PEBIBYTES = "PiB"
|
||||
DATA_EXBIBYTES = "EiB"
|
||||
DATA_ZEBIBYTES = "ZiB"
|
||||
DATA_YOBIBYTES = "YiB"
|
||||
DATA_RATE_BITS_PER_SECOND = f"{DATA_BITS}/{TIME_SECONDS}"
|
||||
DATA_RATE_KILOBITS_PER_SECOND = f"{DATA_KILOBITS}/{TIME_SECONDS}"
|
||||
DATA_RATE_MEGABITS_PER_SECOND = f"{DATA_MEGABITS}/{TIME_SECONDS}"
|
||||
DATA_RATE_GIGABITS_PER_SECOND = f"{DATA_GIGABITS}/{TIME_SECONDS}"
|
||||
DATA_RATE_BYTES_PER_SECOND = f"{DATA_BYTES}/{TIME_SECONDS}"
|
||||
DATA_RATE_KILOBYTES_PER_SECOND = f"{DATA_KILOBYTES}/{TIME_SECONDS}"
|
||||
DATA_RATE_MEGABYTES_PER_SECOND = f"{DATA_MEGABYTES}/{TIME_SECONDS}"
|
||||
DATA_RATE_GIGABYTES_PER_SECOND = f"{DATA_GIGABYTES}/{TIME_SECONDS}"
|
||||
DATA_RATE_KIBIBYTES_PER_SECOND = f"{DATA_KIBIBYTES}/{TIME_SECONDS}"
|
||||
DATA_RATE_MEBIBYTES_PER_SECOND = f"{DATA_MEBIBYTES}/{TIME_SECONDS}"
|
||||
DATA_RATE_GIBIBYTES_PER_SECOND = f"{DATA_GIBIBYTES}/{TIME_SECONDS}"
|
||||
DATA_RATE_BITS_PER_SECOND = "bit/s"
|
||||
DATA_RATE_KILOBITS_PER_SECOND = "kbit/s"
|
||||
DATA_RATE_MEGABITS_PER_SECOND = "Mbit/s"
|
||||
DATA_RATE_GIGABITS_PER_SECOND = "Gbit/s"
|
||||
DATA_RATE_BYTES_PER_SECOND = "B/s"
|
||||
DATA_RATE_KILOBYTES_PER_SECOND = "kB/s"
|
||||
DATA_RATE_MEGABYTES_PER_SECOND = "MB/s"
|
||||
DATA_RATE_GIGABYTES_PER_SECOND = "GB/s"
|
||||
DATA_RATE_KIBIBYTES_PER_SECOND = "KiB/s"
|
||||
DATA_RATE_MEBIBYTES_PER_SECOND = "MiB/s"
|
||||
DATA_RATE_GIBIBYTES_PER_SECOND = "GiB/s"
|
||||
|
||||
# #### SERVICES ####
|
||||
SERVICE_HOMEASSISTANT_STOP = "stop"
|
||||
|
@ -2,11 +2,7 @@
|
||||
from datetime import timedelta
|
||||
import json
|
||||
|
||||
from homeassistant.components.accuweather.const import (
|
||||
ATTRIBUTION,
|
||||
CONCENTRATION_PARTS_PER_CUBIC_METER,
|
||||
DOMAIN,
|
||||
)
|
||||
from homeassistant.components.accuweather.const import ATTRIBUTION, DOMAIN
|
||||
from homeassistant.components.sensor import DOMAIN as SENSOR_DOMAIN
|
||||
from homeassistant.const import (
|
||||
ATTR_ATTRIBUTION,
|
||||
@ -14,6 +10,7 @@ from homeassistant.const import (
|
||||
ATTR_ENTITY_ID,
|
||||
ATTR_ICON,
|
||||
ATTR_UNIT_OF_MEASUREMENT,
|
||||
CONCENTRATION_PARTS_PER_CUBIC_METER,
|
||||
DEVICE_CLASS_TEMPERATURE,
|
||||
LENGTH_METERS,
|
||||
LENGTH_MILLIMETERS,
|
||||
|
@ -13,7 +13,11 @@ from itertools import chain, repeat
|
||||
from homeassistant.components.dsmr.const import DOMAIN
|
||||
from homeassistant.components.dsmr.sensor import DerivativeDSMREntity
|
||||
from homeassistant.components.sensor import DOMAIN as SENSOR_DOMAIN
|
||||
from homeassistant.const import ENERGY_KILO_WATT_HOUR, TIME_HOURS, VOLUME_CUBIC_METERS
|
||||
from homeassistant.const import (
|
||||
ENERGY_KILO_WATT_HOUR,
|
||||
VOLUME_CUBIC_METERS,
|
||||
VOLUME_FLOW_RATE_CUBIC_METERS_PER_HOUR,
|
||||
)
|
||||
from homeassistant.setup import async_setup_component
|
||||
|
||||
from tests.async_mock import DEFAULT, MagicMock
|
||||
@ -207,7 +211,7 @@ async def test_derivative():
|
||||
abs(entity.state - 0.033) < 0.00001
|
||||
), "state should be hourly usage calculated from first and second update"
|
||||
|
||||
assert entity.unit_of_measurement == f"{VOLUME_CUBIC_METERS}/{TIME_HOURS}"
|
||||
assert entity.unit_of_measurement == VOLUME_FLOW_RATE_CUBIC_METERS_PER_HOUR
|
||||
|
||||
|
||||
async def test_v4_meter(hass, dsmr_connection_fixture):
|
||||
|
Loading…
x
Reference in New Issue
Block a user