Monitoring a car park: three EV chargers against the input's capacity

  • Tested on firmware v1.1.4
  • Intermediate
Diagram: an STD-UI1 on the car park supply and a Basic module on the building, lighting and three charger lines feed the RBgrid hub, which shows the stations' load against the input capacity.

A small car park behind an office building, with three 7.4 kW chargers for staff and visitors. The site has a single-phase 100 A supply (about 23 kW), contracted for 22 kW, and the building and the car-park lighting share it with the chargers. Cars arrive through the day, and sometimes two or three charge at once. The questions: how close do the chargers bring the site to its 22 kW, which station is busy, and how much energy goes into the cars each day?

This guide builds that car park on a real RBgrid hub. An rbAmp STD-UI1, a precise energy meter, measures the supply; a Basic module measures the building, the lighting and the three chargers. The app shows it all in the Charging stations view: what the stations draw, against the input's capacity. It's the same site as the Car park in the live demo, so you can look at the finished result before you build anything. The screenshots in this guide are from the demo and show demo data.

The demo car park's Overview in the Charging stations view: stations charging now, the load against the limit and the station cards (the demo names them EV-1 to EV-3; demo data)

What you'll have at the end

  • How many stations are charging right now, and how many are free.
  • The site's load against the input's rated power, split into the stations and the rest, with the headroom left.
  • Each station's power and energy today.
  • The day's charging energy, and charging fees at your price per kWh, if you charge for it.
  • History for every line, kept on the hub: by hour for 60 days, by day for about 13 months, by month for 3 years. You can download any of it as CSV.

There's no per-session log (start, stop, kWh per session). Sessions today is an estimate from the hourly history, and each station's status comes from its line power.

Already monitoring in Home Assistant? The hub can send every line's power and energy to Home Assistant over MQTT as well; your existing setup can stay as it is. The station view, the capacity bar, the history views and the notes are in the RBgrid app. → A power meter for Home Assistant

What you need

Hub An ESP32-WROVER board with PSRAM and 16 MB flash, and its USB power supply.
Supply meter One rbAmp STD-UI1, a precise energy meter, in the 100 A kit, on the site's single-phase 100 A supply. It comes with its current sensor paired with the module at the factory, and counts energy on the module itself, in both directions.
Line module One rbAmp Basic UI5 for SCT-013: one voltage input and five current channels: the building, the lighting and the three chargers.
Clamps Five voltage-output SCT-013 clamps, one per line (below). The supply uses the STD-UI1's own sensor.
To set it up A USB cable, a computer with Python (for esptool), your Wi-Fi password, and the short wires between the hub and the modules.

The STD-UI1 is a precise energy meter: on the supply it gives exact metering of the whole site. It comes as a 60 A or a 100 A kit; for this site's 100 A main breaker, the 100 A kit. Its sensor is paired with the module and isn't replaceable, so there's no clamp to buy for the supply and no current sensor to choose in the app.

The demo's site is single-phase, so all five lines are on L1, the phase of the Basic module's voltage input. A Basic module works out each channel's power from its own single voltage input, so its clamps go only on circuits of that phase. On a three-phase site, use one Basic module per phase.

Choose each clamp as the smallest rating at or above the line's breaker (see Choosing the clamp sizes).

Line Module · channel Breaker Clamp to buy
Building Basic UI5 · I0 16 A SCT-013-020
Car park lighting Basic UI5 · I1 10 A SCT-013-010
Charger 1 Basic UI5 · I2 32 A SCT-013-050
Charger 2 Basic UI5 · I3 32 A SCT-013-050
Charger 3 Basic UI5 · I4 32 A SCT-013-050

The demo car park has the same STD-UI1 on the supply; it spreads the circuits over two Basic UI3 modules instead of one UI5. Either works; build yours as this guide says. Not sure which clamp you have? See Which SCT-013 do you have?

Safety. For any work inside an electrical panel, call a qualified electrician.

Clamp one conductor only (L) per circuit, never the whole cable: the currents in L and N cancel out.

1. Wire, flash, connect

  1. Wire the modules: the STD-UI1 and the Basic UI5, their voltage inputs and sensors.
    • The STD-UI1: its voltage input is wired like a Basic module's: AWG26–22 wire to the L and N terminals, a fuse of up to 0.1 A in the L line. Its sensor goes on the supply conductor with the arrow from the grid towards the site.
    • The Basic UI5: its voltage input to L and N through its fuse; the five clamps on I0–I4, each with the arrow pointing towards the load. A Basic module counts one direction only, so a clamp the wrong way round reads nothing.

Place each module within 15 cm of the hub. For longer runs see the bus-length section of the rbAmp wiring guide. The modules' I²C cables are connected to the hub one at a time later, during Add a module, with the hub off.

  1. Connect only the STD-UI1 to the hub for now (power, GND, SDA, SCL), at its factory I²C address 0x50. → Quick start, step 1
  2. Flash the hub, join it to your Wi-Fi and open the app, at webapp.rbgrid.io or installed on the hub: follow the Quick start steps 2–4, then come back here.

A new hub makes the module at 0x50 your grid input by itself, the measurement of the whole site, plus a voltage point. There's nothing to bind for it.

2. Run the setup wizard

The app opens with a banner, The hub still has its factory settings. Choose Set up →. → The setup wizard

  • Security: set an API token and write it down.
  • Site & time: a site name (the demo uses "Car park (demo)"), your time zone; check that the clock shows synchronized. The scenario is set in step 6.
  • Sensors: the grid input is already there. Leave the rest for step 5.
  • Tariff: the quick form fits the demo's plan. Enter the day price, switch on There is a night rate (23:00–07:00) and enter the night price. Leave Price as on the bill — incl. VAT on if your bill prices include VAT, and check the VAT, %: a new hub starts at 21 %. Leave the export price empty: the site has no solar.

The demo uses Day 07:00–23:00 at 0.36 and Night 23:00–07:00 at 0.18 per kWh including 20 % VAT (its plan stores them without VAT, as 0.30 and 0.15, which is what the Tariffs screenshot shows). Use your own bill's prices. Costs in RBgrid are energy-based: standing (monthly) charges aren't included. Leave Net metering off on the Tariffs page: the car park exports nothing.

Tariffs in the demo car park: the two-zone plan, prices stored without VAT, net metering off

3. Set the input's capacity

Open Points. The STD-UI1's card shows the grid input. On it, open Point setup and set:

  • Input breaker, A: your main breaker (100 A here);
  • Input limit, kW: the capacity in your connection contract: 22 kW in the demo. The Charging stations view measures the site against this figure (see The limit is the rated power below).

The STD-UI1's sensor is calibrated with the module at the factory, so there's no current sensor to choose.

4. Add the Basic module

Choose Add a module on the Points page and follow the dialog. Every module from the box answers at the same address, 0x50, so the app first moves the STD-UI1 to a free address. It keeps its points, history and settings. → Adding modules

  1. The app offers a free address, for example 0x51, and moves the module there.
  2. Switch the hub off and connect the Basic module's I²C cable to the hub.
  3. Switch the hub on, open Add a module again and press Scan, then Add.

The module's five channels now show under Free sensors. Your module numbers and addresses can differ from the demo's. It doesn't matter: points are known by their names.

5. Set up the lines

First make a group: Settings → Consumer groups → Add group, "Charging stations", then Save.

Then Bind each free sensor with its name, role, phase and line rating. Open each new point's Point setup for the breaker, the current sensor and the group.

Module · channel Name Role Line rating Breaker Current sensor Group
Basic UI5 · I0 Building Load 3.68 kW 16 A SCT-013-020 —
Basic UI5 · I1 Car park lighting Load 1.5 kW 10 A SCT-013-010 —
Basic UI5 · I2 Charger 1 Charging station 7.4 kW 32 A SCT-013-050 Charging stations
Basic UI5 · I3 Charger 2 Charging station 7.4 kW 32 A SCT-013-050 Charging stations
Basic UI5 · I4 Charger 3 Charging station 7.4 kW 32 A SCT-013-050 Charging stations

Points in the demo car park: the STD-UI1 on the supply as Main, the building, lighting and three chargers on two Basic UI3 modules (the demo names the chargers EV-1 to EV-3)

  • Line rating is what the line's breaker allows (32 A × 230 V = 7.4 kW). The demo's lighting line is set at 1.5 kW, its own figure.
  • Role Charging station makes a line a station in the Charging stations view, and keeps it out of the app's standby estimate.
  • Phase: L1 for all, or leave it unset: the demo's site is single-phase.
  • Current sensor must match the clamp actually fitted. → Points

This car park uses single-phase 7.4 kW chargers. A three-phase charger takes one clamp per conductor, on one Basic module per phase, bound as three points (like the charger in the heat-pump house). Until an upcoming release, the app counts its sessions three times.

Point setup for Charger 1 in the demo: role, phase, line rating, breaker, current sensor, station threshold and group

Station settings. With the chargers bound, Settings → Charging stations appears. Its fields decide how the app reads each station's line: → Charging stations

  • "Charging" threshold, W: above this power a station counts as charging (the demo: 500 W);
  • Idle wait after session, min: how long a station must stay below the threshold before its session counts as finished (the demo: 30 min);
  • Charging price for the customer, per kWh: the price the app counts charging fees at (the demo: 0.56 €). Leave it at 0 if you don't charge for it: fees then aren't counted.

Save with Apply. A station can have its own threshold and idle time in its Point setup; empty or 0 uses these.

Settings, Charging stations in the demo: threshold, idle wait and the price per kWh

Restart the hub (Settings → Administration). A newly bound point shows live values at once and starts keeping history after the restart; nothing measured before is lost. The hub keeps history for up to 12 points; the car park has six.

Check it: start a charge on one station. Its point should rise to the charging power, the supply by about the same amount, and the station's card should read Charging.

6. Switch to the Charging stations view

Open Settings → Site scenario, choose Charging stations and confirm Change. It needs the API token, if you've set one. It applies at once, for everyone who opens this hub. Just preview shows it in this browser only. → Site scenario

Settings, Site scenario in the demo car park: Charging stations selected

7. What the app shows

The Overview in the Charging stations scenario opens in money. → The Overview

  • Charging now: in the demo at 19:30, "1 of 3", with "available 2 · offline 0".
  • Parking load balance: a bar of the 22 kW limit, filled with the building and lighting ("Infrastructure") and one segment per station, with the headroom left.
  • KPI row: Energy today for all stations, Charging fees today at your price, Margin today (the app's estimate: fees minus the same energy at your buy rate), and Sessions today, estimated from the hourly history.
  • Station cards: each station's status, power now, energy today and its limit.
  • Parking power · today: the hourly power of the parking lines against the limit line. In the demo the day's peak is about 11.9 kW at 09:00, with two stations charging.

Station status is derived from power. RBgrid measures the power on each station's line, not the connector. A station is Charging while its line draws more than the threshold, Available when it answers and draws less, and Offline when its sensor doesn't answer. A car that's plugged in but not drawing shows as Available. → Station status

History, yesterday by hour in power, shows the three chargers' sessions through the day. 7 days in money shows the cost day by day. Download CSV saves what you see. → History

History in the demo car park: the last 7 days in money

Details adds the points table and Insights. In the demo, at 19:30, they read:

  • Expensive now: Day — 2.0× the "Night" rate, with the hours of the night zone and how soon it starts;
  • Charging stations yesterday: 96.2 kWh in the "Day" zone, with the app's note that the same energy at the night rate would have cost ≈ €17.3 less;
  • Where the money goes today and Month cost forecast;
  • Standby use ≈ 1.5 kW round the clock: here mostly the car-park lighting, which runs all night. The stations aren't counted in it.

These are the app's estimates at your current rates, marked with ≈. When cars charge is up to the drivers and to you; RBgrid measures, it doesn't start, stop or schedule a charger. → Insights

During the demo's 7 kW sessions, the points table shows high · 95% on that station: 7.0 kW on a 7.4 kW line. This flag is about the line's rating, not the clamp: about 30 A is well inside a 50 A clamp's range.

The limit is the rated power

The car park's supply is single-phase, with a 100 A main breaker. At 230 V that passes about 23 kW. The input's rated power, Input limit, kW, is the contracted figure you set: 22 kW in the demo. In this scenario the app judges the site against the rated power you set, not against the breaker.

So the figure you enter decides what the app calls full. The Parking load balance bar fills against it, and at 92 % of the limit or more it reads At the limit, with the share the stations draw. In the demo the site stays well below that: the busiest hour, about 11.9 kW, is a little over half of 22 kW. Three stations at full power, 22.2 kW, plus the building, would pass the limit; the bar would show it, and what to do about it is your decision. RBgrid doesn't hold a charger back.

If you leave Input limit, kW empty, the card asks you to set it. Enter the capacity from your connection contract, or, without one, what the main breaker passes.

Choosing the clamp sizes

A clamp has a range, and both ends matter:

  • Too small: an SCT-013 clamp reads correctly up to about 116 % of its rating, then its readings are cut off and the line is under-counted. The hub flags sensor limit from about 104 % of the rating and clipping at about 116 %. A clamp rated at the line's breaker stays inside that range.
  • Too big: on a Basic module, very small currents read as zero (below about 1.5 % of the clamp's rating), and energy below a matching threshold isn't counted.

That's why the table matches each clamp to its breaker. → Points

Known issue in app 1.1.4: the point's settings check the breaker against a limit below the clamp's rating (90 % of it), so the lighting's 10 A clamp on a 10 A breaker shows "The line breaker 10 A is above the sensor's limit (9 A)…". The clamp reads correctly at its rating; the check will be corrected in an upcoming release.

Demo data vs your car park

  • The demo's sessions follow a fixed timetable, spread so that a visitor at any hour sees one station charging. Real arrivals don't.
  • Sessions today counts rises in the hourly averages, so it's an estimate on a real hub too.
  • Station status comes from line power only. The demo never shows a waiting car, and neither does a real hub: it can't see the connector.
  • The demo's money history leaves out VAT.
  • History starts when you set the hub up; data from other systems isn't imported.
  • Your numbers depend on your lines, your drivers and your prices; nothing in this guide promises a figure.

If something's wrong

  • "No charging stations found among the metering points.": give the chargers' points the Charging station role.
  • A station shows Available while a car charges: its power is below the threshold; check the threshold in Settings → Charging stations, and the clamp's direction (a Basic module reads a reversed clamp as nothing).
  • Add a module finds nothing new: check that only one new module is connected, and that the hub was off while you connected it. → Adding modules
  • Sensor limit or clipping on a line: the line draws more than its clamp's rating; see Choosing the clamp sizes.
  • Charging stations view not saved ("Admin token required."): enter the API token in Settings → Security.

Next

  • Add more stations: add another Basic module on the same phase; a hub takes up to eight modules, and keeps history for up to 12 points. → Sensors and modules
  • Read the data into your own tools (for experienced users). Besides the CSV downloads in History, your tools can read the history of any point that keeps history (up to 12 points) over the hub's REST API: GET /api/v1/history?unit=…&period=hour|day|week|month|year&type=energy|electrical|economics, with a read token if you set one. Or over MQTT: the cmd history, with the answer on cmd/resp. The MQTT commands don't check a read token yet, so use a broker with its own users. → MQTT
  • See each station's cost by period, and how much of the input your lines cover. → Economics
  • Refine the tariff: more zones, per-kWh fees. → Tariffs
  • Send the data to Home Assistant. → A power meter for Home Assistant
  • Look around the finished car park: demo.rbgrid.io, Car park