API Description

Here is the simple python code for control the unit.
Required libraris: BleakClient, asyncio
uuid and uuid_service could be found on the buttom of the unit.
import asyncio
from bleak import BleakClient


uuid = "8670533F-F6FA-6183-DE3B-0B9A2A747224"
uuid_service = "19b10001-e8f2-537e-4f6c-d104768a1215"

x = 20 # X Coordinate
y = 20 # Y Coordinate
z = 35 # Z Coordinate

async def Unit_Text():
    async with BleakClient(uuid) as client:
        services = await client.get_services()
        for service in services:
            for characteristic in service.characteristics:
                print(f"Characteristic value: {characteristic.uuid}")
                if characteristic.uuid == uuid_service:
                     X = bytes([0x1+x])
                     Y = bytes([0x1+y])
                     Z = bytes([0x1+z])
                     await client.write_gatt_char(characteristic, X)
                     await client.write_gatt_char(characteristic, Y)
                     await client.write_gatt_char(characteristic, Z)
                # Disconnect     
                await client.__aexit__(None, None, None)
    return

async def main():
 await Unit_Test()

asyncio.run(main())