> 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/device-integrations/controllable-loads.md).

# Controllable loads

A **controllable load** is a simple **on/off load**, for example a heating element, a pump or other auxiliary equipment, that the Voltmasters EMS can switch on and off. The load is wired to a **relay output** of an [IO extension](/dso-rtu/io-extension.md), and the EMS decides when to switch it as part of the local control strategy (self-consumption and cost optimization), and switches it off on a DSO RTU **emergency stop consumption**.

{% hint style="info" icon="lightbulb" %}
Use a controllable load to absorb **PV surplus** in your own installation, for example to heat water when there is more solar production than the rest of the site consumes, instead of injecting it into the grid.
{% endhint %}

### Supported models

| Model       | Connection                                                      |
| ----------- | --------------------------------------------------------------- |
| On/off load | Relay output of a Moxa [IO extension](/dso-rtu/io-extension.md) |

### Requirements

* An [IO extension](/dso-rtu/io-extension.md) with a **free relay output**, added and reachable on the platform.
* EMS controller version **0.0.277** or higher.

### Adding a controllable load

Add the controllable load like any other device:

* **Device type:** Controllable load
* **Model:** On/off load
* **Connection:** via an IO extension — select the **IO extension device** and the **output port** the load is wired to.

The same relay output cannot be shared with another function (for example a telecontrol emergency switch).

### Relay wiring and default state

How a switch command maps to the relay depends on two settings:

* **Relay actuation mode** — how the load is wired to the relay contacts, and what the closed contact means:

| Relay actuation mode    | Load is ON when…       |
| ----------------------- | ---------------------- |
| **NO, ON when closed**  | NO contacts are closed |
| **NO, OFF when closed** | NO contacts are open   |
| **NC, ON when closed**  | NC contacts are closed |
| **NC, OFF when closed** | NC contacts are open   |

* **Default output state** — the state the output falls back to (**On** or **Off**, default **Off**). This is the safe state used when no active command applies.

### Control parameters

The EMS uses the following parameters to decide when to switch the load. They are set when adding the device and can be changed later in the device's general settings.

| Parameter                          | What it does                                                                                                                   |
| ---------------------------------- | ------------------------------------------------------------------------------------------------------------------------------ |
| **Nominal power**                  | The rated power of the load, in kW.                                                                                            |
| **Activation power**               | Minimum PV surplus required to switch the load on. If unknown, use the same value as the nominal power.                        |
| **Priority**                       | Activation order from 1 (highest) to 10 (lowest). Higher-priority loads are switched on first when available power is limited. |
| **Minimum runtime per activation** | Minimum time the load stays on once switched, to prevent frequent on/off cycling.                                              |
| **Minimum runtime per day**        | Minimum total runtime per day, to ensure the load runs enough for proper operation.                                            |
| **Deadline hour**                  | Latest hour (0–23) by which the load should have completed its daily runtime.                                                  |

{% hint style="info" %}
Setting **Controllable** to off on the device turns it into a monitoring-only device: the EMS reads it but never switches it, and it is excluded from the control strategy.
{% endhint %}

### How the EMS controls the load

* In **self-consumption** and **cost optimization**, the EMS switches the load on when there is enough surplus power (above the **activation power**), respecting **priority** when power is limited, and honours the minimum-runtime and deadline parameters.
* On a DSO RTU **emergency stop consumption**, all controllable loads are switched **off**. See [How DSO RTU works](/dso-rtu/how-telecontrole-works.md).

### Manual override

A controllable load can be **manually overridden** to a fixed **active state** (On or Off), for example for testing or maintenance. The override takes precedence over the automatic control; clear it to return the load to the control strategy.

### See also

* [IO extension](/dso-rtu/io-extension.md) — the device that provides the relay output.
* [IO module emergency stop](/dso-rtu/io-module-emergency-stop.md) — the other use of an IO extension's relay outputs.


---

# 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:

```
GET https://docs.voltmasters.io/device-integrations/controllable-loads.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
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.
