Robin2:
Rather than build a timeout into your WHILE loop I suggest you don't use WHILE at all. Just use IF and allow loop() to do the iteration. That way you will only need to call Blynk.run() from loop().For the timing issue have a look at how millis() is used to manage timing without blocking in Several things at a time. Note how each function runs very briefly and returns to loop() so the next one can be called. And there may be dozens of calls to a function before it is actually time for it to do anything.
...R
I did as you sugested.
I removed "while and now use "If" instead.
The timing is now done in the loop and only calls function when parameters are right.
This way i don't have a delay in my code every time "while" runs either.
Thank you very much for guiding me in the right direction.