This is the first of six NodeMCUs I am using to save $1,000+/year total. All programs uploaded wirelessly and web page HMIs used for monitoring and control. Upgraded from Arduino Uno. NodeMCU records furnace operation every hour. Complete details are here: https://sites.google.com/site/nodemcu12e/#furnacewaterheater Furnace ON seconds per day is sent to a Google cloud spreadsheet and used to calculate furnace cubic metres of natural gas used per degree day furnace efficiency. That number greatly improved from 0.6 to 0.4 with longer furnace run times. Furnace is either OFF or ON for 1/2 hr+ now. I was thinking of switching to a gas water heater but it would cost $3,000. Only heating at low cost Time of Use overnight is almost the same operating cost. Electric water heaters are quiet, don't need holes in the wall and are far less expensive. Easier to install.
LoLin V3 NodeMCU12E - I prefer this 3.3V board since it includes 5V VU output from the USB charger to power relays.
17X10 protoboard. I mount the NodeMCU board across two of them. This makes it easy to wire and creates two isolated areas .
M-M and M-F Dupont wires
Micro USB cable
5VDC phone charger power supply for NodeMCU and relays