> For the complete documentation index, see [llms.txt](https://docs.unwaste.energy/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.unwaste.energy/en/unwaste-robot-configuration/device/device-control.md).

# Device control

## "What device control means"

When control is enabled, the **Unwaste Robot sends control signals** to a device. These signals request a specific operating mode.

The Unwaste Robot **does not directly enforce behavior**. It only sends a signal, and the device decides whether and how to follow a signal. Actual behavior depends on device firmware, manufacturer implementation, and installation configuration. Especially:

* the Unwaste Robot does not replace manufacturer safety logic,
* the Unwaste Robot does not override thermostats or vehicle BMS,
* due to these limitations, the Unwaste Robot does not guarantee comfort or readiness.

It operates like this:

* Every 15 minutes, the Unwaste Robot analyzes prices and determines if electricity is cheap or expensive at the moment.
  * For static tariffs (which are usually two-tiered) it simply sets Eco for higher price tier and Comfort for lower price tier; Off and Boost modes are unused
  * For dynamic prices (which vary greatly) it assigns Off, Eco, Comfort, or Boost based on how cheap or expensive the current period is compared to other periods that day and to recent price history (see [Price-based device control](/en/unwaste-robot-operation/technical-details/price-based-device-control.md))
* When [Surplus mode](/en/unwaste-robot-configuration/connection.md#surplus-mode) is enabled on the connection and export/import conditions are met, the Unwaste Robot may request **Surplus** mode instead of the current price-based mode (Off, Eco, or Comfort). If the price-based mode is **Boost**, Boost takes precedence over Surplus. Surplus is not used in schedules or overrides.
* The Unwaste Robot then decides which mode to request to each device, taking into account:
  * electricity price (price-based mode)
  * Surplus conditions, if Surplus mode is enabled on the connection
  * schedule set for this device
  * if there are overrides present
* The Unwaste Robot sends appropriate signal to the device.
* The device decides how (or if) it reacts.
* The installation limits what is physically possible - for example, it is not possible to heat whole home or charge a car completely in timespan of couple of minutes.

There is no guaranteed outcome of sending this signal to device, but Unwaste Robot does its best.

Exact outcomes cannot be guaranteed. The Unwaste Robot optimizes based on available information, but final behavior depends on the device.

***

## How device control works

Device control is based on defining **named controllable parameters** and assigning **mode-specific values** for them. The configuration consists of two main steps:

1. **Define controllable parameters** — tell the system what aspects of the device can be controlled and assign a user-friendly name to each.
2. **Assign values for each operating mode** — decide what values each parameter should receive in each mode.

***

## Enabling Control (prerequisite)

Before any parameters or modes can be configured, **control must be enabled** for the device.

Without enabled control, the device remains in *Unmanaged* mode and is only monitored.

When enabling control, you must select the **type of control**:

* "None" - no control is available for this device. This means control is not applicable; it does not count as disabled.
* "State" - device is controlled via setting states for each mode. Control entities must be selected, and finally values must be defined for each entity and for each supported control mode (or disabled for specific modes if required).

The selected control type determines whether the **States Map** section is available for configuration.

Note: "None" and "Disabled" are separate concepts and serve different purposes.

"None" means that there is no control available at all. This is useful when an empty "State" form would require values that do not apply.

"Disabled" allows to temporarily disable control, without losing all the configuration stored in "State" form.

***

## Step 1: Define controllable parameters

In this step, you define **which parts of the device can be controlled**. Each controllable parameter consists of:

* a **Home Assistant entity** (for example a switch or select entity), and
* a **name** assigned by the user.

The name serves as a reference when assigning values per operating mode. No values are sent to the device in this step; you are only telling the Unwaste Robot what can potentially be controlled.

Think of this as *creating named control channels*.

### Examples of entity types

* **Switch** entities accept simple on/off values.
* **Select** entities allow choosing one value from a predefined list (for example an operating state supported by the device).
* **Number** entities accept a numeric value within a defined range.

***

### **Note: selecting Home Assistant entities**

* The Unwaste Robot integrates with Home Assistant, and the correct entity to use depends on the specific device integration.
* Because entity naming and capabilities vary between manufacturers and integrations, this documentation does not provide a universal "entity selection guide".
* If you are unsure which entity to use, verify in Home Assistant whether it supports the required action (for example switching modes or turning on/off).

***

## Step 2: Assign values for each operating mode

After parameters are defined and named, assign **values for each operating mode** in the **States Map**:

* Disabled
* Unmanaged
* Off
* Eco
* Comfort
* Surplus (required when Surplus mode is enabled on the connection — see [Connection](/en/unwaste-robot-configuration/connection.md#surplus-mode))
* Boost

For each mode, you must:

* enable or disable the mode (if supported), and
* define what value each control entity receives, or disable specific parameters for that mode.

When a mode becomes active, all enabled control entities for that mode are set simultaneously.

**Important notes about modes:**

* Each state must have **at least one enabled entity** configured.
* If a device does not support a specific mode, approximate configuration may be applied (for example, mapping Boost to Comfort).
* If Eco or Comfort mode is missing, the device may not be smart-grid ready and should be mapped to simple on/off semantics:
  * Disabled, Off and Eco modes should be mapped to Turn Off state
  * Unmanaged, Comfort and Boost should be mapped to Turn On state

***

## Device Control Modes

A device can operate in one of the following modes:

* **Disabled mode** – the device is temporarily disabled by user or the Unwaste Robot
* **Unmanaged mode** – the device is not controlled by the Unwaste Robot
* **Off mode** – the device is instructed to turn off or use only the minimum possible energy
* **Eco mode** – the device is instructed to operate in a low energy consumption mode
* **Comfort mode** – the device is allowed to operate with higher energy consumption
* **Surplus mode** – the device is instructed to use more energy to absorb local PV surplus (only when Surplus mode is enabled on the connection)
* **Boost mode** – the device is instructed to use as much energy as possible, and store it if the device supports for example overheating

## Screenshot

![](https://1824863031-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FWf3M0a04WuhvfEbAgXFl%2Fuploads%2Fgit-blob-e0544bcd977c801a487f79f23885b2d967fdf029%2F2026-07-10_Configuration_device_control.png?alt=media)


---

# 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.unwaste.energy/en/unwaste-robot-configuration/device/device-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.
