lwm2m.profile.create

The lwm2m.profile.create command is used to create a LWM2M profile.

TR50 Request

{
  "1": {
    "command": "lwm2m.profile.create",
    "params": {
      "global": true,
      "name": "Example profile",
      "desc": "An example LWM2M profile",
      "compositeReads": true,
      "compositeObservations": true,
      "readOnRegister": [
        {
          "objId": 3,
          "instId": 0,
          "resId": 2
        },
        ...
      ],
      "readOnUpdate": [
        {
          "objId": 3,
          "instId": 0,
          "resId": 2
        },
        ...
      ],
      "observations": [
        {
          "objId": 3,
          "instId": 0,
          "resId": 2
        },
        ...
      ],
      "bindings": [
        {
          "objId": 3202,
          "instId": 0,
          "resId": 5600,
          "type": "property",
          "key": "analog0"
        },
        ...
      ],
      "bootstrapServers": [
        {
          "type": "self",
          "securityMode": "dtls-psk",
          "shortId": 99,
          "lifetime": 60,
          "notificationStoring": true,
          "binding": "UQ"
        },
        ...
      ],
      "firmware": {
	 "checkOnUpdate": false,
	 "instId": 0,
	 "noDns": false,
	 "objId": 5,
	 "protocol": "http",
	 "resId": 7,
	 "setObsAttrs": false
      }
    }
  }
}   

Request Parameters

Name Type Required Description
global Bool True - The profile is accessible across any Orgs.

False - The profile is accessible to the current Org.

By default it is set to false and can only be set to true by a Super Admin.

Needs SuperAdmin permission level.

name String Yes The name of the profile.
desc String A description of the profile.
compositeReads Boolean   Set to true to allow lwm2m 1.1 version for composite reads.
compositeObservations Boolean   Set to true to allow lwm2m 1.1 version for composite observations.
readOnRegister Array An array of Read objects.
readOnUpdate Array An array of Read objects.
observations Array An array of Observation objects.
bindings Array An array of Binding objects.

Few Resources and Objects cannot be bound to a property, see Binding Limitations.

bootstrapServers Array An array of Bootstrap Server objects.
bootstrapAcls Array An array of Bootstrap ACL objects
firmware Object A firmware object.
locationDonationEnabled Boolean  

This flag allows the GPS location reported by the module to be donated to cellular location decode provider. By default it is set to false and can only be set to true by a Super Admin.

Needs SuperAdmin permission level.

priority Boolean   Set to true if the read on this path should be executed before others.
coapAckTimeout Integer   The number of seconds to wait for an CoAP response. Defaults to 4 if not set.
coapMaxRetransmit Integer   The number of CoAP retransmissions to attempt. Defaults to 5 if not set.

Read Object

Name Type Required Description
objId Integer Yes The object ID.
instId Integer The instance ID.
resId Integer The resource ID.
encoding String A CoAP media type.

Observation Object

Name Type Required Description
objId Integer Yes The object ID.
instId Integer The instance ID.
resId Integer The resource ID.
pmin Integer The minimum period.
pmax Integer The maximum period.
gt Float The value must be greater than the specified value.
lt Float The value must be less than the specified value.
st Float The step value.
encoding String A CoAP media type.
priority Boolean   Set to true if the observation on this path should be executed before others.

Binding Object

Name Type Required Description
objId Integer Yes The object ID.
instId Integer Yes The instance ID.
resId Integer Yes The resource ID.
type String Yes The binding type.
key String Yes The binding key.
encoding String   The value selected in this field defines how binary (opaque) data will be stored when the Type is set to attribute. The options are: empty or unspecified - Store as an array representation of bytes; base64 - Convert the binary data to a base64 encoded string; hex - Convert the binary data to a hexadecimal encoded string; string - Convert the binary data to a string.

Bootstrap Server Object

Name Type Required Description
id String   Will be empty when creating new bootstrap server records or updating an existing profile with a new bootstrap server records, but is required when modifying an existing bootstrap server records. Will be returned with lwm2m.profile.find & lwm2m.profile.list commands.
type String Yes The bootstrap server type. Valid options are: 'self' and 'custom'.
url String   The URL. (Mandatory when type is other than "self")
securityMode String Yes The security mode. Valid options are: 'no-sec' and 'dtls-psk'.
identity String The identity.
psk String The pre-shared key.
shortId Integer The short ID.
lifetime Integer Yes The server lifetime. Must be greater than zero.
defaultMinPeriod Integer The default minimum period. If both period options are specified, defaultMinPeriod must be less than the defaultMaxPeriod.
defaultMaxPeriod Integer The default maximum period. If both period options are specified, defaultMaxPeriodmust be greater than the defaultMinPeriod.
disableTimeout Integer   The number of seconds to assign to the bootstrap server disable timeout field (object 1, resource 5). Defaults to 86400 seconds (1 day), if not specified.
notificationStoring Boolean Store notifications. Defaults to false.
binding String Yes The binding to use. Valid options are: 'U' and 'UQ'.
keyShareEndpoint String   The URL of the endpoint of the 3rd party DM server. Can be defined during a lwm2m.profile.create or lwm2m.profile.update API command.
keyShareClientCert String   This is a read only field. This field will be returned by a lwm2m.profile.find API command if the keyShareEndpoint has been previously defined. It will contain the certificate to use with the 3rd party DM server.
keySharedCaId String   This is a read only field. This field will be returned by a lwm2m.profile.find API command if the keyShareEndpoint has been previously defined. It will contain the CA Id to use with the 3rd party DM server.

Bootstrap ACL Object

Name Type Required Description
ownerShortId Integer Yes The owner's short ID.
objId Integer The object ID.
instId Integer The instance ID.
rules Array An array of Bootstrap ACL Rule objects.

Boostrap ACL Rule Object

Name Type Required Description
shortId Integer Yes The short server ID.
read Boolean Read permission. Defaults to false.
write Boolean Write permission. Defaults to false.
exec Boolean Execute permission. Defaults to false.
create Boolean Create permission. Defaults to false.
delete Boolean Delete permission. Defaults to false.

Firmware Object

Name Type Required Description
objId Integer Yes The object ID.
instId Integer Yes The instance ID.
resId Integer Yes The resource ID.
encoding String The encoding.
noDns Boolean If no DNS. Defaults to false (yes DNS).
protocol String The protocol. Valid options are 'http', 'https', 'coap', 'coaps'.
setObsAttrs Boolean   Observe the set PMIN/PMAX of the selected object.

PMIN - Min. time in second between sending notifications for a resource if any of the notify conditions are met

PMAX - Max. time in seconds between sending successive notifications for a resource if none of other notify conditions are satisfied

TR50 Response

If the command is sent successfully a success message and the ID of the profile is returned. Otherwise, an error and error message will be returned.

{
  "1": {
    "success": true,
    "params": {
      "id": "5a6212745758cd51400cdf49"
    }
  }
}

Response Parameters

Name Type Description
id String The ID of the newly created profile.