diff --git a/docs/use/ble.md b/docs/use/ble.md index 433eec6..a91a51a 100644 --- a/docs/use/ble.md +++ b/docs/use/ble.md @@ -162,7 +162,7 @@ If you want to change this characteristic: `mosquitto_pub -t home/OpenMQTTGateway/commands/MQTTtoBT/config -m '{"onlysensors":true}'` -The gateway will publish only the detected sensors like Mi Flora, Mi jia, LYWSD03MMC... and not the other BLE devices. This is useful if you don't use the gateway for presence detection but only to retrieve sensors data. +The gateway will publish only detected sensors and trackers like Mi Flora, Mi jia, Mi Band, LYWSD03MMC... or trackers like Tile, Nut, TagIt or iTag, and not any other other BLE devices. This is useful if you don't use the gateway for presence detection with unrecognised trackers. ## Setting if the gateway publishes known devices which randomly change their MAC address (default: false) diff --git a/main/ZgatewayBT.ino b/main/ZgatewayBT.ino index 8076098..45ca59b 100644 --- a/main/ZgatewayBT.ino +++ b/main/ZgatewayBT.ino @@ -640,8 +640,8 @@ void procBLETask(void* pvParameters) { BLEdata["rssi"] = (int)advertisedDevice->getRSSI(); if (advertisedDevice->haveTXPower()) BLEdata["txpower"] = (int8_t)advertisedDevice->getTXPower(); - if (advertisedDevice->haveRSSI() && !BTConfig.pubOnlySensors && BTConfig.presenceEnable) { - hass_presence(BLEdata); // this device has an rssi and we don't want only sensors so in consequence we can use it for home assistant room presence component + if (advertisedDevice->haveRSSI() && BTConfig.presenceEnable) { + hass_presence(BLEdata); // this device has an rssi and with either only sensors or not we can use it for home assistant room presence component } if (advertisedDevice->haveServiceData()) { int serviceDataCount = advertisedDevice->getServiceDataCount(); @@ -1161,7 +1161,7 @@ void PublishDeviceData(JsonObject& BLEdata) { BLEdata.remove("track"); } // If the device is not a sensor and pubOnlySensors is true we don't publish this payload - if (!BTConfig.pubOnlySensors || BLEdata.containsKey("model") || BLEdata.containsKey("distance")) { // Identified device + if (!BTConfig.pubOnlySensors || BLEdata.containsKey("model")) { // Identified device buildTopicFromId(BLEdata, subjectBTtoMQTT); handleJsonEnqueue(BLEdata, QueueSemaphoreTimeOutTask); } else {