Would you like to try using this:
It’s written with this No matter if server or WiFi are down
in mind.
Check the function checkstatus() in the examples
if ((millis() > checkstatus_timeout) || (checkstatus_timeout == 0))
{
// report status to Blynk
if (Blynk.connected())
{
set_led(LOW);
led_ticker.once_ms(111, set_led, (byte) HIGH);
Serial.println("B");
}
else
{
// Any function here will be executed with or without WiFi/Blynk connected
Serial.println("F");
}
checkstatus_timeout = millis() + STATUS_CHECK_INTERVAL;
}