Send a command
Post to the device’s route:POST /battery/{deviceId}, POST /ev-charger/{deviceId}, or POST /hvac/{deviceId}.
POST to them returns 405 METHOD_NOT_ALLOWED.
Request body
The commands, parameters, and bounds a device accepts are listed in its
commands map. See Capabilities.
Commands by device type
A given device may support a subset. A command, parameter, or unit the device doesn’t list returns
422 DEVICE_NOT_CAPABLE, with the offending value and what the device supports in details.
Quantities
Every numeric parameter is a Quantity: avalue and a unit.
percent, kw, watts, kwh, amps, volts, hours, minutes, celsius, and fahrenheit. Each parameter accepts the unit declared in the device’s commands map. A value outside the declared bounds returns 422 PARAMETER_OUT_OF_RANGE.
When it runs
Each command lists the execution types it supports in its
execution array. An unsupported one returns 422 DEVICE_NOT_CAPABLE with requestedExecution and supportedExecution in details. Time format, time zones, and limits are covered in Scheduling.
The response
A push returns202 Accepted with the new action. Track it at links.self.
acknowledged. Pushes with a start return scheduled, with start and end echoed as UTC timestamps. An immediate push may also carry warnings, such as no vehicle plugged in. The command is still accepted.
If the manufacturer refuses an immediate command straight away, the push returns that error instead of 202. The action is still recorded as failed, and a push.failed is sent.
Action states
States move
scheduled → acknowledged → completed or failed. Immediate pushes start at acknowledged. completed, failed, and cancelled are final. A windowed action is completed while its window is still running. Its endedAt is set when the window closes.
Check an action
List actions
GET /actions returns actions across all your devices, newest first.
The response is
data: { items, pagination }, with the same item shape as GET /actions/{actionId}.
Next steps
Conflicts
What happens when a device already has an active action.
Scheduling
Run commands later or inside a time window.
Webhooks
Get notified when an action completes or fails.
Capabilities
Find out what a device accepts before you push.