> For the complete documentation index, see [llms.txt](https://renewables.docs.helinplatform.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://renewables.docs.helinplatform.com/sgm-product-docs/reference-docs/asset-control.md).

# Asset Control

Direct, per-asset setpoint control. Static for fixed setpoints, dynamic for closed-loop grid limit enforcement.

Asset Control is the direct control mode in SGM. When you send a setpoint via the API, it is relayed straight to the target asset. There is no coordination between assets, each one responds to its own setpoint independently.

This is the right choice for simpler sites where assets don't need to work together, and where your grid connection can always absorb whatever the site produces or consumes.

## Asset Control vs Site Control

Not sure which you need? Use this to decide:

```mermaid
flowchart TD
    A[How many controllable\nasset types on site?] --> B{More than one\ntype e.g. PV + BESS}
    B -->|No| C[Do assets need to\nreact to each other?]
    B -->|Yes| SC[Use Site Control]
    C -->|No| AC[Use Asset Control]
    C -->|Yes| SC
    AC --> D[Is your grid connection\nsmaller than peak load?]
    D -->|Yes| SC
    D -->|No| E[Asset Control\nis sufficient]

    style AC fill:#dbeafe,stroke:#3b82f6,color:#000
    style SC fill:#fef9c3,stroke:#eab308,color:#000
    style E fill:#dcfce7,stroke:#22c55e,color:#000
```

If your site has a limited grid connection, where peak production or consumption can exceed what the grid allows, you need [Site Control](/sgm-product-docs/reference-docs/site-control.md) instead.

## Static Power Control

Static Power Control lets you send a fixed setpoint to any controllable asset on your site: PV inverters, battery systems (BESS), or EV chargers. The setpoint is applied directly, capped at the minimum and maximum limits configured for that asset during commissioning.

```mermaid
flowchart LR
    A[Your System\nsends setpoint] --> B[SGM Cloud API]
    B --> C[Helin Gateway\nchecks limits]
    C --> D{Within\nconfigured\nbounds?}
    D -->|Yes| E[Setpoint sent\nto asset]
    D -->|No| F[Capped at\nmin or max limit]
    F --> E

    style A fill:#dbeafe,stroke:#3b82f6,color:#000
    style E fill:#dcfce7,stroke:#22c55e,color:#000
    style F fill:#fee2e2,stroke:#ef4444,color:#000
```

**Setpoint units:** kW or %. Both are supported for static control.

**Global vs per-asset setpoints:** You can send a single setpoint that applies to all assets on a site at once (a global site setpoint), or target individual assets by name. Dynamic control groups on the same site do not respond to global setpoints, see [Using both modes together](#using-static-and-dynamic-control-together) below.

**Good for:**

* Sites with a stable, predictable output limit (e.g. a CBC contract cap)
* Multiple assets that all need the same setpoint or on/off signal
* Simple curtailment scenarios without local consumption compensation

**Not possible with static control:**

* Automatically compensating for local consumption changes
* Coordinating BESS and PV together, that requires Site Control
* Phase-level monitoring (planned for a future release)

## Dynamic Power Control

Dynamic Power Control is used when your production limit changes based on conditions you can't fully predict in advance, most commonly local consumption on site, or a dynamic capacity contract with your grid operator.

Instead of applying your setpoint directly, the Gateway continuously reads a grid power meter and adjusts the asset's output to keep grid feed-in at or below your specified limit. It is a closed feedback loop, not a one-time command.

```mermaid
flowchart LR
    A[Your System\nsends limit setpoint] --> B[Helin Gateway]
    M[Grid Meter\nmeasures actual\ngrid feed-in] --> B
    B --> C{Actual feed-in\nvs limit}
    C -->|Within limit| D[Hold current\nPV output]
    C -->|Exceeding limit| E[Reduce PV\nsetpoint]
    C -->|Below limit| F[Increase PV\nsetpoint]
    D & E & F --> G[PV Inverter]
    G --> M

    style A fill:#dbeafe,stroke:#3b82f6,color:#000
    style M fill:#f3e8ff,stroke:#a855f7,color:#000
    style G fill:#dcfce7,stroke:#22c55e,color:#000
```

Each Dynamic Power Control unit consists of one PV system (or logger) paired with one grid meter. Multiple units can be configured on a site, as long as they don't share a meter or interact with each other.

**Setpoint units:** kW only. Percentage setpoints are not meaningful in a dynamic context.

**Good for:**

* SDE or CBC contracts where the feed-in limit is dynamic
* Sites where local consumption needs to be factored into the PV setpoint automatically
* Physical grid connection limits that need active enforcement

{% hint style="info" %}
**Dynamic Power Control vs Site Control for CBC:** If your site has only PV (no BESS, no EV), Dynamic Power Control is the right choice to enforce a CBC cap. If your site also has a battery or EV chargers that need to coordinate with PV, use Site Control with the Global Setpoint Limiter instead, it enforces the same CBC limit but across all assets simultaneously.
{% endhint %}

**Not possible with dynamic control:**

* Combined BESS and PV strategies, that requires Site Control
* A single global setpoint across all dynamic units on a site (each unit needs its own setpoint)
* Phase-level monitoring (planned for a future release)

## Using static and dynamic control together

A site can have both static and dynamic assets configured at the same time. There are a few important things to know when mixing them:

* **Dynamic groups are independent.** A dynamic control unit (PV + meter) will not respond to a global site setpoint. It only reacts to the limit setpoint sent to that specific unit and to what the meter is reading.
* **Static setpoints pass through unchanged.** They are only checked against the configured min/max limits, no further adjustment is made.
* **kW and % don't mix.** Static assets can be controlled in kW or %, but dynamic assets only accept kW. Be deliberate about which unit you use when a site has both.

For typical site layouts that combine static and dynamic assets, see [Configuration examples](/sgm-product-docs/guides/configuration-examples.md).

## Limits and commissioning

Every asset's minimum and maximum setpoint bounds, failsafe value, and watchdog timeout are configured by Helin during site commissioning. SGM will never send a setpoint outside those bounds, regardless of what value you supply in the API request.

{% hint style="warning" %}
Self-service configuration of these limits is planned for a future release. If you need to adjust limits on an active site, contact Helin support.
{% endhint %}

## Relevant pages

<table data-view="cards"><thead><tr><th></th><th></th></tr></thead><tbody><tr><td><p><i class="fa-network-wired">:network-wired:</i></p><p><a href="/sgm-product-docs/reference-docs/site-control.md"><strong>Site Control</strong></a></p></td><td>Coordinated multi-asset orchestration with BESS strategies.</td></tr><tr><td><p><i class="fa-clock">:clock:</i></p><p><a href="/sgm-product-docs/reference-docs/scheduling-setpoints.md"><strong>Scheduling setpoints</strong></a></p></td><td>Direct vs scheduled setpoints and the watchdog.</td></tr><tr><td><p><i class="fa-square-dashed">:square-dashed:</i></p><p><a href="/sgm-product-docs/guides/configuration-examples.md"><strong>Configuration examples</strong></a></p></td><td>See typical layouts that use Asset Control.</td></tr></tbody></table>


---

# 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://renewables.docs.helinplatform.com/sgm-product-docs/reference-docs/asset-control.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.
