Bkynk.edgent no vuelve a reconectar

Hola todos, estoy teniendo el siguiente problema usando Blynk edgent:
Cuando se va el internet me da el siguiente error y se queda trabado:

[E][ssl_client.cpp:36] _handle_error(): [data_to_read():287]: (-76) UNKNOWN ERROR CODE (004C)

No vuelve a reconectar.
Lo demas del codigo sigue funcionando correctamente, excepto por la reconexión a internet.
Estoy trabajando con un ESP32 DevKitC V4 en platformio.

El codigo que uso es el siguiente:


#define BLYNK_TEMPLATE_ID "******"
#define BLYNK_DEVICE_NAME "*****"

#define BLYNK_FIRMWARE_VERSION        "0.1.0"
#define BLYNK_PRINT Serial
#define BLYNK_DEBUG
//#define APP_DEBUG

#define BUTTON_PIN  21
#define IWIDTH  220
#define IHEIGHT 176

#include "BlynkEdgent.h"
#include <TFT_eSPI.h>
#include <SPI.h>  
#include <Button2.h>
#include <Preferences.h>

Button2 button = Button2(BUTTON_PIN);
TFT_eSPI tft = TFT_eSPI();  // Invoke library, pins defined in User_Setup.h
TFT_eSprite img = TFT_eSprite(&tft);
Preferences Contador_parcial;

unsigned long previousMillis = 0;        // will store last time LED was updated
// constants won't change:
const long interval = 1000;  
long i = 1; 

void SUMA(){
  i = i + 1;
  Contador_parcial.begin("cont_parcial",false);
  Contador_parcial.putLong("cont_parcial", i);
  Contador_parcial.end();
  img.setTextColor(TFT_WHITE, TFT_BLACK);
  img.drawNumber(i,1,100,8);
  img.pushSprite(0, 0);
}

void longClick(Button2& btn) {
    //SUMA();
    Serial.println("DETECTADO");
}



void DisplayEveryNSec( void * pvParameters )
{
#define DISPLAY_INTERVAL_MS       1000L

  for (;;)
  {
    SUMA();
    vTaskDelay(DISPLAY_INTERVAL_MS / portTICK_PERIOD_MS);
  }
}



void BlynkRun( void * pvParameters )
{
#define BLYNK_RUN_INTERVAL_MS    250L

  for (;;)
  {
    BlynkEdgent.run();
    vTaskDelay(BLYNK_RUN_INTERVAL_MS / portTICK_PERIOD_MS);
  }
}



#define USING_CORE_1      0
#define USING_CORE_2      1

#define DisplayEveryNSec_Priority           ( 3 | portPRIVILEGE_BIT )
#define BlynkRun_Priority                   ( 2 | portPRIVILEGE_BIT )



void setup()
{
  Serial.begin(115200);
 delay(100);
  tft.init();
  tft.setRotation(3);
  tft.fillScreen(TFT_BLACK);

  img.createSprite(IWIDTH, IHEIGHT);
  img.fillSprite(TFT_BLACK);
  delay(200);
  img.createSprite(IWIDTH, IHEIGHT);
  img.setTextSize(1);
  img.fillSprite(TFT_BLACK);
  img.setTextColor(TFT_YELLOW, TFT_BLACK);
  img.drawString("Contador Embolse", 5, 5,4);
  img.drawRect(0,30,220,146,TFT_YELLOW);
  img.setTextColor(TFT_WHITE);
  img.drawString("Valor previo al reset:",2,50,2);
  img.drawNumber(1234,150,50,4);
  img.pushSprite(0, 0);
  button.begin(BUTTON_PIN, INPUT_PULLUP, false, true);
  button.setLongClickDetectedHandler(longClick);
  Contador_parcial.begin("cont_parcial",false);
  i = Contador_parcial.getLong("cont_parcial",0);
  Contador_parcial.end();
  BlynkEdgent.begin();

xTaskCreatePinnedToCore( DisplayEveryNSec,      "DisplayEveryNSec",     20000,  NULL, DisplayEveryNSec_Priority,      NULL, USING_CORE_2);
xTaskCreatePinnedToCore( BlynkRun,              "BlynkRun",             20000,  NULL, BlynkRun_Priority,              NULL, USING_CORE_2);


}

void loop() {
button.loop();
}