[BT] prmac to RMAC discovery fix (#1849)
prmac to RMAC discovery fix so as not to create discoveries for these as well as not publishing them
This commit is contained in:
1 parent
f2d3239350
commit
5f1463e6ab
1 file changed
+11
-9
+11
-9
@@ -1121,15 +1121,6 @@ void PublishDeviceData(JsonObject& BLEdata) {
|
|||||||
if (abs((int)BLEdata["rssi"] | 0) < abs(BTConfig.minRssi)) { // process only the devices close enough
|
if (abs((int)BLEdata["rssi"] | 0) < abs(BTConfig.minRssi)) { // process only the devices close enough
|
||||||
// Decode the payload
|
// Decode the payload
|
||||||
process_bledata(BLEdata);
|
process_bledata(BLEdata);
|
||||||
// Convert prmacs to RMACS until and if OMG gets Identity MAC/IRK decoding
|
|
||||||
if (BLEdata["prmac"]) {
|
|
||||||
BLEdata.remove("prmac");
|
|
||||||
if (BLEdata["track"]) {
|
|
||||||
BLEdata.remove("track");
|
|
||||||
}
|
|
||||||
BLEdata["type"] = "RMAC";
|
|
||||||
Log.trace(F("Potential RMAC (prmac) converted to RMAC" CR));
|
|
||||||
}
|
|
||||||
// If the device is a random MAC and pubRandomMACs is false we don't publish this payload
|
// If the device is a random MAC and pubRandomMACs is false we don't publish this payload
|
||||||
if (!BTConfig.pubRandomMACs && (BLEdata["type"].as<string>()).compare("RMAC") == 0) {
|
if (!BTConfig.pubRandomMACs && (BLEdata["type"].as<string>()).compare("RMAC") == 0) {
|
||||||
Log.trace(F("Random MAC, device filtered" CR));
|
Log.trace(F("Random MAC, device filtered" CR));
|
||||||
@@ -1185,6 +1176,17 @@ void process_bledata(JsonObject& BLEdata) {
|
|||||||
Log.trace(F("Processing BLE data %s" CR), BLEdata["id"].as<const char*>());
|
Log.trace(F("Processing BLE data %s" CR), BLEdata["id"].as<const char*>());
|
||||||
int model_id = BTConfig.extDecoderEnable ? -1 : decoder.decodeBLEJson(BLEdata);
|
int model_id = BTConfig.extDecoderEnable ? -1 : decoder.decodeBLEJson(BLEdata);
|
||||||
int mac_type = BLEdata["mac_type"].as<int>();
|
int mac_type = BLEdata["mac_type"].as<int>();
|
||||||
|
|
||||||
|
// Convert prmacs to RMACS until or if OMG gets Identity MAC/IRK decoding
|
||||||
|
if (BLEdata["prmac"]) {
|
||||||
|
BLEdata.remove("prmac");
|
||||||
|
if (BLEdata["track"]) {
|
||||||
|
BLEdata.remove("track");
|
||||||
|
}
|
||||||
|
BLEdata["type"] = "RMAC";
|
||||||
|
Log.trace(F("Potential RMAC (prmac) converted to RMAC" CR));
|
||||||
|
}
|
||||||
|
|
||||||
if ((BLEdata["type"].as<string>()).compare("RMAC") != 0 && model_id != TheengsDecoder::BLE_ID_NUM::IBEACON) { // Do not store in memory the random mac devices and iBeacons
|
if ((BLEdata["type"].as<string>()).compare("RMAC") != 0 && model_id != TheengsDecoder::BLE_ID_NUM::IBEACON) { // Do not store in memory the random mac devices and iBeacons
|
||||||
if (model_id >= 0) { // Broadcaster devices
|
if (model_id >= 0) { // Broadcaster devices
|
||||||
Log.trace(F("Decoder found device: %s" CR), BLEdata["model_id"].as<const char*>());
|
Log.trace(F("Decoder found device: %s" CR), BLEdata["model_id"].as<const char*>());
|
||||||
|
|||||||
Reference in new issue
Block a user