Smart Home TemperatureControl Trait Schema
action.devices.traits.TemperatureControl
- Trait for devices (other than thermostats) that support controlling temperature, either within or around the device.
This differs from the TemperatureSetting trait, which is specifically for thermostat-style controls.
Device ATTRIBUTES
Devices with this trait may report the following
attributes as part of the SYNC
operation. To learn
more about handling SYNC
intents, see
Intent fulfillment.
Attributes | Type | Description |
---|---|---|
temperatureRange |
Object |
Required. Supported temperature range of the device. |
minThresholdCelsius |
Number |
Required. Minimum temperature for the range, in degrees Celsius. |
maxThresholdCelsius |
Number |
Required. Maximum temperature for the range, in degrees Celsius. |
temperatureStepCelsius |
Number |
Specifies the relative temperature step. This is the minimum adjustment interval the device supports. If unspecified, relative steps are calculated as a percentage of |
temperatureUnitForUX |
String |
Required. Temperature unit used in responses to the user. Supported values:
|
commandOnlyTemperatureControl |
Boolean |
(Default: Indicates if the device supports using one-way (true) or two-way (false) communication. Set this attribute to true if the device cannot respond to a QUERY intent or Report State for this trait. |
queryOnlyTemperatureControl |
Boolean |
(Default: Required if the device supports query-only execution. This attribute indicates if the device can only be queried for state information, and cannot be controlled. |
Examples
Device supporting control between 150 and 500 degrees Fahrenheit, in 5 degree increments.
{ "temperatureRange": { "minThresholdCelsius": 65.5, "maxThresholdCelsius": 260 }, "temperatureStepCelsius": 2.778, "temperatureUnitForUX": "F" }
Device STATES
Devices with this trait may report the following
states as part of the QUERY
operation. To learn
more about handling QUERY
intents, see
Intent fulfillment.
States | Type | Description |
---|---|---|
temperatureSetpointCelsius |
Number |
The current temperature setpoint, in degrees Celsius. Must fall within |
temperatureAmbientCelsius |
Number |
The currently observed temperature, in degrees Celsius. Must fall within |
Examples
What temperature is the device set to?
{ "temperatureSetpointCelsius": 150 }
Device COMMANDS
Devices with this trait may respond to the following
commands as part of the EXECUTE
operation. To learn
more about handling EXECUTE
intents, see
Intent fulfillment.
action.devices.commands.SetTemperature
Set the temperature to a specific value.
Parameters
Parameters | Type | Description |
---|---|---|
temperature |
Number |
Required. The temperature to set, in degrees Celsius. Must fall within |
Examples
Set the device to 350 degrees Fahrenheit.
{ "command": "action.devices.commands.SetTemperature", "params": { "temperature": 176.67 } }
Related errors
An error occurred setting the target temperature.
Supported values:
alreadyAtMax
alreadyAtMin
valueOutOfRange