Add sensor device class volatile_organic_compounds_parts (#92973)
This commit is contained in:
parent
7546e8efa4
commit
5a7c3aaa2d
6 changed files with 39 additions and 0 deletions
|
@ -8,6 +8,7 @@ import voluptuous as vol
|
|||
from homeassistant.backports.enum import StrEnum
|
||||
from homeassistant.const import (
|
||||
CONCENTRATION_MICROGRAMS_PER_CUBIC_METER,
|
||||
CONCENTRATION_PARTS_PER_BILLION,
|
||||
CONCENTRATION_PARTS_PER_MILLION,
|
||||
LIGHT_LUX,
|
||||
PERCENTAGE,
|
||||
|
@ -309,6 +310,12 @@ class NumberDeviceClass(StrEnum):
|
|||
Unit of measurement: `µg/m³`
|
||||
"""
|
||||
|
||||
VOLATILE_ORGANIC_COMPOUNDS_PARTS = "volatile_organic_compounds_parts"
|
||||
"""Ratio of VOC.
|
||||
|
||||
Unit of measurement: `ppm`, `ppb`
|
||||
"""
|
||||
|
||||
VOLTAGE = "voltage"
|
||||
"""Voltage.
|
||||
|
||||
|
@ -421,6 +428,10 @@ DEVICE_CLASS_UNITS: dict[NumberDeviceClass, set[type[StrEnum] | str | None]] = {
|
|||
NumberDeviceClass.VOLATILE_ORGANIC_COMPOUNDS: {
|
||||
CONCENTRATION_MICROGRAMS_PER_CUBIC_METER
|
||||
},
|
||||
NumberDeviceClass.VOLATILE_ORGANIC_COMPOUNDS_PARTS: {
|
||||
CONCENTRATION_PARTS_PER_BILLION,
|
||||
CONCENTRATION_PARTS_PER_MILLION,
|
||||
},
|
||||
NumberDeviceClass.VOLTAGE: set(UnitOfElectricPotential),
|
||||
NumberDeviceClass.VOLUME: set(UnitOfVolume),
|
||||
NumberDeviceClass.VOLUME_STORAGE: set(UnitOfVolume),
|
||||
|
|
|
@ -8,6 +8,7 @@ import voluptuous as vol
|
|||
from homeassistant.backports.enum import StrEnum
|
||||
from homeassistant.const import (
|
||||
CONCENTRATION_MICROGRAMS_PER_CUBIC_METER,
|
||||
CONCENTRATION_PARTS_PER_BILLION,
|
||||
CONCENTRATION_PARTS_PER_MILLION,
|
||||
LIGHT_LUX,
|
||||
PERCENTAGE,
|
||||
|
@ -347,6 +348,12 @@ class SensorDeviceClass(StrEnum):
|
|||
Unit of measurement: `µg/m³`
|
||||
"""
|
||||
|
||||
VOLATILE_ORGANIC_COMPOUNDS_PARTS = "volatile_organic_compounds_parts"
|
||||
"""Ratio of VOC.
|
||||
|
||||
Unit of measurement: `ppm`, `ppb`
|
||||
"""
|
||||
|
||||
VOLTAGE = "voltage"
|
||||
"""Voltage.
|
||||
|
||||
|
@ -521,6 +528,10 @@ DEVICE_CLASS_UNITS: dict[SensorDeviceClass, set[type[StrEnum] | str | None]] = {
|
|||
SensorDeviceClass.VOLATILE_ORGANIC_COMPOUNDS: {
|
||||
CONCENTRATION_MICROGRAMS_PER_CUBIC_METER
|
||||
},
|
||||
SensorDeviceClass.VOLATILE_ORGANIC_COMPOUNDS_PARTS: {
|
||||
CONCENTRATION_PARTS_PER_BILLION,
|
||||
CONCENTRATION_PARTS_PER_MILLION,
|
||||
},
|
||||
SensorDeviceClass.VOLTAGE: set(UnitOfElectricPotential),
|
||||
SensorDeviceClass.VOLUME: set(UnitOfVolume),
|
||||
SensorDeviceClass.WATER: {
|
||||
|
@ -580,6 +591,7 @@ DEVICE_CLASS_STATE_CLASSES: dict[SensorDeviceClass, set[SensorStateClass]] = {
|
|||
SensorDeviceClass.TEMPERATURE: {SensorStateClass.MEASUREMENT},
|
||||
SensorDeviceClass.TIMESTAMP: set(),
|
||||
SensorDeviceClass.VOLATILE_ORGANIC_COMPOUNDS: {SensorStateClass.MEASUREMENT},
|
||||
SensorDeviceClass.VOLATILE_ORGANIC_COMPOUNDS_PARTS: {SensorStateClass.MEASUREMENT},
|
||||
SensorDeviceClass.VOLTAGE: {SensorStateClass.MEASUREMENT},
|
||||
SensorDeviceClass.VOLUME: {
|
||||
SensorStateClass.TOTAL,
|
||||
|
|
|
@ -70,6 +70,7 @@ CONF_IS_SULPHUR_DIOXIDE = "is_sulphur_dioxide"
|
|||
CONF_IS_TEMPERATURE = "is_temperature"
|
||||
CONF_IS_VALUE = "is_value"
|
||||
CONF_IS_VOLATILE_ORGANIC_COMPOUNDS = "is_volatile_organic_compounds"
|
||||
CONF_IS_VOLATILE_ORGANIC_COMPOUNDS_PARTS = "is_volatile_organic_compounds_parts"
|
||||
CONF_IS_VOLTAGE = "is_voltage"
|
||||
CONF_IS_VOLUME = "is_volume"
|
||||
CONF_IS_WATER = "is_water"
|
||||
|
@ -120,6 +121,9 @@ ENTITY_CONDITIONS = {
|
|||
SensorDeviceClass.VOLATILE_ORGANIC_COMPOUNDS: [
|
||||
{CONF_TYPE: CONF_IS_VOLATILE_ORGANIC_COMPOUNDS}
|
||||
],
|
||||
SensorDeviceClass.VOLATILE_ORGANIC_COMPOUNDS_PARTS: [
|
||||
{CONF_TYPE: CONF_IS_VOLATILE_ORGANIC_COMPOUNDS_PARTS}
|
||||
],
|
||||
SensorDeviceClass.VOLTAGE: [{CONF_TYPE: CONF_IS_VOLTAGE}],
|
||||
SensorDeviceClass.VOLUME: [{CONF_TYPE: CONF_IS_VOLUME}],
|
||||
SensorDeviceClass.VOLUME_STORAGE: [{CONF_TYPE: CONF_IS_VOLUME}],
|
||||
|
@ -173,6 +177,7 @@ CONDITION_SCHEMA = vol.All(
|
|||
CONF_IS_SULPHUR_DIOXIDE,
|
||||
CONF_IS_TEMPERATURE,
|
||||
CONF_IS_VOLATILE_ORGANIC_COMPOUNDS,
|
||||
CONF_IS_VOLATILE_ORGANIC_COMPOUNDS_PARTS,
|
||||
CONF_IS_VOLTAGE,
|
||||
CONF_IS_VOLUME,
|
||||
CONF_IS_WATER,
|
||||
|
|
|
@ -69,6 +69,7 @@ CONF_SULPHUR_DIOXIDE = "sulphur_dioxide"
|
|||
CONF_TEMPERATURE = "temperature"
|
||||
CONF_VALUE = "value"
|
||||
CONF_VOLATILE_ORGANIC_COMPOUNDS = "volatile_organic_compounds"
|
||||
CONF_VOLATILE_ORGANIC_COMPOUNDS_PARTS = "volatile_organic_compounds_parts"
|
||||
CONF_VOLTAGE = "voltage"
|
||||
CONF_VOLUME = "volume"
|
||||
CONF_WATER = "water"
|
||||
|
@ -119,6 +120,9 @@ ENTITY_TRIGGERS = {
|
|||
SensorDeviceClass.VOLATILE_ORGANIC_COMPOUNDS: [
|
||||
{CONF_TYPE: CONF_VOLATILE_ORGANIC_COMPOUNDS}
|
||||
],
|
||||
SensorDeviceClass.VOLATILE_ORGANIC_COMPOUNDS_PARTS: [
|
||||
{CONF_TYPE: CONF_VOLATILE_ORGANIC_COMPOUNDS_PARTS}
|
||||
],
|
||||
SensorDeviceClass.VOLTAGE: [{CONF_TYPE: CONF_VOLTAGE}],
|
||||
SensorDeviceClass.VOLUME: [{CONF_TYPE: CONF_VOLUME}],
|
||||
SensorDeviceClass.VOLUME_STORAGE: [{CONF_TYPE: CONF_VOLUME}],
|
||||
|
@ -173,6 +177,7 @@ TRIGGER_SCHEMA = vol.All(
|
|||
CONF_SULPHUR_DIOXIDE,
|
||||
CONF_TEMPERATURE,
|
||||
CONF_VOLATILE_ORGANIC_COMPOUNDS,
|
||||
CONF_VOLATILE_ORGANIC_COMPOUNDS_PARTS,
|
||||
CONF_VOLTAGE,
|
||||
CONF_VOLUME,
|
||||
CONF_WATER,
|
||||
|
|
|
@ -41,6 +41,7 @@
|
|||
"is_temperature": "Current {entity_name} temperature",
|
||||
"is_value": "Current {entity_name} value",
|
||||
"is_volatile_organic_compounds": "Current {entity_name} volatile organic compounds concentration level",
|
||||
"is_volatile_organic_compounds_parts": "[%key:component::sensor::device_automation::condition_type::is_volatile_organic_compounds%]",
|
||||
"is_voltage": "Current {entity_name} voltage",
|
||||
"is_volume": "Current {entity_name} volume",
|
||||
"is_water": "Current {entity_name} water",
|
||||
|
@ -87,6 +88,7 @@
|
|||
"temperature": "{entity_name} temperature changes",
|
||||
"value": "{entity_name} value changes",
|
||||
"volatile_organic_compounds": "{entity_name} volatile organic compounds concentration changes",
|
||||
"volatile_organic_compounds_parts": "[%key:component::sensor::device_automation::trigger_type::volatile_organic_compounds%]",
|
||||
"voltage": "{entity_name} voltage changes",
|
||||
"volume": "{entity_name} volume changes",
|
||||
"water": "{entity_name} water changes",
|
||||
|
@ -244,6 +246,9 @@
|
|||
"volatile_organic_compounds": {
|
||||
"name": "VOCs"
|
||||
},
|
||||
"volatile_organic_compounds_parts": {
|
||||
"name": "[%key:component::sensor::entity_component::volatile_organic_compounds::name%]"
|
||||
},
|
||||
"voltage": {
|
||||
"name": "Voltage"
|
||||
},
|
||||
|
|
|
@ -1758,6 +1758,7 @@ async def test_non_numeric_device_class_with_unit_of_measurement(
|
|||
SensorDeviceClass.SULPHUR_DIOXIDE,
|
||||
SensorDeviceClass.TEMPERATURE,
|
||||
SensorDeviceClass.VOLATILE_ORGANIC_COMPOUNDS,
|
||||
SensorDeviceClass.VOLATILE_ORGANIC_COMPOUNDS_PARTS,
|
||||
SensorDeviceClass.VOLTAGE,
|
||||
SensorDeviceClass.VOLUME,
|
||||
SensorDeviceClass.WATER,
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue