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);