Skip to content

cloud.smarthq.service.cooking.state.v1

  • Configuration


    Describes boundaries and fixed properties for the service.

    Go There

  • State


    A list of the states this service can be in.

    Go There

  • Commands


    How to change the state of the service.

    Go There

  • Data Types


    All the data types used for this service.

    Go There

Description

Service to model the cooking state is used in conjunction with the cooking mode service. This service represents the top level state of a cooking device such as a oven or microwave.

Example Device Response (Digital Twin API)

Example Service to set state on microwave.

{
  "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.state.v1",
      "lastSyncTime": "2022-03-04T12:12:12.123Z",
      "domainType": "cloud.smarthq.domain.cooking",
      "supportedCommands": [
        "cloud.smarthq.command.cooking.state.v1.pause",
        "cloud.smarthq.command.cooking.state.v1.resume",
        "cloud.smarthq.command.cooking.state.v1.stop"
      ],
      "state": {
        "mode": "cloud.smarthq.domain.cooking.off",
        "canResume": false,
        "remoteEnable": true,
        "doorOpen": false,
        "canPause": false,
        "runStatus": "cloud.smarthq.type.runstatus.off"
      },
      "serviceId": "0000000000000000000000000000000000000000000000000000000000000000",
      "serviceDeviceType": "cloud.smarthq.device.microwave",
      "config": {
        "supportedRemote": "cloud.smarthq.type.cookingremote.full"
      },
      "lastStateTime": "2022-03-04T12:12:12.123Z"
    }
  ],
  "userId": "000000000000000"
}

Example Service to set state on smoker.

{
  "adapterId": "0000000000000000000000000000000000000000",
  "alertTypes": [],
  "createdDateTime": "2022-03-04T12:12:12.123Z",
  "deviceId": "0000000000000000000000000000000000000000000000000000000000000000",
  "deviceType": "cloud.smarthq.device.smoker",
  "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.state.v1",
      "lastSyncTime": "2022-03-04T12:12:12.123Z",
      "domainType": "cloud.smarthq.domain.cooking",
      "supportedCommands": [
        "cloud.smarthq.command.cooking.state.v1.stop"
      ],
      "state": {
        "mode": "cloud.smarthq.domain.cooking.food.chicken",
        "cookModeEditable": true,
        "cavityTemperatureEditable": true,
        "numericOptionValueEditable": true,
        "cookStatusEditable": true,
        "remoteEnable": true,
        "cookingStatus": "cloud.smarthq.type.cookingstatus.off",
        "cookTimeEditable": true,
        "probeTemperatureEditable": true,
        "runStatus": "cloud.smarthq.type.runstatus.off"
      },
      "serviceId": "0000000000000000000000000000000000000000000000000000000000000000",
      "serviceDeviceType": "cloud.smarthq.device.smoker",
      "config": {
        "supportedRemote": "cloud.smarthq.type.cookingremote.enable"
      },
      "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
supportedRemote COOKING_REMOTE Yes

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
canPause BOOLEAN No
canResume BOOLEAN No
cavityTemperatureEditable BOOLEAN No
cookModeEditable BOOLEAN No
cookStatusEditable BOOLEAN No
cookTimeEditable BOOLEAN No
cookingStatus COOKING_STATUS No
disabled BOOLEAN No
doorOpen BOOLEAN No
foodDetect BOOLEAN No
mode COOKING_MODE_DOMAIN Yes
numericOptionValueEditable BOOLEAN No
probeTemperatureEditable BOOLEAN No
remoteEnable BOOLEAN No
runStatus RUN_STATUS Yes

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.state.v1.pause

Command used to pause a cooking device that canPause.

Example Commands

Command to pause the cooking.

{
  "command": {
    "commandType": "cloud.smarthq.command.cooking.state.v1.pause"
  },
  "deviceId": "00000000000000000000000000000000000000000000000000000000000000",
  "domainType": "cloud.smarthq.domain.cooking",
  "kind": "service#command",
  "serviceDeviceType": "cloud.smarthq.device.microwave",
  "serviceType": "cloud.smarthq.service.cooking.state.v1"
}

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.state.v1.resume

Command used to resume a cooking device that canResume.

Example Commands

Command to resume the cooking.

{
  "command": {
    "commandType": "cloud.smarthq.command.cooking.state.v1.resume"
  },
  "deviceId": "00000000000000000000000000000000000000000000000000000000000000",
  "domainType": "cloud.smarthq.domain.cooking",
  "kind": "service#command",
  "serviceDeviceType": "cloud.smarthq.device.microwave",
  "serviceType": "cloud.smarthq.service.cooking.state.v1"
}

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.state.v1.stop

Command used to stop a cooking device.

Example Commands

Command to stop the cooking.

{
  "command": {
    "commandType": "cloud.smarthq.command.cooking.state.v1.stop"
  },
  "deviceId": "00000000000000000000000000000000000000000000000000000000000000",
  "domainType": "cloud.smarthq.domain.cooking",
  "kind": "service#command",
  "serviceDeviceType": "cloud.smarthq.device.microwave",
  "serviceType": "cloud.smarthq.service.cooking.state.v1"
}

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

Data Types

BOOLEAN

Value must be either true or false.

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.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.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

COOKING_REMOTE

COOKING_REMOTE Documentation
cloud.smarthq.type.cookingremote.doordetect No remote enable. Uses door status and food detect.
cloud.smarthq.type.cookingremote.enable Remote enable only.
cloud.smarthq.type.cookingremote.full Remote enable and door status and food detect.
cloud.smarthq.type.cookingremote.none No remote features.

COOKING_STATUS

COOKING_STATUS Documentation
cloud.smarthq.type.cookingstatus.cook Cook
cloud.smarthq.type.cookingstatus.cook.complete Cook complete
cloud.smarthq.type.cookingstatus.cook.complete.soon Cook complete soon
cloud.smarthq.type.cookingstatus.off Off
cloud.smarthq.type.cookingstatus.pause Pause
cloud.smarthq.type.cookingstatus.pending Pending
cloud.smarthq.type.cookingstatus.preheat Preheat
cloud.smarthq.type.cookingstatus.preheat.complete Preheat complete
cloud.smarthq.type.cookingstatus.smoke Smoke
cloud.smarthq.type.cookingstatus.smoke.decrease Smoke decrease
cloud.smarthq.type.cookingstatus.smoke.increase Smoke increase
cloud.smarthq.type.cookingstatus.smoke.pause Smoke pause
cloud.smarthq.type.cookingstatus.unknown Unknown

RUN_STATUS

RUN_STATUS Documentation
cloud.smarthq.type.runstatus.active Active
cloud.smarthq.type.runstatus.delayed Delayed
cloud.smarthq.type.runstatus.endofcycle End of Cycle
cloud.smarthq.type.runstatus.idle Idle
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