Some time ago I have built a WiFi thermometer with a NodeMCU and a 6Ah recycled nickel-cadmium battery. WiFi is probably the least power-efficient communication methods, but I was curious how long could a NodeMCU run from a big battery pack.
After two long cycles I can state that the magic number is: around 4 months with a temperature measurement every 10 minutes 🙂 The setup is very inefficient – there is an always-on LDO in the NodeMCU, WiFi connection, time to get an IP over DHCP and then TCP connection setup (UDP turned out to be unreliable shortly after power on).
The first cycle is a little shorter because of lazy battery effect. I use my charger to do around 3 charging cycles before putting the thermometer outdoors. The battery seems to accept more charge after a couple of cycles.