cloud.smarthq.service.dishdrawer.mode.legacy¶
Description¶
Service to model the dishdrawer mode legacy is used in conjunction with the dishdrawer state legacy service. This service represents an available dishdrawer mode legacy providing the configuration for what parameters are required to start it, a command for actually starting the dishdrawer mode, as well as the state of the dishdrawer mode if it is running.
Example Device Response (Digital Twin API)¶
Service pots cycle of dishdrawer
{
"adapterId": "0000000000000000000000000000000000000000",
"alertTypes": [],
"createdDateTime": "2022-03-04T12:12:12.123Z",
"deviceId": "0000000000000000000000000000000000000000000000000000000000000000",
"deviceType": "cloud.smarthq.device.dishdrawer",
"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.dishdrawer.mode.legacy",
"lastSyncTime": "2022-03-04T12:12:12.123Z",
"domainType": "cloud.smarthq.domain.dishwasher.pots",
"supportedCommands": [
"cloud.smarthq.command.dishdrawer.mode.legacy.set"
],
"state": {},
"serviceId": "0000000000000000000000000000000000000000000000000000000000000000",
"serviceDeviceType": "cloud.smarthq.device.dishdrawer",
"config": {
"dishdrawerModeLegacyOptionSupported": "cloud.smarthq.type.parameter.defaulted",
"dishdrawerModeLegacyOptionAvailable": [
"cloud.smarthq.type.dishdrawer.mode.legacy.option.none",
"cloud.smarthq.type.dishdrawer.mode.legacy.option.ultra.dry",
"cloud.smarthq.type.dishdrawer.mode.legacy.option.fast",
"cloud.smarthq.type.dishdrawer.mode.legacy.option.sanitize"
]
},
"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 | Minimum | Maximum |
|---|---|---|---|---|
| delayStartMaximum | INTEGER | No | -2147483648 | 2147483647 |
| delayStartMinimum | INTEGER | No | -2147483648 | 2147483647 |
| delayTimeGranularity | TIME_GRANULARITY | No | ||
| dishdrawerModeLegacyOptionAvailable | SET<DISHDRAWER_MODE_LEGACY_OPTION> | No | ||
| dishdrawerModeLegacyOptionSupported | 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 |
|---|---|---|
| disabled | 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.dishdrawer.mode.legacy.set¶
Command used to set a mode on a dishdrawer. The specific config for the mode service determines which properties can be used and which ones are required.
| Field Name | Property Type | Required | Minimum | Maximum |
|---|---|---|---|---|
| delayStartValue | INTEGER | No | -2147483648 | 2147483647 |
| dishdrawerModeLegacyOption | DISHDRAWER_MODE_LEGACY_OPTION | No | ||
| mode | DISHWASHER_MODE_DOMAIN | No |
Example Commands¶
Command to set the cycle mode in dishwasher.
{
"command": {
"mode": "cloud.smarthq.domain.dishwasher.pots",
"commandType": "cloud.smarthq.command.dishdrawer.mode.legacy.set",
"dishdrawerModeLegacyOption": "cloud.smarthq.type.dishdrawer.mode.legacy.option.ultra.dry"
},
"deviceId": "00000000000000000000000000000000000000000000000000000000000000",
"domainType": "cloud.smarthq.domain.dishwasher.pots",
"kind": "service#command",
"serviceDeviceType": "cloud.smarthq.device.dishdrawer",
"serviceType": "cloud.smarthq.service.dishdrawer.mode.legacy"
}
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.
INTEGER¶
Value must be an integer. Field specific restrictions such as a minimum and maximum may apply depending on the field.
DISHDRAWER_MODE_LEGACY_OPTION¶
| DISHDRAWER_MODE_LEGACY_OPTION | Documentation |
|---|---|
| cloud.smarthq.type.dishdrawer.mode.legacy.option.fast | Fast |
| cloud.smarthq.type.dishdrawer.mode.legacy.option.none | None |
| cloud.smarthq.type.dishdrawer.mode.legacy.option.sanitize | Sanitize |
| cloud.smarthq.type.dishdrawer.mode.legacy.option.ultra.dry | Ultra Dry |
DISHWASHER_MODE_DOMAIN¶
| DISHWASHER_MODE_DOMAIN | Documentation |
|---|---|
| cloud.smarthq.domain.dishwasher.auto | The Auto dishwasher cycle |
| cloud.smarthq.domain.dishwasher.autosense | The Auto Sense dishwasher cycle |
| cloud.smarthq.domain.dishwasher.autowash | The Auto Wash dishwasher cycle |
| cloud.smarthq.domain.dishwasher.babycare | The Baby Care dishwasher cycle |
| cloud.smarthq.domain.dishwasher.brand.cascade.platinumplus | The Cascade Platinum Plus dishwasher cycle |
| cloud.smarthq.domain.dishwasher.china | The China dishwasher cycle |
| cloud.smarthq.domain.dishwasher.cookware | The cookware dishwasher cycle |
| cloud.smarthq.domain.dishwasher.crystal | The Crystal dishwasher cycle |
| cloud.smarthq.domain.dishwasher.custom | The Custom Dishwasher Cycle |
| cloud.smarthq.domain.dishwasher.delicate | The Delicate dishwasher cycle |
| cloud.smarthq.domain.dishwasher.dishwasher.cleaning | The Dishwasher Cleaning dishwasher cycle |
| cloud.smarthq.domain.dishwasher.eco | The Eco dishwasher cycle |
| cloud.smarthq.domain.dishwasher.everyday | The Everyday dishwasher cycle |
| cloud.smarthq.domain.dishwasher.everyday.dry.off | The Everyday + Dry Off dishwasher cycle |
| cloud.smarthq.domain.dishwasher.everyday.dry.on | The Everyday + Dry On dishwasher cycle |
| cloud.smarthq.domain.dishwasher.express | The Express dishwasher cycle |
| cloud.smarthq.domain.dishwasher.gentle | The gentle dishwasher cycle |
| cloud.smarthq.domain.dishwasher.glass | The Glass dishwasher cycle |
| cloud.smarthq.domain.dishwasher.heavy | The Heavy dishwasher cycle |
| cloud.smarthq.domain.dishwasher.heavy.duty.dry | The Heavy Duty + Dry dishwasher cycle |
| cloud.smarthq.domain.dishwasher.heavyduty | The HeavyDuty dishwasher cycle |
| cloud.smarthq.domain.dishwasher.hydrosave | The HydroSave dishwasher cycle |
| cloud.smarthq.domain.dishwasher.hygiene | The Hygiene dishwasher cycle |
| cloud.smarthq.domain.dishwasher.intense | The Intense dishwasher cycle |
| cloud.smarthq.domain.dishwasher.light | The Light dishwasher cycle |
| cloud.smarthq.domain.dishwasher.medium | The Medium dishwasher cycle |
| cloud.smarthq.domain.dishwasher.normal | The Normal dishwasher cycle |
| cloud.smarthq.domain.dishwasher.plus | The Plus dishwasher cycle |
| cloud.smarthq.domain.dishwasher.pots | The Pots dishwasher cycle |
| cloud.smarthq.domain.dishwasher.preprinse | The PrepRinse dishwasher cycle |
| cloud.smarthq.domain.dishwasher.quick | The Quick dishwasher cycle |
| cloud.smarthq.domain.dishwasher.quiet | The Quiet dishwasher cycle |
| cloud.smarthq.domain.dishwasher.quiet2 | The Quiet2 dishwasher cycle |
| cloud.smarthq.domain.dishwasher.rinse | The Rinse dishwasher cycle |
| cloud.smarthq.domain.dishwasher.smart | The Smart dishwasher cycle |
| cloud.smarthq.domain.dishwasher.steam | The Steam dishwasher cycle |
| cloud.smarthq.domain.dishwasher.timed.hours.1 | The 1 Hour Wash dishwasher cycle |
| cloud.smarthq.domain.dishwasher.timed.hours.1.and.dry | The 1 Hr Wash and Dry dishwasher cycle |
| cloud.smarthq.domain.dishwasher.timed.minutes.30 | The 30 Minutes dishwasher cycle |
| cloud.smarthq.domain.dishwasher.timesaver | The Time Saver dishwasher cycle |
| cloud.smarthq.domain.dishwasher.unknown | Undefined |
SET<DISHDRAWER_MODE_LEGACY_OPTION>¶
| SET<DISHDRAWER_MODE_LEGACY_OPTION> | Documentation |
|---|---|
| cloud.smarthq.type.dishdrawer.mode.legacy.option.fast | Fast |
| cloud.smarthq.type.dishdrawer.mode.legacy.option.none | None |
| cloud.smarthq.type.dishdrawer.mode.legacy.option.sanitize | Sanitize |
| cloud.smarthq.type.dishdrawer.mode.legacy.option.ultra.dry | Ultra Dry |
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 |
TIME_GRANULARITY¶
| TIME_GRANULARITY | Documentation |
|---|---|
| cloud.smarthq.type.timergranularity.days | Granularity of days |
| cloud.smarthq.type.timergranularity.hours | Granularity of hours |
| cloud.smarthq.type.timergranularity.minutes | Granularity of minutes |
| cloud.smarthq.type.timergranularity.seconds | Granularity of seconds |