Value not showing in nRF connect app with ESP32 and BMP280 sensor

I am trying to do like a basic BLE Server that advertises the value.
I edited code from Getting Started with ESP32 Bluetooth Low Energy (BLE) on Arduino IDE
I only want to see the temperature for now to understand the basics.
Everything is working fine and Vlaues are showing on serial monitor
But when I connect to nRf app it shows N/A in the value field.

#include <Wire.h>
#include <SPI.h>
#include <Adafruit_BMP280.h>
#include <BLEDevice.h>
#include <BLEServer.h>
#include <BLEUtils.h>
#include <BLE2902.h>
#include <Adafruit_Sensor.h>


#define BMP_SCK  (13)
#define BMP_MISO (12)
#define BMP_MOSI (11)
#define BMP_CS   (10)

#define temperatureCelsius

//BLE server name
#define bleServerName "BMP280_ESP32"



Adafruit_BMP280 bmp; // I2C
//Adafruit_BMP280 bmp(BMP_CS); // hardware SPI
//Adafruit_BMP280 bmp(BMP_CS, BMP_MOSI, BMP_MISO,  BMP_SCK);

float temp;
//float tempF;
//float hum;

// Timer variables
unsigned long lastTime = 0;
unsigned long timerDelay = 30000;

bool deviceConnected = false; //if the client is connected to server

#define SERVICE_UUID "91bad492-b950-4226-aa2b-4ede9fa42f59"

// Temperature Characteristic and Descriptor
#ifdef temperatureCelsius
BLECharacteristic bmeTemperatureCelsiusCharacteristics("cba1d466-344c-4be3-ab3f-189f80dd7518", BLECharacteristic::PROPERTY_NOTIFY);
BLEDescriptor bmeTemperatureCelsiusDescriptor(BLEUUID((uint16_t)0x2902));
//#else
//BLECharacteristic bmeTemperatureFahrenheitCharacteristics("f78ebbff-c8b7-4107-93de-889a6a06d408", BLECharacteristic::PROPERTY_NOTIFY);
//BLEDescriptor bmeTemperatureFahrenheitDescriptor(BLEUUID((uint16_t)0x2901));
#endif

// Humidity Characteristic and Descriptor
//BLECharacteristic bmeHumidityCharacteristics("ca73b3ba-39f6-4ab3-91ae-186dc9577d99", BLECharacteristic::PROPERTY_NOTIFY);
//BLEDescriptor bmeHumidityDescriptor(BLEUUID((uint16_t)0x2903));

//Setup callbacks onConnect and onDisconnect
class MyServerCallbacks: public BLEServerCallbacks {
    void onConnect(BLEServer* pServer) {
        deviceConnected = true;
    };
    void onDisconnect(BLEServer* pServer) {
        deviceConnected = false;
    }
};

void setup() {
    Serial.begin(9600);
    while ( !Serial ) delay(100);   // wait for native usb
    Serial.println(F("BMP280 test"));
    unsigned status;
    //status = bmp.begin(BMP280_ADDRESS_ALT, BMP280_CHIPID);
    status = bmp.begin();
    if (!status) {
        Serial.println(F("Could not find a valid BMP280 sensor, check wiring or "
                         "try a different address!"));
        Serial.print("SensorID was: 0x"); Serial.println(bmp.sensorID(),16);
        Serial.print("        ID of 0xFF probably means a bad address, a BMP 180 or BMP 085\n");
        Serial.print("   ID of 0x56-0x58 represents a BMP 280,\n");
        Serial.print("        ID of 0x60 represents a BME 280.\n");
        Serial.print("        ID of 0x61 represents a BME 680.\n");
        while (1) delay(10);
    }

    // Create the BLE Device
    BLEDevice::init(bleServerName);

    // Create the BLE Server
    BLEServer *pServer = BLEDevice::createServer();
    pServer->setCallbacks(new MyServerCallbacks());

    // Create the BLE Service
    BLEService *bmeService = pServer->createService(SERVICE_UUID);

    // Create BLE Characteristics and Create a BLE Descriptor
    // Temperature
#ifdef temperatureCelsius
    bmeService->addCharacteristic(&bmeTemperatureCelsiusCharacteristics);
    bmeTemperatureCelsiusDescriptor.setValue("BMP temperature Celsius");
    bmeTemperatureCelsiusCharacteristics.addDescriptor(&bmeTemperatureCelsiusDescriptor);

#endif

 bmeService->start();

    // Start advertising
    BLEAdvertising *pAdvertising = BLEDevice::getAdvertising();
    pAdvertising->addServiceUUID(SERVICE_UUID);
    pServer->getAdvertising()->start();
    Serial.println("Waiting a client connection to notify...");

}

void loop() {
  
    if (deviceConnected) {
        if ((millis() - lastTime) > timerDelay) {
            // Read temperature as Celsius (the default)
            temp = bmp.readTemperature();
            // Fahrenheit
            // tempF = 1.8*temp +32;
            // Read humidity
            //hum = bme.readHumidity();

            //Notify temperature reading from BME sensor
#ifdef temperatureCelsius
            static char temperatureCTemp[6];
            dtostrf(temp, 6, 2, temperatureCTemp);
            //Set temperature Characteristic value and notify connected client
            bmeTemperatureCelsiusCharacteristics.setValue(temperatureCTemp);
            bmeTemperatureCelsiusCharacteristics.notify();
            Serial.print("Temperature Celsius: ");
            Serial.print(temp);
            Serial.print(" ºC \n");
           
#endif

lastTime = millis();
        }
    }
}

I forgot to add that I am using AHT20+BMP280 sensor instead of the sensor mentioned in the project - which is a BME280 sensor

Correction on link of project - ESP32 BLE Server and Client (Bluetooth Low Energy)

How is the powering done? I ask because all transmitters need current and often powering is not properly done.


Here is what I am getting on serial monitor.
Which is accurately measuring the temperature

@Railroader

Yes, I'm here.