|
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.
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.
[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 |
[OMADICT] | "Dictionary for OMA Specifications", Open Mobile Alliance™, OMA-ORG-Dictionary-V2_9, URL:http://www.openmobilealliance.org/ |
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.
Device Capability | Physical characteristics and related parameters supported by a device. |
OMA | Open Mobile Alliance |
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.
Update TS to be aligned with SUP file.
The following basic device capability management functionalities can be considered:
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.
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.
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’.
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’.
Description
This LWM2M Object is dedicated to manage the device capabilities of a device e.g. sensors, communication, etc.
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
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. |
{
"$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"]
}
Reference | Date | Description |
---|---|---|
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 |
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: