Lightweight M2M – Device Capability management Object (LwM2M Object - DevCapMgmt)
Approved Version: 1.0.4 - 2020-12-08
Open Mobile Alliance
OMA-TS-LWM2M_DevCapMgmt-V1_0_4-20201208-A
master: 26 Jan 2021 12:13:00 rev: 15bc3de

Use of this document is subject to all of the terms and conditions of the Use Agreement located at https://www.omaspecworks.org/about/policies-and-terms-of-use/.

Unless this document is clearly designated as an approved specification, this document is a work in process, is not an approved Open Mobile Alliance™ specification, and is subject to revision or removal without notice.

You may use this document or any part of the document for internal or educational purposes only, provided you do not modify, edit or take out of context the information in this document in any manner. Information contained in this document may be used, at your sole risk, for any purposes. You may not use this document in any other manner without the prior written permission of the Open Mobile Alliance. The Open Mobile Alliance authorizes you to copy this document, provided that you retain all copyright and other proprietary notices contained in the original materials on any copies of the materials and that you comply strictly with these terms. This copyright permission does not constitute an endorsement of the products or services. The Open Mobile Alliance assumes no responsibility for errors or omissions in this document.

Each Open Mobile Alliance member has agreed to use reasonable endeavors to inform the Open Mobile Alliance in a timely manner of Essential IPR as it becomes aware that the Essential IPR is related to the prepared or published specification.
However, the members do not have an obligation to conduct IPR searches. The declared Essential IPR is publicly available to members and non-members of the Open Mobile Alliance and may be found on the “OMA IPR Declarations” list at https://www.omaspecworks.org/about/intellectual-property-rights/. The Open Mobile Alliance has not conducted an independent IPR review of this document and the information contained herein, and makes no representations or warranties regarding third party IPR, including without limitation patents, copyrights or trade secret rights. This document may contain inventions for which you must obtain licenses from third parties before making, using or selling the inventions. Defined terms above are set forth in the schedule to the Open Mobile Alliance Application Form.

NO REPRESENTATIONS OR WARRANTIES (WHETHER EXPRESS OR IMPLIED) ARE MADE BY THE OPEN MOBILE ALLIANCE OR ANY OPEN MOBILE ALLIANCE MEMBER OR ITS AFFILIATES REGARDING ANY OF THE IPR’S REPRESENTED ON THE “OMA IPR DECLARATIONS” LIST, INCLUDING, BUT NOT LIMITED TO THE ACCURACY, COMPLETENESS, VALIDITY OR RELEVANCE OF THE INFORMATION OR WHETHER OR NOT SUCH RIGHTS ARE ESSENTIAL OR NON-ESSENTIAL.

THE OPEN MOBILE ALLIANCE IS NOT LIABLE FOR AND HEREBY DISCLAIMS ANY DIRECT, INDIRECT, PUNITIVE, SPECIAL, INCIDENTAL, CONSEQUENTIAL, OR EXEMPLARY DAMAGES ARISING OUT OF OR IN CONNECTION WITH THE USE OF DOCUMENTS AND THE INFORMATION CONTAINED IN THE DOCUMENTS.

THIS DOCUMENT IS PROVIDED ON AN "AS IS" "AS AVAILABLE" AND "WITH ALL FAULTS" BASIS.

Copyright 2021 Open Mobile Alliance.

Used with the permission of the Open Mobile Alliance under the terms set forth above.

Table of Contents

Table of Figures

Table of Tables

1. Scope

This document defines the technical specification for an Object to be used in conjunction with the Lightweight M2M enabler in order to manage Device Capability on the Device.

2. References

2.1. Normative References

Table: 2.1.-1 Normative References
[LwM2M] "OMA LightweightM2M", Version 1.0, Open Mobile Alliance™, URL:http://www.openmobilealliance.org/
[RFC2119] "Key words for use in RFCs to Indicate Requirement Levels", S. Bradner, March 1997, URL:http://www.ietf.org/rfc/rfc2119.txt

2.2. Informative References

Table: 2.2.-1 Informative References
[OMADICT] "Dictionary for OMA Specifications", Open Mobile Alliance™, OMA-ORG-Dictionary-V2_9, URL:http://www.openmobilealliance.org/

3. Terminology and Conventions

3.1. Conventions

The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this document are to be interpreted as described in [RFC2119].

All sections and appendixes, except "Scope" and "Introduction", are normative, unless they are explicitly indicated to be informative.

3.2. Definitions

Table: 3.2.-1 Definitions
Device Capability Physical characteristics and related parameters supported by a device.

3.3. Abbreviations

Table: 3.3.-1 Abbreviations
OMA Open Mobile Alliance

4. Introduction and Scope

M2M devices may support advanced features, such as various Sensors, various Controls, capabilities on Communication, on Visio, and even more. Use case could be to address the need of remotely adapting the M2M Device Capability according to a given level of subscription; in many circumstances also, Enterprises, regulations and others, have policies against the usage of some features but allow the use of other features available on such a M2M Device.

Device Capability Management aims at specifying the mechanisms required for the remote management of device capabilities, i.e. not only addressing the ability of remotely enable and disable device capabilities, but also to expose to Servers the capabilities of removable hardware when attached to the device.

The objective of this document is to specify an LWM2M object which allows to enable remote management of M2M device capabilities.

4.1. Version 1.0

4.1.1. Version 1.0.1

4.1.2. Version 1.0.2

4.1.3. Version 1.0.3

4.1.4. Version 1.0.4

Update TS to be aligned with SUP file.

5. Device Capability Management Functionality

The following basic device capability management functionalities can be considered:

  1. Enablement/Disablement of a given LwM2M Device capability
  2. Exposure of removable hardware capability of the LwM2M Device

5.1. LwM2M Device Capability general properties

The Group Resource specifies which kind of LwM2M Device Capability on this Device, is likely to be managed: 9 basic groups are identified for LwM2M Devices. Any LwM2M Device Capability should refer to one of the following categories:

Property Resource is a list of LwM2M capabilities within a given Group, which can be managed together (Enable/Disable) in the device.

The Vocabulary List of Group and Properties are provided in 0.

Description Resource just provides Device Manufacturer Text informations relative to a given Instance of the Device Capability Object.

5.2. LwM2M Device Capability Disable/Enable functionality

To be operational on a LwM2M Device, a manageable Device Capability MUST be in the ‘Enabled’ State which is reflected by the 'Enabled' resource set to ‘True’.

The opEnable and opDisable Resource used as commands by the LwM2M Server, MUST respectively transfer the Device Capability State to ‘Enabled’ and ‘Disabled’ state.

Figure: 5.2.-1 Device Capability Enablement

When a LwM2M Device Capability "Enabled" resource is under "Observation" ("OBSERVE" command [LwM2M]), the notification of the value change MUST be reported ("NOTIFY" command: [LwM2M]) to the Server, only if the value of “NotifyEn” Resource was set to ‘True’.

5.3. LwM2M Device Capability Attachment and Exposure functionalities.

Hardware may be not permanently present on a device. It can be plugged to and removed from a device. When a removable hardware is plugged on a LwM2M device, the Device has to "attach" that new hardware before being able to use it. When this Device attachment operation is successful, the LwM2M Client MUST set to ‘True’, the "Attached" Resource value of the associated LwM2M Device Capability Instance.

When the removable hardware is unplugged from the Device, the LwM2M Client MUST set to ‘False’ the “Attached” Resource value.

If the Notification capability is enable (NotifyEn set to ‘True’), and the "Attached" Resource is under "Observation", the Server MUST be notified (through the "NOTIFY" operation) when the "Attached" Resource state changed.

This "Attached" resource is optional, so when this resource is not present in a Device Capability Instance, it means this Device Capability Instance doesn’t manage removable hardware.

When the "Attached" resource is present in a Device Capability Instance and there is no removable associated to it, the "Attached" resource value MUST be permanently set to ‘True’.

For being operational on a Device, a manageable and removable Hardware MUST have its associated Device Capability Resources "Attached" and "Enabled" both set to ‘True’.

6. LwM2M Object: Device Capability Management

Description

This LWM2M Object is dedicated to manage the device capabilities of a device e.g. sensors, communication, etc.

Object definition

Table: 6.-1 LwM2M Object: DevCapMgmt object definition
Name Object ID Object Version LWM2M Version
DevCapMgmt 15 2.0 1.0
Object URN Instances Mandatory
urn:oma:lwm2m:oma:15:2.0 Multiple Optional

Resource definitions

Table: 6.-2 LwM2M Object: DevCapMgmt Resource definitions
ID Name Operations Instances Mandatory Type Range or Enumeration Units Description
0 Property R Single Mandatory String List of Device Capabilities inside a given Group. The format is a free list ASCII-represented integers separated by a semi colon. (e.g. 0;1;10) The list of capabilities per Group is given in Appendix B: Device Capabilities Vocabulary executable Resource can work with.
1 Group R Single Mandatory Integer 0..15 Group name of Device Capabilities 0: SENSOR: luminosity, presence,temp,humidity 1: CONTROL: Light, Power, Sound 2: CONNECTIVITY: Bluetooth, wifi, … 3: NAVIGATION: gps, galieo 4: STORAGE: external memory, 5: VISION: cam, video-cam, night_cam. 6: SOUND: speaker, buzzer 7: ANALOG_INPUT: generic input 8: ANALOG_OUTPUT: generic output 9..15: reserved
2 Description R Single Optional String Device Capability Description (manufacturer specified string)
3 Attached R Single Optional Boolean When the resource doesn’t exist, it means the associated Device Capability is not removable. When this resource is "False", it means the associated Device Capability is removable and is currently not attached to the device. When this resource is "True", it means the associated Device Capability - if removable - is currently attached to the Device. When a Device Capability is not removable, and the "Attached" Resource is present, the "Attached" value but be set to "True".
4 Enabled R Single Mandatory Boolean This resource indicates whether the Device Capability is enabled regardless whether the Device Capability is attached or not. If the value of this resource is "True" the Device Capability is in Enabled State. If the value is "False" the Device Capability is in Disabled State; The ‘Attached’ and ‘Enabled’ resources are independent. A Device Capability MAY have ‘True’ as value for ‘Enabled’ Resource while having ‘False’ as value for the ‘Attached’ Resource. That means the Device Capability is still not available and can’t be used until it is attached to the Device, but will be useable once the Device Capability is attached.
5 opEnable E Single Mandatory This command is used to enable the Device Capability to transfer the Device Capability from Disabled State to Enabled state. In Enabled State, the Device Capability is allowed to work when it is attached to the Device.
6 opDisable E Single Mandatory This command is used to disable the Device Capability to transfer the Device Capability from Enabled State to Disabled State. In Disabled state the Device Capability is not allowed to work.
7 NotifyEn RW Single Optional Boolean When the Resources "Enabled" or "Attached" are under "Observation", this resource specifies whether the LWM2M Server MUST be notified when the value of the Resource on "Observation" changed. If the Resource "NotifyEn" is not present or the value is ‘False’, the LWM2M Server will be not notified about this change. If the "NotifyEn" Resource is present and the value is ‘True’, the LWM2M Server will be notified.

7. Device Capability Management JSON Schema

{
    "$schema": "http://json-schema.org/draft-04/schema#",
    "title": "Device Capability Management",
    "description": " DevCapability ",
    "type": "object",
    "properties": {
        "Property": {
                         "description": "A list of Device Capabilities",
                         "type": "string",
                         "readonly": true
                 },
        "Group": {
                         "description": "Device Capabilities categories ",
               "type": "integer",
                          "enum": [SENSOR, CONTROL, CONNECTIVITY,NAVIGATION,STORAGE, VISION,
                                  ANALOG_INPUT, ANALOG_OUTPUT],
                          "readonly": true
        },
        "Description": {
            "description": "Manufacturer-specified string",
            "type": "string",
                            "readonly": true
        },
        "Attached": {
            "description": "Used for removable hardware capability",
            "type": "boolean",
                            "readonly": true
        },
        "Enabled": {
            "description": "Specifies if a Device Capability is operational",
            "type": "boolean",
                            "readonly": true
        },
        "opEnable": {
            "description": "Operation for enabling a Device Capability",
            "type": "boolean",
                            "writeonly": true
        },
        "opDisable": {
            "description": "Operation for disabling a Device Capability",
            "type": "boolean",
                            "writeonly": true
        },
        "NotifyEn": {
            "description": "Allow to Notify a Server when the Device Capability
                                            Enabled State is changing",
            "type": "boolean",
                            "writeonly": true
        },
    },
    "required": ["Property","Group","Enabled","OpEnable", "OpDisable"]
}

Appendix A. Change History (Informative)

A.1 Approved Version History

Table: A.1-1 Approved Version History
ReferenceDateDescription
OMA-TS-LWM2M_DevCapMgmt-V1_0-20150512-A 12 May 2015 Status changed to Approved by TP Ref # OMA-TP-2015-0080-INP_LWM2M_DevCapMgmt_V1_0_RRP_for_final_Approval
OMA-TS-LWM2M_DevCapMgmt-V1_0_1-20151123-A 23 Nov 2015 Status changed to Approved by TP Ref # OMA-TP-2015-0202-INP_LWM2M_DevCapMgmt_V1_0_1_RRP_for_Notification
OMA-TS-LWM2M_DevCapMgmt-V1_0_2-20170308-A 08 Mar 2017 Status changed to Approved by TP Ref # OMA-TP-2017-0021R01-INP_LWM2M_DevCapMgmt_1.0.2_for_Final_Approval_Notification
OMA-TS-LWM2M_DevCapMgmt-V1_0_3-20200616-A 16 Jun 2020 Status changed to Approved by DMSE WG DMSE WG Ref # OMA-DM&SE-2020-0018-INP_LWM2M_DevCapMgmt_V1_0_3_RRP_for_Final_Approval
OMA-TS-LWM2M_DevCapMgmt-V1_0_4-20201208-A 08 Dec 2020 Status changed to Approved by DMSE WG
DMSE WG Ref # 08 Dec 2020 Conference Call

Appendix B. Device Capabilities Vocabulary

Table: B.-1 Device Capabilities Groups and Properties
  LwM2M Device Capability Group Property ID Property
0 SENSOR 0x00 Luminosity
0x01 Presence
0x02 Temperature
0x03 Hygrometrie
0x04 Pressure
0x05-0x7F reserved
       
1 CONTROL 0x00 Light
0x01 Power
0x02 Sound
0x03-0x7F reserved
       
2 CONNECTIVITY 0x00 Bluetooth
0x01 Infrared
0x02 WLAN
0x03 NFC
0x03 CellNetwork
0x03-0x7F reserved
       
3 NAVIGATION 0x00 GPS
0x01 Galileo
0x02  
0x03  
0x04-0x7F reserved
       
4 STORAGE 0x00 Internal Memory
0x01 External Memory
0x02-0x7F reserved
0x02-0x7F reserved
       
5 VISION 0x00 Camera
0x01 Video Camera
0x02  
0x04-0x7F reserved
       
6 SOUND 0x00 Speaker
0x01 Buzzer
0x02 Microphone
0x03-0x7F reserved
       
7 ANALOG_INPUT 0x00-0xFF Property Proprietary Range
       
8 ANALOG_OUTPUT 0x00-0xFF Property Proprietary Range

Note: To each Property is associated 2 ID’s range: