Use strings instead of f-strings for constants (#40619)

This commit is contained in:
springstan 2020-11-09 10:09:53 +01:00 committed by GitHub
parent c8a940c59f
commit 30b94892c4
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
12 changed files with 91 additions and 75 deletions

View File

@ -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."

View File

@ -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,
),

View File

@ -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": [

View File

@ -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,
},

View File

@ -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"],
],

View File

@ -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 = {

View File

@ -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),

View File

@ -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,
],

View File

@ -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}",

View File

@ -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"

View File

@ -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,

View File

@ -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):