That in BlynkTimer, at the run function, you track a variable for to prevent WDT and blynk disconnects
`#ifdef BlynkSimpleEsp8266_h
long watchdog = millis();
endif `
Then in the for loop
do the same with ifdef and check against the variable (from various sources soft wdt is 3 seconds for the esp8266)
if millis - watchdog > 2500 do a yield
if millis - watchdog > blynkHeartbeat (-0,5 sec) do a blynk.run
Sorry we're not going to fix that.
Library already does yield for esp8266 during any Blynk.virtualWrite, Blynk.run(), etc.
If user blocks for 5 seconds, he gets by a watchdog. That's expected.
Since you are trying to fix the code to prevent beginners from flooding I'd suggest, based on this example: https://community.blynk.cc/t/nodemcu-with-10x-multiple-ds18b20-temperatures/20585?u=fettkeewl
That in BlynkTimer, at the run function, you track a variable for to prevent WDT and blynk disconnects `#ifdef BlynkSimpleEsp8266_h long watchdog = millis();
endif `
Then in the for loop
do the same with ifdef and check against the variable (from various sources soft wdt is 3 seconds for the esp8266) if millis - watchdog > 2500 do a yield if millis - watchdog > blynkHeartbeat (-0,5 sec) do a blynk.run
Is it understandable?