         // Pushing temperature change to the cloud
         Blynk.virtualWrite(BLYNK_VPIN_TEMP_DIFF, String::format("%4.1f", tempDiff));
 #endif
-        
-        // Publishing only at relevant temperature change
-        if (fabs(tempDiff) > TEMP_VALUE_MARGIN)
-        {
-            // Temperature status push notification
-#ifdef BLYNK_NOTIFY_TEMP
-            if (tempStatus != tempStatusOld)
-            {
-                Blynk.notify(BLYNK_LABEL_PREFIX + BLYNK_LABEL_GLUE + String::format("%4.1f C", tempValue) + BLYNK_LABEL_GLUE + TEMP_STATUS[tempStatus]);
-                tempStatusOld = tempStatus;
-            }
-#endif
-
+#ifdef BLYNK_SIGNAL_TEMP
             // Temperature change signalling
-#ifdef BLYNK_SIGNAL_TEMP
             if (tempDiff > 0)
             {
                 ledTempInc.on();

// Hardware configuration
//-------------------------------------------------------------------------
const byte PIN_LM35 = A0;                       // Ambient temperature sensor LM35DZ
const unsigned int REF_VOLTAGE = 3300;          // Reference voltage for analog reading in millivolts
const float COEF_LM35 = 0.0805861;              // Centigrades per bit - Resolution 12bit, reference 3.3V, 10mV/degC


//-------------------------------------------------------------------------
// System configuration
//-------------------------------------------------------------------------
const unsigned int TIMEOUT_WATCHDOG = 10000;    // Watchdog timeout in milliseconds
const unsigned int TIMEOUT_RECONNECT = 10000;   // Reconnection timeout in milliseconds


//-------------------------------------------------------------------------
// Measuring configuration
//-------------------------------------------------------------------------

// Measurement periods in milliseconds
const unsigned int PERIOD_MEASURE_RSSI = 2000;
const unsigned int PERIOD_MEASURE_TEMP = 2000;

// Temperature processing parameters (in centigrades)
const float TEMP_VALUE_NAN = -999.0;    // Temperature not a number
const float TEMP_VALUE_MARGIN = 0.5;    // Temperature hysteresis
const float TEMP_BUCKET[] = {0.0, 5.0, 16.0, 20.0, 24.0, 28.0};
const char* TEMP_STATUS[] = {"unknown", "Freeze", "Cold", "Lukewarm", "Normal", "Warm", "Hot"};

// Statistical smoothing and exponential filtering
const float EXPFILTER_FACTOR_RSSI = 0.1;    // Filtering factor for RSSI

#ifdef BLYNK_CLOUD
    Blynk.begin(BLYNK_TOKEN);
#endif
}


