Clear MI sensors when setting 'mi32Option5 1'

This commit is contained in:
Simon Hailes 2021-01-26 08:41:45 +00:00
parent 26be733269
commit e14ff3e44a
2 changed files with 8 additions and 5 deletions

View File

@ -279,7 +279,7 @@ const char * getStateString(int state);
//int SafeAddLog_P(uint32_t loglevel, PGM_P formatP, ...); //int SafeAddLog_P(uint32_t loglevel, PGM_P formatP, ...);
static void BLEDiag(); static void BLEDiag();
const char *getAlias(uint8_t *addr); const char *getAlias(const uint8_t *addr);
//void BLEAliasMqttList(); //void BLEAliasMqttList();
void BLEAliasListResp(); void BLEAliasListResp();
//////////////////////////////////////////////////////////////////////// ////////////////////////////////////////////////////////////////////////
@ -2404,7 +2404,7 @@ static const char *noAlias = PSTR("");
//////////////////////////////////////////// ////////////////////////////////////////////
// use to display the alias name if required // use to display the alias name if required
const char *getAlias(uint8_t *addr){ const char *getAlias(const uint8_t *addr){
if (!addr){ if (!addr){
return noAlias; return noAlias;
} }

View File

@ -922,11 +922,10 @@ int MI32advertismentCallback(BLE_ESP32::ble_advertisment_t *pStruct)
int RSSI = pStruct->RSSI; int RSSI = pStruct->RSSI;
const uint8_t *addr = pStruct->addr; const uint8_t *addr = pStruct->addr;
if(MI32isInBlockList(addr) == true) return 0; if(MI32isInBlockList(addr) == true) return 0;
if (MI32.option.onlyAliased){ if (MI32.option.onlyAliased){
const char *alias = BLE_ESP32::getAlias(p->MAC); const char *alias = BLE_ESP32::getAlias(addr);
if (!alias || !(*alias)){ if (!alias || !(*alias)){
return; return 0;
} }
} }
@ -2130,6 +2129,10 @@ void CmndMi32Option(void){
} break; } break;
case 5:{ case 5:{
MI32.option.onlyAliased = onOff; MI32.option.onlyAliased = onOff;
if (MI32.option.onlyAliased){
// discard all sensors for a restart
MIBLEsensors.clear();
}
} break; } break;
} }
ResponseCmndDone(); ResponseCmndDone();