I have a question regarding a calculation problem in Emoncms that I cannot explain:

I have an EmonTx running with one voltage sensor and three current probes. Power values for phase 2 and 3 are calculated using a timeshifted voltage reading from a table. This seems to work very well as I am seeing a better than +/- 2% accuracy comparing the data to my Ferraris meter readings over ~3 months.

On phase 1 I have positive and **negative** mains power values because my PV system is feeding into this phase. So always when the PV power is bigger than the consumption on this phase, I get a negative reading. All this data is logged with Emoncms on a RasPi. Presentation of this data including negative values works perfect.

Now, when I zoom into the data in a region with negative power values, the average is correctly shown as (e.g.) -350W, but the energy sum is always positive like: Average: -350W | 1.6kWh. This is due to Math.abs being used on the result of (only) the energy value calculation (in proc.js). I do not know the reason for this, but ok, maybe nobody thought of negative 'consumption' values when doing this.

To make the calculation work with negative values I removed the Math.abs from the energy calculation. If I now zoom into a region with negative power (excess PV power), I get correct readings of (e.g.) Average -350W | -1.6kWh.

Hmmm, but the problem now is that I also get negative Energy readings when I zoom into a region with only positive power readings, like Average: 170W | -0.17kWh !?! The calculated value seems to be correct but with wrong sign.

This is not always the case, but only if the integration interval is smaller than ~1 to 1.5 hours (?).

How can this happen? Any ideas?

BR, Jörg.

## Re: Emoncms calculation question

Hello Jorg,

The issue is due to line 384 here:

https://github.com/emoncms/emoncms/blob/master/Modules/feed/feed_model.php

$sql = "SELECT time, data FROM $feedname".

" WHERE time BETWEEN $start AND $end ORDER BY time

DESC";Im not sure why I put DESC here, I have a vague recollection there was a reason for it, but cant remember now, so we can probably change it to Asc and remove the Math.abs bit

Trystan

## Re: Emoncms calculation question

Ah,

Trystan, thanks for the hint! I will try to change it this evening.

BR, Jörg.

## Re: Emoncms calculation question

~~Sorry Trystan, doesn't help for me. I get exactly the same result.~~~~Always if the time interval is smaller than 5000 (~1hour 22 minutes), the calculated kwhs have the wrong sign.~~Ups, it works!

I have two installations and made the change on the wrong one! Sorry!

BR, Jörg.