Coverage for src/bluetooth_sig/gatt/characteristics/cooking_zone_desired_cooking_conditions.py: 100%
12 statements
« prev ^ index » next coverage.py v7.14.3, created at 2026-06-28 01:26 +0000
« prev ^ index » next coverage.py v7.14.3, created at 2026-06-28 01:26 +0000
1"""Cooking Zone Desired Cooking Conditions characteristic (0x2C2A)."""
3from __future__ import annotations
5from ..constants import SIZE_UINT16
6from ..context import CharacteristicContext
7from .base import BaseCharacteristic
8from .cooking_common import CookingConditionsData, encode_cooking_conditions, parse_cooking_conditions
11class CookingZoneDesiredCookingConditionsCharacteristic(BaseCharacteristic[CookingConditionsData]):
12 """Cooking Zone Desired Cooking Conditions characteristic (0x2C2A).
14 org.bluetooth.characteristic.cooking_zone_desired_cooking_conditions
15 """
17 min_length = SIZE_UINT16
18 allow_variable_length = True
20 def _decode_value(
21 self, data: bytearray, ctx: CharacteristicContext | None = None, *, validate: bool = True
22 ) -> CookingConditionsData:
23 return parse_cooking_conditions(data)
25 def _encode_value(self, data: CookingConditionsData) -> bytearray:
26 return encode_cooking_conditions(data)