async def main(identifier: Optional[str]) -> None:
    event = asyncio.Event()
    COMMAND_REQ_UUID = GOPRO_BASE_UUID.format('0072')
    COMMAND_RSP_UUID = GOPRO_BASE_UUID.format('0073')
    response_uuid = COMMAND_RSP_UUID
    client: BleakClient

    def notification_handler(handle: int, data: bytes) -> None:
        logger.info(f"Received response at handle={handle!r}: {hexlify(data, ':')!r}")
        if ((client.services.characteristics[handle].uuid == response_uuid) and (data[2] == 0)):
            logger.info('Command sent successfully')
        else:
            logger.error('Unexpected response')
        event.set()
    client = (await connect_ble(notification_handler, identifier))
    logger.info('Loading the video preset group...')
    event.clear()
    (await client.write_gatt_char(COMMAND_REQ_UUID, bytearray([4, 62, 2, 3, 232])))
    (await event.wait())
    (await client.disconnect())
async def main(identifier: Optional[str]) -> None:
    event = asyncio.Event()
    COMMAND_REQ_UUID = GOPRO_BASE_UUID.format('0072')
    COMMAND_RSP_UUID = GOPRO_BASE_UUID.format('0073')
    response_uuid = COMMAND_RSP_UUID
    client: BleakClient

    def notification_handler(handle: int, data: bytes) -> None:
        logger.info(f"Received response at handle={handle!r}: {hexlify(data, ':')!r}")
        if ((client.services.characteristics[handle].uuid == response_uuid) and (data[2] == 0)):
            logger.info('Command sent successfully')
        else:
            logger.error('Unexpected response')
        event.set()
    client = (await connect_ble(notification_handler, identifier))
    logger.info('Loading the video preset group...')
    event.clear()
    (await client.write_gatt_char(COMMAND_REQ_UUID, bytearray([4, 62, 2, 3, 232])))
    (await event.wait())
    (await client.disconnect())