An alternate (and cheaper) solution is to extrapolate what the power consumption would be at different voltages given their 120Vac rating (this would assume a constant resistance on the device being tested which is not always the case but is acceptable for small voltage fluctuations) and use a dynamic range of acceptable wattage values.
You can view the code and other documentation here:
In this demo the power meter is connected to an autotransformer and the voltage is being controlled manually to simulate a voltage drop on the line.
I found that if the NodeMCU is queried too often it looses connection. Once per second seems to be a good balance between 'real time updates' and abiity to connect from multiple clients.