Skip to content

Add support for Qingping Cleargrass CGD1 #23

@ov1d1u

Description

@ov1d1u

Thank you for your project, I started something similar in the past but without ever finalizing it.

This is the clock I'm talking about: https://www.amazon.com/Bluetooth-Temperature-Ringtones-Adjustable-Backlight/dp/B08NX6BM6X

These are the services and characteristics of the clock:

- Device Name [N R] (0x2A00)
- Appearance [R] (0x2A01)
- Peripheral Preferred Connection Parameters [R] (0x2A04)
Generic Attribute (0x1801)
- Service Changed [I] (0x2A05)
   Client Characteristic Configuration (0x2902)
Device Information (0x180A)
- PnP ID [R] (0x2A50)
Battery Service (0x180F)
- Battery Level [N R] (0x2A19)
   Client Characteristic Configuration (0x2902)
Unknown Service (00010203-0405-0607-0809-0a0b0c0d1912)
- Unknown Characteristic [R WNR] (00010203-0405-0607-0809-0a0b0c0d2b12)
   Characteristic User Description (0x2901)
Unknown Service (00010203-0405-0607-0809-0a0b0c0d2b20)
- Unknown Characteristic [R WNR] (00010203-0405-0607-0809-0a0b0c0d2b21)
   Characteristic User Description (0x2901)
Unknown Service (0000fe95-0000-1000-8000-00805f9b34fb)
- Unknown Characteristic [R] (00000004-0000-1000-8000-00805f9b34fb)
   Characteristic User Description (0x2901)
- Unknown Characteristic [N WNR] (00000010-0000-1000-8000-00805f9b34fb)
   Characteristic User Description (0x2901)
   Client Characteristic Configuration (0x2902)
- Unknown Characteristic [N W] (00000017-0000-1000-8000-00805f9b34fb)
   Characteristic User Description (0x2901)
   Client Characteristic Configuration (0x2902)
- Unknown Characteristic [N WNR] (00000018-0000-1000-8000-00805f9b34fb)
   Characteristic User Description (0x2901)
   Client Characteristic Configuration (0x2902)
- Unknown Characteristic [N WNR] (00000019-0000-1000-8000-00805f9b34fb)
   Characteristic User Description (0x2901)
   Client Characteristic Configuration (0x2902)
   Unknown Descriptor (00002800-0000-1000-8000-00805f9b34fb)
- Unknown Characteristic [WNR] (00000101-0065-6c62-2e74-6f696d2e696d)
Unknown Service (22210000-554a-4546-5542-46534450464d)
- Unknown Characteristic [W] (00000001-0000-1000-8000-00805f9b34fb)
   Characteristic User Description (0x2901)
- Unknown Characteristic [N] (00000002-0000-1000-8000-00805f9b34fb)
   Characteristic User Description (0x2901)
   Client Characteristic Configuration (0x2902)
- Unknown Characteristic [W] (0000000b-0000-1000-8000-00805f9b34fb)
   Characteristic User Description (0x2901)
- Unknown Characteristic [N] (0000000c-0000-1000-8000-00805f9b34fb)
   Characteristic User Description (0x2901)
   Client Characteristic Configuration (0x2902)
- Unknown Characteristic [N] (00000100-0000-1000-8000-00805f9b34fb)
   Characteristic User Description (0x2901)
   Client Characteristic Configuration (0x2902)
- Unknown Characteristic [R] (0000000d-0000-1000-8000-00805f9b34fb)
   Characteristic User Description (0x2901)

It looks like the service UUID and characteristic UUID matches the ones on BT Clock Lite, although I'm not sure if 00000001-0000-1000-8000-00805f9b34fb is also the characteristic for the time on CGD1, too. I tried to force it to be recognizable in bluetooth-clocks by modifying the code in devices/qingping.py, to the point where the script connected and even wrote data successfully on the device's 00000001-0000-1000-8000-00805f9b34fb characteristic, but nothing happens on the clock (apart from the Bluetooth symbol flashing, as a result of the connection).

I suppose that communication with the clock is encrypted with the BLE key or the token I'm getting by using Xiaomi-cloud-tokens-extractor:

   NAME:     Alarm clock
   ID:       blt.4.195fhgnfggc00
   BLE KEY:  dcbd1d12c64ba3f92793307bbda19ff0
   MAC:      58:2D:34:55:XX:XX
   IP:       79.112.12.XXX
   TOKEN:    92a100ab3d15e366dd825967
   MODEL:    cgllc.clock.dove

but I'm not sure what the encryption algorithm could be.

Have you looked into this product yet? I'm waiting to root my spare Redmi phone (I have to wait for a few days to be able to unlock the bootloader) so I can btsnoop the official app, but if you got any other hint until then, I could try it to see if I get any result.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions