Too spiky graphs with 'kWh to Power'?


I have a SDM630 kWh meter that measures some values, eg. imported (Ei) and exported (Ee) energy in kWh. I use ‘kWh to Power’ in the process list to also have the corresponding Power in kW. But I find the corresponding graph of Power rather “spiky”. Is this normal or should I change some setting? An example with Ee and the corresponding EE_kwh2kW.

The corresponding csv-output:
Ee and EE_kwh2kw.csv (12.8 KB)

The process list:

The part in emonhub (more info on the SDM630 modbus registers):

    Type = EmonHubMinimalModbusInterfacer
        device = /dev/ttyUSB_household
        baud = 9600
        pubchannels = ToEmonCMS,
        read_interval = 10
        nodename = household
        # prefix = sdm_
        registers = 52,70,72,74,  84
        names =     PT,FR,EI,EE,TSPD
        precision =  1, 3, 3, 3,   3

It’s quite normal to see jitter like that when you are taking an energy value and differentiating it to extract the rate of change, which is the power.

Would there be a better solution? I didn’t find a modbus register that has a Pi (import) and Pe (export) separately, only a P that is positive on import and negative on export. And a Ei that measures the imported kWh (same for Ee and exported kWh).

Would it be correct to state that for the orange graph the Pi is everything above the x-axis and Pe is everything below the x-axis? I’m not sure because it could be that within one time interval there is a bit of export the first fraction of the time interval and a bit of import in the other fraction (or vice versa). I would also expect the blue EI_kWh2kW graph would be just the same as orange P graph (at least above the x-axis).

The reason I ask is because if I want to use the ‘Feed-in tariff’ app of emoncms I need feeds for import_power (Pi), import_energy (Ei), export_power (Pe) and export_energy (Ee).

That is probably correct, but the only way to prove it - short of a definitive statement on a data sheet or direct from the manufacturer - is experimentation and careful measurement.

Exactly. To put it another way, I’d expect you to to see the nett power transfer in the relevant time interval. But that only matters when the rate of switching between import and export approaches the reporting period. When it’s long compared to the reporting period, the error from that will be insignificant.

I wouldn’t. If you’ve been exporting power and have accumulated a large nett export of energy, then start to import power, the export of power will cease, but the nett amount of energy exported will initially only reduce. It will become a nett import only after a significant time has elapsed and you’ve pulled back all the energy you exported. (And vice-versa of course.)

Remember the two fundamental relationships: energy is power integrated over time, and power is the rate of change of energy.

In emonCMS, you can use Allow positive and Allow negative to separate P into Pi and Pe.

If you integrate those to get another pair of Ei and Ee, you might well find there’s a discrepancy between those and the meter’s, because emonCMS can only use the nett power over the Feed interval, whereas the meter might be using a much smaller period.

I don’t know the emonCMS apps so I can’t help directly with those.

Thank you Robert for the explanation! I made a new process list based on this post (thank you @johnbanks). I will let it running for a couple of hours too see if I did it correctly. I’ll keep you updated.

My process list to split up a Power input that is positive (on import) or negative (on export) is as below.

  • Step 3 ‘Allow positive’ will make sure that a -30 W will become 0 W and a 30 W will stay 30 W so that I can use those values to make a Pi(mport) feed and graph.
  • The problem is that all my negative values are gone now. A ‘get feed’ process which gets the latest value from my P-feed would solve this problem, but that doesn’t exist. As a workaround I can use the ‘+ feed’ (step 7) to add the current value with the latest value from my P-feed. That ‘current value’ must be 0, so that’s why ‘Reset to ZERO’ (step 6) is needed. → [Edit of post] The '‘Reset to Original’-hint in the next post is even beter!
  • Step 4 ‘Allow negative’ will make sure that a -30 will stay -30 W and a 30 W will become 0 W so that I can use those values to make a Pe(xport) feed and graph.
  • I want the values to positive, so that’s why i multiply this value with -1.

I wouldn’t have find it on my own, but the post of johnbanks did the trick.

I have a Ei (energy imported) value from the modbus meter itself and a Ei_calc that is from the process ‘Power to kWh’. Like Robert.Wall predicted: they are not the same.

The same goes for Ee and Ee_calc:

Instead of ‘Reset to zero’ and ‘+ Feed’, you could have used ‘Reset to Original’

To get an idea which is nearer the truth, you probably need to plot the power as well as those energies on the same graph, then do some careful reasoning and probably some hand calculations as well.

Thank your for the ‘Reset to Original’ tip! About the ‘which is nearer the truth’: at the moment whatever value seem close enough for what I want to do. I’ll investigate it when I have a “smart meter” instead of the Ferrarismeter I have now.