From 30b94892c423f87665c099088e45eb54b2bcf9b5 Mon Sep 17 00:00:00 2001
From: springstan <46536646+springstan@users.noreply.github.com>
Date: Mon, 9 Nov 2020 10:09:53 +0100
Subject: [PATCH] Use strings instead of f-strings for constants (#40619)

---
 homeassistant/components/accuweather/const.py |  3 +-
 .../components/ambient_station/__init__.py    |  5 +-
 homeassistant/components/buienradar/sensor.py |  6 +-
 .../components/comfoconnect/sensor.py         |  7 +-
 homeassistant/components/darksky/sensor.py    | 19 +++---
 homeassistant/components/isy994/const.py      | 30 +++++----
 homeassistant/components/rfxtrx/__init__.py   |  4 +-
 .../components/tellduslive/sensor.py          |  4 +-
 .../zha/core/channels/smartenergy.py          |  8 +--
 homeassistant/const.py                        | 65 +++++++++++--------
 tests/components/accuweather/test_sensor.py   |  7 +-
 tests/components/dsmr/test_sensor.py          |  8 ++-
 12 files changed, 91 insertions(+), 75 deletions(-)

diff --git a/homeassistant/components/accuweather/const.py b/homeassistant/components/accuweather/const.py
index 5696a35ea2f..aac37604584 100644
--- a/homeassistant/components/accuweather/const.py
+++ b/homeassistant/components/accuweather/const.py
@@ -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."
diff --git a/homeassistant/components/ambient_station/__init__.py b/homeassistant/components/ambient_station/__init__.py
index 23c0ad6e3dd..9fabed7c30a 100644
--- a/homeassistant/components/ambient_station/__init__.py
+++ b/homeassistant/components/ambient_station/__init__.py
@@ -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,
     ),
diff --git a/homeassistant/components/buienradar/sensor.py b/homeassistant/components/buienradar/sensor.py
index b1e41122dc0..4e35542b581 100644
--- a/homeassistant/components/buienradar/sensor.py
+++ b/homeassistant/components/buienradar/sensor.py
@@ -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": [
diff --git a/homeassistant/components/comfoconnect/sensor.py b/homeassistant/components/comfoconnect/sensor.py
index 5f04ba134a8..8b34fe1fd72 100644
--- a/homeassistant/components/comfoconnect/sensor.py
+++ b/homeassistant/components/comfoconnect/sensor.py
@@ -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,
     },
diff --git a/homeassistant/components/darksky/sensor.py b/homeassistant/components/darksky/sensor.py
index 49b5c6c69f6..0bafdbb3d81 100644
--- a/homeassistant/components/darksky/sensor.py
+++ b/homeassistant/components/darksky/sensor.py
@@ -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"],
     ],
diff --git a/homeassistant/components/isy994/const.py b/homeassistant/components/isy994/const.py
index 30059c68c10..ef75a974377 100644
--- a/homeassistant/components/isy994/const.py
+++ b/homeassistant/components/isy994/const.py
@@ -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 = {
diff --git a/homeassistant/components/rfxtrx/__init__.py b/homeassistant/components/rfxtrx/__init__.py
index 5f8d14710e3..d247c7a8d4d 100644
--- a/homeassistant/components/rfxtrx/__init__.py
+++ b/homeassistant/components/rfxtrx/__init__.py
@@ -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),
diff --git a/homeassistant/components/tellduslive/sensor.py b/homeassistant/components/tellduslive/sensor.py
index 3ced0217ea9..1b06fd6ed97 100644
--- a/homeassistant/components/tellduslive/sensor.py
+++ b/homeassistant/components/tellduslive/sensor.py
@@ -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,
     ],
diff --git a/homeassistant/components/zha/core/channels/smartenergy.py b/homeassistant/components/zha/core/channels/smartenergy.py
index d30f891dee1..120d0afdfb6 100644
--- a/homeassistant/components/zha/core/channels/smartenergy.py
+++ b/homeassistant/components/zha/core/channels/smartenergy.py
@@ -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}",
diff --git a/homeassistant/const.py b/homeassistant/const.py
index eac648bc929..315293def48 100644
--- a/homeassistant/const.py
+++ b/homeassistant/const.py
@@ -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"
diff --git a/tests/components/accuweather/test_sensor.py b/tests/components/accuweather/test_sensor.py
index 4ce34dfebe9..d4aae9a94fc 100644
--- a/tests/components/accuweather/test_sensor.py
+++ b/tests/components/accuweather/test_sensor.py
@@ -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,
diff --git a/tests/components/dsmr/test_sensor.py b/tests/components/dsmr/test_sensor.py
index 7b1765ad27a..4803aa57d7d 100644
--- a/tests/components/dsmr/test_sensor.py
+++ b/tests/components/dsmr/test_sensor.py
@@ -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):
-- 
GitLab