Add and use volume cubic constants (#40106)

This commit is contained in:
springstan 2020-09-15 19:59:26 +02:00 committed by GitHub
parent db582bdc1b
commit 5a12056e59
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
7 changed files with 24 additions and 17 deletions

View File

@ -38,10 +38,6 @@ ATTR_POLLUTANT_SYMBOL = "pollutant_symbol"
ATTR_POLLUTANT_UNIT = "pollutant_unit" ATTR_POLLUTANT_UNIT = "pollutant_unit"
ATTR_REGION = "region" ATTR_REGION = "region"
MASS_PARTS_PER_MILLION = "ppm"
MASS_PARTS_PER_BILLION = "ppb"
VOLUME_MICROGRAMS_PER_CUBIC_METER = "µg/m3"
SENSOR_KIND_LEVEL = "air_pollution_level" SENSOR_KIND_LEVEL = "air_pollution_level"
SENSOR_KIND_AQI = "air_quality_index" SENSOR_KIND_AQI = "air_quality_index"
SENSOR_KIND_POLLUTANT = "main_pollutant" SENSOR_KIND_POLLUTANT = "main_pollutant"

View File

@ -34,6 +34,7 @@ from homeassistant.const import (
TEMP_CELSIUS, TEMP_CELSIUS,
TIME_DAYS, TIME_DAYS,
TIME_HOURS, TIME_HOURS,
VOLUME_CUBIC_METERS,
) )
import homeassistant.helpers.config_validation as cv import homeassistant.helpers.config_validation as cv
from homeassistant.helpers.dispatcher import async_dispatcher_connect from homeassistant.helpers.dispatcher import async_dispatcher_connect
@ -159,14 +160,14 @@ SENSOR_TYPES = {
ATTR_AIR_FLOW_SUPPLY: { ATTR_AIR_FLOW_SUPPLY: {
ATTR_DEVICE_CLASS: None, ATTR_DEVICE_CLASS: None,
ATTR_LABEL: "Supply airflow", ATTR_LABEL: "Supply airflow",
ATTR_UNIT: f"/{TIME_HOURS}", ATTR_UNIT: f"{VOLUME_CUBIC_METERS}/{TIME_HOURS}",
ATTR_ICON: "mdi:fan", ATTR_ICON: "mdi:fan",
ATTR_ID: SENSOR_FAN_SUPPLY_FLOW, ATTR_ID: SENSOR_FAN_SUPPLY_FLOW,
}, },
ATTR_AIR_FLOW_EXHAUST: { ATTR_AIR_FLOW_EXHAUST: {
ATTR_DEVICE_CLASS: None, ATTR_DEVICE_CLASS: None,
ATTR_LABEL: "Exhaust airflow", ATTR_LABEL: "Exhaust airflow",
ATTR_UNIT: f"/{TIME_HOURS}", ATTR_UNIT: f"{VOLUME_CUBIC_METERS}/{TIME_HOURS}",
ATTR_ICON: "mdi:fan", ATTR_ICON: "mdi:fan",
ATTR_ID: SENSOR_FAN_EXHAUST_FLOW, ATTR_ID: SENSOR_FAN_EXHAUST_FLOW,
}, },

View File

@ -86,6 +86,8 @@ from homeassistant.const import (
TIME_YEARS, TIME_YEARS,
UV_INDEX, UV_INDEX,
VOLT, VOLT,
VOLUME_CUBIC_FEET,
VOLUME_CUBIC_METERS,
VOLUME_GALLONS, VOLUME_GALLONS,
VOLUME_LITERS, VOLUME_LITERS,
) )
@ -316,9 +318,9 @@ UOM_FRIENDLY_NAME = {
"3": f"btu/{TIME_HOURS}", "3": f"btu/{TIME_HOURS}",
"4": TEMP_CELSIUS, "4": TEMP_CELSIUS,
"5": LENGTH_CENTIMETERS, "5": LENGTH_CENTIMETERS,
"6": f"{LENGTH_FEET}³", "6": VOLUME_CUBIC_FEET,
"7": f"{LENGTH_FEET}³/{TIME_MINUTES}", "7": f"{VOLUME_CUBIC_FEET}/{TIME_MINUTES}",
"8": "", "8": f"{VOLUME_CUBIC_METERS}",
"9": TIME_DAYS, "9": TIME_DAYS,
"10": TIME_DAYS, "10": TIME_DAYS,
"12": "dB", "12": "dB",
@ -347,7 +349,7 @@ UOM_FRIENDLY_NAME = {
"36": "lx", "36": "lx",
"37": "mercalli", "37": "mercalli",
"38": LENGTH_METERS, "38": LENGTH_METERS,
"39": f"{LENGTH_METERS}³/{TIME_HOURS}", "39": f"{VOLUME_CUBIC_METERS}/{TIME_HOURS}",
"40": SPEED_METERS_PER_SECOND, "40": SPEED_METERS_PER_SECOND,
"41": "mA", "41": "mA",
"42": TIME_MILLISECONDS, "42": TIME_MILLISECONDS,
@ -385,7 +387,7 @@ UOM_FRIENDLY_NAME = {
"83": LENGTH_KILOMETERS, "83": LENGTH_KILOMETERS,
"85": "", "85": "",
"86": "kΩ", "86": "kΩ",
"87": f"{LENGTH_METERS}³/{LENGTH_METERS}³", "87": f"{VOLUME_CUBIC_METERS}/{VOLUME_CUBIC_METERS}",
"88": "Water activity", "88": "Water activity",
"89": "RPM", "89": "RPM",
"90": FREQUENCY_HERTZ, "90": FREQUENCY_HERTZ,

View File

@ -15,6 +15,7 @@ from homeassistant.const import (
TEMP_CELSIUS, TEMP_CELSIUS,
TEMP_FAHRENHEIT, TEMP_FAHRENHEIT,
VOLT, VOLT,
VOLUME_CUBIC_METERS,
) )
SENSORS = { SENSORS = {
@ -36,7 +37,7 @@ SENSORS = {
"V_KWH": [ENERGY_KILO_WATT_HOUR, None], "V_KWH": [ENERGY_KILO_WATT_HOUR, None],
"V_LIGHT_LEVEL": [PERCENTAGE, "mdi:white-balance-sunny"], "V_LIGHT_LEVEL": [PERCENTAGE, "mdi:white-balance-sunny"],
"V_FLOW": [LENGTH_METERS, "mdi:gauge"], "V_FLOW": [LENGTH_METERS, "mdi:gauge"],
"V_VOLUME": ["", None], "V_VOLUME": [f"{VOLUME_CUBIC_METERS}", None],
"V_LEVEL": { "V_LEVEL": {
"S_SOUND": ["dB", "mdi:volume-high"], "S_SOUND": ["dB", "mdi:volume-high"],
"S_VIBRATION": [FREQUENCY_HERTZ, None], "S_VIBRATION": [FREQUENCY_HERTZ, None],

View File

@ -1,7 +1,7 @@
"""This platform provides support for sensor data from RainMachine.""" """This platform provides support for sensor data from RainMachine."""
import logging import logging
from homeassistant.const import TEMP_CELSIUS from homeassistant.const import TEMP_CELSIUS, VOLUME_CUBIC_METERS
from homeassistant.core import callback from homeassistant.core import callback
from homeassistant.helpers.dispatcher import async_dispatcher_connect from homeassistant.helpers.dispatcher import async_dispatcher_connect
@ -26,7 +26,7 @@ SENSORS = {
TYPE_FLOW_SENSOR_CLICK_M3: ( TYPE_FLOW_SENSOR_CLICK_M3: (
"Flow Sensor Clicks", "Flow Sensor Clicks",
"mdi:water-pump", "mdi:water-pump",
"clicks/m^3", f"clicks/{VOLUME_CUBIC_METERS}",
None, None,
False, False,
DATA_PROVISION_SETTINGS, DATA_PROVISION_SETTINGS,

View File

@ -3,7 +3,13 @@ import logging
import zigpy.zcl.clusters.smartenergy as smartenergy import zigpy.zcl.clusters.smartenergy as smartenergy
from homeassistant.const import LENGTH_FEET, POWER_WATT, TIME_HOURS, TIME_SECONDS from homeassistant.const import (
POWER_WATT,
TIME_HOURS,
TIME_SECONDS,
VOLUME_CUBIC_FEET,
VOLUME_CUBIC_METERS,
)
from homeassistant.core import callback from homeassistant.core import callback
from .. import registries, typing as zha_typing from .. import registries, typing as zha_typing
@ -61,8 +67,8 @@ class Metering(ZigbeeChannel):
unit_of_measure_map = { unit_of_measure_map = {
0x00: POWER_WATT, 0x00: POWER_WATT,
0x01: f"/{TIME_HOURS}", 0x01: f"{VOLUME_CUBIC_METERS}/{TIME_HOURS}",
0x02: f"{LENGTH_FEET}³/{TIME_HOURS}", 0x02: f"{VOLUME_CUBIC_FEET}/{TIME_HOURS}",
0x03: f"ccf/{TIME_HOURS}", 0x03: f"ccf/{TIME_HOURS}",
0x04: f"US gal/{TIME_HOURS}", 0x04: f"US gal/{TIME_HOURS}",
0x05: f"IMP gal/{TIME_HOURS}", 0x05: f"IMP gal/{TIME_HOURS}",

View File

@ -422,6 +422,7 @@ PRESSURE_PSI: str = "psi"
VOLUME_LITERS: str = "L" VOLUME_LITERS: str = "L"
VOLUME_MILLILITERS: str = "mL" VOLUME_MILLILITERS: str = "mL"
VOLUME_CUBIC_METERS = f"{LENGTH_METERS}³" VOLUME_CUBIC_METERS = f"{LENGTH_METERS}³"
VOLUME_CUBIC_FEET = f"{LENGTH_FEET}³"
VOLUME_GALLONS: str = "gal" VOLUME_GALLONS: str = "gal"
VOLUME_FLUID_OUNCE: str = "fl. oz." VOLUME_FLUID_OUNCE: str = "fl. oz."