From 5e64649e812130017373a90b01401f2f2cc32cee Mon Sep 17 00:00:00 2001
From: Darrell
Date: Thu, 11 Nov 2021 07:32:12 -0500
Subject: [PATCH] Add trackr support (#121)
* Don't use md:0000 id
* Add trackr support
---
lib/BleFingerprint/BleFingerprint.cpp | 7 ++++++-
lib/BleFingerprint/BleFingerprint.h | 5 +++--
lib/BleFingerprint/util.h | 1 +
3 files changed, 10 insertions(+), 3 deletions(-)
diff --git a/lib/BleFingerprint/BleFingerprint.cpp b/lib/BleFingerprint/BleFingerprint.cpp
index 0d170b6..0146855 100644
--- a/lib/BleFingerprint/BleFingerprint.cpp
+++ b/lib/BleFingerprint/BleFingerprint.cpp
@@ -67,6 +67,11 @@ void BleFingerprint::fingerprint(BLEAdvertisedDevice *advertisedDevice)
asRssi = _parent->getRefRssi() + (advertisedDevice->haveTXPower() ? advertisedDevice->getTXPower() : ITAG_TX);
setId("itag:" + getMac(), ID_TYPE_ITAG);
}
+ else if (advertisedDevice->isAdvertisingService(trackrUUID))
+ {
+ asRssi = advertisedDevice->haveTXPower() ? _parent->getRefRssi() + advertisedDevice->getTXPower() : NO_RSSI;
+ setId("trackr:" + getMac(), ID_TYPE_TRACKR);
+ }
else if (advertisedDevice->isAdvertisingService(meaterService))
{
asRssi = advertisedDevice->haveTXPower() ? _parent->getRefRssi() + advertisedDevice->getTXPower() : NO_RSSI;
@@ -235,7 +240,7 @@ void BleFingerprint::fingerprint(BLEAdvertisedDevice *advertisedDevice)
mdRssi = advertisedDevice->haveTXPower() ? _parent->getRefRssi() + advertisedDevice->getTXPower() : NO_RSSI;
setId("samsung:" + getMac(), ID_TYPE_MISC);
}
- else
+ else if (manuf != "0000")
{
mdRssi = advertisedDevice->haveTXPower() ? _parent->getRefRssi() + advertisedDevice->getTXPower() : NO_RSSI;
String fingerprint = Sprintf("md:%s:%d", manuf.c_str(), strManufacturerData.length());
diff --git a/lib/BleFingerprint/BleFingerprint.h b/lib/BleFingerprint/BleFingerprint.h
index 2209a2d..cae8d7a 100644
--- a/lib/BleFingerprint/BleFingerprint.h
+++ b/lib/BleFingerprint/BleFingerprint.h
@@ -25,8 +25,9 @@
#define ID_TYPE_MIFIT short(15)
#define ID_TYPE_EXPOSURE short(16)
#define ID_TYPE_ITAG short(17)
-#define ID_TYPE_TILE short(18)
-#define ID_TYPE_MEATER short(19)
+#define ID_TYPE_TRACKR short(18)
+#define ID_TYPE_TILE short(19)
+#define ID_TYPE_MEATER short(20)
#define ID_TYPE_APPLE_NEARBY short(35)
#define ID_TYPE_APPLE_MODEL short(40)
#define ID_TYPE_APPLE_NAME short(50)
diff --git a/lib/BleFingerprint/util.h b/lib/BleFingerprint/util.h
index c4d6d58..2a0ebf4 100644
--- a/lib/BleFingerprint/util.h
+++ b/lib/BleFingerprint/util.h
@@ -10,6 +10,7 @@ static BLEUUID exposureUUID((uint16_t)0xFD6F);
static BLEUUID sonosUUID((uint16_t)0xFE07);
static BLEUUID itagUUID((uint16_t)0xffe0);
static BLEUUID miThermUUID(uint16_t(0x181A));
+static BLEUUID trackrUUID((uint16_t)0x0F3E);
static BLEUUID fitbitUUID(0xadabfb00, 0x6e7d, 0x4601, 0xbda2bffaa68956ba);