I am aware that at some threshold, a Blynk server will disconnect so that it does not get flooded by messsages.
I am aware I can install a local server and set my own threshold.
I have managed to glean that BLYNK_MSG_LIMIT defines a limit per second.
// Limit the amount of outgoing commands per second. #define BLYNK_MSG_LIMIT 15
What I can’t work out is if that limit is being implemented locally on the processor or at the server side. My guess is it is on the client side.
What does the client do if the threshold is exceed, does it just skip the additional calls?
What time period does it use for measuring the rate (which may not be the same as the units of the setting). Posing the question slightly differently, what order of magitude is used, eg, is it measured over 10ms, 100ms, 1s or 10s?
Similarly, on the server side, is the threshold policed over a few seconds (and averaged) or is the disconnection made if there is any burst that exceeds the rate? How many consecutive call will exceed the threshold. (Yes I could just try it but I don’t want to cause floods by testing, unless that is OK with Blynk.)
What is the acceptable rate of digitalWrites and setProperty calls?
I have an app with 4 lights, three of which use timers to transition brightness settings. I plan on enhancing the code to reduce the number of PWD changes made to the lights during fast transitions as I doubt the human eye needs, or can event detect, brightness changes at even 10Hz.
Each time I change a light, I update the app with a digitalWrite.
Some events in my app will make 3 consecutive setProperty calls
If the user elected to move all 3 dimmable lights from 0 to 100% over one second, the worst case scenario would be 303 calls in a second if I left my code as it is (making a change for every percentage change).
I have not had any flood disconnects yet, so I am looking for more information on this before I alter my code to reduce the rate of changes, and decide if the digital writes will need a slower rate than the actual pin changes being done.