TC ME310G1 ME910G1 ML865G1 LWM2M AT Commands Reference Guide r6
TC ME310G1 ME910G1 ML865G1 LWM2M AT Commands Reference Guide r6
80617ST11022A Rev 6
2023-08-07
Released
Public
Technical Documentation
ME310G1/ME910G1/ML865G1 LWM2M
AT Commands Reference Guide
Contents
Contents ................................................................................................................................................................................. 2
1 Applicability Table ............................................................................................................................................... 4
2 Introduction ........................................................................................................................................................... 5
2.1 Scope 5
2.2 Audience 5
2.3 Contact Information, Support 5
2.4 Conventions 6
2.5 Terms and conditions 8
2.6 Disclaimer 8
3 Commands ............................................................................................................................................................. 9
3.1 Definitions 9
3.2 AT Commands Syntax 10
String Type Parameters 10
Command Lines 11
ME Error Result Code - +CME ERROR: <err> 12
Message Service Failure Result Code - +CMS ERROR: <err> 16
Carriage Returns, Line Feeds and Log 17
Information Responses and Result Codes 18
Command Response Time-Out 19
Command Issuing Timing 19
Command Response after Module Boot 19
3.3 Storage 20
Factory Profile and User Profiles 20
3.4 AT Command Short Overview Table 21
4 AT Commands References .............................................................................................................................22
4.1 IoT Portal 22
AT#LWM2MENA - Enable/Disable Telit LwM2M Agent 22
AT#LWM2MSTAT - Telit LwM2M Client Current Status 31
AT#LWM2MACK - Ack for Telit LwM2M Agent 36
AT#LWM2MREG - Registration to a LwM2M Server 37
AT#LWM2MSKIP - LwM2M Client startup mode 40
AT#LWM2MSTS - Select Bootstrap/Standard Server 44
AT#LWM2MINJKEYS - LwM2M Store or Delete Credentials 48
AT#LWM2MNEWINST - Create a New Object Instance 51
AT#LWM2MDELINST - Deletes one or all object instances 53
AT#LWM2MLIST - Reports Objects and Object Instances 55
AT#LWM2MEXIST - Command for Detecting an Agent/Specific URI Existence 57
AT#LWM2MW - LwM2M Client Resource Writing 60
AT#LWM2MR - LwM2M Client Resource Reading 64
AT#LWM2ME - LwM2M Client Resource Executing 67
AT#LWM2MSET - Set LwM2M Whitelisted Resource 70
AT#LWM2MGET - Get LwM2M Whitelisted Resource 75
AT#LWM2MOBJSET - Write values to more resources of the same object instance in a
unique command 78
AT#LWM2MOBJGET - Read values of all the resources of a LwM2M object/object
instance in a unique command 84
AT#LWM2MNFYACKURI - Manage URIs for URC Reporting 88
1 Applicability Table
Table 1: Applicability Table - Products
Products
ME310G1-W1
ME310G1-WW
ME910G1-W1
ME910G1-WW
ME310G1-W2
ME310G1-W3
ML865G1-WW
ME910G1-W3
2 Introduction
2.1 Scope
This document is aimed to provide a detailed specification and a comprehensive listing
for reference for the entire AT command set.
2.2 Audience
Readers of this document should be familiar with Telit modules and their ease of
controlling by means of AT Commands.
Product information and technical documents are accessible 24/7 on our website:
https://www.telit.com
2.4 Conventions
Note: Provide advice and suggestions that may be useful when integrating the
module.
Danger: This information MUST be followed, or catastrophic equipment failure or
personal injury may occur.
ESD Risk: Notifies the user to take proper grounding precautions before handling
the product.
Warning: Alerts the user on important steps about the module integration.
Additional info: This section provides any kind of additional and useful
information related to the AT command section as well as command
exceptions or special behavior cases
2.6 Disclaimer
THE MATERIAL IN THIS DOCUMENT IS FOR INFORMATIONAL PURPOSES ONLY. TELIT
CINTERION RESERVES THE RIGHT TO MAKE CHANGES TO THE PRODUCTS DESCRIBED
HEREIN. THE SPECIFICATIONS IN THIS DOCUMENT ARE SUBJECT TO CHANGE AT THE
DISCRETION OF TELIT CINTERION WITHOUT PRIOR NOTICE. THIS DOCUMENT IS
PROVIDED ON “AS IS” BASIS ONLY AND MAY CONTAIN DEFICIENCIES OR INADEQUACIES.
TELIT CINTERION DOES NOT ASSUME ANY LIABILITY FOR INFORMATION PROVIDED IN THE
DOCUMENT OR ARISING OUT OF THE APPLICATION OR USE OF ANY PRODUCT
DESCRIBED HEREIN.
TELIT CINTERION GRANTS A NON-EXCLUSIVE RIGHT TO USE THE DOCUMENT. THE
RECIPIENT SHALL NOT COPY, MODIFY, DISCLOSE, OR REPRODUCE THE DOCUMENT
EXCEPT AS SPECIFICALLY AUTHORIZED BY TELIT CINTERION.
TELIT CINTERION AND THE TELIT CINTERION LOGO, ARE TRADEMARKS OF TELIT
CINTERION AND ARE REGISTERED IN CERTAIN COUNTRIES. ALL OTHER REGISTERED
TRADEMARKS OR TRADEMARKS MENTIONED IN THIS DOCUMENT ARE THE PROPERTY OF
THEIR RESPECTIVE OWNERS AND ARE EXPRESSLY RESERVED BY TELIT (AND ITS
LICENSORS).
3 Commands
1
The Telit family of wireless modules can be controlled via the serial interface using the
standard AT commands. It complies with:
1 Hayes standard AT command set, to maintain the compatibility with existing SW
programs.
2 3GPP TS 27.007 specific AT command and GPRS specific commands.
3 3GPP TS 27.005 specific AT commands for SMS (Short Message Service) and CBS
(Cell Broadcast Service)
Moreover, the Telit family of wireless modules also supports Telit proprietary AT
commands for special purposes.
The following is a description of how to use the AT commands with the Telit family of
wireless modules.
3.1 Definitions
The following syntactic definitions apply:
<CR> Carriage return character, is the command line and terminator character of the
result code, whose value, in decimal ASCII between 0 and 255, is specified within the
parameter S3. The default value is 13.
<LF> Linefeed character, is the character recognized as line feed character. Its value, in
decimal ASCII between 0 and 255, is specified within parameter S4. The default value is
10. The line feed character is output after the carriage return character if detailed result
codes are used (V1 option used) otherwise, if numeric format result codes are used (V0
option used) it will not appear in the result codes.
<...> Name enclosed in angle brackets is a syntactic element. They are not displayed on
the command line.
[...] The optional sub parameter of a command or an optional part of the TA information
response is enclosed in square brackets. The brackets themselves are not displayed on
the command line. When the sub parameter is not given in AT commands that have a
Read command, new value is equal to its previous value. In AT commands that do not
store the values of any of their sub parameters, and therefore do not have a Read
command, which are called action type commands, an action should be performed
according to the recommended default setting of the sub parameter.
Action commands do not store the values of any of their possible sub parameters.
Moreover:
The response to the Test Command (trailing =?) may be modified in the future by Telit to
allow for the description of new values/functionalities.
If all the sub parameters of a parameter type command +CMD are optional, issuing
AT+CMD=<CR> causes the result code to be returned to OK and the previous values of
the omitted sub parameters to be retained.
Command Lines
A command line is made up of three elements: the prefix, the body and the termination
character.
The command line prefix consists of the characters "AT" or "at", or, to repeat the execution
of the previous command line, the characters "A/" or "a/" or AT#/ or at#/.
The termination character may be selected by a user option (parameter S3), the default
being <CR>.
The basic structures of the command line are:
• ATCMD1<CR> where AT is the command line prefix, CMD1 is the body of a basic
command (note: the name of the command never begins with the character "+") and
<CR> is the command line terminator character
• ATCMD2=10<CR> where 10 is a sub parameter
• AT+CMD1;+CMD2=, ,10<CR> These are two examples of extended commands (note:
the name of the command always begins with the character "+"). They are delimited
by semicolon. In the second command the sub parameter is omitted.
• +CMD1?<CR> This is a Read command for checking current sub parameter values
• +CMD1=?<CR> This is a test command for checking possible sub parameter values
Note: The set of proprietary AT commands differs from the standard one because
the name of each of them begins with either "@", "#", "$" or "*". Proprietary AT
commands follow the same syntax rules as extended commands.
Note: The command line buffer accepts a maximum of 400 characters. If this
number is exceeded, none of the commands will be executed and TA returns
ERROR.
Note: “Numeric Format” Not all modules support the error codes shown in the
table
Note: “Verbose Format” There could be small variations in the message depending
on the module in use
100 unknown
103 Illegal MESSAGE
106 Illegal ME
107 GPRS services not allowed
111 PLMN not allowed
112 Location area not allowed
113 Roaming not allowed in this location area
132 service option not supported
133 requested service option not subscribed
134 service option temporarily out of order
148 unspecified GPRS error
149 PDP authentication failure
150 invalid mobile class
569
680 LU processing
681 Network search aborted
682 PTM mode
683 Network search terminated
684 CSG Search processing
AT#LWM2MFYACKURI=0,2<CR>
<CR><LF>
Note: <text> can be "300", "1200", "2400", "4800", "9600", "14400" or "1200/75"
There is a short delay between completion of AT interface initialization (when module starts to
answer to AT commands) and completion of LWM2M task initialization (when module starts to
answer to LWM2M commands).
3.3 Storage
This chapter focuses on the values that the saved Setting field can have and their meaning.
The meaning of the other fields will be described in the next chapter. The saved Setting
field can have one of the values listed below (for information about the AT instance
introduced hereafter, see the reference section of the #PORTCFG command):
Specific profile the parameters values set by the command are stored in the profile base
section. The stored values set is associated to the specific AT instance used to enter the
command. It is a profile used by the specific AT instances.
Examples of the AT commands: +IPR, E, Q, V, X, &Y, etc.
The parameters values set by the command are stored in the profile extended section.
The stored values set is associated to the specific AT instance used to enter the command.
It is a profile used by the specific AT instance.
Examples of the AT commands: +FCLASS, +CREG, +CLIP, #STIA, etc.
Common profile the parameters values set by the command are stored in the profile
extended section. The stored values set is not associated to the specific AT instance used
to enter the command. It is a profile shared between the AT instances.
Examples of the AT commands: +CALM, #E2SLRI, #DVI, etc.
Auto the parameters values set by the command are automatically stored in NVM, without
issuing any storing AT command, and regardless of the profile (unique values). The values
are automatically restored at startup.
AT commands examples: +COPS, +CGQREQ, #SCFG, etc.
In some cases, the parameters values are stored in the file system.
AT commands examples: #TEMPCFG, #TEMPMON, etc.
Other the parameters values set by the command are stored in NVM by issuing a specific
command and regardless of the profile.
Examples of the AT commands:
#SLED setting is saved by #SLEDSAV
#BIQUADINEX setting is saved by #PSAV
etc.
4 AT Commands References
4.1 IoT Portal
AT#LWM2MENA - Enable/Disable Telit LwM2M Agent
This command enables/disables the Telit LwM2M Client feature.
Required No No - 2
AT#LWM2MENA=<en>[,<pdpId>[,<mode>[,<guardRequestTime>[,<guardReleaseTi
me>]]]]
Execution command enables/disables the Telit LwM2M Client feature. Enabling
the client with <mode> set to 1 will produce the following URCs:
#LWM2MRING: <ring>
#LWM2MEND: <endResultCode>
Parameters:
Values:
0 : disable
1 : enable
Value:
Values:
0 : no ACK required
1 : ACK required
Value:
Value:
Additional info:
The Telit LwM2M client show also an URC according to some events, in the
form:
#LWM2MINFO: <infoType>,<infoEvent>
The Telit LwM2M client show also URCs according to the server registration
status, in the form:
#LWM2M-TLT: <event>,<SSID>,<URL>
Unsolicited fields:
Values:
DRG : deregistration
Value:
0 : success
Value:
Values:
Values:
action is only
manageable by a
module reboot
Please notice that the URC reporting "FORCE_EXIT" <event> are always
displayed, even in case of inactive service or in case of non-Telit clients.
AT#LWM2MENA?
If the client is enabled, read command reports the current values of parameters in
the format:
#LWM2MENA: <en>,<pdpId>,<mode>,<guardRequestTime>,<guardReleaseTime>,
<enabledStatus>
If the client is not enabled, read command reports the current values of
parameters in the format:
#LWM2MENA: 0
In case the LwM2M client is enabled with the <mode> active, the
<enabledStatus> parameter in read command reports the LwM2M as
active just after the command insertion and while waiting for the
#LWM2MACK confirmation.
In case the LwM2M client is enabled with the <mode> active, after the
#LWM2MENA command to disable it, the <enabledStatus> parameter in
read command reports the LwM2M as active since the disabling message
towards the server needs the #LWM2MACK confirmation; this happens
only when the disabling command is typed out of the LwM2M client active
time window (i.e.: outside the <guardReleaseTime> inserted in
#LWM2MENA command).
In case the LwM2M client is enabled with the <mode> not active, after the
#LWM2MENA command to disable it, for a short period of time, the
<enabledStatus> parameter in read command could report some
intermediate states between the "ACTIVE" and the disabled one.
AT#LWM2MENA=?
Test command reports the supported range of values for all the parameters.
AT#LWM2MENA=0
OK
LWM2M-
TLT:"DEREGISTERING",SSID=99,"coaps://api.devicewise.com"
LWM2M- TLT:"DEREGISTERED",SSID=99,"coaps://api.devicewise.com"
LWM2M-
LWM2M-TLT:"CLIENT_DISABLED"
• client suspending:
LWM2M- TLT:"REGISTERING",SSID=99,"coaps://api.devicewise.com"
LWM2M- TLT:"REGISTERED",SSID=99,"coaps://api.devicewise.com"
.. execution of resource /1/x/4
LWM2M- TLT:"SUSPENDED",SSID=99,"coaps://api.devicewise.com"
.. after timeout as in resource /1/x/5
LWM2M- TLT:"REGISTERING",SSID=99,"coaps://api.devicewise.com"
LWM2M- TLT:"REGISTERED",SSID=99,"coaps://api.devicewise.com"
AT#LWM2MENA=0
OK
AT#LWM2MENA?
#LWM2MENA: 1,1,0,5,5,"DEREG"
OK
AT#LWM2MENA?
#LWM2MENA: 0
OK
#LWM2MRING: "REG"
AT#LWM2MENA?
#LWM2MENA: 1,1,1,5,20,"WAIT"
OK
AT#LWM2MACK=1
OK
LWM2M-TLT:"BOOTSTRAPPING",SSID=0,"coaps://bs.telit.io"
LWM2M-TLT:"BOOTSTRAPPED",SSID=0,"coaps://bs.telit.io"
#LWM2MEND: 0
AT#LWM2MENA?
#LWM2MENA: 1,1,1,5,20,"IDLE"
OK
AT#LWM2MENA=0
OK
#LWM2MRING: "DRG"
AT#LWM2MENA?
#LWM2MENA: 1,1,1,5,20,"WAIT"
OK
AT#LWM2MACK=1
OK
AT#LWM2MENA?
#LWM2MENA: 1,1,1,5,20,"DEREG"
OK
AT#LWM2MENA?
#LWM2MENA: 0
OK
Required Auto No - 2
AT#LWM2MSTAT
If executed, the command returns the current Telit LwM2M client
status. The status is returned through the string:
#LWM2MGETSTAT: <enabledStatus>,<status>
Additional info:
Values:
Values:
AT#LWM2MSTAT?
Not supported
AT#LWM2MSTAT=?
Test command returns OK.
• Example 1:
Enabling and disabling the LwM2M client when activated in "ACK"
mode (when outside the LwM2M activity time window)
AT#LWM2MENA=1,1,1,5,20
OK
#LWM2MRING: "REG"
AT#LWM2MSTAT
#LWM2MGETSTAT: 1,"WAIT"
OK
AT#LWM2MACK=1
OK
LWM2M-TLT:"BOOTSTRAPPING",SSID=0,"coaps://bs.telit.io"
LWM2M-TLT:"BOOTSTRAPPED",SSID=0,"coaps://bs.telit.io"
#LWM2MEND: 0
AT#LWM2MSTAT
#LWM2MGETSTAT: 1,"ACTIVE"
OK
#LWM2MEND: 0
AT#LWM2MSTAT
#LWM2MGETSTAT: 1,"IDLE"
OK
AT#LWM2MENA=0
OK
#LWM2MRING: "DRG"
AT#LWM2MSTAT
#LWM2MGETSTAT: 1,"WAIT"
OK
AT#LWM2MACK=1
OK
AT#LWM2MSTAT
#LWM2MGETSTAT: "DIS"
OK
AT#LWM2MENA?
#LWM2MENA: 0
OK
• Example 2:
Enabling and disabling the LwM2M client when activated in "no ACK"
mode
AT#LWM2MENA=1,1,0
OK
AT#LWM2MSTAT
#LWM2MGETSTAT: 1,"ACTIVE"
OK
AT#LWM2MENA=0
OK
AT#LWM2MSTAT
#LWM2MGETSTAT: 0,"DIS"
OK
Required No No - 2
AT#LWM2MACK=<action>
if the <mode> in #LWM2MENA is not 0, the Telit LwM2M client requires
an ACK to performs its operations on the dedicated data context.
Parameter:
Value:
1 : action is required
AT#LWM2MACK?
Not supported
AT#LWM2MACK=?
Test command reports the supported range of values for all the
parameters.
Required No No - 2
AT#LWM2MREG=<agentId>,<actionID>[,<shortServerID>]
Parameters:
Values:
0 : Telit agent
Values:
0 : deregister
1 : full registration
2 : registration update
Value:
#LWM2MREG: <shortServerID>,
<regState>,<lastRegistration>,<nextUpdate>,<lastActivity>
Parameter Description
<shortServerID> Identifier of the server
Identifier of the registration
state:
0, not registered
<regState> 1, disabled
2, registered
registration updated.
The timestamp is expressed in
Unix local time. In case there is
not a valid timestamp, 0 is
reported
Timestamp related to the next
scheduled registration
update.The timestamp is
<nextUpdate>
expressed in Unix local time. In
case there is not a valid
timestamp, 0 is reported
Timestamp related to the last
succeeded data exchange
between the LwM2M client
<lastActivity> and the server.The timestamp
is expressed in Unix local time.
In case there is not a valid
timestamp, 0 is reported
AT#LWM2MREG?
Read command returns
OK
AT#LWM2MREG=?
Test command reports the supported range of values for the parameters.
Not required No No - 2
AT#LWM2MSKIP=<enable>[,<agentMask>][,<reboot>]
Parameters:
Values:
Value:
Values:
0 : Reboot is disabled
simply returns OK but there will not be a real effect at the next
startup.
AT#LWM2MSKIP?
Read command reports the current values of parameters in the format:
#LWM2MSKIP: <enable>,<maskStatus>
AT#LWM2MSKIP=?
Test command reports the supported range of values for all the
parameters.
Set the skip property for all agents available in the module: all the clients are
stopped at startup (reboot is performed in particular cases, see additional
notes) :
AT#LWM2MSKIP=1
OK
All LwM2M clients are skipped. The mask could vary according to the agents
available in the module:
AT#LWM2MSKIP?
#LWM2MSKIP: 1,7
OK
Reset the skip property for Telit Client. Please note that the other LwM2M
clients are not affected, since not indicated in the <agentMask>
AT#LWM2MSKIP=0,1
OK
AT#LWM2MSKIP?
#LWM2MSKIP: 1,6
OK
Set the skip property for all agents available in the module (reboot is not
performed)
AT#LWM2MSKIP=1,,0
OK
Set the skip property for AT&T client. Reboot is not performed, it takes effect
at next reboot
AT#LWM2MSKIP=1,4,0
OK
Reset the skip property for AT&T client. Reboot is not performed, it takes
effect at next reboot:
AT#LWM2MSKIP=0,4,0
OK
Required Auto No - 2
AT#LWM2MSTS=<agentId>[,<serverIndex>[,<URI>[,<isBootstrapServer>]]]
Parameters:
Values:
0 : Telit agent
Values:
Additional info:
#LWM2MSTS
#LWM2MINJKEYS
#LWM2MSKIP
#LWM2MCUST
#LWM2MCFG
AT#LWM2MSTS?
Read command returns OK result code.
AT#LWM2MSTS=?
Test command returns OK result code.
It selects the "Leshan" test server, secure mode. Last parameter in this
example could also be omitted.
AT#LWM2MSTS=0,999,"coaps://leshan.eclipse.org:5684",0
Required Auto No - 2
AT#LWM2MINJKEYS=<agentId>,<mode>[,<epName>[,<identity>,<secretKey>]]
Parameters:
Values:
0 : Telit agent
Values:
AT#LWM2MINJKEYS?
Read command return OK code.
AT#LWM2MINJKEYS=?
Test command return OK code.
• Deletes all the credentials (end-point name, DTLS identity and DTLS
pre-shared key).
AT#LWM2MINJKEYS=0,0
Injects the keys of all the credentials (end-point name, DTLS identity
and DTLS pre-shared key).
AT#LWM2MINJKEYS=0,1,"aa","bb","cc"
Required Auto No - 2
AT#LWM2MNEWINST=<agentId>,<objectID>,<objectInstanceID>
Execution command allows the user to create dynamically the
<objectInstanceID> of the specified <objectID>. When succeed, the newly
created <objectInstanceID> will have all the resources filled with default
values. The user shall populate them properly, by using the #LWM2MW
command for writable resources, or by the #LWM2MSET command for
non-writable resources.
Parameters:
Value:
0 : Telit client
Value:
Value:
AT#LWM2MNEWINST?
Read command returns OK code.
AT#LWM2MNEWINST=?
Test command reports the supported range of values for the parameters.
Required Auto No - 2
AT#LWM2MDELINST=<agentId>,<objectID>[,<objectInstanceID>]
Execution command allows the user to delete the <objectInstanceID> or
all instances of the specified <objectID>.
Parameters:
Value:
0 : Telit client
Value:
Value:
Additional info:
AT#LWM2MDELINST?
Read command returns OK code.
AT#LWM2MDELINST=?
Test command reports the supported range of values for the parameters.
Required No No - 2
AT#LWM2MLIST=<agentId>
#LWM2MLIST:
</objectID1/objectInstanceID1>,</objectID2/objectInstanceID2>,...,
</objectIDn/objectInstanceIDn>
In case the list is longer than the internally reserved buffer, the string is
truncated to the last data that can be displayed but a special character
"~" is issued at the end of the string, to alert the user that the data
displayed is not complete, in the format:
#LWM2MLIST:
</objectID1/objectInstanceID1>,...,</objectIDn/objectInstanceIDn>~
Parameter:
Values:
0 : Telit agent
#LWM2MLIST: ...,<objectIDn>,...
AT#LWM2MLIST?
Read command return OK code
AT#LWM2MLIST=?
Test command reports the supported range of values for all the
parameters.
Default response:
AT#LWM2MLIST=0
#LWM2MLIST:
</1/0>,</2>,</3/0>,</4/0>,</5/0>,</6/0>,</10/0>,</7/0>,</9/0>,</11/1>,</11/2>,</11/
3>,</11/4>,</11/5>,</11/6>,</500/0>,</500/6>,</500/7>,</33205/0>,</33206/0>,</3
3207/0>,</33210>,</33211/0>
OK
Required No No - 2
AT#LWM2MEXIST=<agentId>[,<objectID>[,<objectInstanceID>[,<resourceID>[,<res
ourceInstanceID>]]]]
Parameters:
Values:
0 : Telit agent
Value:
Value:
Value:
Value:
The #LWM2MEXIST command returns OK if the given agent and URI exist. It
returns an error in case it does not exist. The user should use +CMEE=2
command to know exactly what is not existent. List of possible errors:
AT#LWM2MEXIST?
Read command returns OK code
AT#LWM2MEXIST=?
Test command reports the supported range of values for all the parameters.
• AT#LWM2MLIST=0
#LWM2MLIST: </1/0>,</2>,</3/0>,</4/0>,</5/0>, .. ,</33211/0>
OK
AT#LWM2MEXIST=0,33211,0,0,0
OK
AT#LWM2MEXIST=0,4,0
OK
AT+CMEE=2
OK
AT#LWM2MEXIST=0,33211,10,0,0
+CME ERROR: Invalid URI
Required Auto No - 2
AT#LWM2MW=<agentId>,<objectID>,<objectInstanceID>,<resourceID>,
<resourceInstanceID>,<value>
Parameters:
Values:
0 : Telit agent
Value:
Value:
Value:
Value:
Additional info:
Values:
-9.2233720368548E+18÷9223372036854775807 : values
range for
integers
0,1 : values
range for
booleans
The write command has effect only if the agent is present: it can be
verified through the AT#LWM2MEXIST command
AT#LWM2MW?
Read command return OK code
AT#LWM2MW=?
Test command reports the range for parameters.
Required Auto No - 2
AT#LWM2MR=<agentId>,<objectID>,<objectInstanceID>,<resourceID>,
<resourceInstanceID>
Parameters:
Values:
0 : Telit agent
Value:
Value:
Value:
Value:
According to OMA-TS-LightweightM2M-V1_0_2-20180209-A,
appendix C specification, Float type resources are compliant to
standard IEEE754 Floating-Point Arithmetic.
In order to provide the user the most accurate representation, all
available significant digits are being shown when reading the data.
Depending on the floating point value, the number of these
significant digits can be up 18-20, e.g.
Resource /3311/0/5805/0, actual IEEE754 double value stored:
1.37799999999999989164223279658
Read command:
AT#LWM2MR=0,3311,0,5805,0
#LWM2MR: 1.3779999999999999
OK
It is up to the user cutting out the less significant digits, according
to the accuracy they need.
The write command has effect only if the agent is present: it can
be verified through the AT#LWM2MEXIST command
AT#LWM2MR?
Read command return OK code
AT#LWM2MR=?
Test command reports the range for parameters
Required No No - 2
AT#LWM2ME=<agentId>,<objectID>,<objectInstanceID>,<resourceID>,
<resourceInstanceID>
Parameters:
Values:
0 : Telit agent
Value:
Value:
Value:
Value:
The write command has effect only if the agent is present: it can
be verified through the AT#LWM2MEXIST command.
AT#LWM2ME?
Read command return OK code
AT#LWM2ME=?
Test command reports the range for parameters
Required Auto No - 2
AT#LWM2MSET=<type>,<objectID>,<objectInstanceID>,<resourceID>,<resourceIn
stanceID>, <value>
Parameters:
Values:
1 : Float
2 : String
3 : Opaque
4 : Object Link
5 : Time
Value:
Value:
Value:
Value:
Additional info:
<value> data could assume the following values, according to the specified
<type>
Values:
- : values
-9.2233720368548E+18÷+9.2233720368548E+18 range for
integers
0,1 : values
range for
booleans
Value:
The command #LWM2MSET provides to the user the full control of the
resource, aside from the resource type, therefore the command allows
writing values outside the specified range.
When setting Float type resources, to achieve the best accuracy available, a
standard IEEE754 double variable (8 bytes) is used to handle these data.
Note that this type of data is according to OMA-TS-LightweightM2M-
V1_0_2-20180209-A, appendix C specification, and it follows the same rules
of standard ANSI C code: when inserting the value, this is automatically
converted to the nearest IEEE754 double, e.g.
AT#LWM2MNEWINST=0,3311,0
AT#LWM2MSET=1,3311,0,5805,0,1.378
the value "1.378" will be converted to its nearest IEEE754 double, which is
exactly 1.37799999999999989164223279658.
This value will be the actual one used for handling (storing, computation,
transmission, etc.).
AT#LWM2MSET?
AT#LWM2MSET=?
Test command reports the supported range of values for the <type> parameters.
Required Auto No - 2
AT#LWM2MGET=<type>,<objectID>,<objectInstanceID>,<resourceID>,<resourceIn
stanceID>
Parameters:
Values:
1 : Float
2 : String
3 : Opaque
4 : Object Link
5 : Time
Value:
Value:
Value:
Value:
This command only works on whitelisted resources and objects. For the
object whitelist, please refer to AT#LWM2MSET command.
AT#LWM2MGET?
Read command returns OK code.
AT#LWM2MGET=?
Test command reports the supported range of values for the parameters.
Required No No - 2
AT#LWM2MOBJSET=<agentId>,<objectId>,<objectInstanceId>
After the command line is terminated with <CR>, the module sends a
four-character sequence prompt:
<CR><LF><greater_than><space> (IRA 13, 10, 62, 32)
and waits for the user input.
The input must follow the JSON format as described in Section 6.4.4 of
OMA Lwm2m specification ver. 1.0.2 (Data Formats for Transferring
Resource Information - JSON).
The full URI of the resources to be modified is composed concatenating
the values of the attributes base name "bn" and name "n" (see examples).
The resources whose full URI does not begin with the <objectId> and
<objectInstanceId> indicated in the command arguments will be ignored.
At least one resource must begin with the <objectId> and
<objectInstanceId> indicated in the command arguments.
To confirm the input values, issue Ctrl-Z character (0x1A hex). To exit
without executing the command, issue ESC character (0x1B hex).
Parameters:
Values:
0 : Telit agent
Value:
Value:
Expected result
When successful, the command returns:
OK
In case of error, the command returns:
ERROR
In addition to this, if the failure is caused by the LwM2M client not
being able to set the desired values, one or more URC are emitted
describing the failure.
Failure descriptions may be:
ERROR ON OBJECT /<objectId>
client failure when accessing the content of an object
ERROR ON OBJECT INSTANCE /<objectId>/<objectInstanceId>
client failure when accessing the content of an object instance
ERROR ON RESOURCE
/<objectId>/<objectInstanceId>/<resourceId>
client failure when accessing the content of a resource
ERROR ON RESOURCE INSTANCE
/<objectId>/<objectInstanceId>/<resourceId>-
<resourceInstaneId>
client failure when writing a resource instance
UNKNOWN RESOURCE
/<objectId>/<objectInstanceId>/<resourceId>
the client did not recognize a resource Id
OBJECT INSTANCE NOT FOUND
the object instance to be set was not present in the client
JSON DESERIALIZATION FAILED
a generic error was found when parsing the JSON string
AT#LWM2MOBJSET?
Read command returns:
OK
AT#LWM2MOBJSET=?
Test command reports the supported range of values for the parameters.
• Example:
for an existing object instance /33205/0 on a LwM2M agent with ID 0, issue the
command:
AT#LWM2MOBJSET=0,33205,0
the parser will prompt the user with:
>
Send the input values in JSON format, for example:
{"e":[{"n":"/33205/0/0","sv":"SGVsbG8sIHdvcmxkIQ=="},{"n":"/33205/0/2","v":2}]}
or
{"bn":"/33205/0/","e":[{"n":"0","sv":"SGVsbG8sIHdvcmxkIQ=="},{"n":"2","v":2}]}
• Example on failure:
for an existing object instance /33205/0 on a LwM2M agent with ID 0, issue the
command:
AT#LWM2MOBJSET=0,33205,0
the parser will prompt the user with:
>
Send the input values in JSON format, for example:
{"e":[{"n":"/33205/0/0","sv":"SGVsbG8sIHdvcmxkIQ=="},{"n":"/33205/0/2","sv":"2"}]
}
to modify the resources 0 and 2 of /33205/0.
Confirm sending a Ctrl-Z character (0x1A hex).
In this case the client will respond with:
ERROR
ERROR ON RESOURCE INSTANCE /33205/0/2-0
because resource 2 is not a string type.
{"bn":"/3303/0/","e":[{"n":"5700","v":25.1}]}
please note that the opaque value holds the Base64 format of the string:
Base64("hello world")="aGVsbG8gd29ybGQ="
Required Auto No - 2
AT#LWM2MOBJGET=<agentId>,<objectId>[,<objectInstanceId>[,<resourceId>]]
Parameters:
Values:
0 : Telit agent
Value:
Value:
Value:
Expected result
When successful, the command prints the result of the query in the
JSON format as described in Section 6.4.4 of OMA Lwm2m specification
ver. 1.0.2 (Data Formats for Transferring Resource Information - JSON).
Then, it returns:
OK
In case of error, the command returns:
ERROR
AT#LWM2MOBJGET?
Read command returns:
OK
AT#LWM2MOBJGET=?
Test command reports the supported range of values for the parameters.
Example:
for an existing object /33205 on a LwM2M agent with ID 0, issue the
command:
AT#LWM2MOBJGET=0,33205
If two object instances exist in the client (e.g. ID 0 and ID 1), the parser will
return:
{"bn":"/33205/",
"e":[{"n":"0/0","sv":"AA=="},
{"n":"0/1","sv":"IA=="},
{"n":"0/2","v":0},
{"n":"1/0","sv":"AA=="},
{"n":"1/1","sv":"IA=="},
{"n":"1/2","v":3}]
}
OK
{"bn":"/33205/0/",
"e":[{"n":"0","sv":"AA=="},
{"n":"1","sv":"IA=="},
{"n":"2","v":0}]
}
OK
{"bn":"/33205/0/1",
"e":[
{"sv":"IA=="}]
}
OK
{"bn":"/4/0/1/",
"e":[
{"n":"0","v":0},
{"n":"1","v":6}]
}
OK
Required No No - 2
AT#LWM2MNFYACKURI=<agentId>,<operation>,<objectID>,<objectInstanceID>,
[<resourceID>]
If a specified instance/resource URI is present in the NFYACKURI list and the
URC reporting is enabled through AT#LWM2MNFYACKENA command, any
notify sent by the LwM2M client related to the specified URI will issue a URC in
the format:
#LWM2MNFYACK:
<agentId>,<ShortServerID>,"/<objectID>/<objectInstanceID>/ <resourceID>",
"ACK" (NACK)
(Whether the ACK has been properly received or not received at all).
Parameters:
Values:
0 : Telit agent
Values:
0 : remove URI
1 : add URI
Value:
Value:
Value:
Additional info:
AT#LWM2MNFYACKURI=<agentId>,2
reports the list of currently supported URIs, in the format:
#LWM2MNFYACKURI: "/<objectID1>/<objectInstanceID1>/<resourceID1>"
#LWM2MNFYACKURI: "/<objectID2>/<objectInstanceID2>/<resourceID2>"
...
The URI are listed according to their insertion in the list.
The list for Notify ACK is limited to 6 entries for each <agentId>. Over
this limit it is not possible to add any further URI unless another URI
already present in list is removed.
The list and the enabling status are not persistent to a power-cycle.
AT#LWM2MNFYACKURI?
Read command returns OK
AT#LWM2MNFYACKURI=?
Test command reports the supported range of values for the parameters.
Required No No - 2
AT#LWM2MNFYACKENA=<agentId>,<action>
By enabling the issuing of the URCs, each time a LWM2M Notify ACK is received
for a resource, the user - if the URI of that resource has
been added with #LWM2MNFYACKURI - receives an URC reporting the URI path
of the resource in the format:
#LWM2MNFYACK: <agentId>,<ShortServerID>,"/<objectID>/<objectInstanceID>/
<resourceID>","ACK" ("NACK")
(Whether the ACK has been properly received or not received at all)
Parameters:
Values:
0 : Telit agent
Values:
Additional info:
AT#LWM2MFYACKENA=<agentId>,2
reports the current status for the selected <agentId> in the following
format:
LWM2MNFYACKENA: <agentId>,<status>
The list for Notify ACK is limited to 6 entries for each <agentId>. After
that number, it is not possible to add any further URI unless another URI
already present in list is removed.
The list and the enabling status are not persistent to a power-cycle.
AT#LWM2MNFYACKENA?
Read command returns OK
AT#LWM2MNFYACKENA=?
Test command reports the supported range of values for the parameters.
Required Auto No - 2
AT#LWM2MMON=<action>,<objectID>
Activating the monitoring for an object, an URC is reported on serial port to
indicate that the value of a resource of the object has been changed.
Resources usually changes the value due to AT#LWM2MW and
AT#LWM2MSET commands on client side and remotely write operations
from server side.
The URC reports the complete URI path of the resource changed but not
its value, hence AT#LWM2MR and AT#LWM2MGET commands are needed
to get the value.
The format of the URC is:
#LWM2MMON:
UPD,"/<objectID>/<objectInstanceID>/<resourceID>/<resourceInstanceID>"
Parameters:
Values:
0 : deactivate
1 : activate
Value:
AT#LWM2MMON?
Read command reports the list of currently supported objects, in the
format:
#LWM2MMON: "<objectID1>"
#LWM2MMON: "<objectID2>"
...
The <objectIDi> are listed according to their insertion order in the list.
AT#LWM2MMON=?
Test command reports the supported range of values for the parameters.
Required No No - 2
AT#LWM2MCFG=<agentId>,<paramId>,<actionId>[,<value>]
Parameters:
Values:
0 : Telit agent
Values:
Values:
Additional info:
if <paramId> set to 1
Values:
if <paramId> set to 2
Value:
if <paramId> set to 3
Value:
if <paramId> set to 4
Value:
if <paramId> set to 6
Values:
if <paramId> set to 7
Values:
if <paramId> set to 8
Values:
if <paramId> set to 9
Values:
The values set with <paramId> affect uniquely the agent identified
by <agentId>.
5 1
AT#LWM2MCFG?
Read command returns
OK
AT#LWM2MCFG=?
Test command reports the supported range of values for the parameters
<agentId>,<paramId> and <actionId>.
Required Auto No - 2
AT#LWM2MCUST=<paramId>,<data>
Parameters:
Values:
Additional info:
<data> <data>
<paramId> note
type value
customizes the LwM2M to run the
"VZW"
Verizon agent instance
AT#LWM2MCUST?
Read command return OK code
AT#LWM2MCUST=?
Test command reports the supported range of values for <paramId>.
Required Auto No - 2
AT#LWM2MFOTACFG=<agentId>,<mode>[,<timeoutAction>]
Parameters:
Values:
0 : Telit agent
Values:
Values:
The FOTA timeout for ACK confirmation lasts 1 week (in case of
ACK not sent) for each ACK confirmation request.
URC are emitted, according to the FOTA mode set, to allow the
user to identify the operation that has triggered it. URC are issued
in the format:
#LWM2MFOTARING: <agentId>,"DOWNLOAD"
#LWM2MFOTARING: <agentId>,"UPDATE"
#LWM2MFOTARING: <agentId>,"FOTA REJECTED"
AT#LWM2MFOTACFG?
Read command returns the current FOTA configuration for all the
LwM2M clients currently active in the module, in the format:
#LWM2MFOTACFG: <agentId1>,<mode1>,<timeoutAction1>
...
#LWM2MFOTACFG: < agentIdn>,<moden>,<timeoutActionn>
AT#LWM2MFOTACFG=?
Test command reports the range for parameters
// setting Telit LwM2M client to require ACK for any FOTA operation
AT#LWM2MFOTACFG=0,3
OK
// Delta is applied, LwM2M Telit client is rebooted and FOTA ends with a new
bootstrap
#LWM2MINFO: "GEN","FOTA REBOOT"
Required Auto No - 2
AT#LWM2MFOTAACK=<agentId>,<action>
if the <mode> set with #LWM2MFOTACFG command is not 0 (default),
the Telit LwM2M client requires an ACK to performs its operations on the
dedicated data context.
Parameters:
Values:
0 : Telit agent
Value:
AT#LWM2MFOTAACK?
Not supported
AT#LWM2MFOTAACK=?
Test command reports the supported range of values for all the
parameters.
// setting Telit LwM2M client to require ACK for any FOTA operation
AT#LWM2MFOTACFG=0,3
OK
// FOTA campaign is triggered on server side: delta package download ACK is
sent
#LWM2MFOTARING: 0,"DOWNLOAD"
AT#LWM2MFOTAACK=0,1
OK
// Delta is applied, LwM2M Telit client is rebooted and FOTA ends with a new
bootstrap
#LWM2MINFO: "GEN","FOTA REBOOT"
Required No No - 2
AT#LWM2MFOTASTATE=<agentId>
Parameter:
Values:
0 : Telit agent
Additional info:
Values:
0 : IDLE
1 : DOWNLOADING
2 : DOWNLOADED
3 : UPDATING
Values:
0 : IDLE
2 : DOWNLOAD REQUEST
RECEIVED, WAITING FOR ACK
3 : DOWNLOAD IN PROGRESS
7 : UPDATE IN PROGRESS
8 : FOTA REJECTED
9 : FOTA FAILED
AT#LWM2MFOTASTATE?
Read command returns:
OK
AT#LWM2MFOTASTATE=?
Test command reports the range for parameters.
• During the Telit agent FOTA waiting for update ACK, #LWM2MFOTACFG
set to require ack for all the operations, after a day of waiting:
AT#LWM2MFOTACFG?
#LWM2MFOTACFG: 0,3,0
OK
AT#LWM2MFOTASTATE=0
LWM2MFOTASTATE: 3,6,518400
OK
• The Telit agent FOTA is set to reject all the FOTA sessions:
AT#LWM2MFOTACFG?
#LWM2MFOTACFG: 0,4,0
OK
AT#LWM2MFOTASTATE=0
LWM2MFOTASTATE: 0,8,0
OK
• The Telit agent FOTA entire process, with ACK for all the steps
AT#FOTAURC=1
OK
AT#LWM2MFOTACFG=0,3
OK
AT#LWM2MFOTASTATE=0
#LWM2MFOTASTATE: 0,0,0
OK
AT#LWM2MFOTASTATE=0
#LWM2MFOTASTATE: 1,1,0
OK
#LWM2MFOTARING: 0,"DOWNLOAD"
AT#LWM2MFOTASTATE=0
#LWM2MFOTASTATE: 1,2,604700
OK
AT#LWM2MFOTAACK=0,1
OK
AT#LWM2MFOTASTATE=0
#LWM2MFOTASTATE: 1,3,0
OK
AT#LWM2MFOTASTATE=0
#LWM2MFOTASTATE: 1,3,0
OK
AT#LWM2MFOTASTATE=0
#LWM2MFOTASTATE: 1,5,0
OK
AT#LWM2MFOTASTATE=0
#LWM2MFOTASTATE: 2,4,0
OK
#LWM2MFOTARING: 0,"UPDATE"
AT#LWM2MFOTASTATE=0
#LWM2MFOTASTATE: 3,6,604750
OK
AT#LWM2MFOTAACK=0,1
OK
AT#LWM2MFOTASTATE=0
#LWM2MFOTASTATE: 3,7,0
OK
Required Auto No - 2
AT#LWM2MCIPHERENA=<agent>,<cipher_mode>
This command sets the cipher suites for the agent specified
Parameters:
Values:
0 : Telit agent
Values:
0 : Default ciphers
1 : Advanced ciphers
Additional info:
Default ciphers:
Cipher Suite: TLS_PSK_WITH_AES_128_CCM_8 (0xc0a8)
Cipher Suite: TLS_PSK_WITH_AES_128_CBC_SHA (0x008c)
Advanced ciphers:
Cipher Suite: TLS_ECDHE_PSK_WITH_AES_128_CBC_SHA256
(0xc037)
Cipher Suite: TLS_ECDHE_ECDSA_WITH_AES_128_CCM (0xc0ac)
AT#LWM2MCIPHERENA?
Read command reports the current values of parameters with OK result
code
AT#LWM2MCIPHERENA=?
Test command returns the range of the parameters with OK result code
AT#LWM2MCIPHERENA=0,1
OK
AT#LWM2MCIPHERENA?
#LWM2MCIPHERENA:0,1
OK
AT#LWM2MCIPHERENA=?
#LWM2MCIPHERENA: (0-3),(0-1)
OK
Required Auto No - 2
AT#LWM2MNFYLIST=<agentId>[,<shortServerID>]
Parameters:
Values:
0 : Telit agent
Value:
Additional info:
Expected result
The command will respond listing the observations details for the
server <shortServerID>, or for all servers related to the <agentId>
in case parameter <shortServerID> is not provided.
#LWM2MNFYLIST: <shortServerID>,<objID>[,<objInstID>[,resID]]
...
OK
AT#LWM2MNFYLIST?
Read command returns OK code.
AT#LWM2MNFYLIST=?
Test command reports the supported range of values for the parameters.
List active observations for Telit Agent (Registered to one server with two
active observations):
AT#LWM2MNFYLIST=0
#LWM2MNFYLIST:
99,4,0,0
99,500
OK
List active observations for Telit Agent (Not registered to any server):
AT#LWM2MNFYLIST=0
ERROR
List active observations for Telit Agent (Registered to two servers, only one
set an observation):
AT#LWM2MNFYLIST=0
#LWM2MNFYLIST:
99,6,0
100,"EMPTYLIST"
OK
List active observations related to Telit Agent for Short Server ID 100 :
AT#LWM2MNFYLIST=0,100
#LWM2MNFYLIST:
100,"EMPTYLIST"
OK
Acronym Definition
PUK Pin Unblocking Code
RLP Radio Link Protocol
RMC Recommended minimum Specific data
RTS Request To Send
SAP SIM Access Profile
SCA Service Center Address
SMS Short Message Service
SMSC Short Message Service Center
SMTP Simple Mail Transport Protocol
TA Terminal Adapter
TCP Transmission Control Protocol
TE Terminal Equipment
UDP User Datagram Protocol
USSD Unstructured Supplementary Service Data
UTC Coordinated Universal Time
VDOP Vertical dilution of precision
VTG Course over ground and ground speed
WAAS Wide Area Augmentation System
6 Related Documents
Refer to https://dz.telit.com/ for current documentation and downloads.
7 Document History
Table 9: Document History
Revision Date Changes
6 2023-08-07 New document template
Updated Applicability table
New Commands:
AT#LWM2MDELINST, AT#LWM2MNFYLIST, AT#LWM2MSKIP
Updated Commands:
AT#LWM2MCFG, AT#LWM2ME, AT#LWM2MENA, AT#LWM2MEXIST,
AT#LWM2MFOTAACK, AT#LWM2MFOTACFG, AT#LWM2MGET,
AT#LWM2MINJKEYS, AT#LWM2MLIST, AT#LWM2MMON,
AT#LWM2MNEWINST, AT#LWM2MNFYACKENA, AT#LWM2MNFYACKURI,
AT#LWM2MOBJGET, AT#LWM2MOBJSET, AT#LWM2MR, AT#LWM2MSET,
AT#LWM2MSTAT, AT#LWM2MSTS, AT#LWM2MW
5 2022-07-11 Updated Commands:
AT#LWM2MCFG
4 2022-06-24 Updated Applicability Table
Re-ordered commands list
Updated Commands:
AT#LWM2MCFG, AT#LWM2MCIPHERENA, AT#LWM2ME,
AT#LWM2MENA, AT#LWM2MFOTAACK, AT#LWM2MGET,
AT#LWM2MINJKEYS, AT#LWM2MMON, AT#LWM2MNFYACKENA,
AT#LWM2MNFYACKURI, AT#LWM2MOBJSET, AT#LWM2MR,
AT#LWM2MSET, AT#LWM2MSTAT, AT#LWM2MSTS, AT#LWM2MW
3 2021-10-08 Updated Commands:
AT#LWM2MCFG, AT#LWM2MSTAT
2 2021-09-07 New document template
Added Clause "Command Response after Module Boot"
Updated Commands:
AT#LWM2MENA, AT#LWM2MSET, AT#LWM2MR, AT#LWM2MW,
AT#LWM2ME, AT#LWM2MSTS, AT#LWM2MMON, AT#LWM2MGET,
AT#LWM2MNFYACKENA, AT#LWM2MNFYACKURI, AT#LWM2MFOTACFG,
AT#LWM2MFOTAACK, AT#LWM2MINJKEYS
New Commands:
AT#LWM2MCFG, AT#LWM2MOBJSET, AT#LWM2MOBJGET,
AT#LWM2MFOTASTATE, AT#LWM2MCIPHERENA
1 2020-12-14 Updated Commands:
AT#LWM2ME, AT#LWM2MSTS, AT#LWM2MMON,
AT#LWM2MNFYACKENA, AT#LWM2MNFYACKURI, AT#LWM2MFOTACFG,
AT#LWM2MFOTAACK, AT#LWM2MEXIST
New Commands:
AT#LWM2MREG, AT#LWM2MLIST, AT#LWM2MCUST
0 2020-04-21 First issue
From Mod.0818 Rev.11
Technical Documentation
80617ST11022A Rev 6 Page 126 of 126 2023-08-07