mirror of
https://github.com/esphome/aioesphomeapi.git
synced 2024-11-28 13:05:12 +01:00
Try joining split uint64 uuid
This commit is contained in:
parent
b61110c154
commit
8560a3611c
@ -1199,20 +1199,19 @@ message BluetoothGATTGetServicesRequest {
|
|||||||
}
|
}
|
||||||
|
|
||||||
message BluetoothGATTDescriptor {
|
message BluetoothGATTDescriptor {
|
||||||
string uuid = 1;
|
repeated uint64 uuid = 1;
|
||||||
uint32 handle = 2;
|
uint32 handle = 2;
|
||||||
string description = 3;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
message BluetoothGATTCharacteristic {
|
message BluetoothGATTCharacteristic {
|
||||||
string uuid = 1;
|
repeated uint64 uuid = 1;
|
||||||
uint32 handle = 2;
|
uint32 handle = 2;
|
||||||
uint32 properties = 3;
|
uint32 properties = 3;
|
||||||
repeated BluetoothGATTDescriptor descriptors = 4;
|
repeated BluetoothGATTDescriptor descriptors = 4;
|
||||||
}
|
}
|
||||||
|
|
||||||
message BluetoothGATTService {
|
message BluetoothGATTService {
|
||||||
string uuid = 1;
|
repeated uint64 uuid = 1;
|
||||||
uint32 handle = 2;
|
uint32 handle = 2;
|
||||||
repeated BluetoothGATTCharacteristic characteristics = 3;
|
repeated BluetoothGATTCharacteristic characteristics = 3;
|
||||||
}
|
}
|
||||||
|
File diff suppressed because one or more lines are too long
@ -13,6 +13,7 @@ from typing import (
|
|||||||
Union,
|
Union,
|
||||||
cast,
|
cast,
|
||||||
)
|
)
|
||||||
|
import uuid
|
||||||
|
|
||||||
from .util import fix_float_single_double_conversion
|
from .util import fix_float_single_double_conversion
|
||||||
|
|
||||||
@ -762,6 +763,11 @@ def _long_uuid(uuid: str) -> str:
|
|||||||
).lower()
|
).lower()
|
||||||
|
|
||||||
|
|
||||||
|
def _join_split_uuid(value: List[int]) -> str:
|
||||||
|
"""Convert a high/low uuid into a single string."""
|
||||||
|
return uuid.UUID(int=(value[0] << 64) | value[1]).__str__()
|
||||||
|
|
||||||
|
|
||||||
def _convert_bluetooth_le_service_uuids(value: List[str]) -> List[str]:
|
def _convert_bluetooth_le_service_uuids(value: List[str]) -> List[str]:
|
||||||
return [_long_uuid(v) for v in value]
|
return [_long_uuid(v) for v in value]
|
||||||
|
|
||||||
@ -818,7 +824,7 @@ class BluetoothGATTRead(APIModelBase):
|
|||||||
|
|
||||||
@dataclass(frozen=True)
|
@dataclass(frozen=True)
|
||||||
class BluetoothGATTDescriptor(APIModelBase):
|
class BluetoothGATTDescriptor(APIModelBase):
|
||||||
uuid: str = converter_field(default="", converter=_long_uuid)
|
uuid: str = converter_field(default="", converter=_join_split_uuid)
|
||||||
handle: int = 0
|
handle: int = 0
|
||||||
description: str = ""
|
description: str = ""
|
||||||
|
|
||||||
@ -835,7 +841,7 @@ class BluetoothGATTDescriptor(APIModelBase):
|
|||||||
|
|
||||||
@dataclass(frozen=True)
|
@dataclass(frozen=True)
|
||||||
class BluetoothGATTCharacteristic(APIModelBase):
|
class BluetoothGATTCharacteristic(APIModelBase):
|
||||||
uuid: str = converter_field(default="", converter=_long_uuid)
|
uuid: str = converter_field(default="", converter=_join_split_uuid)
|
||||||
handle: int = 0
|
handle: int = 0
|
||||||
properties: int = 0
|
properties: int = 0
|
||||||
|
|
||||||
@ -856,7 +862,7 @@ class BluetoothGATTCharacteristic(APIModelBase):
|
|||||||
|
|
||||||
@dataclass(frozen=True)
|
@dataclass(frozen=True)
|
||||||
class BluetoothGATTService(APIModelBase):
|
class BluetoothGATTService(APIModelBase):
|
||||||
uuid: str = converter_field(default="", converter=_long_uuid)
|
uuid: str = converter_field(default="", converter=_join_split_uuid)
|
||||||
handle: int = 0
|
handle: int = 0
|
||||||
characteristics: List[BluetoothGATTCharacteristic] = converter_field(
|
characteristics: List[BluetoothGATTCharacteristic] = converter_field(
|
||||||
default_factory=list, converter=BluetoothGATTCharacteristic.convert_list
|
default_factory=list, converter=BluetoothGATTCharacteristic.convert_list
|
||||||
|
Loading…
Reference in New Issue
Block a user