fix: add state_class for co2-density sensor (#1631)
Some checks failed
Tests / check-rule-format (push) Has been cancelled
Validate / validate-hassfest (push) Has been cancelled
Validate / validate-hacs (push) Has been cancelled
Validate / validate-lint (push) Has been cancelled
Validate / validate-setup (push) Has been cancelled

Add co2-density property mapping to SPEC_PROP_TRANS_MAP to enable
statistics recording for CO2 sensors.

Changes:
- Import CONCENTRATION_PARTS_PER_MILLION from homeassistant.const
- Add co2-density mapping with:
  - device_class: SensorDeviceClass.CO2
  - state_class: SensorStateClass.MEASUREMENT
  - unit_of_measurement: CONCENTRATION_PARTS_PER_MILLION (ppm)

This ensures CO2 sensors (like those from CGDN1 device) have proper
device classification and Home Assistant can record long-term statistics.

Fixes #1630
This commit is contained in:
Brandon
2026-09-23 16:47:56 +08:00
committed by GitHub
parent dd341eeb24
commit cd450162e4

View File

@@ -51,6 +51,7 @@ from homeassistant.components.event import EventDeviceClass
from homeassistant.components.binary_sensor import BinarySensorDeviceClass from homeassistant.components.binary_sensor import BinarySensorDeviceClass
from homeassistant.const import (CONCENTRATION_MICROGRAMS_PER_CUBIC_METER, from homeassistant.const import (CONCENTRATION_MICROGRAMS_PER_CUBIC_METER,
CONCENTRATION_PARTS_PER_MILLION,
EntityCategory, LIGHT_LUX, UnitOfEnergy, EntityCategory, LIGHT_LUX, UnitOfEnergy,
UnitOfPower, UnitOfElectricCurrent, UnitOfPower, UnitOfElectricCurrent,
UnitOfElectricPotential, UnitOfTemperature, UnitOfElectricPotential, UnitOfTemperature,
@@ -642,6 +643,12 @@ SPEC_PROP_TRANS_MAP: dict = {
'entity': 'sensor', 'entity': 'sensor',
'state_class': SensorStateClass.MEASUREMENT 'state_class': SensorStateClass.MEASUREMENT
}, },
'co2-density': {
'device_class': SensorDeviceClass.CO2,
'entity': 'sensor',
'state_class': SensorStateClass.MEASUREMENT,
'unit_of_measurement': CONCENTRATION_PARTS_PER_MILLION
},
'battery-level': { 'battery-level': {
'device_class': SensorDeviceClass.BATTERY, 'device_class': SensorDeviceClass.BATTERY,
'entity': 'sensor', 'entity': 'sensor',