@ -165,7 +165,7 @@ public abstract class BaseController {
"See the 'Model' tab of the Response Class for more details. ";
publicstaticfinalStringDASHBOARD_ID_PARAM_DESCRIPTION="A string value representing the device id. For example, '784f394c-42b6-435a-983c-b7beff2784f9'";
publicstaticfinalStringDEVICE_ID_PARAM_DESCRIPTION="A string value representing the device id. For example, '784f394c-42b6-435a-983c-b7beff2784f9'";
publicstaticfinalStringDEVICE_PROFILE_ID_DESCRIPTION="A string value representing the device profile id. For example, '784f394c-42b6-435a-983c-b7beff2784f9'";
publicstaticfinalStringDEVICE_PROFILE_ID_PARAM_DESCRIPTION="A string value representing the device profile id. For example, '784f394c-42b6-435a-983c-b7beff2784f9'";
publicstaticfinalStringTENANT_ID_PARAM_DESCRIPTION="A string value representing the tenant id. For example, '784f394c-42b6-435a-983c-b7beff2784f9'";
publicstaticfinalStringEDGE_ID_PARAM_DESCRIPTION="A string value representing the edge id. For example, '784f394c-42b6-435a-983c-b7beff2784f9'";
publicstaticfinalStringCUSTOMER_ID_PARAM_DESCRIPTION="A string value representing the customer id. For example, '784f394c-42b6-435a-983c-b7beff2784f9'";
@ -176,6 +176,8 @@ public abstract class BaseController {
publicstaticfinalStringENTITY_TYPE_PARAM_DESCRIPTION="A string value representing the entity type. For example, 'DEVICE'";
publicstaticfinalStringRULE_CHAIN_ID_PARAM_DESCRIPTION="A string value representing the rule chain id. For example, '784f394c-42b6-435a-983c-b7beff2784f9'";
protectedstaticfinalStringTENANT_AUTHORITY_PARAGRAPH="\n\nAvailable for users with 'TENANT_ADMIN' authority.";
protectedstaticfinalStringTENANT_AND_USER_AUTHORITY_PARAGRAPH="\n\nAvailable for users with 'TENANT_ADMIN' or 'CUSTOMER_USER' authority.";
protectedstaticfinalStringPAGE_SIZE_DESCRIPTION="Maximum amount of entities in a one page";
protectedstaticfinalStringPAGE_NUMBER_DESCRIPTION="Sequence number of page starting from 0";
@ -186,6 +188,7 @@ public abstract class BaseController {
protectedstaticfinalStringASSET_TEXT_SEARCH_DESCRIPTION="The case insensitive 'startsWith' filter based on the asset name.";
protectedstaticfinalStringDASHBOARD_TEXT_SEARCH_DESCRIPTION="The case insensitive 'startsWith' filter based on the dashboard title.";
protectedstaticfinalStringDEVICE_TEXT_SEARCH_DESCRIPTION="The case insensitive 'startsWith' filter based on the device name.";
protectedstaticfinalStringDEVICE_PROFILE_TEXT_SEARCH_DESCRIPTION="The case insensitive 'startsWith' filter based on the device profile name.";
protectedstaticfinalStringCUSTOMER_TEXT_SEARCH_DESCRIPTION="The case insensitive 'startsWith' filter based on the customer title.";
protectedstaticfinalStringEDGE_TEXT_SEARCH_DESCRIPTION="The case insensitive 'startsWith' filter based on the edge name.";
protectedstaticfinalStringEVENT_TEXT_SEARCH_DESCRIPTION="The value is not used in searching.";
@ -194,6 +197,7 @@ public abstract class BaseController {
protectedstaticfinalStringDEVICE_INFO_DESCRIPTION="Device Info is an extension of the default Device object that contains information about the assigned customer name and device profile name. ";
protectedstaticfinalStringASSET_INFO_DESCRIPTION="Asset Info is an extension of the default Asset object that contains information about the assigned customer name. ";
protectedstaticfinalStringALARM_INFO_DESCRIPTION="Alarm Info is an extension of the default Alarm object that also contains name of the alarm originator.";
protectedstaticfinalStringRELATION_INFO_DESCRIPTION="Relation Info is an extension of the default Relation object that contains information about the 'from' and 'to' entity names. ";
protectedstaticfinalStringEDGE_INFO_DESCRIPTION="Edge Info is an extension of the default Edge object that contains information about the assigned customer name. ";
protectedstaticfinalStringDEVICE_PROFILE_INFO_DESCRIPTION="Device Profile Info is a lightweight object that includes main information about Device Profile excluding the heavyweight configuration object. ";
protectedstaticfinalStringDEVICE_NAME_DESCRIPTION="A string value representing the Device name.";
protectedstaticfinalStringASSET_NAME_DESCRIPTION="A string value representing the Asset name.";
notes="Get a set of unique time-series keys used by devices that belong to specified profile. "+
"If profile is not set returns a list of unique keys among all profiles. "+
"The call is used for auto-complete in the UI forms. "+
"The implementation limits the number of devices that participate in search to 100 as a trade of between accurate results and time-consuming queries. "+
notes="Get a set of unique attribute keys used by devices that belong to specified profile. "+
"If profile is not set returns a list of unique keys among all profiles. "+
"The call is used for auto-complete in the UI forms. "+
"The implementation limits the number of devices that participate in search to 100 as a trade of between accurate results and time-consuming queries. "+
@ -135,10 +169,20 @@ public class DeviceProfileController extends BaseController {
}
}
@ApiOperation(value="Create Or Update Device Profile (saveDevice)",
notes="Create or update the Device Profile. When creating device profile, platform generates device profile id as [time-based UUID](https://en.wikipedia.org/wiki/Universally_unique_identifier#Version_1_(date-time_and_MAC_address). "+
"The newly created device profile id will be present in the response. "+
"Specify existing device profile id to update the device profile. "+
"Referencing non-existing device profile Id will cause 'Not Found' error. "+
"\n\nDevice profile name is unique in the scope of tenant. Only one 'default' device profile may exist in scope of tenant."+TENANT_AUTHORITY_PARAGRAPH,
@ApiModelProperty(position=12,value="Either URL or Base64 data of the icon. Used in the mobile application to visualize set of device profiles in the grid view. ")
privateStringimage;
privatebooleanisDefault;
@ApiModelProperty(position=16,value="Type of the profile. Always 'DEFAULT' for now. Reserved for future use.")
privateDeviceProfileTypetype;
@ApiModelProperty(position=14,value="Type of the transport used to connect the device. Default transport supports HTTP, CoAP and MQTT.")
@ApiModelProperty(position=7,value="Reference to the rule chain. "+
"If present, the specified rule chain will be used to process all messages related to device, including telemetry, attribute updates, etc. "+
"Otherwise, the root rule chain will be used to process those messages.")
privateRuleChainIddefaultRuleChainId;
@ApiModelProperty(position=6,value="Reference to the dashboard. Used in the mobile application to open the default dashboard when user navigates to device details.")
privateDashboardIddefaultDashboardId;
@NoXss
@ApiModelProperty(position=8,value="Reference to the rule engine queue. "+
"If present, the specified queue will be used to store all unprocessed messages related to device, including telemetry, attribute updates, etc. "+
"Otherwise, the 'Main' queue will be used to store those messages.")
privateStringdefaultQueueName;
@Valid
privatetransientDeviceProfileDataprofileData;
@JsonIgnore
privatebyte[]profileDataBytes;
@NoXss
@ApiModelProperty(position=13,value="Unique provisioning key used by 'Device Provisioning' feature.")
privateStringprovisionDeviceKey;
@ApiModelProperty(position=9,value="Reference to the firmware OTA package. If present, the specified package will be used as default device firmware. ")
privateOtaPackageIdfirmwareId;
@ApiModelProperty(position=10,value="Reference to the software OTA package. If present, the specified package will be used as default device software. ")
privateOtaPackageIdsoftwareId;
publicDeviceProfile(){
@ -88,16 +107,32 @@ public class DeviceProfile extends SearchTextBased<DeviceProfileId> implements H
this.softwareId=deviceProfile.getSoftwareId();
}
@ApiModelProperty(position=1,value="JSON object with the device profile Id. "+
"Specify this field to update the device profile. "+
"Referencing non-existing device profile Id will cause error. "+
"Omit this field to create new device profile.")
@Override
publicDeviceProfileIdgetId(){
returnsuper.getId();
}
@ApiModelProperty(position=2,value="Timestamp of the profile creation, in milliseconds",example="1609459200000",readOnly=true)
@Override
publiclonggetCreatedTime(){
returnsuper.getCreatedTime();
}
@Override
publicStringgetSearchText(){
returngetName();
}
@Override
publicStringgetName(){
returnname;
@ApiModelProperty(position=5,value="Used to mark the default profile. Default profile is used when the device profile is not specified during device creation.")
publicbooleanisDefault(){
returnisDefault;
}
@ApiModelProperty(position=16,value="Complex JSON object that includes addition device profile configuration (transport, alarm rules, etc).")