External EMS is an optimization mode that enables users or third-party energy management systems to control connected devices through Reduxi. It is designed to support all major device categories, including batteries, photovoltaic systems, HVAC equipment, EV chargers, and other controllable energy assets.
Control instructions are defined in 15-minute intervals, allowing external systems to specify how each device category should operate throughout the day. Reduxi then applies these instructions to the relevant devices while managing communication, device integration, and execution at the local level.
External EMS can be activated by adding the External EMS optimization mode in the strategy’s Optimization Modes menu, as shown in the image below
Once External EMS is configured, Reduxi listens for control commands received through the MQTT API and applies them to the selected strategy. The time intervals have to be defined before. In case no operation is defined in a specific time period, then the other optimization mode is executed (e.g. default optimization mode).
External EMS via MQTT
Once External EMS is enabled in the strategy, Reduxi can receive scheduled control instructions through the MQTT API.
Commands are sent to:
controllers/{controllerId}/strategies/{strategyId}/externalEMS/{externalEMSType}/setThe payload contains a schedule with start and end times defined as Unix timestamps in milliseconds, together with the requested control value. Multiple intervals can be included in one schedule:
{
"schedule": [
{
"start": 1784548800000,
"end": 1784549700000,
"value": "3000"
},
{
"start": 1784549700000,
"end": 1784550600000,
"value": "-2000"
}
]
}In this example, the device is instructed to operate at 3000 W during the first 15-minute interval and at -2000 W during the following interval. For a battery, positive values typically represent charging and negative values represent discharging.
For HVAC devices, control values may include commands such as OFF, REDUCE_1, ON, and BOOST_1.
The active schedule is published on:
controllers/{controllerId}/strategies/{strategyId}/externalEMS/{externalEMSType}See more about MQTT specification in this article Reduxi Controller - MQTT API