cloud.smarthq.service.cooking.mode.multistage¶
Description¶
Service for cooking multistage mode.
Example Device Response (Digital Twin API)¶
Service representing the multi stage cooking mode
{
"adapterId": "0000000000000000000000000000000000000000",
"alertTypes": [],
"createdDateTime": "2022-03-04T12:12:12.123Z",
"deviceId": "0000000000000000000000000000000000000000000000000000000000000000",
"deviceType": "cloud.smarthq.device.microwave",
"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.cooking.mode.multistage",
"lastSyncTime": "2022-03-04T12:12:12.123Z",
"domainType": "cloud.smarthq.domain.multistage.cookrequest",
"supportedCommands": [
"cloud.smarthq.command.cooking.mode.multistage.stop"
],
"state": {
"mode": "cloud.smarthq.domain.cooking.multi.stage",
"currentStage": 0.0,
"stagedMicrowaveDataId": 1.131727233E9,
"powerLevel": 5.0,
"recipeId": 2.242838244E9,
"runStatus": "cloud.smarthq.type.runstatus.off",
"remainingCookTimeInSeconds": 30.0
},
"serviceId": "0000000000000000000000000000000000000000000000000000000000000000",
"serviceDeviceType": "cloud.smarthq.device.microwave",
"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 | Calculated |
|---|---|---|---|
| celsiusMaximumInitialTemperature | DOUBLE | No | |
| celsiusMaximumInitialTemperatureConverted | DOUBLE | No | Yes |
| celsiusMaximumSousVideTemperature | DOUBLE | No | |
| celsiusMaximumSousVideTemperatureConverted | DOUBLE | No | Yes |
| celsiusMinimumInitialTemperature | DOUBLE | No | |
| celsiusMinimumInitialTemperatureConverted | DOUBLE | No | Yes |
| celsiusMinimumSousVideTemperature | DOUBLE | No | |
| celsiusMinimumSousVideTemperatureConverted | DOUBLE | No | Yes |
| fahrenheitMaximumInitialTemperature | DOUBLE | No | |
| fahrenheitMaximumSousVideTemperature | DOUBLE | No | |
| fahrenheitMinimumInitialTemperature | DOUBLE | No | |
| fahrenheitMinimumSousVideTemperature | DOUBLE | No | |
| sousVideConfig | STRING | 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 |
|---|---|---|---|---|
| canPause | BOOLEAN | No | ||
| canResume | BOOLEAN | No | ||
| currentStage | INTEGER | No | -2147483648 | 2147483647 |
| disabled | BOOLEAN | No | ||
| mode | COOKING_MODE_DOMAIN | Yes | ||
| powerLevel | INTEGER | No | -2147483648 | 2147483647 |
| recipeId | LONG | No | ||
| remainingCookTimeInSeconds | INTEGER | No | -2147483648 | 2147483647 |
| runStatus | RUN_STATUS | Yes | ||
| stagedMicrowaveDataId | LONG | No |
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.cooking.mode.multistage.start¶
Command used to start the microwave on multi stage mode
| Field Name | Property Type | Required | Minimum Items | Maximum Items |
|---|---|---|---|---|
| recipeID | LONG | Yes | ||
| stageCookTimes | TIER_ARRAY | Yes | 0 | 255 |
| stageEndCookActions | TIER_ARRAY | No | 0 | 255 |
| stageEndCookMessages | TIER_ARRAY | No | 0 | 255 |
| stagePowerLevels | TIER_ARRAY | Yes | 0 | 255 |
Example Commands¶
Command to start the multistage mode for microwave.
{
"command": {
"commandType": "cloud.smarthq.command.cooking.mode.multistage.start",
"stageCookTimes": [
1729.0,
567.0,
2394.0,
460.0,
231.0
],
"stageEndCookActions": [
1.0,
2.0,
0.0,
3.0,
4.0
],
"stageEndCookMessages": [
1.0,
0.0,
0.0,
0.0,
2.0
],
"stagePowerLevels": [
9.0,
8.0,
1.0,
6.0,
10.0
],
"recipeID": 2.242838244E9
},
"deviceId": "00000000000000000000000000000000000000000000000000000000000000",
"domainType": "cloud.smarthq.domain.multistage.cookrequest",
"kind": "service#command",
"serviceDeviceType": "cloud.smarthq.device.microwave",
"serviceType": "cloud.smarthq.service.cooking.mode.multistage"
}
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 |
cloud.smarthq.command.cooking.mode.multistage.stop¶
Command used to stop the microwave on multi stage mode
Example Commands¶
Command to stop the microwave with multi stage.
{
"command": {
"commandType": "cloud.smarthq.command.cooking.mode.multistage.stop"
},
"deviceId": "00000000000000000000000000000000000000000000000000000000000000",
"domainType": "cloud.smarthq.domain.multistage.cookrequest",
"kind": "service#command",
"serviceDeviceType": "cloud.smarthq.device.microwave",
"serviceType": "cloud.smarthq.service.cooking.mode.multistage"
}
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.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 |
cloud.smarthq.command.cooking.mode.multistage.pause¶
Command used to pause the microwave on multi stage mode
| Field Name | Property Type | Required |
|---|---|---|
| recipeID | LONG | Yes |
Example Commands¶
Command to pause the microwave with multi stage.
{
"command": {
"commandType": "cloud.smarthq.command.cooking.mode.multistage.pause",
"recipeID": 2.242838244E9
},
"deviceId": "00000000000000000000000000000000000000000000000000000000000000",
"domainType": "cloud.smarthq.domain.multistage.cookrequest",
"kind": "service#command",
"serviceDeviceType": "cloud.smarthq.device.microwave",
"serviceType": "cloud.smarthq.service.cooking.mode.multistage"
}
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 |
cloud.smarthq.command.cooking.mode.multistage.resume¶
Command used to resume the microwave on multi stage mode
| Field Name | Property Type | Required |
|---|---|---|
| recipeID | LONG | Yes |
Example Commands¶
Command to resume the microwave with multi stage.
{
"command": {
"commandType": "cloud.smarthq.command.cooking.mode.multistage.resume",
"recipeID": 2.242838244E9
},
"deviceId": "00000000000000000000000000000000000000000000000000000000000000",
"domainType": "cloud.smarthq.domain.multistage.cookrequest",
"kind": "service#command",
"serviceDeviceType": "cloud.smarthq.device.microwave",
"serviceType": "cloud.smarthq.service.cooking.mode.multistage"
}
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 |
cloud.smarthq.command.cooking.mode.multistage.sousvide.start¶
Command used to start the microwave on sous vide mode
| Field Name | Property Type | Required | Minimum | Maximum |
|---|---|---|---|---|
| cookMode | INTEGER | Yes | -2147483648 | 2147483647 |
| dataId | LONG | Yes | ||
| foodType | INTEGER | No | -2147483648 | 2147483647 |
| initialWaterTemperature | INTEGER | Yes | -2147483648 | 2147483647 |
| sousvideWaterTemperature | INTEGER | Yes | -2147483648 | 2147483647 |
| vesselId | LONG | No |
Example Commands¶
Command to start the sous vide microwave.
{
"command": {
"vesselId": 1.23456789E8,
"cookMode": 27.0,
"commandType": "cloud.smarthq.command.cooking.mode.multistage.sousvide.start",
"dataId": 3.3554433E7,
"foodType": 127.0,
"sousvideWaterTemperature": 150.0,
"initialWaterTemperature": 75.0
},
"deviceId": "00000000000000000000000000000000000000000000000000000000000000",
"domainType": "cloud.smarthq.domain.multistage.cookrequest.sousvide",
"kind": "service#command",
"serviceDeviceType": "cloud.smarthq.device.microwave.sousvide",
"serviceType": "cloud.smarthq.service.cooking.mode.multistage"
}
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.
DOUBLE¶
Value must be an double. Field specific restrictions such as a minimum and maximum may apply depending on the field.
INTEGER¶
Value must be an integer. Field specific restrictions such as a minimum and maximum may apply depending on the field.
STRING¶
Value must be a sequence of characters, inserted between " and " (double quotes). Field specific restrictions such as a regular expression may apply depending on the field.
LONG¶
Value must be a long. Field specific restrictions such as a minimum and maximum may apply depending on the field.
TIER_ARRAY¶
TODO: Newly defined type needs documentation written.
COOKING_MODE_DOMAIN¶
| COOKING_MODE_DOMAIN | Documentation |
|---|---|
| cloud.smarthq.domain.cooking.airfry | The air fry cooking mode |
| cloud.smarthq.domain.cooking.bagel | The bagel cooking mode |
| cloud.smarthq.domain.cooking.bake | The bake cooking mode |
| cloud.smarthq.domain.cooking.bake.auto | The auto bake cooking mode |
| cloud.smarthq.domain.cooking.bake.auto.biscuits | The auto bake biscuits cooking mode |
| cloud.smarthq.domain.cooking.bake.auto.frozenfrenchfries | The auto bake frozenfrenchfries cooking mode |
| cloud.smarthq.domain.cooking.bake.auto.frozenpizza | The auto bake frozenpizza cooking mode |
| cloud.smarthq.domain.cooking.bake.auto.muffins | The auto bake muffins cooking mode |
| cloud.smarthq.domain.cooking.beverage | The beverage cooking mode |
| cloud.smarthq.domain.cooking.broil | The broil cooking mode |
| cloud.smarthq.domain.cooking.cake | The cake cooking mode |
| cloud.smarthq.domain.cooking.cavity.lower | The lower door open |
| cloud.smarthq.domain.cooking.cavity.offset.lower | The cooking cavity offset lower temperature |
| cloud.smarthq.domain.cooking.cavity.offset.upper | The cooking cavity offset upper temperature |
| cloud.smarthq.domain.cooking.cavity.probe.temperature | The cavity probe temperature |
| cloud.smarthq.domain.cooking.cavity.upper | The upper door open |
| cloud.smarthq.domain.cooking.convection.bake | The convection bake cooking mode |
| cloud.smarthq.domain.cooking.convection.roast | The convection roast cooking mode |
| cloud.smarthq.domain.cooking.cookie | The cookie cooking mode |
| cloud.smarthq.domain.cooking.crispfinish | The crisp finish cooking mode |
| cloud.smarthq.domain.cooking.custom | The custom cooking mode |
| cloud.smarthq.domain.cooking.defrost.auto.sensed | The auto defrost sensed cooking mode |
| cloud.smarthq.domain.cooking.defrost.auto.weight | The auto defrost weight(pounds) cooking mode |
| cloud.smarthq.domain.cooking.defrost.time | The defrost by time cooking mode |
| cloud.smarthq.domain.cooking.defrost.weight | The defrost by weight cooking mode |
| cloud.smarthq.domain.cooking.dehydrate | The dehydrate cooking mode |
| cloud.smarthq.domain.cooking.dinnerplate | The dinner plate cooking mode |
| cloud.smarthq.domain.cooking.extended | Domain for Cooking Extended |
| cloud.smarthq.domain.cooking.food.brisket | The cooking mode for brisket |
| cloud.smarthq.domain.cooking.food.chicken | The cooking mode for chicken |
| cloud.smarthq.domain.cooking.food.porkbutt | The cooking mode for pork butt |
| cloud.smarthq.domain.cooking.food.porkrib | The cooking mode for pork rib |
| cloud.smarthq.domain.cooking.food.salmon | The cooking mode for salmon |
| cloud.smarthq.domain.cooking.food.wings | The cooking mode for wings |
| cloud.smarthq.domain.cooking.light | The Cooking light domain |
| cloud.smarthq.domain.cooking.multi.stage | The multi stage cooking mode |
| cloud.smarthq.domain.cooking.off | The off cooking mode |
| cloud.smarthq.domain.cooking.pizza | The pizza cooking mode |
| cloud.smarthq.domain.cooking.popcorn | The popcorn cooking mode |
| cloud.smarthq.domain.cooking.potato | The potato cooking mode |
| cloud.smarthq.domain.cooking.proof | The proof cooking mode |
| cloud.smarthq.domain.cooking.protein.chicken | The protein chicken cooking mode |
| cloud.smarthq.domain.cooking.protein.fish | The protein fish cooking mode |
| cloud.smarthq.domain.cooking.protein.groundbeef | The protein ground beef cooking mode |
| cloud.smarthq.domain.cooking.reheat | The reheat cooking mode |
| cloud.smarthq.domain.cooking.roast | The roast cooking mode |
| cloud.smarthq.domain.cooking.roast.auto | The auto roast cooking mode |
| cloud.smarthq.domain.cooking.roast.auto.beef | The auto roast beef cooking mode |
| cloud.smarthq.domain.cooking.roast.auto.pork | The auto roast pork cooking mode |
| cloud.smarthq.domain.cooking.roast.auto.turkey.breasts | The auto roast turkey breasts cooking mode |
| cloud.smarthq.domain.cooking.roast.auto.whole.chicken | The auto roast whole chicken cooking mode |
| cloud.smarthq.domain.cooking.slowcook | The slow cook cooking mode |
| cloud.smarthq.domain.cooking.steam | The steam cooking mode |
| cloud.smarthq.domain.cooking.temperature | The Cooking temperature domain for toggle service |
| cloud.smarthq.domain.cooking.timed | The timed (microwave) cooking mode |
| cloud.smarthq.domain.cooking.toast | The toast cooking mode |
| cloud.smarthq.domain.cooking.unknown | Unknown |
| cloud.smarthq.domain.cooking.vegetable.canned | The canned vegetable cooking mode |
| cloud.smarthq.domain.cooking.vegetable.fresh | The fresh vegetable cooking mode |
| cloud.smarthq.domain.cooking.vegetable.frozen | The frozen vegetable cooking mode |
| cloud.smarthq.domain.cooking.warm | The warm cooking mode |
| cloud.smarthq.domain.cooking.warm.auto | The auto warm cooking mode |
RUN_STATUS¶
| RUN_STATUS | Documentation |
|---|---|
| cloud.smarthq.type.runstatus.active | Active |
| cloud.smarthq.type.runstatus.complete | Complete |
| cloud.smarthq.type.runstatus.delay.pause | Delay Pause |
| cloud.smarthq.type.runstatus.delayed | Delayed |
| cloud.smarthq.type.runstatus.endofcycle | End of Cycle |
| cloud.smarthq.type.runstatus.feeding | Feeding |
| cloud.smarthq.type.runstatus.idle | Idle |
| cloud.smarthq.type.runstatus.in.progress | In Progress |
| cloud.smarthq.type.runstatus.off | Off |
| cloud.smarthq.type.runstatus.paused | Paused |
| cloud.smarthq.type.runstatus.running.480p | Running 480p |
| cloud.smarthq.type.runstatus.running.720p | Running 720p |
| cloud.smarthq.type.runstatus.standby | Standby |
| cloud.smarthq.type.runstatus.stopped | Stopped |
| cloud.smarthq.type.runstatus.unknown | Unknown |