Coverage for src / bluetooth_sig / gatt / services / device_information.py: 100%
6 statements
« prev ^ index » next coverage.py v7.13.5, created at 2026-04-03 16:41 +0000
« prev ^ index » next coverage.py v7.13.5, created at 2026-04-03 16:41 +0000
1"""Device Information Service implementation."""
3from __future__ import annotations
5from typing import ClassVar
7from ..characteristics.registry import CharacteristicName
8from .base import BaseGattService
11class DeviceInformationService(BaseGattService):
12 """Device Information Service implementation.
14 Contains characteristics that expose device information:
15 - Manufacturer Name String - Required
16 - Model Number String - Optional
17 - Serial Number String - Optional
18 - Hardware Revision String - Optional
19 - Firmware Revision String - Optional
20 - Software Revision String - Optional
21 """
23 service_characteristics: ClassVar[dict[CharacteristicName, bool]] = {
24 CharacteristicName.MANUFACTURER_NAME_STRING: False,
25 CharacteristicName.MODEL_NUMBER_STRING: False,
26 CharacteristicName.SERIAL_NUMBER_STRING: False,
27 CharacteristicName.HARDWARE_REVISION_STRING: False,
28 CharacteristicName.FIRMWARE_REVISION_STRING: False,
29 CharacteristicName.SOFTWARE_REVISION_STRING: False,
30 CharacteristicName.SYSTEM_ID: False,
31 CharacteristicName.IEEE_11073_20601_REGULATORY_CERTIFICATION_DATA_LIST: False,
32 CharacteristicName.PNP_ID: False,
33 CharacteristicName.UDI_FOR_MEDICAL_DEVICES: False,
34 }