Skip to content

cloud.smarthq.service.mixer.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 for a mixer. This service represents the current state of a mixer device.

Behaviors

A service may specify a behavior the device enforces that otherwise is not specified by the config. Each behavior is unique and a client should take into account the behavior when integrating with a service. A service may have multiple behaviors declared.

Behavior Documentation
cloud.smarthq.behavior.standmixerrestrictspeedchange Mixer speed can only be reduced during an active mix cycle.
cloud.smarthq.behavior.standmixerrestricttimechange Mixer target time cannot be adjusted during an active mix cycle.

Example Device Response (Digital Twin API)

Service representing the mix stage of Standmixer.

{
  "adapterId": "0000000000000000000000000000000000000000",
  "alertTypes": [],
  "createdDateTime": "2022-03-04T12:12:12.123Z",
  "deviceId": "0000000000000000000000000000000000000000000000000000000000000000",
  "deviceType": "cloud.smarthq.device.standmixer",
  "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.mixer.v1",
      "lastSyncTime": "2022-03-04T12:12:12.123Z",
      "domainType": "cloud.smarthq.domain.mixer",
      "supportedCommands": [
        "cloud.smarthq.command.mixer.v1.cancel",
        "cloud.smarthq.command.mixer.v1.pause",
        "cloud.smarthq.command.mixer.v1.set"
      ],
      "state": {
        "directionModifiable": true,
        "autoSenseTorqueDelta": 5.0,
        "activeStirSpeedA": 0.0,
        "activeStirSpeedB": 0.0,
        "autoSenseTorqueDeltaType": "cloud.smarthq.type.torque.absolute",
        "autoSenseFilterWindowSize": 0.0,
        "speedModifiable": true,
        "speed": 1.0,
        "autoSenseBaselineWindowTimeSeconds": 0.0,
        "timeExtendSeconds": 0.0,
        "autoSenseBaselineStartTimeSeconds": 0.0,
        "activeStirTimeASeconds": 0.0,
        "torqueDelta": 0.0,
        "disabled": false,
        "autoSenseErrorDetectMinValidTorque": 0.0,
        "autoSenseErrorDetectMaxValidTorque": 0.0,
        "runStatus": "cloud.smarthq.type.runstatus.off",
        "activeStirTimeBSeconds": 0.0,
        "direction": "cloud.smarthq.type.direction.forward",
        "autoSenseBaseline": "cloud.smarthq.type.autosensebaseline.singlesample",
        "activeStirModifiable": true,
        "timerModifiable": true,
        "timeAfterPeakSeconds": 0.0,
        "timeAfterPeakEnabled": false,
        "autoSenseModifiable": true,
        "autoSenseErrorDetectStartTime": 0.0,
        "torqueDeltaBaselineTime": 0.0,
        "torqueDeltaModifiable": true
      },
      "serviceId": "0000000000000000000000000000000000000000000000000000000000000000",
      "serviceDeviceType": "cloud.smarthq.device.standmixer",
      "config": {
        "activeStirSpeedMinimum": 0.0,
        "autoSenseErrorDetectTorqueMinimum": -1000.0,
        "speedMaximum": 11.0,
        "directionSupported": "cloud.smarthq.type.parameter.optional",
        "timeExtendSecondsMaximum": 3600.0,
        "timerSecondsMinimum": 0.0,
        "autoSenseBaselineWindowTimeSecondsMinimum": 3600.0,
        "timeAfterPeakSecondsMaximum": 3600.0,
        "autoSenseErrorDetectDurationMinimum": 0.0,
        "autoSenseErrorDetectDurationMaximum": 65535.0,
        "autoSenseFilterWindowSizeMinimum": 0.0,
        "activeStirSpeedMaximum": 40.0,
        "autoSenseTorqueDeltaMaximum": 1000.0,
        "activeStirTimeSecondsMinimum": 0.0,
        "autoSenseTorqueDeltaAvailable": [
          "cloud.smarthq.type.torque.absolute",
          "cloud.smarthq.type.torque.relative"
        ],
        "torqueDeltaMaximum": 1000.0,
        "autoSenseBaselineWindowTimeSecondsMaximum": 0.0,
        "timeExtendSecondsMinimum": 0.0,
        "speedSupported": "cloud.smarthq.type.parameter.optional",
        "autoSenseTorqueDeltaMinimum": -1000.0,
        "timerSecondsMaximum": 600.0,
        "timeAfterPeakSecondsMinimum": 0.0,
        "activeStirTimeSecondsMaximum": 3600.0,
        "autoSenseFilterWindowSizeMaximum": 100.0,
        "torqueDeltaMinimum": -1000.0,
        "torqueDeltaSupported": "cloud.smarthq.type.parameter.optional",
        "autoSenseBaselineAvailable": [
          "cloud.smarthq.type.autosensebaseline.singlesample",
          "cloud.smarthq.type.autosensebaseline.maxinwindow",
          "cloud.smarthq.type.autosensebaseline.mininwindow"
        ],
        "autoSenseErrorDetectTorqueMaximum": 1000.0,
        "autoSenseBaselineSupported": "cloud.smarthq.type.parameter.optional",
        "autoSenseBaselineStartTimeSecondsMinimum": 3600.0,
        "autoSenseErrorDetectStartTimeMinimum": 0.0,
        "speedMinimum": 1.0,
        "speedGranularity": "cloud.smarthq.type.numericoptiongranularity.integer",
        "activeStirSpeedDifference": 0.0,
        "timerSupported": "cloud.smarthq.type.parameter.optional",
        "directionsAvailable": [
          "cloud.smarthq.type.direction.stationary",
          "cloud.smarthq.type.direction.forward",
          "cloud.smarthq.type.direction.reverse",
          "cloud.smarthq.type.direction.oscillate",
          "cloud.smarthq.type.direction.activestir"
        ],
        "autoSenseErrorDetectStartTimeMaximum": 65535.0,
        "torqueDeltaBaselineTimeMinimum": 0.0,
        "autoSenseBaselineStartTimeSecondsMaximum": 0.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
accessoriesAvailable SET<ACCESSORY> No
activeStirDirectionSupported BOOLEAN No
activeStirSpeedDifference INTEGER No
activeStirSpeedMaximum INTEGER No
activeStirSpeedMinimum INTEGER No
activeStirTimeSecondsMaximum INTEGER No
activeStirTimeSecondsMinimum INTEGER No
autoSenseBaselineAvailable SET<AUTOSENSEBASELINE> No
autoSenseBaselineMaxWindowSupported BOOLEAN No
autoSenseBaselineMinWindowSupported BOOLEAN No
autoSenseBaselineSingleSupported BOOLEAN No
autoSenseBaselineStartTimeSecondsMaximum INTEGER No
autoSenseBaselineStartTimeSecondsMinimum INTEGER No
autoSenseBaselineSupported SUPPORTED_PARAMETER No
autoSenseBaselineWindowTimeSecondsMaximum INTEGER No
autoSenseBaselineWindowTimeSecondsMinimum INTEGER No
autoSenseErrorDetectDurationMaximum INTEGER No
autoSenseErrorDetectDurationMinimum INTEGER No
autoSenseErrorDetectStartTimeMaximum INTEGER No
autoSenseErrorDetectStartTimeMinimum INTEGER No
autoSenseErrorDetectTorqueMaximum INTEGER No
autoSenseErrorDetectTorqueMinimum INTEGER No
autoSenseFilterWindowSizeMaximum INTEGER No
autoSenseFilterWindowSizeMinimum INTEGER No
autoSenseTorqueDeltaAbsoluteSupported BOOLEAN No
autoSenseTorqueDeltaAvailable SET<TORQUE> No
autoSenseTorqueDeltaMaximum INTEGER No
autoSenseTorqueDeltaMinimum INTEGER No
autoSenseTorqueDeltaRelativeSupported BOOLEAN No
autoSenseTorqueDeltaSupported SUPPORTED_PARAMETER No
directionSupported SUPPORTED_PARAMETER No
directionsAvailable SET<DIRECTION> No
forwardDirectionSupported BOOLEAN No
motorType STRING No
noChangeDirectionSupported BOOLEAN No
reverseDirectionSupported BOOLEAN No
speedGranularity NUMERIC_OPTION_GRANULARITY No
speedMaximum DOUBLE No
speedMinimum DOUBLE No
speedSupported SUPPORTED_PARAMETER No
timeAfterPeakEnabled BOOLEAN No
timeAfterPeakSecondsMaximum INTEGER No
timeAfterPeakSecondsMinimum INTEGER No
timeExtendSecondsMaximum INTEGER No
timeExtendSecondsMinimum INTEGER No
timerSecondsMaximum INTEGER No
timerSecondsMinimum INTEGER No
timerSupported SUPPORTED_PARAMETER No
toggleDirectionSupported BOOLEAN No
torqueDeltaBaselineTimeMaximum INTEGER No
torqueDeltaBaselineTimeMinimum INTEGER No
torqueDeltaMaximum INTEGER No
torqueDeltaMinimum INTEGER No
torqueDeltaSupported SUPPORTED_PARAMETER 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
activeStirModifiable BOOLEAN No
activeStirSpeedA INTEGER No
activeStirSpeedB INTEGER No
activeStirTimeASeconds INTEGER No
activeStirTimeBSeconds INTEGER No
autoSenseBaseline AUTOSENSEBASELINE No
autoSenseBaselineStartTimeSeconds INTEGER No
autoSenseBaselineWindowTimeSeconds INTEGER No
autoSenseErrorDetectDuration INTEGER No
autoSenseErrorDetectMaxValidTorque INTEGER No
autoSenseErrorDetectMinValidTorque INTEGER No
autoSenseErrorDetectStartTime INTEGER No
autoSenseFilterWindowSize INTEGER No
autoSenseModifiable BOOLEAN No
autoSenseTorqueDelta INTEGER No
autoSenseTorqueDeltaType TORQUE No
direction DIRECTION No
directionModifiable BOOLEAN No
disabled BOOLEAN No
runStatus RUN_STATUS No
speed DOUBLE No
speedModifiable BOOLEAN No
timeAfterPeakEnabled BOOLEAN No
timeAfterPeakSeconds INTEGER No
timeExtendSeconds INTEGER No
timerModifiable BOOLEAN No
timerSeconds INTEGER No
torqueDelta INTEGER No
torqueDeltaBaselineTime INTEGER No
torqueDeltaModifiable BOOLEAN 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.mixer.v1.set

Command used to stage a mix cycle with a mixer device.

Field Name Property Type Required
activeStirSpeedA INTEGER No
activeStirSpeedB INTEGER No
activeStirTimeASeconds INTEGER No
activeStirTimeBSeconds INTEGER No
autoSenseBaseline AUTOSENSEBASELINE No
autoSenseBaselineStartTimeSeconds INTEGER No
autoSenseBaselineWindowTimeSeconds INTEGER No
autoSenseErrorDetectDuration INTEGER No
autoSenseErrorDetectMaxValidTorque INTEGER No
autoSenseErrorDetectMinValidTorque INTEGER No
autoSenseErrorDetectStartTime INTEGER No
autoSenseFilterWindowSize INTEGER No
autoSenseTorqueDelta INTEGER No
autoSenseTorqueDeltaType TORQUE No
direction DIRECTION No
speed DOUBLE No
timeAfterPeakEnabled BOOLEAN No
timeAfterPeakSeconds INTEGER No
timeExtendSeconds INTEGER No
timerSeconds INTEGER No
torqueDelta INTEGER No
torqueDeltaBaselineTime INTEGER No

Example Commands

Command to set the mixer stage.

{
  "command": {
    "commandType": "cloud.smarthq.command.mixer.v1.set",
    "torqueDelta": 20.0,
    "torqueDeltaBaselineTime": 25.0,
    "speed": 12.0
  },
  "deviceId": "00000000000000000000000000000000000000000000000000000000000000",
  "domainType": "cloud.smarthq.domain.mixer",
  "kind": "service#command",
  "serviceDeviceType": "cloud.smarthq.device.standmixer",
  "serviceType": "cloud.smarthq.service.mixer.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.mixer.v1.pause

Command used to pause a mix cycle with a mixer device.

Example Commands

Command to pause the mixer.

{
  "command": {
    "commandType": "cloud.smarthq.command.mixer.v1.pause"
  },
  "deviceId": "00000000000000000000000000000000000000000000000000000000000000",
  "domainType": "cloud.smarthq.domain.mixer",
  "kind": "service#command",
  "serviceDeviceType": "cloud.smarthq.device.standmixer",
  "serviceType": "cloud.smarthq.service.mixer.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.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.mixer.v1.cancel

Command used to cancel a mix cycle with a mixer device.

Example Commands

Command to cancel execution of the mixer.

{
  "command": {
    "commandType": "cloud.smarthq.command.mixer.v1.cancel"
  },
  "deviceId": "00000000000000000000000000000000000000000000000000000000000000",
  "domainType": "cloud.smarthq.domain.mixer",
  "kind": "service#command",
  "serviceDeviceType": "cloud.smarthq.device.standmixer",
  "serviceType": "cloud.smarthq.service.mixer.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.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.

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.

AUTOSENSEBASELINE

AUTOSENSEBASELINE Documentation
cloud.smarthq.type.autosensebaseline.maxinwindow max in window
cloud.smarthq.type.autosensebaseline.mininwindow min in window
cloud.smarthq.type.autosensebaseline.singlesample single sample at start
cloud.smarthq.type.autosensebaseline.unknown Unknown

DIRECTION

DIRECTION Documentation
cloud.smarthq.type.direction.activestir Active Stir
cloud.smarthq.type.direction.forward Forward
cloud.smarthq.type.direction.oscillate Oscillate
cloud.smarthq.type.direction.reverse Reverse
cloud.smarthq.type.direction.stationary Stationary
cloud.smarthq.type.direction.unknown Unknown

NUMERIC_OPTION_GRANULARITY

NUMERIC_OPTION_GRANULARITY Documentation
cloud.smarthq.type.numericoptiongranularity.hundredth Granularity to nearest hundredth place
cloud.smarthq.type.numericoptiongranularity.integer Granularity to whole number
cloud.smarthq.type.numericoptiongranularity.tenth Granularity to nearest tenth place

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

SET<ACCESSORY>

SET<ACCESSORY> Documentation
cloud.smarthq.type.accessory.bowl.quarts.6 6 Quart Bowl
cloud.smarthq.type.accessory.bowl.quarts.7 7 Quart Bowl
cloud.smarthq.type.accessory.doughhook Dough Hook
cloud.smarthq.type.accessory.paddle Paddle
cloud.smarthq.type.accessory.unknown Unknown
cloud.smarthq.type.accessory.whisk Whisk

SET<AUTOSENSEBASELINE>

SET<AUTOSENSEBASELINE> Documentation
cloud.smarthq.type.autosensebaseline.maxinwindow max in window
cloud.smarthq.type.autosensebaseline.mininwindow min in window
cloud.smarthq.type.autosensebaseline.singlesample single sample at start
cloud.smarthq.type.autosensebaseline.unknown Unknown

SET<DIRECTION>

SET<DIRECTION> Documentation
cloud.smarthq.type.direction.activestir Active Stir
cloud.smarthq.type.direction.forward Forward
cloud.smarthq.type.direction.oscillate Oscillate
cloud.smarthq.type.direction.reverse Reverse
cloud.smarthq.type.direction.stationary Stationary
cloud.smarthq.type.direction.unknown Unknown

SET<TORQUE>

SET<TORQUE> Documentation
cloud.smarthq.type.torque.absolute Absolute
cloud.smarthq.type.torque.relative Relative
cloud.smarthq.type.torque.unknown Unknown

SUPPORTED_PARAMETER

SUPPORTED_PARAMETER Documentation
cloud.smarthq.type.parameter.defaulted Associated parameter may be provided, the value defaults if not provided
cloud.smarthq.type.parameter.optional Associated parameter may be provided
cloud.smarthq.type.parameter.prohibited Associated parameter cannot be used, this is the implied behavior when not provided.
cloud.smarthq.type.parameter.required Associated parameter must be provided

TORQUE

TORQUE Documentation
cloud.smarthq.type.torque.absolute Absolute
cloud.smarthq.type.torque.relative Relative
cloud.smarthq.type.torque.unknown Unknown