ACK Console Error Reference
The Alexa Connect Kit developer console validates the capabilities that you enter. If there is an error, the error code, the path to the attribute that has the error, and information about the error appear in the console.
CONTAINS_INVALID_CHAR
The CONTAINS_INVALID_CHAR
error occurs if a value contains a character that isn't valid. The following shows an example where value.text
has the value "hello!!!!"
, where the character !
isn't valid.
{
"type": "AlexaInterface",
"version": "3",
"instance": 99,
"capabilityResources": {
"friendlyNames": [
{
"@type": "text",
"value": {
"text": "hello!!!!",
"locale": "en-US"
}
}
]
}
}
DUPLICATED_BASIC_CAPABILITIES
The DUPLICATED_BASIC_CAPABILITIES
error occurs if you specify the same basic capability more than once.
The following shows an example that specifies the same capability twice.
[
{
"type": "AlexaInterface",
"version": "3",
"properties": {
"supported": [
{
"name": "powerState"
}
],
"proactivelyReported": true,
"retrievable": true,
"readOnly": true
},
"interface": "Alexa.PowerController"
},
{
"type": "AlexaInterface",
"version": "3",
"properties": {
"supported": [
{
"name": "powerState"
}
],
"proactivelyReported": true,
"retrievable": true,
"readOnly": true
},
"interface": "Alexa.PowerController"
}
]
DUPLICATED_PRIMITIVE_CAPABILITY_PRIMARY_FRIENDLY_NAMES
The DUPLICATED_PRIMITIVE_CAPABILITY_PRIMARY_FRIENDLY_NAMES
error occurs if you use the same name for different capabilities.
The following shows an example that specifies the same value.text
value in the friendlyNames
arrays across two different capability primitive instances.
[
{
"type": "AlexaInterface",
"interface": "Alexa.ModeController",
"instance": "1",
"version": "3",
"properties": {
"supported": [
{
"name": "mode"
}
],
"retrievable": true,
"proactivelyReported": true,
"nonControllable": true
},
"capabilityResources": {
"friendlyNames": [
{
"@type": "text",
"value": {
"text": "Primary Friendly Name",
"locale": "en-US"
}
}
]
}
},
{
"type": "AlexaInterface",
"interface": "Alexa.ModeController",
"instance": "2",
"version": "3",
"properties": {
"supported": [
{
"name": "mode"
}
],
"retrievable": true,
"proactivelyReported": true,
"nonControllable": true
},
"capabilityResources": {
"friendlyNames": [
{
"@type": "text",
"value": {
"text": "Primary Friendly Name",
"locale": "en-US"
}
}
]
}
}
]
DUPLICATED_PRIMITIVE_CAPABILITY_INSTANCES
The DUPLICATED_PRIMITIVE_CAPABILITY_INSTANCES
error occurs if you specify duplicate instance
values.
The following shows an example that specifies the same instance
value for two different capability primitives.
[
{
"type": "AlexaInterface",
"interface": "Alexa.ModeController",
"instance": "1",
"version": "3",
"properties": {
},
"capabilityResources": {
}
},
{
"type": "AlexaInterface",
"interface": "Alexa.ModeController",
"instance": "1",
"version": "3",
"properties": {
},
"capabilityResources": {
}
}
]
DUPLICATED_VALUE
The DUPLICATED_VALUE
error occurs if an attribute has duplicate values. The following shows an example where properties.supported
has duplicate powerState
values.
{
"type": "AlexaInterface",
"version": 3,
"properties": {
"supported": [
{
"name": "powerState"
},
{
"name": "powerState"
}
],
"proactivelyReported": true,
"retrievable": true,
"readOnly": true
},
"interface": "Alexa.PowerController"
}
EMPTY
The EMPTY
error occurs if an attribute exists and contains no values where at least one value is required. The following shows an example where properties.supported
contains no values.
{
"type": "AlexaInterface",
"properties": {
"supported": [
],
"proactivelyReported": true,
"retrievable": true,
"readOnly": true
},
"interface": "Alexa.PowerController"
}
INVALID
The INVALID
error occurs if an attribute has a value that isn't valid. The following shows an example where @type
has the value "a_different_type_of_resource"
, which isn't valid.
{
"interface": "Alexa.ModeController",
"configuration": {
"ordered": false,
"supportedModes": [
{
"value": 99,
"modeResources": {
"friendlyNames": [
{
"@type": "a_different_type_of_resource"
},
{
"@type": "text",
"value": {
"text": "unmentionables",
"locale": "es-ES"
}
}
]
}
}
]
}
}
INVALID_DATA_TYPE
The INVALID_DATA_TYPE
error occurs if you use an incorrect data type in a value. The following shows an example where instance
has the value a text
, where the value must be a number.
{
"type": "AlexaInterface",
"version": "3",
"instance": "a text",
"capabilityResources": {
"friendlyNames": [
{
"@type": "asset",
"value": {
}
}
]
}
}
INVALID_INTERFACE
The INVALID_INTERFACE
error occurs if you refer to an interface that ACK doesn't support. For details, see Supported Alexa smart home capabilities and List of Capability Interfaces and Supported Locales.
The following shows an example that isn't valid because Alexa doesn't support the RandomController
interface.
{
"interface": "RandomController",
"type": "AlexaInterface",
"version": 3,
"properties": {
"supported": [
{
"name": "powerState"
}
],
"proactivelyReported": true,
"retrievable": true,
"readOnly": true
}
}
INVALID_JSON
The INVALID_JSON
error occurs if the JSON isn't valid or if you specify a duplicate attribute. The following shows an example where the type
attribute is duplicated.
{
"interface": "Alexa.PowerController",
"type": "AlexaInterface",
"type": "AlexaInterface",
"version": 3,
"properties": {
"supported": [
{
"name": "powerState"
}
],
"proactivelyReported": true,
"retrievable": true,
"readOnly": true
}
}
MISSING
The MISSING
error occurs if a required attribute is missing. The following shows an example where the version
attribute is missing.
{
"type": "AlexaInterface",
"properties": {
"supported": [
{
"name": "powerState"
}
],
"proactivelyReported": true,
"retrievable": true,
"readOnly": true
},
"interface": "Alexa.PowerController"
}
MISSING_CAPABILITIES
The MISSING_CAPABILITIES
error occurs if a product has no capabilities.
MISSING_REQUIRED_VALUE
The MISSING_REQUIRED_VALUE
error occurs if a property is missing a required value. The following shows an example where properties.supported
is missing the required "powerState"
value.
{
"type": "AlexaInterface",
"properties": {
"supported": [
],
"proactivelyReported": true,
"retrievable": true,
"readOnly": true
},
"interface": "Alexa.PowerController"
}
NOT_ALLOWED
The NOT_ALLOWED
error occurs if you specify a reserved value. The following shows an example where value.text
has the reserved value alarm
.
{
"type": "AlexaInterface",
"version": "3",
"instance": 99,
"capabilityResources": {
"friendlyNames": [
{
"@type": "text",
"value": {
"text": "alarm",
"locale": "en-US"
}
}
]
}
}
OUT_OF_RANGE_VALUE
The OUT_OF_RANGE_VALUE
error occurs if an attribute has a value that is out of range. The following shows an example where instance
is 1000000000000
, which is too large. The value for instance
must be no more than 2^31.
{
"instance": 1000000000000,
"interface": "Alexa.RangeController",
"configuration": {
"unitOfMeasure": "alexa.unit.distance.meters",
"supportedRange": {
"minimumValue": 101.0,
"maximumValue": 100.0,
"precision": 1.0
},
"presets": [
{
"rangeValue": 10.5776767665567877656,
"presetResources": {
"friendlyNames": [
{
"@type": "text",
"value": {
"text": "AAAAAAAAAAAAAAAAAA (repeated 200 times)",
"locale": "en-US"
}
}
]
}
}
]
}
}
RANGE_NOT_SUPPORTED
The RANGE_NOT_SUPPORTED
error occurs if you specify a range and specify a value that isn't in the range. The following shows an example where the rangeValue
of 3.141
isn't in the specified range.
{
"interface": "Alexa.RangeController",
"configuration": {
"unitOfMeasure": "alexa.unit.distance.meters",
"supportedRange": {
"minimumValue": 1,
"maximumValue": 10,
"precision": 3
},
"presets": [
{
"rangeValue": 3.141,
"presetResources": {
"friendlyNames": [
{
"@type": "text",
"text": "hello",
"locale": "en-US"
}
]
}
}
]
}
}
SUPPORTED_RANGE_INVALID_MIN_MAX
The SUPPORTED_RANGE_INVALID_MIN_MAX
error occurs if you specify a range that has a maximum value that is less than the minimum value. The following shows an example where configuration.supportedRange
has a minimum of 101.0
and a maximum of 100.0
, which isn't valid.
{
"instance": 1000000000000,
"interface": "Alexa.RangeController",
"configuration": {
"unitOfMeasure": "alexa.unit.distance.meters",
"supportedRange": {
"minimumValue": 101.0,
"maximumValue": 100.0,
"precision": 1.0
},
"presets": [
{
"rangeValue": 10.5776767665567877656,
"presetResources": {
"friendlyNames": [
{
"@type": "text",
"value": {
"text": "AAAAAAAAAAAAAAAAAA (repeated 200 times)",
"locale": "en-US"
}
}
]
}
}
]
}
}
SUPPORTED_RANGE_INVALID_PRECISION
The SUPPORTED_RANGE_INVALID_PRECISION
error occurs if you specify a range with a precision value that isn't valid. The following shows an example where configuration.supportedRange.precision
has a value of 4
, which isn't valid.
{
"interface": "Alexa.RangeController",
"configuration": {
"unitOfMeasure": "alexa.unit.distance.meters",
"supportedRange": {
"minimumValue": 1,
"maximumValue": 10,
"precision": 4
}
}
}
TOO_LONG
The TOO_LONG
error occurs if an attribute has a string value that contains too many characters. The following shows an example where value.text
has a value that is the letter A
repeated 200 times, which is too many characters.
{
"instance": 1000000000000,
"interface": "Alexa.RangeController",
"configuration": {
"unitOfMeasure": "alexa.unit.distance.meters",
"supportedRange": {
"minimumValue": 101.0,
"maximumValue": 100.0,
"precision": 1.0
},
"presets": [
{
"rangeValue": 10.5776767665567877656,
"presetResources": {
"friendlyNames": [
{
"@type": "text",
"value": {
"text": "AAAAAAAAAAAAAAAAAA (repeated 200 times)",
"locale": "en-US"
}
}
]
}
}
]
}
}
TOO_MANY_DECIMALS
The TOO_MANY_DECIMALS
error occurs if a value has too many digits to the right of the decimal point. The following shows an example where rangeValue
has a value 10.5776767665567877656
, which has too many digits to the right of the decimal point.
{
"instance": 1000000000000,
"interface": "Alexa.RangeController",
"configuration": {
"unitOfMeasure": "alexa.unit.distance.meters",
"supportedRange": {
"minimumValue": 101.0,
"maximumValue": 100.0,
"precision": 1.0
},
"presets": [
{
"rangeValue": 10.5776767665567877656,
"presetResources": {
"friendlyNames": [
{
"@type": "text",
"value": {
"text": "AAAAAAAAAAAAAAAAAA (repeated 200 times)",
"locale": "en-US"
}
}
]
}
}
]
}
}
UNRECOGNIZED
The UNRECOGNIZED
error occurs if you specify a property that isn't in the schema. The following shows an example where properties.supported
specifies "newValue"
, which isn't in the schema. In the following example, the newProperty
property is also not in the schema.
{
"type": "AlexaInterface",
"version": 3,
"properties": {
"supported": [
{
"name": "powerState"
},
{
"name": "newValue"
}
],
"proactivelyReported": true,
"retrievable": true,
"readOnly": true,
"newProperty": "xyz"
},
"interface": "Alexa.PowerController"
}
UNRECOGNIZED_ATTRIBUTE
The UNRECOGNIZED_ATTRIBUTE
error occurs if you specify an attribute that ACK doesn't support. The following shows an example where some_attribute
isn't a supported attribute.
{
"type": "AlexaInterface",
"version": "3",
"instance": "a text",
"some_attribute": "asdfasfsa",
"capabilityResources": {
"friendlyNames": [
{
"@type": "asset",
"value": {
}
}
]
}
}
UNSUPPORTED
The UNSUPPORTED
error occurs if you specify a value that ACK doesn't support. The following shows an example where value.locale
specifies es-ES
, where ACK only supports en-US
.
{
"interface": "Alexa.ModeController",
"configuration": {
"ordered": false,
"supportedModes": [
{
"value": 99,
"modeResources": {
"friendlyNames": [
{
"@type": "a_different_type_of_resource"
},
{
"@type": "text",
"value": {
"text": "unmentionables",
"locale": "es-ES"
}
}
]
}
}
]
}
}
UNSUPPORTED_TYPE
The UNSUPPORTED_TYPE
error occurs if you enter a type that ACK doesn't support. The following shows an example where @type
has the value "asset"
, which ACK doesn't support.
{
"type": "AlexaInterface",
"version": "3",
"instance": 99,
"capabilityResources": {
"friendlyNames": [
{
"@type": "asset",
"value": {
}
}
]
}
}
WRONG_VALUE
The WRONG_VALUE
error occurs if an attribute contains a different value than expected. The following shows an example where type
has the unexpected value NotAnAlexaInterface
.
{
"type": "NotAnAlexaInterface",
"version": 3,
"properties": {
"supported": [
{
"name": "powerState"
}
],
"proactivelyReported": true,
"retrievable": true,
"readOnly": true
},
"interface": "Alexa.PowerController"
}
Related topics
Last updated: Nov 27, 2023