mirror of
https://codeberg.org/Freeyourgadget/Gadgetbridge.git
synced 2025-01-26 16:41:43 +01:00
Xiaomi: add potential service and characteristic UUIDs
This commit is contained in:
parent
339859c829
commit
ae97e961b9
@ -99,10 +99,15 @@ public class BleNamesResolver {
|
|||||||
mServices.put("00001814-0000-1000-8000-00805f9b34fb", "Running Speed and Cadence");
|
mServices.put("00001814-0000-1000-8000-00805f9b34fb", "Running Speed and Cadence");
|
||||||
mServices.put("00001813-0000-1000-8000-00805f9b34fb", "Scan Parameters");
|
mServices.put("00001813-0000-1000-8000-00805f9b34fb", "Scan Parameters");
|
||||||
mServices.put("00001804-0000-1000-8000-00805f9b34fb", "Tx Power");
|
mServices.put("00001804-0000-1000-8000-00805f9b34fb", "Tx Power");
|
||||||
|
mServices.put("0000fdab-0000-1000-8000-00805f9b34fb", "(Propr: Xiaomi Proximity Unlock Service)");
|
||||||
|
mServices.put("0000fe95-0000-1000-8000-00805f9b34fb", "(Propr: Xiaomi Wear Service)");
|
||||||
mServices.put("0000fee0-0000-3512-2118-0009af100700", "(Propr: Xiaomi MiLi Service)");
|
mServices.put("0000fee0-0000-3512-2118-0009af100700", "(Propr: Xiaomi MiLi Service)");
|
||||||
mServices.put("00001530-0000-3512-2118-0009af100700", "(Propr: Xiaomi Weight Service)");
|
mServices.put("00001530-0000-3512-2118-0009af100700", "(Propr: Xiaomi Weight Service)");
|
||||||
mServices.put("14701820-620a-3973-7c78-9cfff0876abd", "(Propr: HPLUS Service)");
|
mServices.put("14701820-620a-3973-7c78-9cfff0876abd", "(Propr: HPLUS Service)");
|
||||||
|
mServices.put("16186f00-0000-1000-8000-00807f9b34fb", "(Propr: Xiaomi Wear Service - Mi Watch Lite/Redmi Watch)");
|
||||||
|
mServices.put("16187f00-0000-1000-8000-00807f9b34fb", "(Propr: Xiaomi Wear Service - Mi Smart Watch 4C/Redmi Band)");
|
||||||
|
mServices.put("1314f000-1000-9000-7000-301291e21220", "(Propr: Xiaomi Wear Service - Mi Watch/Mi Watch Color/Mi Watch Color Sport)");
|
||||||
|
mServices.put("7495fe00-a7f3-424b-92dd-4a006a3aef56", "(Propr: Xiaomi Wear Service - Mi Watch CN)");
|
||||||
|
|
||||||
mCharacteristics.put("00002a43-0000-1000-8000-00805f9b34fb", "Alert AlertCategory ID");
|
mCharacteristics.put("00002a43-0000-1000-8000-00805f9b34fb", "Alert AlertCategory ID");
|
||||||
mCharacteristics.put("00002a42-0000-1000-8000-00805f9b34fb", "Alert AlertCategory ID Bit Mask");
|
mCharacteristics.put("00002a42-0000-1000-8000-00805f9b34fb", "Alert AlertCategory ID Bit Mask");
|
||||||
|
@ -75,23 +75,30 @@ public class XiaomiBleSupport extends XiaomiConnectionSupport {
|
|||||||
if (getSupportedServices().contains(xiaomiUuid.getKey())) {
|
if (getSupportedServices().contains(xiaomiUuid.getKey())) {
|
||||||
LOG.debug("Found Xiaomi service: {}", xiaomiUuid.getKey());
|
LOG.debug("Found Xiaomi service: {}", xiaomiUuid.getKey());
|
||||||
uuidSet = xiaomiUuid.getValue();
|
uuidSet = xiaomiUuid.getValue();
|
||||||
|
UUID currentChar;
|
||||||
|
|
||||||
btCharacteristicCommandRead = getCharacteristic(uuidSet.getCharacteristicCommandRead());
|
if ((currentChar = uuidSet.getCharacteristicCommandRead()) == null ||
|
||||||
btCharacteristicCommandWrite = getCharacteristic(uuidSet.getCharacteristicCommandWrite());
|
(btCharacteristicCommandRead = getCharacteristic(currentChar)) == null) {
|
||||||
btCharacteristicActivityData = getCharacteristic(uuidSet.getCharacteristicActivityData());
|
|
||||||
btCharacteristicDataUpload = getCharacteristic(uuidSet.getCharacteristicDataUpload());
|
|
||||||
if (btCharacteristicCommandRead == null) {
|
|
||||||
LOG.warn("btCharacteristicCommandRead characteristicc is null");
|
LOG.warn("btCharacteristicCommandRead characteristicc is null");
|
||||||
continue;
|
continue;
|
||||||
} else if (btCharacteristicCommandWrite == null) {
|
}
|
||||||
|
|
||||||
|
if ((currentChar = uuidSet.getCharacteristicCommandWrite()) == null ||
|
||||||
|
(btCharacteristicCommandWrite = getCharacteristic(currentChar)) == null) {
|
||||||
LOG.warn("btCharacteristicCommandWrite characteristicc is null");
|
LOG.warn("btCharacteristicCommandWrite characteristicc is null");
|
||||||
continue;
|
continue;
|
||||||
} else if (btCharacteristicActivityData == null) {
|
}
|
||||||
|
|
||||||
|
if ((currentChar = uuidSet.getCharacteristicActivityData()) == null ||
|
||||||
|
(btCharacteristicActivityData= getCharacteristic(currentChar)) == null) {
|
||||||
LOG.warn("btCharacteristicActivityData characteristicc is null");
|
LOG.warn("btCharacteristicActivityData characteristicc is null");
|
||||||
continue;
|
continue;
|
||||||
} else if (btCharacteristicDataUpload == null) {
|
}
|
||||||
|
|
||||||
|
if ((currentChar = uuidSet.getCharacteristicDataUpload()) == null ||
|
||||||
|
(btCharacteristicDataUpload= getCharacteristic(currentChar)) == null) {
|
||||||
LOG.warn("btCharacteristicDataUpload characteristicc is null");
|
LOG.warn("btCharacteristicDataUpload characteristicc is null");
|
||||||
continue;
|
// this characteristic may not be supported by all models
|
||||||
}
|
}
|
||||||
|
|
||||||
break;
|
break;
|
||||||
|
@ -40,6 +40,7 @@ public class XiaomiUuids {
|
|||||||
));
|
));
|
||||||
|
|
||||||
// Mi Watch Lite
|
// Mi Watch Lite
|
||||||
|
// Redmi Watch
|
||||||
put(UUID.fromString("16186f00-0000-1000-8000-00807f9b34fb"), new XiaomiBleUuidSet(
|
put(UUID.fromString("16186f00-0000-1000-8000-00807f9b34fb"), new XiaomiBleUuidSet(
|
||||||
false,
|
false,
|
||||||
UUID.fromString("16186f01-0000-1000-8000-00807f9b34fb"),
|
UUID.fromString("16186f01-0000-1000-8000-00807f9b34fb"),
|
||||||
@ -48,7 +49,17 @@ public class XiaomiUuids {
|
|||||||
UUID.fromString("16186f04-0000-1000-8000-00807f9b34fb")
|
UUID.fromString("16186f04-0000-1000-8000-00807f9b34fb")
|
||||||
));
|
));
|
||||||
|
|
||||||
// Mi Watch Color Sport
|
// Mi Smart Watch 4C
|
||||||
|
// Redmi Band
|
||||||
|
put(UUID.fromString("16187f00-0000-1000-8000-00807f9b34fb"), new XiaomiBleUuidSet(
|
||||||
|
false, // FIXME check
|
||||||
|
UUID.fromString("16187f02-0000-1000-8000-00807f9b34fb"),
|
||||||
|
UUID.fromString("16187f01-0000-1000-8000-00807f9b34fb"),
|
||||||
|
UUID.fromString("16187f03-0000-1000-8000-00807f9b34fb"),
|
||||||
|
UUID.fromString("16187f04-0000-1000-8000-00807f9b34fb")
|
||||||
|
));
|
||||||
|
|
||||||
|
// Mi Watch (Color (Sport))
|
||||||
put(UUID.fromString("1314f000-1000-9000-7000-301291e21220"), new XiaomiBleUuidSet(
|
put(UUID.fromString("1314f000-1000-9000-7000-301291e21220"), new XiaomiBleUuidSet(
|
||||||
false,
|
false,
|
||||||
UUID.fromString("1314f005-1000-9000-7000-301291e21220"),
|
UUID.fromString("1314f005-1000-9000-7000-301291e21220"),
|
||||||
@ -56,6 +67,15 @@ public class XiaomiUuids {
|
|||||||
UUID.fromString("1314f002-1000-9000-7000-301291e21220"),
|
UUID.fromString("1314f002-1000-9000-7000-301291e21220"),
|
||||||
UUID.fromString("1314f007-1000-9000-7000-301291e21220")
|
UUID.fromString("1314f007-1000-9000-7000-301291e21220")
|
||||||
));
|
));
|
||||||
|
|
||||||
|
// Mi Watch CN
|
||||||
|
put(UUID.fromString("7495fe00-a7f3-424b-92dd-4a006a3aef56"), new XiaomiBleUuidSet(
|
||||||
|
false, // FIXME check
|
||||||
|
UUID.fromString("74950002-a7f3-424b-92dd-4a006a3aef56"),
|
||||||
|
UUID.fromString("74950001-a7f3-424b-92dd-4a006a3aef56"),
|
||||||
|
UUID.fromString("74950003-a7f3-424b-92dd-4a006a3aef56"),
|
||||||
|
null
|
||||||
|
));
|
||||||
}};
|
}};
|
||||||
|
|
||||||
public static class XiaomiBleUuidSet {
|
public static class XiaomiBleUuidSet {
|
||||||
|
Loading…
Reference in New Issue
Block a user