Kwh in feed does not add up to power company or solar city

i’m using an emon pi and an emontx to measure my house electric usage.

The emon pi has two ct clamps connected to the two wires that go into the house.

The emon tx has two ct clamps connected to the two wires that go to the garage and also measure the solar panels.

i’m using the bar graph to try to add up the daily kwh for all four ct clamps, but my numbers do not match what i see for the daily usage from the power company or the solar city web site.

i’m in the US and i’ve set the emonpi to 110v and i’ve changed the dip switch on the emon tx.


Almost all components of any system that is engineered are subject to a thing called manufacturing tolerances. In a nutshell, it means that it’s too expensive to make something absolutely accurate (and that begs the question - what is absolute accuracy), so the practical solution is to make each component “good enough” to within some tolerance, which generally means the whole thing becomes affordable.

In terms of your emonPi and emonTx, and as you don’t say which sensors you are using nor do you say what the discrepancy is, I can’t go into too much detail. Both the components in the input circuits and the sensors are made to varying tolerances, and there’s an article in the ‘Learn’ section that gives an analysis of the worst case scenario. Having said that, because of the random nature of things, errors in opposite directions tend to cancel and in reality you can expect much better performance than the worst case - a Monte Carlo analysis indicated that 45% of emonTx V3.4.4 production would be inside ½% and 82% would be inside 1%.

The cure will be to calibrate your inputs. The method is also the subject of an article in ‘Learn’, and the easy place to adjust the numbers is in the emonhub.conf file in the emonPi, which is accessible through your browser. Simply adjust the numbers in scales = ... by a small percentage to correct the values that are being fed into the graphs.

You should be looking under the nodeIDs for your emonPi, which should be NodeID=5, and your emonTx, which should be NodeID=10. The scale factors relate 1:1 to the values in ‘names’, so to increase the reading by 10%, 1 becomes 1.1 and 0.01 becomes 0.011, etc.

    nodename = emonpi
        names = power1,power2,power1pluspower2,vrms,t1,t2,t3,t4,t5,t6,pulsecount
        datacodes = h, h, h, h, h, h, h, h, h, h, L
        scales = 1,1,1,0.01,0.1,0.1,0.1,0.1,0.1,0.1,1
        units = W,W,W,V,C,C,C,C,C,C,p