cloud.smarthq.service.cooktop.closedloop¶
Description¶
Service for closed loop cooktop burner
Example Device Response (Digital Twin API)¶
Cooktop closed loop for Oven
{
"adapterId": "0000000000000000000000000000000000000000",
"alertTypes": [],
"createdDateTime": "2022-03-04T12:12:12.123Z",
"deviceId": "0000000000000000000000000000000000000000000000000000000000000000",
"deviceType": "cloud.smarthq.device.oven",
"gatewayId": "0000000000000000000000000000000000000000000000000000000000000000",
"kind": "device#item",
"lastPresenceTime": "2022-03-04T12:12:12.123Z",
"lastSyncTime": "2022-03-04T12:12:12.123Z",
"presence": "OFFLINE",
"removable": true,
"services": [
{
"serviceType": "cloud.smarthq.service.cooktop.closedloop",
"lastSyncTime": "2022-03-04T12:12:12.123Z",
"domainType": "cloud.smarthq.domain.cooktop.closedloop.left.front",
"supportedCommands": [
"cloud.smarthq.command.cooktop.closedloop.set"
],
"state": {},
"serviceId": "0000000000000000000000000000000000000000000000000000000000000000",
"serviceDeviceType": "cloud.smarthq.device.oven",
"config": {},
"lastStateTime": "2022-03-04T12:12:12.123Z"
}
],
"userId": "000000000000000"
}
Configuration¶
The following are properties for the gateway/device sync as part of the "config" object for each individual service.
| Field Name | Property Type | Required | Minimum | Maximum |
|---|---|---|---|---|
| maximumSettableTemperature | INTEGER | No | -2147483648 | 2147483647 |
| minimumSettableTemperature | INTEGER | No | -2147483648 | 2147483647 |
| supportedConfigTypes | SET<CLOSEDLOOP_COOKING_SUPPORTED_MODE> | No |
State¶
The following are properties for the device state report as part of the "state" object for each individual service.
| Field Name | Property Type | Required | Minimum | Maximum |
|---|---|---|---|---|
| disabled | BOOLEAN | No | ||
| primaryDeviceFamily | COOKTOP_DEVICE_FAMILY | No | ||
| primaryDeviceStatus | COOKTOP_DEVICE_STATUS | No | ||
| primaryDeviceType | COOKTOP_DEVICE_TYPE | No | ||
| primaryShortId | INTEGER | No | -2147483648 | 2147483647 |
| secondaryDeviceFamily | COOKTOP_DEVICE_FAMILY | No | ||
| secondaryDeviceStatus | COOKTOP_DEVICE_STATUS | No | ||
| secondaryShortId | INTEGER | No | -2147483648 | 2147483647 |
Commands¶
The following are properties for both the Digital Twin API to send a command to the device as well as the properties passed as part of a command to the gateway to be processed by the device itself.
cloud.smarthq.command.cooktop.closedloop.set¶
Command used to set closed loop on cooktop burner oven device
| Field Name | Property Type | Required | Minimum | Maximum |
|---|---|---|---|---|
| activeStatus | BOOLEAN | No | ||
| primaryOutputMax | INTEGER | No | -2147483648 | 2147483647 |
| primaryOutputMin | INTEGER | No | -2147483648 | 2147483647 |
| targetTemperature | INTEGER | No | -2147483648 | 2147483647 |
| termDerivativeQbits | INTEGER | No | -2147483648 | 2147483647 |
| termDerivativeValue | INTEGER | No | -2147483648 | 2147483647 |
| termIntegralQbits | INTEGER | No | -2147483648 | 2147483647 |
| termIntegralValue | INTEGER | No | -2147483648 | 2147483647 |
| termProportionalQbits | INTEGER | No | -2147483648 | 2147483647 |
| termProportionalValue | INTEGER | No | -2147483648 | 2147483647 |
Example Commands¶
Command to set cooktop closed loop status on burner.
{
"command": {
"commandType": "cloud.smarthq.command.cooktop.closedloop.set"
},
"deviceId": "00000000000000000000000000000000000000000000000000000000000000",
"domainType": "cloud.smarthq.domain.cooktop.closedloop.left.front",
"kind": "service#command",
"serviceDeviceType": "cloud.smarthq.device.oven",
"serviceType": "cloud.smarthq.service.cooktop.closedloop"
}
Supported Outcomes¶
Each service has an allow listed set of outcomes that the device may return when asked to execute a command.
| Outcome | Documentation |
|---|---|
| cloud.smarthq.outcome.badrequest | The request was invalid. |
| cloud.smarthq.outcome.developererror | Only used when there is a server side bug |
| cloud.smarthq.outcome.deviceoffline | The device is offline. |
| cloud.smarthq.outcome.forbidden | The request is forbidden due to permissions. |
| cloud.smarthq.outcome.internalerror | The server had an issue processing the request |
| cloud.smarthq.outcome.missingconfig | The service config is missing |
| cloud.smarthq.outcome.missingstate | The service state is missing |
| cloud.smarthq.outcome.notallowed | The command is not allowed. |
| cloud.smarthq.outcome.notfound | The request is forbidden due to permissions. |
| cloud.smarthq.outcome.notsupported | The command is not supported. |
| cloud.smarthq.outcome.outofbounds | General out of bounds error |
| cloud.smarthq.outcome.servicedisabled | Feature is currently disabled |
| cloud.smarthq.outcome.success | Successful request |
| cloud.smarthq.outcome.timeout | The server experienced timeout waiting for a response from the gateway |
Data Types¶
BOOLEAN¶
Value must be either true or false.
INTEGER¶
Value must be an integer. Field specific restrictions such as a minimum and maximum may apply depending on the field.
COOKTOP_DEVICE_FAMILY¶
| COOKTOP_DEVICE_FAMILY | Documentation |
|---|---|
| cloud.smarthq.type.cooktop.device.family.builtin.sensor | Built-In Sensor |
| cloud.smarthq.type.cooktop.device.family.combustion | Combustion |
| cloud.smarthq.type.cooktop.device.family.hestancuepan | Hestan Cue Pan |
| cloud.smarthq.type.cooktop.device.family.invalid | Invalid |
| cloud.smarthq.type.cooktop.device.family.na | N/A |
| cloud.smarthq.type.cooktop.device.family.paragon.sensor | Paragon Sensor |
COOKTOP_DEVICE_STATUS¶
| COOKTOP_DEVICE_STATUS | Documentation |
|---|---|
| cloud.smarthq.type.cooktop.device.status.deviceselected | Device Selected |
| cloud.smarthq.type.cooktop.device.status.deviceselected.localcontrol | Device Selected and in Local Closed-Loop Control |
| cloud.smarthq.type.cooktop.device.status.deviceselected.localcontrol.readonly | Device Selected and in Local Closed-Loop Control (read-only) |
| cloud.smarthq.type.cooktop.device.status.deviceselected.remotecontrol | Device Selected and in Remote Closed-Loop Control |
| cloud.smarthq.type.cooktop.device.status.invalid | Invalid |
| cloud.smarthq.type.cooktop.device.status.nodevice | No Devices Available |
| cloud.smarthq.type.cooktop.device.status.notselected | Device Available But Not Selected |
COOKTOP_DEVICE_TYPE¶
| COOKTOP_DEVICE_TYPE | Documentation |
|---|---|
| cloud.smarthq.type.cooktop.device.type.builtin.castiron | Built-In Cast Iron |
| cloud.smarthq.type.cooktop.device.type.builtin.generic | Built-In Generic |
| cloud.smarthq.type.cooktop.device.type.builtin.stainless | Built-In Stainless |
| cloud.smarthq.type.cooktop.device.type.hestan.nonstickpan | Hestan Non-Stick Pan |
| cloud.smarthq.type.cooktop.device.type.hestan.pan | Hestan Pan |
| cloud.smarthq.type.cooktop.device.type.hestan.pot | Hestan Pot |
| cloud.smarthq.type.cooktop.device.type.hestan.saucepan | Hestan Sauce Pan |
| cloud.smarthq.type.cooktop.device.type.hestan.unknown | Hestan Unknown |
| cloud.smarthq.type.cooktop.device.type.invalid | Invalid |
| cloud.smarthq.type.cooktop.device.type.paragonsensor | Paragon Sensor |
SET<CLOSEDLOOP_COOKING_SUPPORTED_MODE>¶
| SET<CLOSEDLOOP_COOKING_SUPPORTED_MODE> | Documentation |
|---|---|
| cloud.smarthq.type.cooktop.closedloop.configtype.multi.anyburner | Multiple Closed-Loop Devices on Any Burner |
| cloud.smarthq.type.cooktop.closedloop.configtype.multi.onedevice | Multiple Closed-Loop Devices, One Device Per Side |
| cloud.smarthq.type.cooktop.closedloop.configtype.notsupported | Not Supported |
| cloud.smarthq.type.cooktop.closedloop.configtype.single.anyburner | Single Closed-Loop Device on Any Burner |
| cloud.smarthq.type.cooktop.closedloop.configtype.single.singleburner | Single Closed-Loop Device on Single Burner |