Skip to content

cloud.smarthq.service.pizzaoven.state

  • 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 for the Pizza Oven state

Example Device Response (Digital Twin API)

Pizza Oven State.

{
  "adapterId": "0000000000000000000000000000000000000000",
  "alertTypes": [],
  "createdDateTime": "2022-03-04T12:12:12.123Z",
  "deviceId": "0000000000000000000000000000000000000000000000000000000000000000",
  "deviceType": "cloud.smarthq.device.pizzaoven",
  "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.pizzaoven.state",
      "lastSyncTime": "2022-03-04T12:12:12.123Z",
      "domainType": "cloud.smarthq.domain.state",
      "supportedCommands": [
        "cloud.smarthq.command.pizzaoven.state.set"
      ],
      "state": {
        "domeFrontTemperature": 1000.0,
        "domeRearTemperature": 1000.0,
        "timerState": "cloud.smarthq.type.pizzaoven.timerstate.paused.stopped",
        "currentTimeRemaining": 120.0,
        "stoneFrontTemperature": 500.0,
        "operatingState": "cloud.smarthq.type.pizzaoven.operatingstate.cooking",
        "domeState": true,
        "stoneRearTemperature": 500.0,
        "menuSelection": "cloud.smarthq.type.pizzaoven.menuselection.custom",
        "totalSetTime": 300.0
      },
      "serviceId": "0000000000000000000000000000000000000000000000000000000000000000",
      "serviceDeviceType": "cloud.smarthq.device.pizzaoven",
      "config": {
        "domeMinSetPoint": 100.0,
        "domeMaxSetPoint": 1350.0,
        "stoneMaxSetPoint": 800.0,
        "stoneMinSetPoint": 100.0
      },
      "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
domeMaxSetPoint INTEGER Yes
domeMinSetPoint INTEGER Yes
stoneMaxSetPoint INTEGER Yes
stoneMinSetPoint INTEGER 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
currentTimeRemaining INTEGER Yes
disabled BOOLEAN No
domeFrontTemperature INTEGER Yes
domeRearTemperature INTEGER Yes
domeState BOOLEAN Yes
menuSelection PIZZAOVEN_MENU_SELECTION Yes
operatingState PIZZAOVEN_OPERATING_STATE Yes
stoneFrontTemperature INTEGER Yes
stoneRearTemperature INTEGER Yes
timerState PIZZAOVEN_TIMER_STATE Yes
totalSetTime INTEGER 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.pizzaoven.state.set

Command used to set the parameters on the pizza oven.

Field Name Property Type Required
domeTemperatureValue INTEGER Yes
menuSelection PIZZAOVEN_MENU_SELECTION Yes
stoneTemperatureValue INTEGER Yes
totalSetTime INTEGER Yes

Example Commands

Command used to set the state on the pizza oven.

{
  "command": {
    "domeTemperatureValue": 500.0,
    "commandType": "cloud.smarthq.command.pizzaoven.state.set",
    "stoneTemperatureValue": 400.0,
    "menuSelection": "cloud.smarthq.type.pizzaoven.menuselection.flatbread",
    "totalSetTime": 600.0
  },
  "deviceId": "00000000000000000000000000000000000000000000000000000000000000",
  "domainType": "cloud.smarthq.domain.state",
  "kind": "service#command",
  "serviceDeviceType": "cloud.smarthq.device.pizzaoven",
  "serviceType": "cloud.smarthq.service.pizzaoven.state"
}

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.pizzaoven.state.section.set

Command used to set the section state on the pizza oven.

Field Name Property Type Required
pizzaOvenSection PIZZAOVEN_SECTION Yes
pizzaOvenState PIZZAOVEN_OPERATING_STATE No
sectionState BOOLEAN No

Example Commands

Command used to set the section state on the pizza oven.

{
  "command": {
    "commandType": "cloud.smarthq.command.pizzaoven.state.section.set",
    "pizzaOvenState": "cloud.smarthq.type.pizzaoven.operatingstate.stop",
    "pizzaOvenSection": "cloud.smarthq.type.pizzaoven.section.pizza.oven"
  },
  "deviceId": "00000000000000000000000000000000000000000000000000000000000000",
  "domainType": "cloud.smarthq.domain.state",
  "kind": "service#command",
  "serviceDeviceType": "cloud.smarthq.device.pizzaoven",
  "serviceType": "cloud.smarthq.service.pizzaoven.state"
}

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.

INTEGER

Value must be an integer. Field specific restrictions such as a minimum and maximum may apply depending on the field.

PIZZAOVEN_MENU_SELECTION

PIZZAOVEN_MENU_SELECTION Documentation
cloud.smarthq.type.pizzaoven.menuselection.custom Custom
cloud.smarthq.type.pizzaoven.menuselection.detroit.style Detroit Style
cloud.smarthq.type.pizzaoven.menuselection.flatbread Flatbread
cloud.smarthq.type.pizzaoven.menuselection.neapolitan Neapolitan
cloud.smarthq.type.pizzaoven.menuselection.new.york.style New York Style
cloud.smarthq.type.pizzaoven.menuselection.roasted.fruit Roasted Fruit
cloud.smarthq.type.pizzaoven.menuselection.roasted.vegetables Roasted Vegetables
cloud.smarthq.type.pizzaoven.menuselection.salmon Salmon
cloud.smarthq.type.pizzaoven.menuselection.white.fish White Fish

PIZZAOVEN_OPERATING_STATE

PIZZAOVEN_OPERATING_STATE Documentation
cloud.smarthq.type.pizzaoven.operatingstate.cooking Cooking
cloud.smarthq.type.pizzaoven.operatingstate.cooling.down Cooling Down
cloud.smarthq.type.pizzaoven.operatingstate.preheat1 Preheat1
cloud.smarthq.type.pizzaoven.operatingstate.preheat2 Preheat2
cloud.smarthq.type.pizzaoven.operatingstate.stone.hold Stone Hold
cloud.smarthq.type.pizzaoven.operatingstate.stop Stop

PIZZAOVEN_SECTION

PIZZAOVEN_SECTION Documentation
cloud.smarthq.type.pizzaoven.section.dome.section Dome Section of Pizza Oven
cloud.smarthq.type.pizzaoven.section.pizza.oven Entire Pizza Oven

PIZZAOVEN_TIMER_STATE

PIZZAOVEN_TIMER_STATE Documentation
cloud.smarthq.type.pizzaoven.timerstate.expired Expired
cloud.smarthq.type.pizzaoven.timerstate.paused.stopped Paused/Stopped
cloud.smarthq.type.pizzaoven.timerstate.running Running