cloud.smarthq.service.mixer.v1¶
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 |