Using external supplied voltage to set voltage baseline

Hi guys,

my board does not have a Voltage input, I at norm get current flowing even when the device is switched of. my thinking is the unset voltage.

I have Inverter system, and it includes the Carlo Gavazzi which can give me real time accurate voltage. Is it possible for me to ingest that, to then improve accuracy of all measurements given by the OE system.


Hello @georgel, you could use a RMS voltage reading from an external source and multiple it by the RMS current from an EmonTx or EmonPi to give you a more accurate apparent power measurement, it would not be as good as having an AC adaptor to provide the voltage measurement directly as that samples the AC voltage waveform alongside current to calculate real power. You would also need to either modify the EmonTx/EmonPi firmware to print out current readings or work backwards in Emoncms , dividing the apparent power reading by the fixed RMS voltage and then multiplying by your measured source… hope that makes sense?

… sorry, not really…

Was hoping by being able to inject the real time voltage (via a mqtt public) I can improve the accuracy of my wattages displayed… instead of working on a flat rate / static assumed voltage.

As I don’t have way to incorporate the plug solution, I have a live voltage feed available from my Carlo Gavazzi device.


When you have an a.c. adapter and a current transformer, each sample of current and voltage - and there are about 2500 pairs each second - are multiplied together to give the power at that instant, the power is then averaged. This is the real power, that you pay for.

If you average the current and voltage separately, as if reading them on two separate meters, you can only have what we call apparent power, which is the same or greater than the real power.

Your emonPi calculates both, but it only sends the real power IF you have an a.c. adapter. Otherwise it guesses the voltage and uses that to estimate the apparent power. This is done inside the “emon” part of the emonPi, long before the numbers arrive in emonCMS.

What Trystan was saying is, in emonCMS, you should divide the “power” you see by the estimate we use for voltage - 230 V - which will take you back a step to give you the current. You then multiply that current, still inside emonCMS, by the voltage you get from Carlo Gavazzi. That will give you a better value of apparent power, but you can never get real power by that method.

What form does the live voltage feed from the Carlo Gavazzi take? To get that voltage into emonCMS, you must send it via WiFi or Ethernet, in a form that emonCMS can understand. I’ve no concept of mqtt public, so I’ve no idea what it does.

thanks for the larger explanation.

so will need to do some thinking about reverse decomposing the wattage values to a current only and then taking it back to a wattage. big thing is just to figure out how to get access to the current voltage.

some additional background information, my board is not a emon*, it’s the leClarc boards that fit onto a Raspberry Pi. My board in this case have 8 current sensors, I have 2 boards stack giving me 16 current clamp sensors that clamped round various circuits in my DB board.

OEM actually uses MQTT inside it, allows me to publish the various values to MQTT, I’m hoping I can subscribe (ingest) a value, this case the voltage coming from the CG, I can shape the value being pushed to this topic in any format required/desired/required.


We don’t really know what that is so if you can expand perhaps?

Does that device give you current only readings in Amps?

If so yes, you can multiply the live voltage readings by the live current readins frm the 2 different devices else where as long as you try to keep the readings relative, ie combine reading for now, not one from now and one from 30s ago. This will indeed give you a better representation of apparent power considering the varying voltage reading, but as explained above, not real power.

Or if no does that device use a fixed voltage value eg 230V to determine “apparent power” ?

If so yes you can take your power reading of (say) “690 Watts” and divide by 230V = 3 Amps and then multiply by (say) 235V from your other device to get 715 Watts, this is a little more accurate, but not real power.

How you do this, via MQTT or any means is possible, what ever is easiest to combine them, you can do it in emoncms if that’s what you use, or run a custom script are just 2 ways.

I strongly suspect it’s modbus, they are pretty common in newer dist boards beyond a certain size these days, or at least in many of the schools I’ve installed in this is the case.

the leClarc board fits onto a RPi and then runs the OEM image, as is. (

so other than the board option I bought - my mistake should have ordered one with a voltage sensor also… in the end is our OEM (in this case with no direct voltage sensor).

The output from the CG is 2 fold, a straight topic with a value and a second topic that a JSON structured payload, either is irrelevant as I can use NodeRed to subscribe to the CG topic and modify it however required and re-publish that in a OEM compatible forma.