WhAccumulator, Pulse sensor and Serial connected TX - CM Firmware

I’m finally getting around to look at the logging of my directly connected pulse sensor and the serial connected emonTX with CM firmware. I’m wondering if I have set the processing up correctly, I seem to have but have a nagging doubt. The Guide page is not that clear I found. + Add Optical Pulse Sensor - Guide | OpenEnergyMonitor

My meter pulse 1000 pulses per kWh - 1 pulse per Wh. It seems reasonable then to use the WhAccumulator first then multiply the figure by .001 before using the kWhAccumulator.

What I am unclear about is whether, on the processing front, the output from the WhAccumulator can just be used or if the Input needs to be reset back to original before the multiplication.

The info, implies it is a modified Input that is output from the process but I have tried the logging with a reset and without and the end result seems to be the same.

Same is true for the Energy reading from the CM Firmware (example below I am resetting it). I wonder if there might be a rounding error introduced by one or other method. @TrystanLea (or anyone) could you clarify what the right set of processes are please?


My meter pulse is the same: 1000 pulses per kWh - 1 pulse per Wh. As I think you know, I recently checked the energy values accumulated in the emonTx against the power values accumulated to energy in emoncms, using “Power to kWh”. After scaling the emonCMS kWh values (× 1000 back to Wh), there was a difference, IIRC, of about 1 or 2 units in several tens of thousands, so negligible.

So the answer to the question is: the power (in W) accumulates to kWh, and is then sent to the feed defined on the “Power to kWh” line.

The Energy values are permanently accumulated (until the emonTx is restarted/reset) in the emonTx, and can be logged as Wh directly, or multiplied by 0.001 and logged as kWh. They do not need the “Power to kWh” process because the value emonCMS receives is already an accumulated kWh, not a power.

And because it is accumulated in the emonTx, it cannot be reset in emonCMS. All you can do (in emonCMS) is subtract the value at the time from all future values to give the effect of resetting to zero. In that sense, it works in exactly the same way as a register on your supplier’s meter.

The point about accumulating the energy in the emonTx, and sending the total (over all time since the emonTx was reset/restarted, rather than the increment) was to negate the effect of data loss in transmission.

@Robert.Wall, yes all that is understood. The question was more about the WhAccumulator input process itself and using it in tandem with the kWhAccumulator process. Is the Output from the WhAccumulator process a modified output or not i.e. should the Input be reset to original after the WhAcc process is used, or is it OK to pass it straight to the kWhAcc process.

I have not calibrated my emonTX so I’m seeing a greater difference over time (and that was the purpose of the exercise to see what the accuracy was like out of the box).

If my memory serves, all the “anti-reset” accumulators (“Wh Accumulator” and “kWh Accumulator”) do is store and permanently add the last value seen prior to a drop to zero.

The words say that the output to the next step is the modified value (as, presumably, is the value to the named feed).

So, my reading is, there won’t be a rounding error, but if any power is lost in between the input collapsing to zero and reappearing, then that can’t be taken into account and will be lost forever.