Getting pf and other details from EM24

Hey Guys

I’ve built a couple of meters using the EM24 with external CTs and Venus Pi’s with touch 3.5” touch screens. We prefer them to the Efergy because they give us logging per phase but they’re very expensive and I’d love to find a way of getting to frequency, power factor, voltage, current and whatever else the EM24 provides.

VRM only shows power - nothing else - not even voltage and current.

Much as I’d love to use VRM, I assume to get the additional data we’d have to use something else.

I’m looking for pointers on where to start. My python is rudimentary but I’m happy to hire someone to help get this right if necessary. We have built 5 of these meters and it would be very useful to us (and get more Victron kit into the market) if we could provide prospective clients with better information about their loads.


You can always convince VE that adding those items is a good idea… the guy who does that stuff can do something about it if it comes through the right channels… :slight_smile:

I am trying. I have posted on Community and tagged key individuals. Said individuals I think are doing some strategic ignoring while 2.65 is stabilised.

Ps. The guy who does that stuff is a legend :sunny:!

Har har… I see what you did there! :slight_smile:

Adding power factor to dbus is fairly easy. You’d just have to add the command somewhere in the list. And populate dbus with it. And make sure all three meters support this.

Logging it is also fairly easy.

But you need to also add it to VRM. One can of course also just use the cheap way: Add it to downloadable data, but don’t add widgets for it (since I suspect a chart of power factor would not be all that useful to most people, especially since an ESS system tends to create rather terrible pf around the zero point where the meter sits :slight_smile: ).

Daily kWh ET112 grid usage stats would be great (to MQTT as well…) :laughing:

There is one possible reason not to add it. The modbus-rtu comms with the meter (at 9600 baud) sits in a tight loop and queries the meter as fast as it can, and it interleaves voltage, current and power queries in a way that prioritises power readings. Adding additional stuff into that loop will actually slow it down. Now that might not matter… but it will factor into whether we want to tinker with that.

It is not so much the speed of the reading. This is already dreadfully slow (the fastest meter, the EM24, has a refresh rate of 600ms). The reason is that you want to pick up the reading as soon as possible after it happens and not introduce even more propagation delays into an already very slow setup. So one would have to think carefully about where to sneak in a reading to the PF registers. Which should be contiguous and therefore readable in one request…

1 Like

This application is metering only, and it would be of specific use to Victron installers.

This would give us a powerful tool to metering and basic power of quality analysis.

If it was in any way possible to identify a site as “metering only”, the impact on sample rate might be tolerated.

I’m not sure if you are getting both real and apparent power readings from the EM24 at the moment, but if you are, then calculating the pf is really simple. I think it’s just real power / apparent power

1 Like

The meter has registers for all of this stuff. Just need to query 0x32, length 3 occasionally.

For the ET112 the register is at 0x0E, and for the ET340 at 0x2E (length 3).

The CG meters all have different register layouts. Which is not how I would have done it, but it is what it is. Thankfully all of them puts the type indicator at 0x0B, which at least makes detection easy.

1 Like

Just a thought here about the sample rate you mentioned before.

PF probably doesn’t need to be read very often. Reading it every minute would still be very useful to me but I’m sure reading it every second would BA minimal impact on performance.

To confirm @plonkster, I’m trying to apply pressure via country manager and will write to MV as well to motivate.

As far as I understand, you already get the power readings from the meter regularly. The question then is are you getting both real and apparent power, or just real power? My suggestion was that if you already get both real and apparent power (read from register 0x12 with length 12 or even 18 if you get reactive power as well), then you could easily calculate the pf of the historical values already collected and there would be no need to change which registers are read from the meter.

Sorry @Stanley I did see that. I can’t confirm but maybe @plonkster can exactly which registers are being read by Venus.

Just real power. In theory the registers are exactly adjacent, so for very little cost we could get the apparent figures as well, but one also has to somehow account for the variances between meters, so this might not be a simple change. Don’t know… need time to think about it, and don’t have time to think about it right now :slight_smile:

There is an additional complication that is often forgotten. The driver supports two meters on the same cable (on addresses 1 and 2). When there is a second meter in the system, that already slows things down a tad.

Simply, because we’re already dealing with a slow loop, one would have to prove carefully that the additional fetch will have little to no effect on the loop timing, and then convince the boss thereof.

1 Like

Izak, if I wanted to make a plea to allow pf to be made available in situation where there is only an EM in the system and no ESS to worry about slow down for, who/where would I motivate for this? We are now building these meters for Victron installers and getting pf would be massively valuable to us:

Hey @warwickchapman , I have an interesting conundrum here. Don’t take this as a commitment to do it, but I did make a quick attempt.

The issue is that the meters don’t appear to agree. The ET112 and the ET340 agree that my laptop has a positive power factor of around 0.5. The measurement isn’t terribly accurate, the one says 0.55 and the other 0.45.

The EM24 however says it has a negative power factor, -0.5. So at least it agrees roughly about the poor power factor of the PSU brick, but not about the direction.

What confuses me further, is that I have the meters wired up such that L1 loops backwards through L2, so that L2 literally reflects the same values as L1, but the negative thereof. I would have expected the PF on L2 to be the reverse of L1 (since the current is exactly 180 degrees out of phase), but I cannot seem to get that result on any of the two 3-phase meters (EM24, ET340).

So I am not quite sure what to make of it… do these meters have different interpretations of what is positive and negative? The documentation does not seem to suggest that that is the case. The EM24 insists that my load on L1 is capacitive, so negative would be the right answer.

Perhaps the laptop brick has a non-linear current waveform that simply confuses the heck out of it?

Or perhaps I seriously misunderstand how it works :slight_smile:

In any case, as a result of this weirdness, and because I don’t really have anything better to calibrate against, I do not know how useful the result is. If you have access to two different meters and can verify the results, I can send you a binary for whatever platform you prefer.

I’m also wondering it if might not be better to rather publish the apparent power figures. That would at least bring it in line with the Multi, which publishes /S figures.

Awesome dude. This is exciting. Thank you.

Those pf’s seem way low. I’ve been fiddling with some Shelly EM3’s in the interim and we’ve had to ditch their cloud software and use them with NodeRED, Influx and Grafana because their pf figures are too low / erratic to be believed.

I don’t know how pf is supposed to be read when done properly, but perhaps these meters are only able to read pf accurately under certain conditions or loads. How would one ever find out. When we contacted Shelly about their hard to believe pf values, and whether we could bypass them, they just said no.

So, perhaps apparent power is the better metric (so long as it is not calculated using wonky pf).

Please send binaries to test for whatever platform suits / VenusOS, Ubuntu, Raspbian, MacOS, whatevs.

Dunno about the negative pf but perhaps it is something to do with the fact that the EM24 uses CTs and the ET340 and ET112 are inline? We have a three phase supply office and we can plug one of our meters in and test and revert with results.

My V9261F-based plug-in meter says the power factor is 0.48. Of course this meter cannot show if that is leading or lagging, so it does not tell me which one of the others are right, but it does indicate that they are in the ballpark in terms of the actual values.

The only other two loads I had readily available was a heat gun (which naturally spat out a 1), and a fan (which gave 0.98 on the ET112/ET340) and -0.98 on the EM24. So the same sign difference.

The documentation says this. For the EM24:

Negative values correspond to lead(C), positive value correspond to lag(L)

And for the ET340:

Negative values correspond to exported active power, positive values correspond
to imported active power.

For the ET112, it says nothing, but it has the same 4-quadrant picture in the pdf as the other two, so it stands to reason it likely does the same as at least one of them.

Yeah, that will be the nest thing to look at.

The AV2, AV5 and AV9 models are also inline (internal CTs), but you can attach external CTs to the AV5. I’m using an AV9 for testing.

Let me first check if the apparent power numbers are similar.

OK, a convention that cannot be restated enough. The voltage is always the reference. This sounds simple, but if I had a penny for every time I have heard the voltage is leading the current. No, the voltage never leads or lags, only the current leads or lags. For those that know this I apologise, for those that don’t,… engrave it in your brain.

Power factor vs power flow, isn’t necessarily comparing apples to apples. It depends on your perspective.

And deciding on your perspective is the easy bit.

1 Like

Yup, that is apparently the part I’m not getting. It seems one of the meters has a different perspective to the others. It doesn’t matter too much though. If I cannot get a consistent view out of the various meters – and that is what I feared from the beginning, because I know these damn meters too well – I don’t want to add the feature. Hence opting to rather publish something else then (apparent power).

Do you maybe then just have a linear PSU, not a switch mode one? Or am I confusing efficiency here with power factor (it “feels” to me like they should be the same thing… scientific, I know, but I’m here to learn!) ?