First of all, these three lines of code should be at the VERY TOP of your sketch…
When you do that, it’s not necessary to specify the server url and port in your Blynk.begin command.
Secondly, D3 (GPIO0) is a very bad choice of pin for this type of use. If this pin is pulled LOW at startup the NodeMCU will go into programming mode, preventing your sketch from running.
You should read this for more info…
Now onto your issue…
You are polling your pins eon E every second, and pushing the result to Blynk regardless of whether the pin’s status has changed since the last time or not.
Decreasing the polling time (increasing the frequency) would make the system more responsive to changes in your switch states, but will cause you problems with writing data to Blynk too frequently unless you only update Blynk if the switch status has changed.
A better approach would be to use Interrupts. Attaching an interrupt your each sensor pin will cause a pre-defined function to be called each time a particular pin changes state. You would need some debounce code in these Interrupt Service Routine functions because your reed switches will give a very noisy output rather than s single clean on/off output each time they are activated, but that’s easy enough to do.
Pete.