OpenEnergyMonitor Community

IoTaWatt, can it report kwh to EMON CMS?

Hello all,

Happily running with my IoTaWatt, but noted that the CMS needs to accumulate power data from IoTaWatt on 10 second intervals and calculate energy. IoTaWatt is already doing this, but the inputs available from IoTaWatt in CMS don’t expose the energy data, just the power data.

It would seem more efficient and much more accurate to input the energy directly from IoTaWatt.

There are other measurements I would like to see in CMS, like power factor.

Am I just missing something in the input configuration?

Bob Lemaire can now be found at, he has set up a dedicated forum for IotaWatt, if you post your question there I’m sure he will get back to you quickly.

Thanks. I’m certain Emon CMS has the ability to read inputs like these, as long as they are exposed by the hardware right?

I’m going to break with protocol and answer this here in the OEM forum because this is as much about Emoncms as IoTaWatt, and folks here might also be interested in the answers.

Practically speaking, with IoTaWatt, it’s six-of-one vs half-dozen-of-the-other. With some data sources, the timestamp of measurements is implied by the time of arrival at Emoncms. With IoTaWatt, the measurements are explicitely timestamped. Moreover, IoTaWatt uses millisecond weighting of power measurements to determine a very accurate average power for the interval. When this average power is reported to Emoncms along with the exact time of the measurements, the kWh calculation becomes almost exactly the same as IoTaWatt’s own calculation. The only difference is a fairly negligible loss of precision in the power reported to Emoncms.

By way of example, my home IoTaWatt reports 474.5 kWh for the past month, while Emoncms reports 473.6 kWh for the same period using a Power to Kwh feed. That’s 0.2% difference. So I think it’s just as accurate and on-balance more efficient to just generate a Power to kWh feed from the power inputs. A distinct advantage of doing it in Emoncms could be that you can specify a greater interval for kWh. I maintain my Emoncms kWh at one hour intervals (which probably is part of the 0.9kWh variation). Unfortunately, the current billing scheme does not reward you for doing this.

So asked and answered, but I do want to point out that this is possible in a variety of ways in IoTaWatt firmware 02_03_03 and later. When you specify an IoTaWatt output to Emoncms, you can select the units: Watts, Volts, Hz, Amps, Wh, kWh, PF, and VA. IoTaWatt will send that measurement.

In the case of Wh, the total watt hours accumulated for the interval will be reported to four decimal places. So a 100 watt load will consume 100/360 = 0.2778 Wh during a 10 second interval. If you specify kWh then you get that to seven decimal places 0.0002778 kWh. If you send that to Emoncms, you will need to use a cumulative feed to add the intervals. This may be less accurate than the Power to kWh feed, depending on how many decimal places Emoncms uses in the cumulative feed. I’ve never used it.

You indicated a desire to send power factor. That reports to three decimal places, and you probably would just stuff that into a regular feed as the integral has no significance. If you wanted to be able to develop, for instance average power factor over some interval longer than the reporting interval, it would probably make more sense to report VA, accumulate that in a Power to kWh feed (it would of course be VAHrs) and then for any period you can get average PF by the formula delta(kWh)/delta(VAHrs). The Hrs cancels out and you are left with kW/VA. Divide that by 1000 and you get the PF = W/VA.

IoTaWatt keeps just two metrics for each input, and can develop all of these measurements and averages over any period. For voltage channels it keeps VoltHrs and HzHrs. For power channels it keeps WattHrs and VAHrs. In addition, with each measurement record it keeps the total measurement hours to date, which is typically implied by the timestamp of the record, but is much more accurate and allows accurate averaging over a time period where there was, for instance, a power outage.

Currently, IoTaWatt 02_03_08 is the ALPHA auto-update class that enables all of this. This capability, along with a ton of other new stuff, has been held up in general release because of volatility in the underlying ESP8266/Arduino core which is beyond my control. The new core is great and many things work a lot better, but there have been some communications issues that needed to be resolved before it could go general. Between the efforts of the ESP folks, and mods/workarounds that I’ve put in place, the new version is pretty stable now and should be out soon.

1 Like

Overeasy: Many thanks for this information, I didn’t understand exactly how carefully designed this measurement and transfer is made. I appreciate your detailed response.

I’m currently running major updates 2.2.30, I did configure some outputs after initially adding the device to my EmonCMS profile. It appears I will need to update my firmware to expose this new data to EmonCMS. Right now the only inputs available are the 14 CT channels and 1 VT channel.

Thank you for building this hardware. The channel density and channel cost, along with wifi built in has been the key enabler for me to jump into OpenEmon. Looking forward to adding several more and a local Pi to record my data locally.

Apologies for reviving an old thread, but my question is closely related, though it is purely about emoncms.

If I use the power to kWh processor, can someone confirm that setting a PHPFina interval much larger than 10s - say 10mn - won’t significantly impact precision? Meaning even though the processor only creates a feed data point every 10mn, that data point will be calculated from all the power measurements received (every 10s) in the interval?
In other terms if the monitored appliance turns on for 2mn in the middle of the 10mn window I won’t get 0kWh in the feed, will I?



THANK YOU ! for this great job to create IOTAWATT !
recently, we was buy one piece at my company site office.
we are very happy with tool/software, but also need some help from all of users if is possible:

  • first of all, display of numerical values of measurements is changing too quickly, so can t read the value at one moment; unfortunately, display of those numerical values is freezing after some time
  • we understood very well principle of DERIVED REFERENCE measuring in three phase; what is not clear for the moment is how we can have measurement/graphic recording from all 3 three phases as voltage .
  • difficult for us to choose/understood (the way to) web service on EMONCMS based in credential that we have at the moment that we was buy an IOTAWATT hardware as soon as lot of CT’s.

thank you for all persons who can help us with firs problems faced .

Please try not to post the same question in multiple threads. I have answered this exact same inquiry posted 10mins earlier in the IotaWatt 4.0 thread.