> For the complete documentation index, see [llms.txt](https://docs.voltmasters.io/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.voltmasters.io/voltmasters-platform/2.-project-dashboard-ems.md).

# Project Dashboard (EMS)

When you open a project, the default page is the **EMS dashboard**. It gives a real-time, at-a-glance view of the whole installation: how power is flowing right now, how the batteries and PV are being controlled, and the key performance figures for the site.

<figure><img src="/files/Xz2L9fm2YYlPn6403ACZ" alt="Voltmasters EMS: project specific dashboard"><figcaption><p>Voltmasters EMS: project specific dashboard</p></figcaption></figure>

{% hint style="info" icon="lightbulb" %}
Use the **Show details** toggle at the top right to reveal extra information on the dashboard. The page header shows the project name, and the energy-flow diagram shows its last-update time.
{% endhint %}

{% hint style="info" %}
On a project that is still being commissioned, a **status bar** at the top of the dashboard shows where the project stands in its [validation](/getting-started/adding-a-new-project.md#having-the-project-validated) by the Voltmasters project engineers.
{% endhint %}

## Energy flow diagram

At the top, a live diagram shows how power moves through the installation, with the current power (in kW) on each link. It is updated continuously, so you can see at a glance whether the site is importing or injecting, and whether the batteries are charging or discharging. Typical nodes are:

* **Main grid connection**: power exchanged with the grid (import / injection) at the connection point.
* **PV**: current solar production.
* **Wind turbine**: current wind production, when the site has a [wind turbine](/device-integrations/wind-turbines.md).
* **Batteries**: aggregate battery power (charging or discharging).
* **Residual consumption**: the remaining site consumption not covered locally.

## Key metric cards

A row of cards summarises the live state of the site:

* **Control mode**: the active control strategy (for example *local optimization* / self-supply, or cost optimization) with a short description of what it does. See [Control algorithms](/control-algorithms/cost-optimization.md) for the underlying logic.
* **Battery power**: the current aggregate battery power, with a recent history chart.
* **Energy prices**: injection and consumption prices (€/MWh) over time. These drive cost-optimized control.
* **Self-sufficiency & self-consumption**: two percentages, namely how much of your consumption is covered by your own generation (self-sufficiency), and how much of your generation you use yourself instead of injecting (self-consumption).
* **Weather forecast**: today's and tomorrow's outlook, to anticipate solar generation. When the site has a wind turbine, the card also shows the expected wind speed.
* **Site status**: whether there are open incidents on the site (green = none). See [Incident Management](/voltmasters-platform/9.-incident-management.md).
* **Battery SOC**: a gauge with the aggregate state of charge of the batteries (%).

## Battery plan

On projects that run the **cost optimization** strategy, the dashboard shows the **battery plan**: what the EMS intends to do with the battery in each **quarter-hour** of the selected day. The plan is drawn as a coloured band directly above the *Prices and grid power* chart, so you can read the plan against the prices that produced it.

<div data-with-frame="true"><figure><img src="/files/dZzithlV9mG4Luf7prQs" alt="Voltmasters EMS: battery plan above the prices and grid power chart"><figcaption><p>The battery plan, per quarter-hour, above the price and grid-power chart.</p></figcaption></figure></div>

* Each block is **one quarter-hour**, coloured by the strategy planned for it: *Standby*, *Fixed power*, *Max charging*, *Cover deficit* and *Use PV surplus*. Quarters you have set yourself are marked **Manually planned**.
* The part of the day that has already passed is shown as a **solid, read-only band**: it records what was executed. Only quarter-hours in the future can still be changed.
* Hover a block to see its period, the planned strategy and the **reason** the planner chose it.
* Use the date navigation and the day/week/month selector of the chart to move to another day.

See [Battery schedule](/control-algorithms/cost-optimization/battery-schedule.md) for the logic behind the plan: how the EMS weighs prices, PV and consumption forecasts against the battery and grid limits.

### Overriding a quarter-hour

You can override the planned behaviour of one or more quarter-hours yourself. Click **Plan** above the band to open the **Plan strategy** dialog.

<figure><img src="/files/5l9jXgKn2li21N1cO8FZ" alt="Voltmasters EMS: plan strategy dialog"><figcaption><p>Setting the strategy for a range of quarter-hours.</p></figcaption></figure>

Set the **From** and **To** moment. The dialog shows how many quarter-hours the range covers and how long it lasts. Then choose the strategy that must apply during that range:

| Strategy                                                | What the battery does                                                                                                                               |
| ------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------- |
| **Automatic**                                           | The cost-optimization algorithm decides, as it normally would.                                                                                      |
| **Battery standby**                                     | The battery neither charges nor discharges.                                                                                                         |
| **Hold fixed power**                                    | The battery follows the power you enter. Enter a **positive** value to charge and a **negative** value to discharge.                                |
| **Charge at maximum power**                             | The battery charges as fast as the grid connection, the current consumption and the battery limits allow, and does not discharge during the period. |
| **Cover production deficit**                            | The battery discharges to cover the site's consumption that local production does not cover.                                                        |
| **Charge on production surplus, otherwise self-supply** | The battery stores the PV surplus, and falls back to self-supply when there is no surplus.                                                          |

Click **Save**. The affected quarter-hours turn into **Manually planned** blocks.

{% hint style="info" icon="lightbulb" %}
Every option has an **info icon**. It describes exactly what the controller does during such a block, so you can check the behaviour before you save it.
{% endhint %}

To hand a quarter-hour back to the planner, set it to **Automatic** again. Overrides apply only to the selected range; the EMS keeps optimizing every other quarter-hour.

{% hint style="warning" %}
A manual strategy overrules the economic plan for that period. Take your import and export limits into account, especially with **Hold fixed power** and **Charge at maximum power**.
{% endhint %}

### Charge-level projection

Next to **Plan** sits the **Charge level** button. It asks the controller for the **state of charge it projects** for the coming period and shows that curve in a dialog, together with the time range the projection covers and the **minimum and maximum charge band** of the battery. Use it to check whether the plan keeps the battery within its limits and whether enough energy is reserved for the periods that need it.

<figure><img src="/files/qeAj9JP4cShgOr0KENeL" alt="Voltmasters EMS: plan and charge level buttons above the battery plan"><figcaption><p>The <strong>Plan</strong> and <strong>Charge level</strong> buttons above the battery plan.</p></figcaption></figure>

{% hint style="info" %}
The charge-level projection is produced by the EMS controller and requires controller version **0.0.314** or higher. On older controllers the button returns no projection.
{% endhint %}

## Latest control decisions

At the bottom, the dashboard lists the most recent decisions the EMS made, grouped per asset, so you can verify the controller is doing what you expect and troubleshoot when it is not:

* **Batteries**: per battery / ESS, the commanded power and its status.
* **PV inverters**: per inverter, the applied setpoint or limit and its status (for example *no limitations* or *target reached*).

Expand a row to see the detail and the reason behind that decision.

{% hint style="info" icon="lightbulb" %}
The EMS dashboard is the project-wide overview. For a deeper look at a single energy stream, use the dedicated dashboards: [Battery (ESS)](/voltmasters-platform/3.-battery-ess-dashboard.md), [PV](/voltmasters-platform/4.-pv-dashboard.md), [Consumption](/voltmasters-platform/5.-consumption-dashboard.md) and [Energy Meter](/voltmasters-platform/6.-energy-meter-dashboard.md).
{% endhint %}


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter, and the optional `goal` query parameter:

```
GET https://docs.voltmasters.io/voltmasters-platform/2.-project-dashboard-ems.md?ask=<question>&goal=<endgoal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
