Connection State Event
Obtain device connection state events through the API.
Refer Get Device Connection Status.
Note
If the device is already in a connected state, the connection API will return a success response, but no connection event will be reported.
Example
1import asyncio
2import cassiablue
3
4
5async def stater():
6 print("start recv state event")
7 ok, _ = await cassiablue.start_recv_connection_state()
8 print(type(ok), ok)
9 if not ok:
10 return
11
12 async for evt in cassiablue.connection_result():
13 print(type(evt), evt)
14
15
16async def connector():
17 print("start connect")
18
19 params = '{"type": "random"}'
20 addr = "20:00:00:00:00:01"
21 ok, ret = await cassiablue.connect(addr, params)
22 print("connect done:", type(ok), ok, type(ret), ret)
23
24 await asyncio.sleep(3)
25
26 ok, ret = await cassiablue.disconnect(addr)
27 print("disconnect done:", type(ok), ok, type(ret), ret)
28
29
30async def main():
31 print("start")
32 await asyncio.gather(stater(), connector())
33
34
35print("hello")
36asyncio.run(main())
API
- async cassiablue.start_recv_connection_state() tuple[ok: bool, result: str]
Enable retrieval of device connection state events to receive real-time updates of device connection status changes. Currently, only one subscription can be active at a time.
- Returns:
ok: Whether the operation was successful
result: Execution result. For state event, refer to
BLEConnectionResult
- async cassiablue.connection_result() BLEConnectionResult
Retrieve Connection State Event
- Returns:
class BLEConnectionResult
- class BLEConnectionResult
An asynchronous iterable object used to receive BLE state event in a streaming manner.
- async __aiter__() BLEConnectionResult
Returns itself, allowing the instance to be used directly in an
async forloop.
- async __anext__() dict
Asynchronously retrieves the next state event from the global
state_sse_client.queueand returns it.If the queue is empty, it waits until new data becomes available.
Data Field Description Field
Type
Description
Example
connectionState
str
Event Type
connecteddisconnectedrssi
int
RSSI
-65
handle
str
Device MAC
20:00:00:00:00:01
reason
str
Disconnect reason(disconnected valid)
host disconnect
packetLossRate
int
Packet loss rate(disconnected valid)
3
Note
reason refer Error Messages