Coverage for src / bluetooth_sig / gatt / characteristics / pm1_concentration.py: 100%

10 statements  

« prev     ^ index     » next       coverage.py v7.13.1, created at 2026-01-11 20:14 +0000

1"""PM1 Concentration characteristic implementation.""" 

2 

3from __future__ import annotations 

4 

5from ...types.gatt_enums import ValueType 

6from .base import BaseCharacteristic 

7from .templates import ConcentrationTemplate 

8 

9 

10class PM1ConcentrationCharacteristic(BaseCharacteristic[float]): 

11 """Particulate Matter - PM1 Concentration characteristic (0x2BD5). 

12 

13 org.bluetooth.characteristic.particulate_matter_pm1_concentration 

14 

15 PM1 particulate matter concentration characteristic (0x2BD7). 

16 

17 Represents particulate matter PM1 concentration in micrograms per 

18 cubic meter with a resolution of 1 μg/m³. 

19 """ 

20 

21 _template = ConcentrationTemplate() 

22 

23 _characteristic_name: str = "Particulate Matter - PM1 Concentration" 

24 _manual_value_type: ValueType | str | None = ValueType.INT 

25 _manual_unit: str = "µg/m³" # Override template's "ppm" default 

26 

27 # Template configuration 

28 resolution: float = 1.0