power monitoring calibration - stodev-com-br/Tasmota GitHub Wiki
You might need to calibrate your power monitoring device as correct measurements are influenced by hardware and timing differences.
-
Your power monitoring capable device flashed with Tasmota and configured with the correct module/template that supports power monitoring
-
An AC capable calibrated multi-meter
-
A known wattage load with a power factor as close to 1 as possible (e.g., a resistive load) for best results
A resistive load device is any device which draws a constant amount of power. For example, an incandescent or halogen light bulb (best choice since their power draw is declared on them). An electric kettle, heater, or blow dryer are also options but you will also need a power meter since the power draw could vary.Do not use switch mode driven devices such as LED lamps, computer equipment, or inductive/capacitive devices such as motors!
-
A calibrated power meter (A.K.A. Kill-a-Watt) (optional)
- Connect the load (e.g., a 60W incandescent light bulb) to your device
(optional) Plug your load into the Kill-a-Watt
- Open two Tasmota web UI browser windows for your power monitoring device:
- Click on Console in one browser window
- Keep the other on the main page to view the Power telemetry data
- Turn the power on to your device. Be sure to turn the output on so the load is powered on as well
- Wait a few seconds for the readings to stabilize
-
Verify the Power reading in the web UI (optionally with the power meter as well) for the expected wattage. Adjust the power offset if needed (in Watts):
PowerSet 60.0
If you're using something other than a 60W bulb, enter your load's power rating -
Verify the Voltage reading with the multi-meter. Adjust the voltage offset if needed (in Volts):
VoltageSet <voltage>
Replace<voltage>
with the reading on your multi-meter. Your voltage will vary depending on the electrical standards and your electrical grid -
Verify the Current reading by calculating current value (amperage) using this formula: P(W)/V(V)=I(A). Adjust the current offset if needed (in milliAmps (mA=A*1000)):
CurrentSet <current>
_Replace<current>
with your calculated value (in milliAmps)CurrentSet
calculation:
P/V=I 1000 * Watts/Volts = milliAmperesExample: 1000*(60.0/235.5) = 254.777
-
Confirm the validity of your calibration process checking
Power Factor
from the web UI which should be as close as possible to1.00
. In theory resistive loads will always provide a power factor of 1.00. If that is not the case, we recommend you repeat the calibration process and make sure everything was done correctly.
Tampermonkey script submitted by @yuuya45
The CurrentCal
, PowerCal
, and VoltageCal
commands allow fine tuning of the power calibration.
Repeat the procedure below for each of the three readings: Current, Power, and Voltage using the corresponding calibration command (CurrentCal
, PowerCal
, and VoltageCal
respectively). Take note that the offset ranges vary for each command.
- Check the reading using the multi-meter
- Compare it with the reading on the Tasmota web UI
- If there is an observed difference, change the offset value by issuing the calibration command in the Console (e.g.,
PowerCal 10000
) - Adjust the offset value up or down until the readings on the multi-meter and the web page are as close as possible
Power monitoring chips like the HLW8032 (Blitzwolf SHP5) and CSE7766 (Sonoff S31, Sonoff POW R2) occasionally report invalid power measurements for load values below 5W. During this situation it sometimes reports a valid load. By setting SetOption39 to 128
(default) it must read at least 128 invalid power readings before reporting there is no load.
To discard all loads below 6W simply set SetOption39 1
(0
will reset to default on next restart) so it will report no load below 6W.