Sending commands

Give one or more devices an instruction to do something. Devices can store 1 active command (startAt in the past, endAt in the future) and 1 scheduled command (startAt in the future). Incoming commands are processed as follows:

  1. if endAt is in the past, the command is ignored
  2. if startAt is in the past, the command is immediately activated (overwriting an existing active command). If a scheduled command is present it is deleted
  3. if startAt is in the future, the command is scheduled for future execution (overwriting an existing scheduled command)
POST https://api.teleport.withthegrid.com/v1/command/
body
{
command: {
type: 'limitProductionPower';
percentage: number;
startAt: Date;
endAt: Date;
assetIdentifiers?: string[];
};
deviceHashIds: string[];
}
body details
command
Limit the power production of an inverter or turbine. The Teleport device will send an extra measurement report immediately after startAt and endAt (unless a report is already scheduled within 3 seconds)

command.percentage
Non-negative integer <= 100. 0 will turn power production off, 100 will not curtail it at all.

command.assetIdentifiers?
When specified, the Teleport will only send the command to inverters or turbines whose identifier is in the array. Has no use case for Teleports that are connected to a single inverter or turbine.

deviceHashIds
Not more than 100 elements.
RESPONSE
successful responses
201
Command is received by the cloud. This does not mean it is also already received (or executed) by the Teleport device.
error responses (next to generic errors)
400 { key: "start_at_too_far_in_future" }
The start of the command (command.startAt) cannot be more than 2147483647 ms in the future

400 { key: "end_at_in_the_past" }
The end of the command (command.endAt) cannot be in the past

400 { key: "interval_too_long" }
The difference between command.endAt and command.startAt cannot be more than 2147483647 ms

400 { key: "unknown_device_hash_id" }
Device hashId is unknown.