Appearance
traits/air_temperature.proto
Table of Contents
traits/air_temperature.proto
AirTemperature
All the properties of the device
Field | Type | Label | Description |
---|---|---|---|
mode | AirTemperature.Mode | The current mode for the device | |
temperature_set_point | smartcore.types.Temperature | A target temperature for the device | |
temperature_set_point_delta | smartcore.types.Temperature | Write-only. Set the target temperature to a value relative to the current value. | |
temperature_range | TemperatureRange | A target range for the device. Only supported when in HEAT_COOL mode | |
ambient_temperature | smartcore.types.Temperature | Optional, read-only. The ambient temperature as read by the device | |
ambient_humidity | float | optional | Optional, read-only. The ambient relative humidity percentage, as read by the device |
dew_point | smartcore.types.Temperature | Optional, read-only. The dew-point as read by the device |
AirTemperatureSupport
AirTemperatureSupport describes the capabilities of devices implementing this trait
Field | Type | Label | Description |
---|---|---|---|
resource_support | smartcore.types.ResourceSupport | How a named device supports read/write/pull apis | |
native_unit | smartcore.types.TemperatureUnit | How the device thinks, all communications will be in celsius but the device's native unit is this. | |
supported_modes | AirTemperature.Mode | repeated | The list of modes a device supports. |
min_range_celsius | double | The minimum difference between the low and high temperatures when set using a range. 0 means unset, default to 2. |
DescribeAirTemperatureRequest
Field | Type | Label | Description |
---|---|---|---|
name | string | The name of the device |
GetAirTemperatureRequest
Request message for fetching device state
Field | Type | Label | Description |
---|---|---|---|
name | string | ||
read_mask | google.protobuf.FieldMask | The state fields to fetch |
PullAirTemperatureRequest
Request message for subscribing to changes in the devices state
Field | Type | Label | Description |
---|---|---|---|
name | string | ||
read_mask | google.protobuf.FieldMask | The state fields to fetch | |
updates_only | bool | When true the device will only send changes to the resource value. The default behaviour is to send the current value immediately followed by any updates as they happen. |
PullAirTemperatureResponse
Response message enclosing device state changes
Field | Type | Label | Description |
---|---|---|---|
changes | PullAirTemperatureResponse.Change | repeated |
PullAirTemperatureResponse.Change
Field | Type | Label | Description |
---|---|---|---|
name | string | name for the device that issued the change | |
change_time | google.protobuf.Timestamp | when the change occurred | |
air_temperature | AirTemperature | The new value for the device state. Only changed fields will be set, should be merged with GetState full response as required. |
TemperatureRange
A setting for devices that target a temperature between a range.
Field | Type | Label | Description |
---|---|---|---|
low | smartcore.types.Temperature | Required. The low threshold for the range | |
high | smartcore.types.Temperature | Required. The high threshold for the range | |
ideal | smartcore.types.Temperature | Optional. An ideal value for cases where a device supports three set points |
UpdateAirTemperatureRequest
Request message for updating the device state
Field | Type | Label | Description |
---|---|---|---|
name | string | ||
state | AirTemperature | ||
update_mask | google.protobuf.FieldMask | The fields relative to state we intend to update |
AirTemperature.Mode
Supported modes for a device. Some of these values are used as descriptive attributes, some are used for control
Name | Number | Description |
---|---|---|
MODE_UNSPECIFIED | 0 | The mode is unknown during a query. If used during a write then no change will be made, if part of a read then the mode is unknown. This makes no sense as part of an attribute. |
ON | 1 | Write-only. If the device is OFF restore it to it's previous state |
OFF | 2 | Attr, read, write. The device supports, is, or should be disabled |
HEAT | 3 | Attr, read, write. The device supports, is, or should be heating |
COOL | 4 | Attr, read, write. The device supports, is, or should be cooling |
HEAT_COOL | 5 | Attr, read, write. The device supports, is, or should be maintaining heating/cooling to target a specific set point (and/or min + max) |
AUTO | 6 | Attr. The device supports automatic control of set points and/or schedules based on some other means (AI for example) |
FAN_ONLY | 7 | Attr, read, write. The device supports, is, or should be able to use only the fan without heating/cooling elements. |
ECO | 8 | Attr, read, write. The device supports, is, or should be in an energy saving "eco" mode |
PURIFIER | 9 | Attr, read, write. The device supports, is, or should be in an air purifying mode |
DRY | 10 | Attr, read, write. The device supports, is, or should be in an air drying mode |
LOCKED | 11 | Attr, read, write. The device supports, is, or should be in locked mode (i.e. not user-editable) |
AirTemperatureApi
Device trait allowing query and control of the air temperature for a space. Like a thermostat and associated HVAC system.
Method Name | Request Type | Response Type | Description |
---|---|---|---|
GetAirTemperature | GetAirTemperatureRequest | AirTemperature | Get the current state of the device |
UpdateAirTemperature | UpdateAirTemperatureRequest | AirTemperature | Update the target state for the device. the returned state may not be complete but will indicate at least the current values for any set fields as part of the request. |
PullAirTemperature | PullAirTemperatureRequest | PullAirTemperatureResponse stream | Request notification of change to the device state. The messages in the response stream may not be complete but will indicate the changes as they occur. They should be merged with the full state as fetched by the GetAirTemperature method. |
AirTemperatureInfo
Describes the capabilities of a specific named device with respect to this trait.
Method Name | Request Type | Response Type | Description |
---|---|---|---|
DescribeAirTemperature | DescribeAirTemperatureRequest | AirTemperatureSupport | Get information about how a named device implements AirTemperature features |