From cd450162e436d76d948562cacd3aac7b757cd20d Mon Sep 17 00:00:00 2001 From: Brandon <306544+parkghost@users.noreply.github.com> Date: Wed, 23 Sep 2026 16:47:56 +0800 Subject: [PATCH] fix: add state_class for co2-density sensor (#1631) 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 --- custom_components/xiaomi_home/miot/specs/specv2entity.py | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/custom_components/xiaomi_home/miot/specs/specv2entity.py b/custom_components/xiaomi_home/miot/specs/specv2entity.py index adb96cf..ba9aee0 100644 --- a/custom_components/xiaomi_home/miot/specs/specv2entity.py +++ b/custom_components/xiaomi_home/miot/specs/specv2entity.py @@ -51,6 +51,7 @@ from homeassistant.components.event import EventDeviceClass from homeassistant.components.binary_sensor import BinarySensorDeviceClass from homeassistant.const import (CONCENTRATION_MICROGRAMS_PER_CUBIC_METER, + CONCENTRATION_PARTS_PER_MILLION, EntityCategory, LIGHT_LUX, UnitOfEnergy, UnitOfPower, UnitOfElectricCurrent, UnitOfElectricPotential, UnitOfTemperature, @@ -642,6 +643,12 @@ SPEC_PROP_TRANS_MAP: dict = { 'entity': 'sensor', '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': { 'device_class': SensorDeviceClass.BATTERY, 'entity': 'sensor',