This article describes the error codes that are returned when you call IoT Platform API operations. For more information about how to troubleshoot errors that are related to request parameters, see operation-specific request parameters in the API documentation. These errors include invalid data formats, invalid data length, and invalid values.

System error codes

An error code that starts with iot.system indicates a system error.

Error code Description
iot.system.SystemException A system error occurred.

Try again later.

iot.system.InstanceNotFound The specified instance ID does not exist.

Check whether the request parameters are valid. Try again later.

iot.system.UidNotFound The specified Alibaba Cloud account does not exist or IoT Platform is not activated for the account.

Check whether the specified Alibaba Cloud account is valid and IoT Platform is activated for the account. Try again later.

iot.system.InstanceIdSame The ID of the specified source instance is the same as that of the specified destination instance.

Check whether the ID of the specified source instance is different from that of the specified destination instance. Try again later.

Common error codes

An error code that starts with iot.common or iot.check indicates a common error.

Error code Description
iot.common.InvalidPageParams The specified page size or page number is invalid.

For more information, see the pagination-related parameters in the API documentation, for example, PageSize.

iot.common.InvalidTenant The specified tenant is invalid.

You must specify a valid Alibaba Cloud account and grant the required permissions to the account.

iot.common.QueryDeviceActionError Failed to query the device.

Check whether the request parameters are valid. Try again later.

iot.common.QueryDevicePropertyActionError Failed to query device properties.

Check whether the request parameters are valid. Try again later.

iot.common.QueryProductActionError Failed to query the product.

Check whether the request parameters are valid. Try again later.

iot.common.QueryProductCountActionError Failed to query the total number of products.

Check whether the request parameters are valid. Try again later.

iot.common.RamActionPermissionDeny The specified Resource Access Management (RAM) user does not have the required permissions.

For more information, see Grant permissions to a RAM user.

iot.common.AuthActionPermissionDeny The authentication failed.

This error may occur when the specified device information does not match the account. You must specify a valid AccessKey pair and device information.

iot.check.ParameterIsNotLessThanMax The value of Parameter A must be less than the value of Parameter B. For example, the value of the startTime parameter must be less than the value of the endTime parameter.

Check whether the request parameters conform to the preceding rule. Try again later.

iot.common.APINotSupportedInInstance This API operation is unavailable for the instance.

This feature is unavailable for public instances.

iot.common.InvalidFormattedParameter The parameter format is invalid.

Check whether the request parameters are valid. Try again later.

iot.common.IllegalFileBizCode The business type of the file is invalid.

Check whether the request parameters are valid. Try again later.

iot.common.IllegalFileFormat The format of the file is invalid.

Check whether the request parameters are valid. Try again later.

iot.common.FileNotExist The file does not exist.

Check whether the request parameters are valid. Try again later.

Product-related error codes

An error code that starts with iot.prod indicates a product-related error.

Error code Description
iot.prod.AlreadyExistedProductName The product name already exists. Each product name must be unique in an Alibaba Cloud account.
iot.prod.CreateProductFailed Failed to create the product.

Check whether the request parameters are valid. Try again later.

iot.prod.CreateProductTopicFailed Failed to create the topic category for the product.

Check whether the request parameters are valid. Try again later.

iot.prod.InvalidAliyunCommodityCode The value of the AliyunCommodityCode parameter is invalid.

Valid values for the AliyunCommodityCode parameter are iothub_senior and iothub.

iot.prod.InvalidFormattedCatId The CategoryId parameter is invalid.
iot.prod.InvalidFormattedProductkey The format of the ProductKey parameter is invalid.

Check the value of the ProductKey parameter.

iot.prod.InvalidFormattedProductName The format of the product name is invalid.

For more information about the format of product names, see CreateProduct.

iot.prod.LongProductDesc The length of the product description exceeds the limit.

The description must be 1 to 100 characters in length.

iot.prod.InvalidNodeType The node type of the product is invalid.

For more information about supported node types, see CreateProduct.

iot.prod.NotExistedProduct The product does not exist.

The value of the ProductKey parameter does not exist in the account.

iot.prod.NotSeniorProduct The product does not support Thing Specification Language (TSL) models. The TSL model feature is not enabled for the product when the product is created.
iot.prod.NullProductKey You must specify a valid ProductKey.
iot.prod.NullProductName You must specify a valid product name.
iot.prod.ProductCountExceedMax The total number of products exceeds the limit.

Each Alibaba Cloud account can have a maximum of 1,000 products.

iot.prod.QueryDeviceCountActionError Failed to query the number of devices that belong to the product.

Check whether the request parameters are valid. Try again later.

iot.prod.QueryProductAbilitiesFailed Failed to query product features.

Check whether the request parameters are valid, for example, the value of the Identifier parameter.

iot.prod.QueryProductAbilityFailed Failed to query product features.

Check whether the request parameters are valid, for example, the value of the Identifier parameter.

iot.prod.QueryProductListActionError Failed to query products.

Check whether the request parameters are valid. Try again later.

iot.prod.UpdateProductFailed Failed to update the product information.

Check whether the request parameters are valid. Try again later.

iot.prod.QueryExtendPropertyFailed Failed to query product tags.

Check whether the request parameters are valid. Try again later.

iot.prod.InvalidScriptType The type of the data parsing script is invalid.
iot.prod.ThingScriptExisted An existing or the latest data parsing script is available for the product.
iot.prod.ConcurrentScriptOperation Failed to perform the required operation on the data parsing script.

You cannot perform multiple operations in parallel on the data parsing script.

iot.prod.ThingScriptDataFormatError The type of the data parsing script for the product is invalid.

Check whether the request parameters are valid. Try again later.

iot.prod.BatchCreateThingModelFailed Failed to create the TSL model.

Check whether the request parameters are valid. Try again later.

iot.prod.ThingModelNameDuplicated Duplicate feature names exist in the TSL model.

You must specify a valid feature name. Try again later.

iot.Prod.NotProductOwner The current operator is not the owner of the product.

Check whether you have the required permissions to access the product. Try again later.

iot.prod.ProductDataFormatIsNull Failed to submit the data parsing script. The DataFormat request parameter is left empty when you create the product.

Make sure that the data format is set when you create a product. For more information, see CreateProduct.

Device-related error codes

An error code that starts with iot.device or iot.devicesearch indicates a device-related error.

Error code Description
iot.device.AddTopoRelationFailed Failed to add the topological relationship.

Check whether the request parameters are valid. Try again later.

iot.device.AlreadyExistedDeviceName The DeviceName already exists.

Each DeviceName must be unique in the product.

iot.device.ApplyManyDevicesFailed Failed to create devices in batches.

Check whether the request parameters are valid. Try again later.

iot.device.CreateDeviceFailed Failed to create the device.

Check whether the request parameters are valid. Try again later.

iot.device.CreateDeviceTaskIsRunning The device creation task is running.
iot.device.DeviceApplyIsNotFound The application ID does not exist.

Make sure that the value of the ApplyId parameter is the same as the value of the ApplyId parameter that is returned when you call the BatchCheckDeviceNames operation.

iot.device.DeviceCountExceeded The number of devices that you want to create at a time exceeds the limit.

You can create a maximum of 1,000 devices in a single call.

iot.device.DeleteDeviceFailed Failed to delete the device.

Check whether the request parameters are valid. Try again later.

iot.device.DeleteDevicePropertyFailed Failed to delete the device property.

Check whether the request parameters are valid. Try again later.

iot.device.DisableDeviceFailed Failed to disable the device.

Check whether the request parameters are valid. Try again later.

iot.device.EnableDeviceFailed Failed to enable the device.

Check whether the request parameters are valid. Try again later.

iot.device.InactiveDevice The device is in the inactive state. This indicates that the device has never been connected to IoT Platform.
iot.device.InvalidFormattedApplyId The ApplyId parameter is invalid.

The value must be the same as the value of the ApplyId parameter that is returned when you call the BatchCheckDeviceNames operation.

iot.device.IncorrentDeviceApplyInfo The device application information is invalid.

Check whether the request parameters are valid, for example, the ApplyId parameter.

iot.device.InvalidFormattedDeviceName The format of the DeviceName is invalid.

For more information about supported formats, see RegisterDevice.

iot.device.InvalidDeviceNickNameExisted An invalid device alias exists in the list of DeviceNames.

For more information, see the list of returned invalid device aliases.

iot.device.InvalidFormattedDevicePropertyKey The format of the device property identifier is invalid.

For more information about the support formats for devices properties, see the API documentation.

iot.device.InvalidFormattedDevicePropertiesString The format of the device property is invalid.

For more information about the support formats for devices properties, see the API documentation.

iot.device.InvalidIoTId The device ID is invalid.

You must call the QueryDeviceDetail or QueryDevice operation to view the valid value of the IotId parameter. You can use a combination of the ProductKey and DeviceName parameters to replace the IotId parameter.

iot.device.InvalidTimeBucket The specified time range is invalid.

You must specify valid parameters based on the following rules:

  • If you set the Asc parameter to 0 to perform a backward search, the value of the StartTime parameter must be greater than the value of EndTime parameter.
  • If you set the Asc parameter to 1 to perform a forward search, the value of the StartTime parameter must be less than the value of the EndTime parameter.
iot.device.InvokeThingServiceFailed Failed to call the service of the device.

Check whether the request parameters are valid, for example, the format and value of the Args parameter.

iot.device.LongDevicePropertiesString The length of the device property exceeds the limit.

For more information about limits, see the API documentation.

iot.device.NoneDeviceNameElement The DeviceName list is empty.
iot.device.NoneDeviceProperties No valid device properties exist.

Check whether the identifier of the property is same as the identifier that is defined in the TSL model.

iot.device.NotExistedDevice The specified sub-device does not exist.

The value of the specified IotId, ProductKey, or DeviceName parameter is invalid. You must call the QueryDeviceDetail or QueryDevice operation to view the valid value.

iot.device.NullApplyId You must specify a valid application ID.
iot.device.NullDeviceName You must specify a valid name for the device.
iot.device.NullDevicePropertyKey You must specify a valid name for the device property.
iot.device.NullDevicePropertiesString You must specify a valid property for the device.
iot.device.QueryDeviceApplyActionError Failed to query the application ID.

Check whether the request parameters are valid. Try again later.

iot.device.QueryDeviceAttrDataHistoryFailed Failed to query the historical records of the device property.

Check whether the request parameters are valid. Try again later.

iot.device.QueryDeviceAttrStatusFailed Failed to query the status of the device property.

Check whether the request parameters are valid. Try again later.

iot.device.QueryDeviceEventHistoryFailed Failed to query invocation records of the device event.

Check whether the request parameters are valid. Try again later.

iot.device.QueryDeviceListActionError Failed to query devices.

Check whether the request parameters are valid. Try again later.

iot.device.QueryDeviceServiceHistoryFailed Failed to query the invocation records of the device service.

Check whether the request parameters are valid. Try again later.

iot.device.QueryDeviceStatisticsFailed Failed to query the statistics of the device.

Check whether the request parameters are valid. Try again later.

iot.device.QueryDeviceStatusFailed Failed to query the status of the device.

Check whether the request parameters are valid. Try again later.

iot.device.QueryTopoRelationFailed Failed to query topological relationships.

Check whether the request parameters are valid. For example, if the value of the PageSize parameter exceeds 50, this error occurs.

iot.device.RemoveTopoRelationFailed Failed to remove the topological relationship.

Check whether the request parameters are valid. Try again later.

iot.device.SaveOrUpdateDevicePropertiesFailed Failed to add or modify the device property.

Check whether the request parameters are valid. Try again later.

iot.device.SetDevicePropertyFailed Failed to set the device property.

You must check whether the value and format of the Items parameter are valid and the specified property is readable and writable.

iot.device.TooManyDevicePropertiesPerTime The number of the specified properties exceeds the limit.

For more information about limits, see the API documentation.

iot.device.TopoRelationCountExceeded The number of the specified topological relationships exceeds the limit.

For more information about the limits on the number of gateways or sub-devices, see Limits.

iot.device.VerifyDeviceFailed Failed to authenticate the device.

Check whether the request parameters are valid. Try again later.

iot.devicesearch.InvalidSQLError The SQL statement is invalid.
iot.devicesearch.InvalidSQLOffsetError The SQL offset is invalid.
iot.devicesearch.InvalidSQLFieldError The SQL statement includes an invalid field name.
iot.devicesearch.InvalidSQLConditionError The number of SQL conjunctions exceeds the limit.
iot.devicesearch.InvalidSQLOrderError The SQL collation is invalid.
iot.devicesearch.InvalidSQLOperatorTypeError The SQL operator does not match the data type.
iot.devicesearch.InvalidSQLParamError The SQL syntax is invalid.
iot.device.DeviceHasDistributed The device is already distributed.

You must specify a valid DeviceName. Try again later.

Device distribution-related error codes

An error code that starts with iot.provisioning indicates a device distribution-related error.

Error code Description
iot.provisioning.RunningTaskExcceedLimit The maximum number of concurrent distribution tasks has been reached within the specified Alibaba Cloud account.

Each Alibaba Cloud account can create a maximum of 10 tasks to distribute products or devices.

iot.provisioning.TaskNotFinish The distribution task is not complete.
iot.provisioning.TaskIsProcessing The distribution task is still in progress.
iot.provisioning.DeviceIsInAnotherTask The device has been added to another distribution task.
iot.provisioning.TaskNotExist The distribution task does not exist.
iot.provisioning.TaskAlreadyFinish The distribution task is completed.
iot.provisioning.UidAndTaskNotMatch The ID of the specified Alibaba Cloud account is different from that of the Alibaba Cloud account that is used to create the distribution task.
iot.provisioning.DeviceIsDistributing The device is being distributed.
iot.provisioning.ProductIsDistributing The product is being distributed.
iot.provisioning.AccountNotFound The specified Alibaba Cloud account does not exist.
iot.provisioning.TargetAccountParamsError You must specify valid account information.
iot.provisioning.CrmServiceError The specified Alibaba Cloud account is in an abnormal service state.
iot.provisioning.InstanceOperationDeny The destination instance does not belong to the destination Alibaba Cloud account.
iot.provisioning.SourceInstanceNotFound The ID of the specified source instance does not exist.
iot.provisioning.TargetInstanceNotFound The ID of the specified destination instance does not exist.
iot.provisioning.CaptchaNotNull No verification code is provided for the operation.
iot.provisioning.CaptchaNotFound The verification code is invalid.
iot.provisioning.SendCaptchaFlowControl Excessive operation requests are submitted in a short period of time. Try again 1 minute later.
iot.provisioning.LimitExceeded The maximum number of distributed devices has been reached.
iot.provisioning.FailGetLogLat Failed to query the longitude and latitude information.
iot.provisioning.NotCrossTenantId This operation cannot be performed across Alibaba Cloud accounts.
iot.provisioning.ErrorStrategy The distribution policy is not supported.
iot.provisioning.InstanceRegionConflict Only one instance ID can be selected for each region.
iot.provisioning.NotDeviceOwner The current operator is not the owner of the device.

Device job-related error codes

An error code that starts with iot.job indicates a device job-related error.

Error code Description
iot.job.JobNotExist The job does not exist.
iot.job.ListTaskParamJobIdAndDeviceNull At least one of the JobId and Device request parameters must be specified.
iot.job.ListTaskParamDeviceInfoInvalid The specified device information in the Device request parameter is invalid.

At least one of the productKey and deviceName parameters must be specified.

iot.job.GenerateFileUploadUrlFailed Failed to generate an upload URL for the file.
iot.job.ParamsError The request parameters are invalid.

Check whether the request parameters are valid. Try again later.

iot.job.JobInvokeServiceSidError The serviceIdentifier parameter in the JobDocument request parameter is invalid in the job that is used to call multiple device services.
iot.job.JobSetPropertyParamsError The params parameter in the JobDocument request parameter is invalid in the job that is used to set multiple device properties.
iot.job.JobCountExceedLimit The maximum number of tasks has been reached.

You can create a maximum of 10,000 jobs in each region within an Alibaba Cloud account.

iot.job.IllegalTargetDevices Invalid devices are specified in the TargetDevices parameter in the TargetConfig request parameter.
iot.job.QueryJobFailed Failed to query the job information.
iot.job.NotJobOwner You are not the owner of the job.
iot.job.UpdateJobFailed Failed to update the task configurations of a job.
iot.job.JobActionForbidden The operation is forbidden if the job is in the current status.
iot.job.CancelJobFailed Failed to cancel the job.
iot.job.DeleteJobFailed Failed to delete the job.
iot.job.QueryJobStaticsFailed Failed to query the job statistics.
iot.job.QueryTaskFailed Failed to query the information of a task under a specified job.
iot.job.TaskIdIsNull You must specify a valid value for the TaskId request parameter.
iot.job.TaskNotExist The task under the job that is queried does not exist.
iot.job.NotTaskOwne You are not the owner of the device task.
iot.job.JobFileInSecure The content of the file that is uploaded when you create the job is invalid.

Make sure the file content is valid. Try again later.

Device group-related error codes

An error code that starts with iot.group indicates a device group-related error.

Error code Description
iot.group.NullGroupId You must specify a valid group ID.
iot.group.DeleteGroupFailed Failed to delete the group.

Check whether the request parameters are valid. Try again later.

iot.group.SubGroupNotNull A subgroup exists in the group.

You cannot delete a group that has a subgroup. To delete the group, you must first remove all subgroups from the group.

iot.group.InvalidGroupName The group name is invalid.

The name can contain letters, digits, and underscores (_). The name must be 4 to 30 characters in length.

iot.group.GroupNameExisted The group name already exists.
iot.group.QueryGroupInfoFailed Failed to query the details of the group.

Check whether the request parameters are valid. Try again later.

iot.group.NotExistedGroup The group does not exist.

Check the value of the GroupId parameter.

iot.group.QueryGroupCountFailed Failed to query the number of groups.

Check whether the request parameters are valid. Try again later.

iot.group.QueryGroupListFailed Failed to query groups.

Check whether the request parameters are valid. Try again later.

iot.group.BindGroupRelationFailed Failed to establish a relationship between the groups.

Check whether the request parameters are valid. Try again later.

iot.group.UpdateGroupFailed Failed to modify the information of the group.

Check whether the request parameters are valid. Try again later.

iot.group.QueryGroupTreeFailed Failed to query the structure of group relationships.

Check whether the request parameters are valid. Try again later.

iot.group.CreateGroupFailed Failed to create the group.

Check whether the request parameters are valid. Try again later.

iot.group.InvalidFormattedTagString The tag format is invalid.

Tags are in the JSON format. A tag consists of a tagKey and tagValue. You must specify a valid tagKey and tagValue for a tag. Separate multiple tags with commas (,). Separate multiple tags with commas (,), for example, [{"tagKey":"h1","tagValue":"rr"},{"tagKey":"7h","tagValue":"rr"}].

iot.group.TagCountExceedMax The number of tags exceeds the limit.

You can add a maximum of 100 tags to a group.

iot.group.GroupCountExceedMax The number of groups exceeds the limit.
  • A group can include a maximum of 100 subgroups.
  • You can add a device to a maximum of 10 groups.
iot.group.SetGroupTagFailed Failed to specify the group tag.

Check whether the request parameters are valid. Try again later.

iot.group.QueryGroupTagFailed Failed to query the information of the group tag.

Check whether the request parameters are valid. Try again later.

iot.group.LongGroupDescError The length of the group description exceeds the limit.

The description must be 1 to 100 characters in length.

iot.group.QueryGroupRelationFailed Failed to query the relationships of groups.

Check whether the request parameters are valid. Try again later.

iot.group.GroupLevelExceedingLimitError The number of group levels exceeds the limit.

Groups can be nested in only three layers. These layers include groups, subgroups, and child-subgroups.

Message-related error codes

In most cases, error codes that start with iot.messagebroker indicate message-related errors. These error codes are returned after you fail to call messaging-related, device shadow-related, and rules engine-related API operations.For more information about error codes that are returned by rules engine-related API operations, see the following section.

Error code Description
iot.messagebroker.CreateTopicRouteFailed Failed to create message routes between topics.

Check whether the request parameters are valid. Try again later.

iot.messagebroker.CreateTopicTemplateException Failed to create the topic category.

Check whether the request parameters are valid. Try again later.

iot.messagebroker.CreateTopicTemplateFailed Failed to create the topic category.

Check whether the request parameters are valid. Try again later.

iot.messagebroker.DeleteTopicTemplateException Failed to delete the topic category.

Check whether the request parameters are valid. Try again later.

iot.messagebroker.DeleteTopicTemplateFailed Failed to delete the topic category.

Check whether the request parameters are valid. Try again later.

iot.messagebroker.DestTopicNameArraySizeIsLarge The number of destination topics that you specify for the source topic exceeds the limit.

You can specify a maximum of 100 destination topics for a source topic.

iot.messagebroker.DeleteTopicRouteFailed Failed to delete the message route between the topics.

Check whether the request parameters are valid. Try again later.

iot.messagebroker.DesireInfoInShadowMessageIsNotJson The value of the desire parameter in the device shadow is not in the JSON format.
iot.messagebroker.DesireValueIsNullInShadowMessage The value of the desire parameter in the device shadow is empty.
iot.messagebroker.ElementKeyOrValueIsNullInDesire The desire parameter includes an empty property identifier or property value.
iot.messagebroker.ElementKeyOrValueIsNullInReport The report parameter includes an empty property identifier or property value.
iot.messagebroker.HALFCONN The connection fails because the device is in the half-open status.
iot.messagebroker.InvalidFormattedSrcTopicName The format of the source topic name is invalid.

You can view the topics of the device on the Topic List tab of the Device Details page in the IoT Platform console.

iot.messagebroker.InvalidFormattedTopicName The format of the topic is invalid.

You can view the topics of the device on the Topic List tab of the Device Details page in the IoT Platform console.

iot.messagebroker.InvalidFormattedTopicTemplateId The format of the topic category ID is invalid.

You can call the QueryProductTopic operation to view the TopicId parameter.

iot.messagebroker.InvalidTimeoutValue The specified timeout period is invalid.

For more information, see the API documentation.

iot.messagebroker.InvalidTopicTemplateOperationValue The permission that you specified for the topic category is invalid. Valid values:

SUB: subscribe.

PUB: publish.

ALL: publish and subscribe.

iot.messagebroker.InvalidVersionValueInShadowMessage The value of the version parameter in the device shadow is invalid.
iot.messagebroker.MethodValueIsNotUpdate You must set the method parameter to update in the device shadow.
iot.messagebroker.MessageContentIsNotBase64Encode The message content must be encoded in Base64.
iot.messagebroker.NoneElementInDesire No property exists in the desire parameter.
iot.messagebroker.NoneElementInReport No property exists in the report parameter.
iot.messagebroker.NoneElementDestTopicNameInArray No element exists in the destination topic list.
iot.messagebroker.NotFoundDesireInShadowMessage The desire parameter does not exist in the desire parameter of the device shadow.
iot.messagebroker.NotFoundMethodInShadowMessage The method parameter does not exist in the device shadow.
iot.messagebroker.NotFoundReportInShadowMessage The report parameter does not exist in the device shadow.
iot.messagebroker.NotFoundStateInShadowMessage The state parameter does not exist in the device shadow.
iot.messagebroker.NotFoundVersionOrNullVersionValue The version parameter does not exist or the value of the version parameter is empty.
iot.messagebroker.NotMatchedProductKeyWithSrcTopicOwner The ProductKey of the source topic does not belong to the current user.
iot.messagebroker.NullMessageContent You must specify valid message content.
iot.messagebroker.NullShadowMessage You must specify valid content of the device shadow.
iot.messagebroker.NullSrcTopicName You must specify a valid name for the source topic.
iot.messagebroker.NullTopicName You must specify a valid topic.
iot.messagebroker.NullTopicTemplateId You must specify a valid ID for the topic category.
iot.messagebroker.NullTopicTemplateOperation You must specify valid permissions on the topic category.
iot.messagebroker.OFFLINE The connection fails because the device is in the offline status.
iot.messagebroker.PublishMessageException Failed to send the message.

Check whether the request parameters are valid. Try again later.

iot.messagebroker.PublishMessageFailed Failed to send the message.

Check whether the request parameters are valid. Try again later.

iot.messagebroker.QueryDeviceShadowActionError Failed to query the device shadow.

Check whether the request parameters are valid. Try again later.

iot.messagebroker.QueryProductTopicListActionError Failed to query topic categories.

Check whether the request parameters are valid. Try again later.

iot.messageborker.QueryTopicReverseRouteTableListActionError Failed to query source topics.

Check whether the request parameters are valid. Try again later.

iot.messageborker.QueryTopicRouteTableListActionError Failed to query message routes.

Check whether the request parameters are valid. Try again later.

iot.messagebroker.QueryTopicTemplateActionError Failed to query the topic category.

Check whether the request parameters are valid. Try again later.

iot.messagebroker.QueryTopicTemplateException Failed to query the topic category.

Check whether the request parameters are valid. Try again later.

iot.messagebroker.RateLimit The connection fails due to throttling.

For more information, see Limits.

iot.messagebroker.ReportInShadowMessageIsNotJson The value of the report parameter in the state parameter of the device shadow is not in the JSON format.
iot.messagebroker.RrpcException Failed to send the message by using revert-RPC (RRPC).

Check whether the request parameters are valid. Try again later.

iot.messagebroker.RrpcFailed Failed to send the message by using RRPC.

Check whether the request parameters are valid. Try again later.

iot.messagebroker.ShadowMessageIsNotJson The device shadow is not in the JSON format.
iot.messagebroker.ShadowMessageLengthIsLarge The size of the device shadow exceeds the limit.

The maximum size of a device shadow is 16 KB.

iot.messagebroker.TIMEOUT The connection fails due to a timeout issue.
iot.messagebroker.TooManyElementInDesire The total number of properties that are included in the desire parameter exceeds the limit.

A device shadow in the JSON format can include a maximum of 128 properties.

iot.messagebroker.TooManyElementInReport The total number of properties that are included in the report parameter exceeds the limit.

A device shadow in the JSON format can include a maximum of 128 properties.

iot.messagebroker.TopicAlreadyFound The name of the topic category already exists in the product.
iot.messagebroker.TopicTemplateCountExceedMax The number of topic categories that belong to the product exceeds the limit.

You can define a maximum of 50 topic categories for a product.

iot.messagebroker.TopicTemplateIsNotFound The topic category does not exist.

You can call the QueryProductTopic operation to view the topic categories of a product.

iot.messagebroker.UpdateDeviceShadowMessageFailed Failed to update the device shadow.

Check whether the request parameters are valid. Try again later.

iot.messagebroker.UpdateTopicTemplateException An error occurred while updating the topic category.

Check whether the request parameters are valid. Try again later.

iot.messagebroker.UpdateTopicTemplateFailed Failed to update the topic category.

Check whether the request parameters are valid. Try again later.

iot.messagebroker.TooManyUserProperties The number of custom properties in MQTT 5.0 exceeds the upper limit, which is 20.
iot.messagebroker.UserPropertyListExceedMaxLength The total length of custom properties in MQTT 5.0 exceeds the upper limit, which is 8,192 characters.
iot.messagebroker.InvalidUserProperty The format of custom properties in MQTT 5.0 is invalid.

Check whether the request parameters are valid. Try again later.

iot.messagebroker.CorrelationDataNotBase64Encode The correlation data in MQTT 5.0 is not encoded in Base64.
iot.messagebroker.NullCorrelationData The correlation data in MQTT 5.0 is empty.
iot.messagebroker.CorrelationDataExceedMaxLength The length of correlation data in MQTT 5.0 exceeds the upper limit, which is 128 characters.
iot.messagebroker.InvalidMqttResponseTopic The response topic in MQTT 5.0 is invalid.

Rules engine-related error code

Error codes that start with iot.rule or iot.ruleng, and some error codes that start with iot.messagebroker indicate rules engine-related errors.

If an exception or error occurs, check whether the request parameters are valid and try again later.

Error code Description
iot.rule.CreateRuleException Failed to create the rule.

Check whether the request parameters are valid. Try again later.

iot.rule.DeleteRuleFailed Failed to delete the rule.

Check whether the request parameters are valid. Try again later.

iot.rule.IncorrentRuleActionId The ID of rule action.

You can call the ListRuleActions operation to view the ID of the rule action.

iot.rule.IncorrentRuleActionType The type of the rule action is invalid.

For more information about supported types, see CreateRuleAction.

iot.rule.IncorrentRuleId The rule ID is invalid.
iot.rule.NullForwardDestForRule You must specify a valid data forwarding destination.

For more information about how to set the Configuration parameter, see CreateRuleAction.

iot.rule.NullSqlForRule You must specify a valid SQL statement for the rule.
iot.rule.NotFoundRule The rule does not exist.

You must specify a valid rule ID. You can call the ListRule operation to view the IDs of all rules that belong to the account.

iot.rule.NotFoundRuleAction The rule action does not exist.

You must specify a valid ID for the rule action. You can call the ListRuleActions operation to view all the action IDs of a rule.

iot.rule.ParseRuleActionConfigError Failed to parse the settings of the rule action.

Check whether the request parameters are valid. Try again later.

iot.rule.QueryRuleActionListError Failed to query rule actions.

Check whether the request parameters are valid. Try again later.

iot.rule.QueryRulePageActionError Failed to query rules by page.

Check whether the request parameters are valid. Try again later.

iot.rule.RuleActionIsAlreadyCreated The specified rule action already exists.
iot.rule.RuleCountExceedMax The total number of rules exceeds the limit.

You can use an Alibaba Cloud account to create a maximum of 1,000 rules.

iot.rule.RuleNameIsAlreadyExisted The specified rule name already exists.
iot.rule.StartRuleFailed Failed to enable the rule.

Check whether the request parameters are valid. Try again later.

iot.rule.StopRuleFailed Failed to disable the rule.

Check whether the request parameters are valid. Try again later.

iot.rule.TooManyRuleAction The number of rule actions exceeds the limit.

You can specify a maximum of 10 data forwarding actions in a rule.

iot.rule.UpdateRuleFailed Failed to update the rule.

Check whether the request parameters are valid. Try again later.

iot.ruleng.CreateRuleActionFailed Failed to create the rule action.

Check whether the request parameters are valid. Try again later.

iot.ruleng.DeleteRuleActionFailed Failed to delete the rule action.

Check whether the request parameters are valid. Try again later.

iot.ruleng.IncorrectActionTypeForError The data forwarding rule is unavailable for the cloud service.
iot.ruleng.IncorrectRegionName Data of a mainland China region can be forwarded to other mainland China regions. Data of an overseas region can be forwarded only within the region.
iot.ruleng.IncorrectSysTopic The basic communication topic or TSL communication topic is invalid.

For more information about how to specify a valid topic, see CreateRule.

iot.ruleng.IncorrectType The topic type of the rule is invalid.

Valid values of the TopicType parameter:

  • 0: indicates a basic communication topic or TSL communication topic.
  • 1: indicates a custom topic.
  • 2: indicates a device status topic.
iot.ruleng.InvalidEndpoint The endpoint is invalid.
iot.ruleng.InvalidFormattedTagInConfiguration The length of the tag in the Configuration parameter exceeds the limit.
iot.ruleng.InvalidRamRole The RAM role is invalid.

To view the details of the RAM role, log on to the RAM console.

iot.ruleng.ListInstancesError Failed to query instances.
iot.ruleng.OnlyAllowOneErrorAction You can specify only one destination to receive error messages for a rule.
iot.ruleng.QueryInstanceError Failed to query the details of the instance.
iot.ruleng.QueryRuleActionFailed Failed to query the rule action.

Check whether the request parameters are valid. Try again later.

iot.ruleng.RegionNotSupportRuleForwardCloudProduct The region does not support data forwarding rules for this cloud service.

For more information about cloud services that are supported by each region, see Regions and zones.

iot.ruleng.RuleActionConfigurationIsNotJson The configurations of the rule action are not in the JSON format.

The value of the Configuration parameter must be in the JSON format. For more information, see CreateRuleAction.

iot.ruleng.RuleAlreadyIsStarted The rule is in the running state.
iot.ruleng.NullRamRoleArn You must specify the roleArn parameter.
iot.ruleng.NullRamRoleName You must specify the roleName parameter.
iot.ruleng.NullRuleActionConfig You must specify the Configuration parameter for the rule action.
iot.ruleng.NullRuleActionType You must specify the Type parameter for the rule action.
iot.ruleng.UpdateRuleActionFailed Failed to update the rule action.
iot.messagebroker.IncorrectRuleSql The SQL statement of the rule is invalid.

For more information about how to write a valid SQL statement, see CreateRule.

iot.messagebroker.QueryRuleConfigActionException Failed to query the configurations of the rule.

Check whether the request parameters are valid. Try again later.

The following table describes the error codes that are returned after you fail to set a data forwarding destination.

Table 1. Error codes returned when you forward data to another topic
Error code Description
iot.messagebroker.InvalidFormattedTopicName The format of the topic is invalid.

You can view the valid format of topics on the Topic List tab of the Device Details page in the IoT Platform console.

iot.prod.NotExistedProduct The specified product does not exist.

You must specify a valid ProductKey. Make sure that the product belongs to the Alibaba Cloud account.

iot.common.QueryProductActionError Failed to query the product.

Check whether the request parameters are valid. Try again later.

iot.ruleng.IncorrectSysTopic The basic communication topic or TSL communication topic is invalid.

For more information about how to specify a valid topic, see CreateRule.

iot.messagebroker.NullTopicName You must specify a valid topic name.
Table 2. Error codes returned when you forward data to another Tablestore
Error code Description
iot.ruleng.NullOtsInstanceName You must specify a valid name for the Tablestore instance.
iot.ruleng.NullTableNameInOtsInstance You must specify a valid name for the table of the Tablestore instance.
iot.ruleng.NullPrimaryKeyInOtsTable You must specify a valid primary key for the Tablestore table.
iot.ruleng.NullPrimaryKeyNameInOts You must specify a valid name for the primary key.
iot.ruleng.NullPrimaryKeyTypeInOts You must specify a valid type for the primary key.
iot.ruleng.NullPrimaryKeyValueInOts You must specify a valid value for the primary key.
iot.ruleng.IncorrectPrimaryKeyValueInOtsTable The value of the primary key for the Tablestore table is invalid.

You can view the primary key that you specified when you created the table in the Tablestore console.

Table 3. Error codes returned when you forward data to MNS
Error code Description
iot.ruleng.NullTopicNameInMns You must specify a valid Message Service (MNS) topic.
iot.ruleng.NotFoundTopicInMns The MNS topic does not exist.

Check the name of the MNS topic.

iot.ruleng.QueryMnsTopicListActionError Failed to query MNS topics.

Check whether the request parameters are valid. Try again later.

Table 4. Error codes returned when you forward data to Function Compute
Error code Description
iot.ruleng.NullServiceNameInFc The name of the Function Compute service.
iot.ruleng.NullFunctionNameInFc You must specify a valid name for the function.
iot.ruleng.NotFoundServiceInFc The Function Compute service does not exist.

Check the service name in Function Compute.

Table 5. Error codes returned when you forward data to Message Queue
Error code Description
iot.messagebroker.NullTopicName You must specify a valid Message Queue topic to receive messages.
iot.ruleng.InstanceNotFound The instance ID does not exist.
iot.ruleng.ListMqTopicsError Failed to query the Message Queue topic.
iot.ruleng.TopicIsNotUnique The specified topic already exists.
iot.ruleng.TopicNotFound The specified topic does not exist.
Table 6. Error codes returned when you forward data to TSDB
Error code Description
iot.ruleng.InvalidFormattedTagNameInHitsdb The format of the Time Series Database (TSDB) tag is invalid.
iot.ruleng.InvalidFormattedTimestampInHitsdb The format of the timestamp is invalid.
iot.ruleng.NotBindCustomerVpc No VPC is attached to the instance.
iot.ruleng.NullInstanceNameInHitsdb You must specify a valid name for the TSDB instance.
iot.ruleng.NullTagNameInHitsdb You must specify a valid name for the TSDB tag.
iot.ruleng.NullTagValueInHitsdb You must specify a valid value for the TSDB tag.
iot.ruleng.NullTimestampInHitsdb You must specify a valid tag for the timestamp.
iot.ruleng.OnlySameRegionHitsdbSupport Data can be forwarded to TSDB instances that reside only in the same region.
Table 7. Error codes returned when you forward data to ApsaraDB RDS
Error code Description
iot.ruleng.GrantVpcInstanceFailed Failed to authorize the VPC.
iot.ruleng.InvalidFormattedConnectionIp The format of the endpoint is invalid.
iot.ruleng.InvalidFormattedConnectionPort The format of the port is invalid.
iot.ruleng.InvalidFormattedRdsDatabaseName The name of the ApsaraDB RDS database is invalid.
iot.ruleng.InvalidFormattedRdsTableName The name of the ApsaraDB RDS table is invalid.
iot.ruleng.ListRdsAccountError Failed to query the account of the ApsaraDB RDS database.
iot.ruleng.NotFoundTable The ApsaraDB RDS table does not exist.
iot.ruleng.NotFoundVpcInstance The VPC does not exist.
iot.ruleng.NotFoundVpcInstanceConnection The VPC endpoint of ApsaraDB RDS instance does not exist.

Make sure that you specify a valid VPC and vSwitch for the ApsaraDB RDS instance.

iot.ruleng.NotMatchedField The specified field does not match the table of the ApsaraDB RDS database.
iot.ruleng.NullConnectionIp You must specify a valid endpoint.
iot.ruleng.NullConnectionPort You must specify a valid port.
iot.ruleng.NullRdsInstanceName You must specify a valid name for the ApsaraDB RDS instance.
iot.ruleng.NullRdsDatabaseName You must specify a valid name for the ApsaraDB RDS database.
iot.ruleng.NullRdsAccountName You must specify a valid name for the account.
iot.ruleng.NullRdsPassword You must specify a valid password for the account.
iot.ruleng.NullRdsTableName You must specify a valid name for the ApsaraDB RDS table.
iot.ruleng.NullRdsFieldName You must specify a valid name for the ApsaraDB RDS field.
iot.ruleng.NullRdsFieldValue You must specify a valid value for the ApsaraDB RDS field.
iot.ruleng.NullVpcInstance You must specify a valid VPC.
iot.ruleng.OnlySupportSameRegionRds Data can be forwarded to ApsaraDB RDS instances that reside only in the same region.
iot.ruleng.QueryServerMappingInfoError Failed to query the mapping information of the VPC.

Server-side subscription-related error codes

An error code that starts with iot.consumer indicates a server-side subscription-related error.

Error code Description
iot.consumer.group.CallbackTypeEmpty You cannot set the CallbackType parameter of all consumer groups to false.
iot.consumer.group.ChangeDefaultConsumerGroupNotAllowed You cannot change the default consumer group.
iot.consumer.group.ConsumerGroupExceedsLimit The number of subscribed consumer groups exceeds the limit.
iot.consumer.group.ConsumerGroupExceedLimit The number of consumer groups exceeds the limit.
iot.consumer.group.ConsumerGroupNameExisted The name of the consumer group already exists.
iot.consumer.group.ConsumerGroupNotExist The consumer group does not exist.
iot.consumer.group.CreateConsumerGroupFailed Failed to add the consumer group.
iot.consumer.group.DeleteConsumerGroupFailed Failed to delete the consumer group.
iot.consumer.group.InvalidConsumerGroupName The name of the consumer group is invalid.
iot.consumer.group.InvalidConsumerGroupId The ID of the consumer group is invalid.
iot.consumer.group.InvalidConsumerGroup The consumer group is invalid.
iot.consumer.group.InvalidGroupBy The groupby parameter is invalid.
iot.consumer.group.InvalidSubscribeType The subscription type is invalid.
iot.consumer.group.MnsCheckFailed Failed to authenticate MNS.
iot.consumer.group.MnsNotSupport A product that has a transferred device does not support an MNS server-side subscription.
iot.consumer.group.ProductKeyExceedsLimit The number of services to which the consumer group subscribes exceeds the limit.
iot.consumer.group.QueryConsumerGroupStatusFailed Failed to query the status of the consumer group.
iot.consumer.group.UpdateConsumerGroupFailed Failed to update the consumer group.

Over-the-air (OTA) update-related error codes

An error code that starts with iot.firmware or iot.ota indicates an OTA-related error.

Error code Description
iot.firmware.AlreadyExistedFirmwareName The firmware name already exists.
iot.firmware.AlreadyExistedFirmwareVersion The firmware version already exists in the product.
iot.firmware.BadlyFormattedGrayPercent The format of the update percentage is invalid.
iot.firmware.BatchCancelDeviceUpgradeFailed Failed to cancel the device update.
iot.firmware.BlankFirmwareName The firmware name can contain only spaces.
iot.firmware.CancelOTAStrategyByJobFailed Failed to cancel the update policy that is related to the dynamic update batch.
iot.firmware.CancelOTATaskByJobFailed Failed to cancel the device update of the update batch.
iot.firmware.CancelOptionIsMandatory You must specify the required parameters.
iot.firmware.CancelUpgradeTaskFailed Failed to cancel the update batch.
iot.firmware.CreateFirmwareFailure Failed to create the firmware.
iot.firmware.CreateOTAUpgradeJobFailure Failed to create the batch update task.
iot.firmware.DeleteFirmwareFailure Failed to delete the firmware.
iot.firmware.DeviceUpgradeRecordNotFound The device is not being updated.
iot.firmware.DeviceWithDestinationVersionInArray The device firmware version is the same as the destination firmware version.
iot.firmware.DynamicGrayNotSupported You cannot perform a dynamic canary update on the device.
iot.firmware.DynamicSpecificNotSupported You cannot perform a dynamic specific update on the device.
iot.firmware.EmptyFirmwareFile The length of the firmware file is 0.
iot.firmware.FireTimeMustLargeThanCurrentTime The scheduled update time must be later than the current time.
iot.firmware.FireTimeTooLate The scheduled update time must be a maximum of seven days later than the current time.
iot.firmware.FireTimeTooShort The scheduled update time must be a minimum of 5 minutes later than the current time.
iot.firmware.FirmwareAndProductKeyMismatch The firmware does not match the ProductKey.
iot.firmware.FirmwareCountExceedMax The number of firmware files exceeds 500.
iot.firmware.FirmwareDescriptionExceedMaxLength The length of the firmware description exceeds 100 characters.
iot.firmware.FirmwareNotFound The firmware does not exist.
iot.firmware.FirmwareNotVerified You cannot start an update because the firmware is not verified.
iot.firmware.GenerateOTAUploadURLFailure Failed to generate an upload URL for the update package.
iot.firmware.GrayAppliesToStaticOnly To perform phased updates, you can configure only static update batches.
iot.firmware.InProgressDynamicJobExisted A running dynamic batch already exists.
iot.firmware.InProgressVerifyJobExisted An unfinished firmware verification task exists.
iot.firmware.IncorrectDeviceUpgradeJobStatus The status of the device update to be canceled is invalid.
iot.firmware.IncorrectFormattedFirmwareName The format of the firmware name is invalid.
iot.firmware.IncorrectFormattedFirmwareVersion The format of the firmware version is invalid.
iot.firmware.IncorrectFormattedModuleName The format of the module name is invalid.
iot.firmware.IncorrectFormattedSrcVersion The format of the source version is invalid.
iot.firmware.InvalidDynamicMode The mode of the dynamic update is invalid.
iot.firmware.InvalidFirmware The firmware is invalid.
iot.firmware.InvalidFirmwareId The firmware ID is invalid.
iot.firmware.InvalidFirmwareSign The firmware signature is invalid.
iot.firmware.InvalidFirmwareSignMethod The signature method of the firmware is invalid.
iot.firmware.InvalidFirmwareSize The firmware size is invalid.
iot.firmware.InvalidFirmwareType The firmware type is invalid.
iot.firmware.InvalidFirmwareUrl The URL of the firmware file is invalid.
iot.firmware.InvalidGenerateOTAUploadURLParam Failed to generate a URL for the update package because the specified parameters are invalid.
iot.firmware.InvalidGrayPercent The update percentage of the phased update is invalid.
iot.firmware.InvalidMaximumPerMinute The push rate is invalid.
iot.firmware.InvalidOTAJobId The batch ID is invalid.
iot.firmware.InvalidOTATaskId The ID of the update record is invalid.
iot.firmware.InvalidOverwriteMode The write mode is invalid.
iot.firmware.InvalidProductKey The ProductKey is invalid.
iot.firmware.InvalidRetryCount The retry count is invalid.
iot.firmware.InvalidRetryInterval The retry interval is invalid.
iot.firmware.InvalidSelectionType The specified type is invalid.
iot.firmware.InvalidTargetSelection The specified value is invalid.
iot.firmware.InvalidTaskStatus The status of the update record is invalid.
iot.firmware.InvalidTimeoutSetting The timeout period is invalid.
iot.firmware.JobAlreadyCanceled The batch is canceled.
iot.firmware.JobHasNoScheduleTime The batch is not a scheduled batch.
iot.firmware.ListOTAFirmwareFailed Failed to query firmware files.
iot.firmware.ListOTAJobFailed Failed to query update batches.
iot.firmware.ListOTAModuleFailed Failed to query modules.
iot.firmware.ListOTAModuleNameByProductFailed Failed to query the modules of the product.
iot.firmware.ListOTATaskByDeviceFailed Failed to query the update records of the device.
iot.firmware.ListOTATaskByJobFailed Failed to query the update records of the batch.
iot.firmware.MalformedFirmwareUrl The URL of the firmware file is invalid.
iot.firmware.ModuleCountLimitExceeded The number of modules exceeds the limit.
iot.firmware.ModuleNameReserved The module name is reserved. You must specify a valid module name.
iot.firmware.MoreThanOneSrcVersion You can specify only one source firmware version for a differential batch update.
iot.firmware.NoDeviceCanUpgrade No device can be updated.
iot.firmware.NonVersionedDeviceInArray A device in the device group does not report the firmware version or reports an invalid firmware version.
iot.firmware.NotDynamicJob You can only cancel the dynamic update policy that is related to a dynamic update task.
iot.firmware.NullFirmwareId You must specify a valid firmware ID.
iot.firmware.NullFirmwareName You must specify a valid firmware name.
iot.firmware.NullFirmwareUrl You must specify a valid URL for the firmware file.
iot.firmware.NullFirmwareVersion You must specify a valid firmware version.
iot.firmware.NullGrayPercent You must specify a valid update percentage for the phased update.
iot.firmware.NullOTAJobId You must specify a valid batch ID.
iot.firmware.NullSelectionType You must specify a valid type.
iot.firmware.NullSrcVersions You must specify valid firmware versions to be updated.
iot.firmware.NullTargetDeviceNames You must specify a valid device range for the static specific update.
iot.firmware.NullTargetSelection You must specify a valid value.
iot.firmware.NullTaskId You must specify a valid batch ID.
iot.firmware.ParameterSizeExceedMax The number of parameters in the list exceeds the limit.
iot.firmware.ReUpgradeFailedFirmwareNotVerified You cannot start an update because the firmware is not verified.
iot.firmware.ScheduleFinishTimeEarlierThanStartTime The end time of the scheduled update must be later than the start time.
iot.firmware.ScheduleFinishTimeTooEarly The end time of the scheduled update must be a minimum of 60 minutes later than the start time.
iot.firmware.ScheduleFinishTimeTooLate The end time of the scheduled update must be a maximum of 30 days later than the start time.
iot.firmware.ScheduleFinishTimeWithoutStartTime You must specify the start time and end time of a scheduled update at the same time.
iot.firmware.SrcDestVersionMatched The source firmware version is the same as the destination firmware version.
iot.firmware.SrcVersionIsMandatory You must specify a source firmware version for the differential update package.
iot.firmware.SrcVersionMismatch The present version of the device is different from the firmware version to be updated.
iot.firmware.SrcVersionsNotAllowed You cannot specify multiple source firmware versions for the update package.
iot.firmware.SrcVersionsSizeExceedMax The number of source firmware versions exceeds the limit.
iot.firmware.SystemBusy The system is busy. Try again later.
iot.firmware.SystemBusyForScheduleTime The system is busy. You must specify another time to perform the scheduled update.
iot.firmware.TargetDeviceNamesNotAllowed You cannot perform a static specific update on the device.
iot.firmware.TooManyDeviceUpgrade The number of devices that send update requests exceeds the limit. Try again later.
iot.firmware.TooManyDeviceUpgradeForScheduleTime The system cannot process the number of devices that send update requests at the scheduled update time. You must specify another time to perform the schedule update.
iot.firmware.UpgradeSrcVersionMismatch The source version of the update is different from the source version of the differential firmware.
iot.firmware.VerifyFirmwareFailed Failed to verify the firmware.
iot.ota.tag.KeyDuplicated Duplicate keys exist in the tag list.
iot.ota.CreateOTAModuleFailure Failed to create the OTA module.
iot.ota.CreateOTAModuleParamError Failed to create the OTA module.
iot.ota.CreateOTAModuleExceedLimit The number of OTA modules for the product exceeds the limit.
iot.ota.CreateOTAModuleNameExist The name of the OTA module that you want to create already exists.
iot.ota.UpdateOTAModuleFailure Failed to update the OTA module.
iot.ota.UpdateOTAModuleParamError Failed to update the OTA module.
iot.ota.DeleteOTAModuleParamError Failed to delete the OTA module.
iot.ota.DeleteOTAModuleFailure Failed to delete the OTA module.
iot.ota.DeleteOTAModulePackageExist You cannot delete the OTA module to which an update package is attached.
iot.ota.DeleteOtaDefaultModule You cannot delete the default module.
iot.ota.ListOTAModuleParamError Failed to query OTA modules.
iot.ota.ListOTAModuleFailure Failed to query OTA modules.
iot.ota.OTAModuleNotExist Failed to delete or update the OTA module: The OTA module does not exist in the product.