Demand use for 3-phase

I am working on sorting out all the electrical bits in my Church and found that they pay as much in Demand Charges as they do in energy use.

About 7 cent a kWh and about $30 for Demand Charges.

If you don’t know Demand Charges are based on the highest use in any 15 minute slice of time in the 30 day period.

At first thought, read each of 3 phases every 5 seconds, average the last 30 seconds, then save that to a circular buffer. That buffer would hold 30 readings per phase. (3 buffers?)

I would then be able to sum the buffer to determine the consumption over the last 15 minutes.
If that approached some threshold, then I would want to start load shedding.
turning off water heaters, or HVAC equipment, etc.

I’v not seen much actual discussion on this topic and figured I introduce myself with a bang.

I am hoping the ESP32 version is available now as that is the one I would like to work with due to the dual cores. or even an STM32 ?

I am VERY leery about the ESP’s in general, with their inability to reject WiFi commands right out of the box. Can you say STUXNET in Chinese ?

To round it out, no wifi, all hardwired LAN.
oh, did I mention the main disconnect is 208 volts, 2,000 amps ?
The wires on the 400 amp disconnects are too large for the blue CT’s I have for 100 amp loads. but, just by a smidge.

ESP32 not available.

Can’t say STUXNET in Chinese.

No Ethernet, just WiFi.

2,000 Amps is unusual for 120V/208V. Would need more details to suggest CT strategy.

Iotawatt might not be the best solution for this problem.

Shelly have a 3 phase energy monitor. The latest versions have scripting. They also have switches and relays controllable over Wi-Fi using a https command.

The relays are cheap as chips (circa 10 euro each). Some of the relays have single phase power monitoring as well.

I use them to control the outside lights (triggered either by a physical switch (sends on/off signal to two other devices in the property); a timer in my loxone mini server or a Siri shortcut.

They have devices that, from memory, can communicate to 16 other relays.

With good Wi-Fi my experience is that the trigger is near instantaneous (as opposed to the z-wave devices the Shelly replaced.)

My versions are slightly older so don’t have the onboard scripting. I suspect that you could either use the onboard script to load shed or a raspberry pi or similar device to progressively load shed (and restore)

Shelly has an online store in the US and in Europe. Worth checking out for your use case.


Thanks for the information.
I can put a WiFi hub in to pull the data but it would be to another ESP32 that would log the data and control the few things that I might be able to shut off.

I don’t have internet in the area in the basement so everything is hard wired.
not too much of a problem.
I have to datalog all 3 phases to get a handle on the time of day and possible devices being used.

If the ESP32 is not ready for Prime Time, I will be very happy when it is.

As for CT’s… have to use a Rogowski coil due to the large diameter of wire!
there are 3 wires coming in for A-phase, 3 for B-phase, 3 for C-Phase and 3 for ground. each one about as big as your wrist.

There is no Rogowski coil support in IoTaWatt. Are you saying that the incoming mains are 9 cables “as big as my wrist” or three bundles of cables “as big as my wrist”. My wrist s 60mm at its widest point, so a 1600A x 80mm would work if it’s the later. I have another request outstanding for that special order CT, so will probably be ordering soon. I expect they will be about $150 each with 3-4 week lead time.

The available unit is an ESP8266 and can be queried at 5 second intervals for the latest data.

From what you are saying about a 2000A service, it seems more likely that learning what the usage patterns are could result in significant equipment and usage changes than switching off a few appliances at high demand. Also, with such a large service, doesn’t your tariff include charges for VAR?

The 400 amp cables coming out of the 12 disconnects are 25mm

my wrist is 50 mm thick or so.

so, for the 3 phases, 9 wires about 50mm each.

It is not too difficult to add an op-amp to a Rogowski coil to get a voltage output.
Using an industrial Op-Amp and getting something to mimic a normal CT should be possible.

My other option is to add 3 CT’s on each of the 16 disconnects, then totalize the use.

I have the EmonTX Shield with the 100 amp SCT013’s for two of those disconnects and have 3 of the 27mm SCT027H clamp on already on order. so my baby steps are to work out the logistics and the ratings of equipment.

My maximum measured load so far is only 130 amps on one of the chillers.

Part of the plan is to use the Iotawatt to monitor all the disconnects.
That would be 48 channels. The sum of each phase should represent the total use for that phase. If that’s possible. but logging each phase of these 16 units is needed

As part of the overall project, I need to break down all the loads in all the circuit breaker panels.
Towards that goal a single, portable unit with about 30-36 channels will be desired.
most panels have 42 slots with 8 or more spares. so 36 might be the max.
That would allow me to identity the variable loads from the constant loads and the transient loads.
The elevator for instance, only lasts a dozen seconds, but pulls 25 amps. now that is what I call a transient load.

I have map’d out 5 of the circuit breaker panels and will map out the rest on Saturday.
Then I’ll know how many 20 amp, 30 amp, 50 and 100 amp CT’s I’ll need.

I have a dozen of the SCT013 and as many of the SCT006 for the 20 amp that I got for my home panel. the SCT013’s were just too large to fit in my small panel.

The hardware stuff makes sense to me.
I can figure out how to monitor the main as a simple 3-phase unit.

I have not done any of the multi-channel current datalogging so the Iotawatt unit with the multiple inputs seems like a good fit.

Local data storage is also required as I don’t have WiFi.

To bring this back on topic about logging DEMAND

Assume 3-phase, 3 CT’s and 3 voltage inputs.

The premise is to monitor the kW use in real time.

And to watch the DEMAND USE, the last 15 minutes, as a rolling average

“Demand” is the 15 minute slice in a month that is the highest use for the month

if the level goes above X, send out a signal to an LED or other device.

Log the minutes the kW is over each of three values for the month

Assume the average kWh use is about 10 per minute.

If the peak is over 100, send a signal or light an LED

over 150, light a second

over 200, light a third.

Looking for how many minutes a month the use is over each of those three thresholds.

I would want to be able to graph the 15 minute, kWh use as well.
how much of this is built in?
how hard is it to get the rest ?

You can graph average use for fixed 15 minute intervals, but the “rolling average” would need to be done outside of the IoTaWatt. 5 second data can be queried or uploaded to influxDB but an external analysis program would be needed to implement your algorithm.

For utility demand charges you usually only care about the 15-minute average; the easiest solution is likely to export data to influxdb and have that log 15-minute averages from your 5-second data, and then generate a max per day from that 15-minute information.

As for the CTs, the easiest way there is just to use a single conductor per phase and multiply by the number of parallel sets. It won’t be perfect, but it should be good enough.

Uses like a church will typically be dominated by demand charge since their energy use is focused on shorter periods of the day. Adding battery plus solar might be the best way to reduce the demand charges.