Project not reconnecting after power failure

Hi all,
I have been converting my projects across from Blynk V1 to V2 static provisioning and now playing with dynamic provisioning. Had a power failure last night and noticed this morning that my dynamic provisioning projects (x2) had not re-connected. Both offline.
I ran a test today with one of the projects. Simple sketch (below) with slight variation from the ESP8266 dynamic provisioning example. Steps I took:

  1. Disconnected the board (Lolin D1 mini pro V2 ESP8266)
  2. Turned off the modem
  3. Re-connected the board
  4. Restarted the modem (takes about 3-4 mins to fully reconnect).

The serial monitor output is below. Tries to reconnect once and then seems to give up. I was expecting to see the board continuously try reconnecting until successful. Keen to see if anyone else has had any reconnection issues or whether it might be something in my system (router etc)

  ___  __          __
   / _ )/ /_ _____  / /__
  / _  / / // / _ \/  '_/
 /____/_/\_, /_//_/_/\_\
        /___/ v1.0.0 on ESP8266

[399] --------------------------
[402] Product:  wifidev
[404] Firmware: 0.1.0 (build Jul  6 2021 17:59:45)
[409] Token:    ...Szmd
[411] Device:   ESP8266 @ 80MHz
[414] MAC:      F4:CF:A2:D8:45:41
[417] Flash:    16384K
[419] ESP core: 3.0.1
[421] ESP SDK:  2.2.2-dev(38a443e)
[424] Boot Ver: 31
[426] Boot Mode:1
[427] FW info:  468208/1626112, MD5:43768bab3fa62031286c6e1bc735c530
[634] Free mem: 30672
[634] --------------------------
[636] Connecting to WiFi: lidd0801
[6495] Using Dynamic IP:

The sketch I used is as follows

// Fill-in information from your Blynk Template here
#define BLYNK_TEMPLATE_ID "xxxxxxxxxxxxx"
#define BLYNK_DEVICE_NAME "yyyyyy"

#define BLYNK_FIRMWARE_VERSION        "0.1.0"

#define BLYNK_PRINT Serial
//#define BLYNK_DEBUG

#define APP_DEBUG

// Uncomment your board, or configure a custom board in Settings.h

#include "BlynkEdgent.h"
BlynkTimer timer;

void setup()

  // Setup a function to be called every 1 second
  timer.setInterval(1020L, myTimerEvent);

void myTimerEvent()
  // Check wifi signal strength
  long rssi = WiFi.RSSI();
  Blynk.virtualWrite(V5, rssi);

void loop() {;;

Please go through this topic. There is a code in the loop which tries to reconnect every 10sec or so. This may solve the problem.

Thanks for the feedback. Not sure this approach will work for dynamic wifi provisioning. The whole point of dynamic provisioning is that the wifi connection is all handled internally by Blynk - nothing in the sketch. I think I need to understand first why Blynk doesn’t try to reconnect itself.