diff --git a/TS-0023-SDT_based_Information_Model_and_Mapping_for_Vertical_Industries.md b/TS-0023-SDT_based_Information_Model_and_Mapping_for_Vertical_Industries.md index cd55b3cc1edbef5ae7134f538e20dd5881a55703..ae5c50ecf85f04ea2eaace14fc48ed41431d8ba3 100644 --- a/TS-0023-SDT_based_Information_Model_and_Mapping_for_Vertical_Industries.md +++ b/TS-0023-SDT_based_Information_Model_and_Mapping_for_Vertical_Industries.md @@ -1,6 +1,6 @@ - + | | oneM2M Technical Specification | @@ -67,49 +67,34 @@ The following referenced documents are necessary, partially or totally, for the - <a name="_ref_2">[2]</a> Java coding rule. + NOTE: Available at [http://www.oracle.com/technetwork/java/codeconventions-135099.html](http://www.oracle.com/technetwork/java/codeconventions-135099.html). + - <a name="_ref_3">[3]</a> oneM2M TS-0001: "Functional Architecture". - <a name="_ref_4">[4]</a> oneM2M TS-0004: "Service Layer Core Protocol Specification" - <a name="_ref_5">[5]</a> oneM2M TS-0005: "Management Enablement (OMA)". -- <a name="_ref_6">[6]</a> ISO:80000-1: Quantities and units +- <a name="_ref_6">[6]</a> ISO:80000-1: Quantities and unit -- Part 1: General. - NOTE: Available at [http://www.oracle.com/technetwork/java/codeconventions-135099.html](http://www.oracle.com/technetwork/java/codeconventions-135099.html). + NOTE: Available at https://www.iso.org/search.html?q=80000-1. -- <a name="_ref_7">[7]</a> Open Mobile AllianceTM: "OMA-ER-Device_WebAPIs-V1_0-20160419-C". +- <a name="_ref_7">[7]</a> Open Mobile Alliance(tm): "OMA-ER-Device-WebAPIs-V1-0-20160419-C: "Enabler Release Definition for DWAPI 1.0". NOTE: Available at http://www.openmobilealliance.org/release/DWAPI/V1_0-20160419-C/OMA-ERELD-DWAPI_V1_0-20160419-C.pdf -- <a name="_ref_8">[8]</a> Open Mobile AllianceTM: "OMA-TS-Blood_Pressure_Monitor_APIs-V1_0-20160419-C". - - NOTE: Available at http://www.openmobilealliance.org/release/DWAPI/V1_0-20160419-C/OMA-TS-Blood_Pressure_Monitor_APIs-V1_0-20160419-C.pdf - -- <a name="_ref_9">[9]</a> Open Mobile AllianceTM: "OMA-TS-Glucometer_APIs-V1_0-20160419-C". - - NOTE: Available at http://www.openmobilealliance.org/release/DWAPI/V1_0-20160419-C/OMA-TS-Glucometer_APIs-V1_0-20160419-C.pdf - -- <a name="_ref_10">[10]</a> Open Mobile AllianceTM: "OMA-TS-Heart_Rate_Monitor_APIs-V1_0-20160419-C". - - NOTE: Available at http://www.openmobilealliance.org/release/DWAPI/V1_0-20160419-C/OMA-TS-Heart_Rate_Monitor_APIs-V1_0-20160419-C.pdf - -- <a name="_ref_11">[11]</a> Open Mobile AllianceTM: "OMA-TS-Pulse_Oximeter_APIs-V1_0-20160419-C". +- [8] void +- [9] void +- [10] void +- [11] void +- [12] void +- [13] void - NOTE: Available at http://www.openmobilealliance.org/release/DWAPI/V1_0-20160419-C/OMA-TS-Pulse_Oximeter_APIs-V1_0-20160419-C.pdf +- <a name="_ref_14">[14]</a> W3C Recommendation: "XML Schema Part 2: Datatypes Second Edition", 28 October 2004. -- <a name="_ref_12">[12]</a> Open Mobile AllianceTM: "OMA-TS-Thermometer_APIs-V1_0-20160419-C". + NOTE: Available at https://www.w3.org/TR/xmlschema-2/ . - NOTE: Available at http://www.openmobilealliance.org/release/DWAPI/V1_0-20160419-C/OMA-TS-Thermometer_APIs-V1_0-20160419-C.pdf - -- <a name="_ref_13">[13]</a> Open Mobile AllianceTM: "OMA-TS-Weight_Scale_Body_Composition_Analyzer_APIs-V1_0-20160419-C". - - NOTE: Available at http://www.openmobilealliance.org/release/DWAPI/V1_0-20160419-C/OMA-TS-Weight_Scale_Body_Composition_Analyzer_APIs-V1_0-20160419-C.pdf - -- <a name="_ref_14">[14]</a> W3C Recommendation: "XML Schema Part 2: Datatypes", 02 May 2001. - - NOTE: Available at [http://www.w3.org/XML/Schema/](http://www.w3.org/XML/Schema/). - -- <a name="_ref_15">[15]</a> NIST standard FIPS PUB 180-2 +- <a name="_ref_15">[15]</a> NIST standard FIPS PUB 180-4: "Secure Hash Standard (SHS)". - <a name="_ref_16">[16]</a> IETF RFC 4566: "SDP: Session Description Protocol". @@ -119,9 +104,9 @@ The following referenced documents are necessary, partially or totally, for the - <a name="_ref_18">[18]</a> Void -- <a name="_ref_19">[19]</a> Open Mobile AllianceTM: "OMA-ER-GotAPI-V1_1-20151215-C". +- <a name="_ref_19">[19]</a> Open Mobile Alliance(tm): "OMA-ER-GotAPI-V1-1-20151215-C: " Generic Open Terminal API Framework (GotAPI)". -- <a name="_ref_20">[20]</a> NIST SP 330:2019: "Special Publication 330 - The International System of Units (SI) 2019 Edition" +- <a name="_ref_20">[20]</a> NIST SP 330:2019: "The International System of Units (SI) 2019 Edition" NOTE: Available at [https://www.nist.gov/pml/special-publication-330](https://www.nist.gov/pml/special-publication-330) @@ -141,24 +126,42 @@ The following referenced documents are not necessary for the application of the NOTE: Available at [http://www.onem2m.org/images/files/oneM2M-Drafting-Rules.pdf](http://www.onem2m.org/images/files/oneM2M-Drafting-Rules.pdf). - <a name="_ref_i.2">[i.2]</a> oneM2M TR-0017: "Home Domain Abstract Information Model". + - <a name="_ref_i.3">[i.3]</a> Void. + - <a name="_ref_i.4">[i.4]</a> IEEE 802.15.4: "IEEE Standard for Local and metropolitan area networks--Part 15.4: Low-Rate Wireless Personal Area Networks (LR-WPANs)". + - <a name="_ref_i.5">[i.5]</a> oneM2M TS-0012: "Base Ontology". + - <a name="_ref_i.6">[i.6]</a> [https://en.wikipedia.org/wiki/Multiple_inheritance](https://en.wikipedia.org/wiki/Multiple_inheritance) + - <a name="_ref_i.7">[i.7]</a> [https://www.me.go.kr/home/web/index.do?menuId=10272&condition.code1=007](https://www.me.go.kr/home/web/index.do?menuId=10272&condition.code1=007) + - <a name="_ref_i.8">[i.8]</a> OCF DEVICE SPECIFICATION V1.3.0 NOTE: Available at [https://openconnectivity.org/specs/OCF_Device_Specification_v1.3.0.pdf](https://openconnectivity.org/specs/OCF_Device_Specification_v1.3.0.pdf) -- <a name="_ref_i.9">[i.9]</a> Ju-Hun Park, Hui Sik Kim, Sang-A Hong, Sun Young Jang, "A Study on the Definition of Terms for Domestic Train Control System", Korean Society for Railway, 2015, http://railway.or.kr/Papers_Conference/201502/pdf/KSR2015A114.pdf +- <a name="_ref_i.9">[i.9]</a> Ju-Hun Park, Hui Sik Kim, Sang-A Hong, Sun Young Jang, "A Study on the Definition of Terms for Domestic Train Control System", Korean Society for Railway, 2015. + + Note Available at http://railway.or.kr/Papers_Conference/201502/pdf/KSR2015A114.pdf + - <a name="_ref_i.10">[i.10]</a> CTCS-3??????????? (Overall technology plan Train Control System), ???????(Chinese Railway Press), 2008, ISBN: 9787113091590 -- <a name="_ref_i.11">[i.11]</a> oneM2M TR-0035: "Developer guide of device management" -- <a name="_ref_i.12">[i.12]</a> 3GPP TS 22.268: "Public Warning System (PWS) requirements (Release 16)". +- <a name="_ref_i.11">[i.11]</a> DSL Forum TR-069: "CPE WAN Management Protocol". + +- <a name="_ref_i.12">[i.12]</a> DSL Forum TR-181: "Broadband User Services (BUS)". + +- <a name="_ref_i.13">[i.13]</a> oneM2M TR-0035: "Developer guide of device management" + +- <a name="_ref_i.14">[i.14]</a> 3GPP TS 22.268: "Public Warning System (PWS) requirements (Release 16)". + +- <a name="_ref_i.15">[i.15]</a> oneM2M TS-0006: "Management enablement (BBF)" -# 3 Definitions and Abbreviations -## 3.1 Definitions + +# 3 Definition of terms, symbols and Abbreviations + +## 3.1 Terms For the purposes of the present document, the following terms and definitions apply: @@ -166,8 +169,12 @@ For the purposes of the present document, the following terms and definitions ap - ModuleClass ID: URN to identify the ModuleClass model definition. +## 3.2 Symbols + +Void. + -## 3.2 Abbreviations +## 3.3 Abbreviations For the purposes of the present document, the following abbreviations apply: `ATC Automatic Train Control` @@ -177,9 +184,7 @@ For the purposes of the present document, the following abbreviations apply: `GotAPI Generic Open Terminal Application Programming Interface` `DWAPI Device Web Application Programming Interface` `DWAPI-3DP Device Web Application Programming Interface for 3D printer` -`DWAPI-PCH Device Web Application Programming Interface for Personal Connected Healthcare` -`RBC Radio Block Centre` - +`DWAPI-PCH Device Web Application Programming Interface for Personal Connected Healthcare` @@ -198,12 +203,10 @@ The principle of defining the home appliance information model is introduced in ## 5.2 Design Principle of the Harmonised Information Model - <mark>Editor's note: this clause has to be updated (removed specific references to Home). Also, text added for this clause</mark> - - - ### 5.2.1 Basic design principle of information modelling +<mark>Editor's note: this clause has to be updated (removed specific references to Home). Also, text added for this clause</mark> + The design principle of the oneM2M abstract information model of home appliance, is to use SDT4.0 originally introduced in oneM2M TR0017 <a href="#_ref_i.2">[i.2]</a>. Note that those terms starting with a capital letter in this clause are SDT terms and are explained in <a href="#_ref_1">[1]</a>. Domain is a unique name which acts like a namespace (e.g., "org.oneM2M.home.modules"). It is set by the organization creating the SDT, allowing reference to a package of definitions for the contained ModuleClasses and DeviceClass models. @@ -214,9 +217,9 @@ DeviceClass model is a physical, addressable, identifiable appliance, sensor and SubDevice is a device which may be embedded in a DeviceClass and/or is addressed via another DeviceClass. -Figure 5.2.11 depicts the basic structure of SDT 4.0. Further details about SDT 4.0 and its elements can be found in <a href="#_ref_1">[1]</a>. +Figure 5.2.1-1 depicts the basic structure of SDT 4.0. Further details about SDT 4.0 and its elements can be found in <a href="#_ref_1">[1]</a>. -Specifications of new DeviceClass models and ModuleClasses are encouraged to re-use the definitions specified in this document as much as possible. If re-use is not possible and new DeviceClass and/or ModuleClases definitions are necessary, it is strongly advised to closely follow the guidelines and definition style from this document. +Specifications of new DeviceClass models and ModuleClasses are encouraged to re-use the definitions specified in the present document as much as possible. If re-use is not possible and new DeviceClass and/or ModuleClases definitions are necessary, it is strongly advised to closely follow the guidelines and definition style from the present document. @@ -225,7 +228,7 @@ Specifications of new DeviceClass models and ModuleClasses are encouraged to re- **Figure 5.2.1-1: Design Structure of the Home Appliance Information Model using SDT 4.0**- -The R/W column of the ModuleClasses's data point tables in clause 5.3 reflects the intentions of how a data point in a ModuleClass shall be used semantically. This is a "behavioral contract" between applications or users of the modeled devices on the semantic level. Further, the devices or IPE's (for NoDN) are expected to implement and control the mappings in clause 5.2.2 to implement this "behavioral contract". +The R/W column of the ModuleClasses' data point tables in clause 5.3 reflects the intentions of how a data point in a ModuleClass shall be used semantically. This is a "behavioural contract" between applications or users of the modelled devices on the semantic level. Further, the devices or IPE's (for NoDN) are expected to implement and control the mappings in clause 5.2.2 to implement this "behavioural contract". ### 5.2.2 Description rules for Module Classes and DeviceClasses @@ -254,13 +257,13 @@ When the Home Appliances Information Model is described based on SDT, the follow - Rule 5: Naming rule for the element: - - The name of each element should be concise and avoid repeating its parent element name; but - - It may include the name of its parent element for readability. (e.g., lightDimmerUp, lightDimmerDown under lightDimmer). - - All DeviceClasses, SubDevices, ModuleClasses, and Actions of a domain shall be uniquely named. + - the name of each element should be concise and avoid repeating its parent element name; but + - it may include the name of its parent element for readability. (e.g., lightDimmerUp, lightDimmerDown under lightDimmer); + - all DeviceClasses, SubDevices, ModuleClasses, and Actions of a domain shall be uniquely named. - Rule 6: Criteria for marking elements as optional or mandatory: - - An element shall only be defined as mandatory if it's foreseen to be universally mandatory to all implementing technologies. + - An element shall only be defined as mandatory if it is foreseen to be universally mandatory to all implementing technologies. - Rule 7: Enumeration type: @@ -271,11 +274,11 @@ When the Home Appliances Information Model is described based on SDT, the follow - Rule 8: Rule for unit in documentation : - - SI (International Systems of Units in <a href="#_ref_20">[20]</a>) measurement (e.g. meter, kilogram, second.) should be considered as first candidate. + - SI (International Systems of Units in <a href="#_ref_20">[20]</a>) measurement (e.g. metre, kilogram, second) should be considered as first candidate. - Otherwise, it may be kept consistency with implementing technologies such as other SDO's specification. - - Units of measures shall be given in the form of a shortcut compliant to table 5.2.1-1. + - Units of measures shall be given in the form of a shortcut compliant to table 5.2.2-1. -**Table 5.2.1-1: Shortcuts for units** +**Table 5.2.2-1: Shortcuts for units** |Original name |Short name |Explanation | |-|-|-| @@ -283,9 +286,9 @@ When the Home Appliances Information Model is described based on SDT, the follow |Ampere Hour |Ah | | |Bar |bar | | |Celsius |°C | | -|Centimeters |cm | | -|Cubic Meter |m3 | | -|Cubic meter per hour |m3/h | | +|Centimetres |cm | | +|Cubic metre |m3 | | +|Cubic metre per hour |m3/h | | |Decibel |dB | | |Decibel-milliwatts |dBm | | |Degrees |deg | | @@ -295,36 +298,36 @@ When the Home Appliances Information Model is described based on SDT, the follow |Hertz |Hz | | |Kilocalories |kcal | | |Kilocalories per hour |kcal/h | | -|Kilograms per square meter |kg/m2 | | +|Kilograms per square metre |kg/m2 | | |Kilopascal |kPa | | |kilovar |kvar | | |Kilowatt |kW | | -|Megabyte |MB |1 MB = 1024 * 1024 bytes | +|Megabyte |MB |1 MB = 1 024 x 1 024 bytes | |MegaHertz |MHz | | -|Meter |m | | -|Meters per second |m/s | | -|Milligram per cubic meter |mg/m3 | | -|Microgram per cubic meter |µg/m3 | | -|Milligram per deciliter |mg/dl | | -|Milligram per liter |mg/L | | -|Millimeter |mm | | -|Millimeter of mercury |mmHg | | +|Metre |m | | +|Metres per second |m/s | | +|Milligram per cubic metre |mg/m3 | | +|Microgram per cubic metre |µg/m3 | | +|Milligram per decilitre |mg/dl | | +|Milligram per litre |mg/L | | +|Millimetre |mm | | +|Millimetre of mercury |mmHg | | |Milliseconds |ms | | |Milliwatt per cubic centimetre |mW/cm2 | | |Minute |min | | -|Odor unit per cubic meter |OU/m3 | | +|Odour unit per cubic metre |OU/m3 | | |Ohm |ohm | | |Parts per million |ppm | | |Percent |pct | | |Picofarad |pF | | |Pixel |px | | |Seconds |s | | -|Siemens per meter |S/m | | +|Siemens per metre |S/m | | |Volt |V | | |Watt |W | | |Watt hour |Wh | | -<mark>Editor's note: Popular unit in particular industrial domain shall be considered (e.g. cm for human height, calories for energy consumption in healthcare domain). It shall be made coherent in the document, as possible.</mark> +<mark>NOTE: Popular unit in particular industrial domain should be considered (e.g. cm for human height, calories for energy consumption in healthcare domain). It should be made coherent in the present document, as possible.</mark> @@ -332,7 +335,7 @@ When the Home Appliances Information Model is described based on SDT, the follow - Measured and/or calculated values should be represented in float (without taking care of resolution of values). - <mark>Editor's note: It should be made coherent in the document, as possible. Unit shall not be fixed as a rule but be decided with correspondence to each DeviceClass or ModuleClass.</mark> + <mark>NOTE: It should be made coherent in the document, as possible. Unit should not be fixed as a rule but be decided with correspondence to each DeviceClass or ModuleClass.</mark> - Rule 10: Inheritance of ModuleClasses : @@ -342,16 +345,16 @@ When the Home Appliances Information Model is described based on SDT, the follow - Rule 11: When to differentiate between current and target Data Points in ModuleClasses: - Device operations, which are executed when setting data points to specific values, may take some time to reach the desired result. For example, setting a new temperature to a heater does not immediately change the room temperature, but it may take some time for the heater to increase the temperature. Therefore, it is sometimes necessary to distinguish between current and target data points. - - A ModuleClass must provide an additional "target" data point when the "current" data point ... - - is writable, and - - the functionality that is mapped to the data point is an operation, not a configuration function, and + - A ModuleClass shall provide an additional "target" data point when the "current" data point: + - is writable; and + - the functionality that is mapped to the data point is an operation, not a configuration function; and - the operation may take some time to start and/or to complete, or reach the desired result. - When a ModuleClass provides current and target data points then the name for the current data point must have the prefix "current", and the name for the target data point must have the prefix "target". Both data points must have the same suffix, for example "currentTemperature" and "targetTemperature". -- Rule 12: Algorithm to generate short names for DeviceClasses, ModuleClasses, Data Points, Actions +- Rule 12: Algorithm to generate short names for DeviceClasses, ModuleClasses, Data Points, Actions: - Every domain in oneM2M defines their own short names, i.e. there may exist the same short name in more than one domain, but these short names are distinguished by the domain prefix. - - Previous defined short names of the home domain, e.g. from a previous version of the specification, must be taken into account. They are assigned to the same original names. + - Previous defined short names of the home domain, e.g. from a previous version of the present document, must be taken into account. They are assigned to the same original names. - The algorithm to generate the short names from the original names works as follows: - The maximum length of a short name for TS-0023 is 5 characters. This length includes the optional appended distinguishing number (see below), but not the suffix for announced resources. - If the length of the original name is equal or less than 5 characters, then store the original name as an intermediate result. @@ -366,10 +369,9 @@ When the Home Appliances Information Model is described based on SDT, the follow - Short names for announced resources are created by taking the regular short name of the entity and appending the characters "Annc" to it. Short names for announced resources therefore have a maximum length of 9 characters. - Short names for [FlexContainerInstance] specializations for ModuleClasses, DeviceClasses, SubDeviceClasses, and Actions are created by taking the regular short name of the entity and appending the characters "Inst" to it. Short names for these resources therefore have a maximum length of 9 characters. -The following table provides some examples for short names that have been created by the described algorithm. - +Table 5.2.2-2 provides some examples for short names that have been created by the described algorithm. -**Table 5.2.1-2: Examples for original name to short name mappings** +**Table 5.2.2-2: Examples for original name to short name mappings** |Original name |short name | |-|-| @@ -384,11 +386,11 @@ The following table provides some examples for short names that have been create -- Rule 13: Rule for R/W column +- Rule 13: Rule for R/W column: - The value used in this column defines the interface as it applies to the user of this module. The entity that this module represents (device AE or IPE AE) can read or write to any or all of the datapoints as needed in order to implement the defined interface to the user. <accessControlPolicy> resources shall be defined to enforce access control to the datapoints of the module defined such that R in the R/W column has RETRIEVE accessControlOperations and RW in the R/W column has RETRIEVE and UPDATE accessControlOperations. -- Rule 14: Rule for Optional and Multiplicity +- Rule 14: Rule for Optional and Multiplicity: - The value used in the "Optional" column of ModuleClass definitions is mapped to the "optional" element attribute for SDT DataPoint elements. - The value used in the "Multiplicity" column of DeviceClass and SubDevice definitions is mapped to "minOccurs" and "maxOccurs" element attribute for SDT DeviceClass elements as follows: @@ -422,8 +424,8 @@ This ModuleClass provides capabilities for a 3D printer. |Name |Type |R/W |Optional |Unit |Documentation | |-|-|-|-|-|-| |printType |[hd:enum3DprinterTechnology](#561-hdenum3dprintertechnology) |R |false | |The type of printing technology (see clause [5.6.1](#561-hdenum3dprintertechnology)). | -|printSizeX |xs:float |R |false |mm |This data pointrepresents the maximum size of a printing object in the direction of X-axis. | -|printSizeY |xs:float |R |false |mm |This data poin represents the maximum size of printing object in the direction of Y-axis. | +|printSizeX |xs:float |R |false |mm |This data point represents the maximum size of a printing object in the direction of X-axis. | +|printSizeY |xs:float |R |false |mm |This data point represents the maximum size of printing object in the direction of Y-axis. | |printSizeZ |xs:float |R |false |mm |This data point represents the maximum size of printing object in the direction of Z-axis. | |network |xs:boolean |R |false | |This value indicates the Wide Area Network (WAN) connectivity of the 3D printer, such as Internet or GSM.<br />"False" indicates that the printer does not have network connectivity to a WAN. "True" indicates that the printer has WAN network connectivity. | |memorySize |xs:float |R |false |MB |This value represents the total memory size of the printer. <mark>The unit of measure is.</mark> | @@ -468,7 +470,7 @@ This ModuleClass provides capabilities for controlling the air flow of a device. |Name |Type |Readable |Optional |Unit |Documentation | |-|-|-|-|-|-| -|speed |xs:integer |RW |false | |The current speed level in the range of the [minSpeed, maxSpeed] data poins. | +|speed |xs:integer |RW |false | |The current speed level in the range of the [minSpeed, maxSpeed] data points. | |minSpeed |xs:integer |R |true | |The minimum value for the speed level. If not present, the default is 0. | |maxSpeed |xs:integer |R |true | |The maximum value for the speed level. If not present, the default is 100. | |verticalDirection |[hd:enumVerticalDirection](#5636-hdenumverticaldirection) |RW |true | |The vertical direction of the air flow (see clause [5.6.36](#5636-hdenumverticaldirection)). | @@ -497,6 +499,8 @@ This ModuleClasses provides capabilities to control and monitor the job modes of #### 5.3.1.6 airQualitySensor This ModuleClass provides capabilities for a monitoring sensor that measures the air quality. +<mark>Editor's note: Check the short names for this module class. They are not aligned</mark> + **Table 5.3.1.6-1: DataPoints of airQualitySense ModuleClass** @@ -504,13 +508,13 @@ This ModuleClass provides capabilities for a monitoring sensor that measures the |-|-|-|-|-|-| |monitoringEnabled |xs:boolean |RW |true | |The current status of monitoring. "True" indicates enabled, and "False" indicates not enabled. | |pm1 |xs:integer |R |true |µg/m3 |The concentration of particle matter under 1um.. The minimum value is 0. | -|pm25 |xs:integer |R |true |µg/m3 |The concentration of particle matter under 2.5um. The minimum value is 0. | +|pm25 |xs:integer |R |true |µg/m3 |The concentration of particle matter under 2,5um. The minimum value is 0. | |pm10 |xs:integer |R |true |µg/m3 |The concentration of particle matter under 10um. The minimum value is 0. | |tsp |xs:float |R |true |µg/m3 |Total suspended particle. | -|odor |xs:integer |R |true |OU/m3 |The concentration of odor that reflects air pollution. The minimum value is 0. | +|odor |xs:integer |R |true |OU/m3 |The concentration of odour that reflects air pollution. The minimum value is 0. | |humidity |xs:float |R |true |pct |The measured humidity. The minimum value is 0, and the maximum value is 100. | -|temperature |xs:float |R |ture |°C |The current temperature | -|airPressure |xs:float |R |ture |KPa |The air pressure. | +|temperature |xs:float |R |true |°C |The current temperature | +|airPressure |xs:float |R |true |KPa |The air pressure. | |co |xs:float |R |true |mg/m3 |This value indicates the CO level. | |co2 |xs:float |R |true |mg/m3 |This value indicates the CO2 level. | |ch2o |xs:float |R |true |µg/m3 |This value indicates the CH2O level. | @@ -519,14 +523,14 @@ This ModuleClass provides capabilities for a monitoring sensor that measures the |so2 |xs:float |R |true |µg/m3 |This value indicates the concentration of SO2. | |o3 |xs:float |R |true |µg/m3 |This value indicates the concentration of O3. | |noise |xs:float |R |true |dB |This value indicates the level of noise. | -|windDirection |xs:float |R |true |deg |The wind direction. The value range is [0-359]. North is 0.0 degrees, east is 90.0 degrees, south is 180.0 degrees, west is 270.0 degrees. | +|windDirection |xs:float |R |true |deg |The wind direction. The value range is [0-359]. North is 0,0 degrees, east is 90,0 degrees, south is 180,0 degrees, west is 270,0 degrees. | |windSpeed |xs:float |R |true |m/s |The wind speed | #### 5.3.1.7 alarmSpeaker -This ModuleClass provides the capabilites to initiate and monitor an alarm. +This ModuleClass provides the capabilities to initiate and monitor an alarm. **Table 5.3.1.7-1: DataPoints of alarmSpeaker ModuleClass** @@ -592,7 +596,7 @@ This ModuleClass provides capabilities to indicate the detection of low battery |-|-|-|-|-|-| |level |xs:integer |R |false |pct |The rounded percentage of the current charging level of a battery in the range of [0, 100]. 0 percentage shall mean that no charge remains. | |capacity |xs:integer |R |true |mAh |The total capacity of battery in mAh. | -|rechargeable |xs:boolean |R |true | |To indicate the battery is rechargeable or not. "True" inducates rechargeable. | +|rechargeable |xs:boolean |R |true | |To indicate the battery is rechargeable or not. "True" indicates rechargeable. | |charging |xs:boolean |R |true | |The status of charging. "True" indicates enabled, and "False" indicates not enabled. | |discharging |xs:boolean |R |true | |The status of discharging. "True" indicates charging, and "False" indicates not charging. | |lowBattery |xs:boolean |R |true | |To indicate that the battery is on a low charge level. | @@ -713,7 +717,7 @@ This ModuleClass provides capabilities to control and monitor a brewing process. #### 5.3.1.17 brightness -This ModuleClass provides capabilities to control and monitor the brightness of a light for example from a lamp. Brightness is scaled as a percentage. A lamp or a monitor can be adjusted to a level of light between very dim (0% is the minimum brightness) and very bright (100% is the maximum brightness). +This ModuleClass provides capabilities to control and monitor the brightness of a light for example from a lamp. Brightness is scaled as a percentage. A lamp or a monitor can be adjusted to a level of light between very dim (0 % is the minimum brightness) and very bright (100 % is the maximum brightness). **Table 5.3.1.17-1: DataPoints of brightness ModuleClass** @@ -735,7 +739,7 @@ This ModuleClass provides capabilities to control and monitor time and date info |-|-|-|-|-|-| |currentTime |xs:time |RW |false | |Information of the current time | |currentDate |xs:date |RW |false | |Information of the current date | -|currentTimeZone |xs:string |RW |true | |Name of current time zone according to the IANA Timezone data format (TZ) <a href="#_ref_17">[17]</a>, <mark>for example, "".</mark> | +|currentTimeZone |xs:string |RW |true | |Name of current time zone according to the IANA Timezone data format (TZ) <a href="#_ref_17">[17]</a>, for example, "America/New York". | @@ -820,14 +824,14 @@ This ModuleClass provides the capabilities to set the value of the Red, Green, a #### 5.3.1.24 colourSaturation -This ModuleClass provides cababilities to control and monitor a colour saturation value. +This ModuleClass provides capabilities to control and monitor a colour saturation value. **Table 5.3.1.24-1: DataPoints of colourSaturation ModuleClass** |Name |Type |R/W |Optional |Unit |Documentation | |-|-|-|-|-|-| -|colourSaturation |xs:integer |RW |false |pct |The status of colour saturation level. "colourSaturation" has a range of [0,100]. A "colourSaturation" value of 0 means that a device displays or produces black and white images. A "colourSaturation" value of 50 means that a device displays or produces normal colour images. A "colourSaturation" value of 100 means that a device displays or produces very colourfull images. | +|colourSaturation |xs:integer |RW |false |pct |The status of colour saturation level. "colourSaturation" has a range of [0,100]. A "colourSaturation" value of 0 means that a device displays or produces black and white images. A "colourSaturation" value of 50 means that a device displays or produces normal colour images. A "colourSaturation" value of 100 means that a device displays or produces very colourful images. | @@ -842,20 +846,20 @@ This ModuleClass provides capabilities to monitor network connectivity. |Name |Type |R/W |Optional |Unit |Documentation | |-|-|-|-|-|-| -|rsrp |xs:integer |R |false |dBm |Reference signal received power (RSRP) is a measurement of the received power level in an cell network. | +|rsrp |xs:integer |R |false |dBm |Reference signal received power (RSRP) is a measurement of the received power level in an LTE cell network. | |rsrq |xs:integer |R |true |dB |Reference signal received quality (RSRQ) indicates the quality of the received reference signal. RSRQ is defined as the ratio NxRSRP/(E-UTRA carrier RSSI), where N is the number of RB's of the E-UTRA carrier RSSI measurement bandwidth. The measurements in the numerator and denominator shall be made over the same set of resource blocks. | |cellID |xs:integer |R |true | |Serving Cell ID in case Network Bearer Resource is a Cellular Network. | |rssi |xs:integer |R |true |dBm |In telecommunications, received signal strength indicator (RSSI) is a measurement of the power present in a received radio signal. | |signalECL |xs:integer |R |true | |Based on measurements of the reference signal's received power, the UE will select an entry coverage enhancement level (ECL) to camp into the cell. The coverage level will determine the Narrowband Physical Random Access Channel (NPRACH) resources used by the device and will inform the eNB of the device receiver sensitivity conditions. | |sinr |xs:integer |R |true |dB |Signal to interference plus noise ratio (SINR) is commonly used in wireless communication as a way to measure the quality of wireless connections. | -|pci |xs:string |R |true | |Physical Cell ID is an indentification of a cell at physical layer. | -|dailyActivityTime |xs:integer |R |true |s |Daily communication time (Starts at 00:00h) | -|dailyNumberOfConnections |xs:integer |R |true | |Daily number of connections (Starts at 00:00h) | +|pci |xs:string |R |true | |Physical Cell ID is an identification of a cell at physical layer. | +|dailyActivityTime |xs:integer |R |true |s |Daily communication time (Starts at 00:00h). | +|dailyNumberOfConnections |xs:integer |R |true | |Daily number of connections (Starts at 00:00h). | |commFreqValue |xs:integer |R |true |MHz |Communication frequency value (commFreqValue) is the transmission frequency of the wireless signal. | |currentCycleBeginn |xs:datetime |R |true | |A timestamp that indicates the beginning of the current cycle for counting the transfer volumina and transmission errors. | -|currentCycleVolume |xs:integer |R |true |bytes |Number of bytes transferred since currentCycleBeginn<br /> | -|currentCycleTransmissionErrors |xs:integer |R |true | |Number of transmission errors since currentCycleBeginn<br /> | -|minimumCommunicationLatency |xs:integer |R |true |s |The minimum time delay between the last communication attempt | +|currentCycleVolume |xs:integer |R |true |bytes |Number of bytes transferred since currentCycleBeginn. | +|currentCycleTransmissionErrors |xs:integer |R |true | |Number of transmission errors since currentCycleBeginn. | +|minimumCommunicationLatency |xs:integer |R |true |s |The minimum time delay between the last communication attempt. | @@ -979,7 +983,7 @@ This ModuleClass provides information about generation data on electric generato |Name |Type |R/W |Optional |Unit |Documentation | |-|-|-|-|-|-| -|powerGenerationData |xs:float |R |true |W |Amount of instaneous generation data. | +|powerGenerationData |xs:float |R |true |W |Amount of instantaneous generation data. | |roundingEnergyGeneration |xs:integer |R |true | |This energy consumption data is calculated by multiplying significantDigits with multiplyingFactors, and rounding down the result. | |significantDigits |xs:integer |R |true | |The number of effective digits for data. | |multiplyingFactors |xs:floatr |R |true | |The unit for data multiplying factors, for example 1 kWh, 0,1 kWh, 0,01 kWh etc. | @@ -1012,7 +1016,7 @@ This ModuleClass is for monitoring filter information of a device. |-|-|-|-|-|-| |usedTime |xs:integer |R |false | |The cumulative used time in seconds of a filter | |needsReplacement |xs:boolean |R |true | |This value indicates that the filter needs to be replaced. | -|filterLifetime |xs:integer |R |true |pct |Percentage life time remaining for the water filter. | +|filterLifetime |xs:integer |R |true |pct |Percentage lifetime remaining for the water filter. | @@ -1078,8 +1082,8 @@ This ModuleClass provides capabilities to set service parameters of a gas meter. |lowGasAlarm |xs:boolean |R |true | |The alarm of insufficient amount of gas. | |lowCreditAlarm |xs:boolean |R |true | |The alarm of insufficient amount of money. | |leakageAlarm |xs:boolean |R |true | |The alarm of gas leakage. | -|lockedDownAlarm |xs:boolean |R |true | |The alarm of the gasmeter being locked. When the gas meter is in use, the lower wheel does not work, called the "dead meter". | -|largeFlowAlarm |xs:boolean |R |true | |The alarm of large flow occurring. The instantaneous flow passed exceeds the setting maximum flow of the gasmeter. | +|lockedDownAlarm |xs:boolean |R |true | |The alarm of the gas meter being locked. When the gas meter is in use, the lower wheel does not work, called the "dead meter". | +|largeFlowAlarm |xs:boolean |R |true | |The alarm of large flow occurring. The instantaneous flow passed exceeds the setting maximum flow of the gas meter. | |magneticDisturb |xs:boolean |R |true | |The alarm of magnetic interference occurring. | |singleCountAlarm |xs:boolean |R |true | |The alarm of single reed switch counting. The normal condition is that the double reed switches are working. If only a single reed switch is working, it means that the metering has a problem and shall fire the alarm. | @@ -1097,7 +1101,7 @@ This ModuleClass provides information of measurements of a gas meter. |Name |Type |R/W |Optional |Unit |Documentation | |-|-|-|-|-|-| |totalUseValue |xs:float |R |false |m3 |The total consumption of gas. | -|valveStatus |xs:boolean |R |true | |The status of gasmeter valve.<br />"True": open<br />"False": close | +|valveStatus |xs:boolean |R |true | |The status of the gas meter valve.<br />"True": open<br />"False": close | @@ -1113,7 +1117,7 @@ This ModuleClass provides the capability to get or set geo-location information. |latitude |xs:float |RW |false |deg |The current latitude part of a geo-location. | |longitude |xs:float |RW |false |deg |The current longitude part of a geo-location. | |altitude |xs:float |RW |true |m |The optional current altitude part of a geo-location. | -|heading |xs:float |RW |true | |The azimuth of a device measured in degrees to true north. North is 0.0 degrees, east is 90.0 degrees, south is 180.0 degrees, west is 270.0 degrees. A negative value indicates an unknown heading. | +|heading |xs:float |RW |true | |The azimuth of a device measured in degrees to true north. North is 0,0 degrees, east is 90,0 degrees, south is 180,0 degrees, west is 270.0 degrees. A negative value indicates an unknown heading. | |horizontalAccuracy |xs:float |R |true | |The optional current horizontal accuracy of the geo-location. The unit of measures is meters and describes a radius around the latitude/longitude coordinate. | |verticalAccuracy |xs:float |R |true |m |The optional current vertical accuracy of the altitude. | |headingAccuracy |xs:float |R |true |deg |The optional current maximum deviation between the heading and the true geomagnetic heading. | @@ -1138,10 +1142,10 @@ This ModuleClass provides the capability to report the measurement of glucose ch |contextMedication |xs:float |R |true |mg/dl |The measurement of context medication by Glucometer. | |contextCarbohydratesAmount |xs:float |R |true |g |The measurement of context carbohydrates by Glucometer. | |contextCarbohydratesSource |xs:string |R |true | |The timing of meals (for example "breakfast carbohydrates"). | -|contextMeal |xs:string |R |true | |The style of meals (for examople "casual"). | +|contextMeal |xs:string |R |true | |The style of meals (for example "casual"). | |contextLocation |xs:string |R |true | |The body location where the Glucometer is worn (for example "finger"). | |contextTester |xs:string |R |true | |The test style (for example "self"). | -|contextHealth |xs:string |R |true | |The severity of symptoms (for example "minor"), | +|contextHealth |xs:string |R |true | |The severity of symptoms (for example "minor"). | @@ -1211,14 +1215,14 @@ This ModuleClass describes the capabilities on an impact sensor. The impact is a |-|-|-|-|-|-| |impactStatus |xs:boolean |R |false | |The "impactStatus" indicates as follows:<br />"True" means that a physical impact is detected, "False" means indicates a normal status (no impact detected). | |impactLevel |xs:float |R |true | |The "impactLevel" provides the level of impact. The unit of measure is "g" (G-force). | -|impactDirectionHorizontal |xs:float |R |true | |The "impactDirection" indicates the horizontal direction where the impact comes from. The value is 0° to 360°. 0 is the front of the sensor and with clockwise increment. | -|impactDirectionVertical |xs:float |R |true | |The "impactDirection" indicates the vertical direction where the impact comes from. The value is 0° to 360°. 0 is the front of the sensor and with upward increment. | +|impactDirectionHorizontal |xs:float |R |true | |The "impactDirection" indicates the horizontal direction where the impact comes from. The value is 0 to 360 degrees. 0 is the front of the sensor and with clockwise increment. | +|impactDirectionVertical |xs:float |R |true | |The "impactDirection" indicates the vertical direction where the impact comes from. The value is 0 to 360 degrees. 0 is the front of the sensor and with upward increment. | #### 5.3.1.48 keepWarm -This module allows to control the 'keep warm' feature in devices like coffe machines, kettles etc. It allows to keep water warm for a desired time. This ModuleClass inherits from [binarySwitch](#53112-binaryswitch) (see clause [5.3.1.12](#53112-binaryswitch)) to store setting for the 'keep warm' feature. If the "powerState" data point in a keepWarmSwitch is "True" then the 'keep warm' function will be performed just after boiling (or heating) process is finished (otherwise this function will not be applied). +This module allows to control the 'keep warm' feature in devices like coffee machines, kettles etc. It allows to keep water warm for a desired time. This ModuleClass inherits from [binarySwitch](#53112-binaryswitch) (see clause [5.3.1.12](#53112-binaryswitch)) to store setting for the 'keep warm' feature. If the "powerState" data point in a keepWarmSwitch is "True" then the 'keep warm' function will be performed just after boiling (or heating) process is finished (otherwise this function will not be applied). **Table 5.3.1.48-1: DataPoints of keepWarm ModuleClass** @@ -1309,7 +1313,7 @@ This ModuleClass provides the capabilities to indicate the occurrence of motion |Name |Type |R/W |Optional |Unit |Documentation | |-|-|-|-|-|-| |alarm |xs:boolean |R |false | |The detection of the motion occurrence. | -|silentTime |xs:integer |RW |true |s |The time that a motionSensor restrains from sending an alarm in case continous motions are detected after one alarm is produced. This data point can be used to avoid repeated alarm reports. | +|silentTime |xs:integer |RW |true |s |The time that a motionSensor restrains from sending an alarm in case continuous motions are detected after one alarm is produced. This data point can be used to avoid repeated alarm reports. | |sensitivity |xs:integer |RW |true | |The level of the detection accuracy of the motion sensor. This data point can be used to control the number of the report. | @@ -1337,8 +1341,8 @@ This ModuleClass provides the capabilities to represent a number. It also has ca |numberValue |xs:float |RW |false | |The actual value of the number. | |minValue |xs:float |RW |true | |The optional minimum value of the number. The default is the system-specific minimum value for a float value. | |maxValue |xs:float |RW |true | |The optional maximum value of the number. The default is the system-specific maximum value for a float value. | -|defaultValue |xs:float |RW |true | |The optional default value for the number. The default is 0.0 . | -|step |xs:float |RW |true | |The optional step size for controlled increment and decrement. The default is 1.0 , even when this data point is not implemeneted. | +|defaultValue |xs:float |RW |true | |The optional default value for the number. The default is 0,0 . | +|step |xs:float |RW |true | |The optional step size for controlled increment and decrement. The default is 1.0 , even when this data point is not implemented. | @@ -1385,7 +1389,6 @@ This ModuleClasses provides capabilities to control or monitor the operation mod #### 5.3.1.58 overcurrentSensor This ModuleClass provides capabilities for an over-current sensor. - **Table 5.3.1.58-1: DataPoints of overcurrentSensor ModuleClass** |Name |Type |R/W |Optional |Unit |Documentation | @@ -1421,7 +1424,7 @@ This ModuleClass provides capabilities for an ozone meter. The "ozoneValue..." a |ozoneValuePPM |xs:float |R |true |ppm | | |ozoneValueMG |xs:float |R |true |mg/m | | |ozoneStatus |[hd:enumOzoneStatus](#5626-hdenumozonestatus) |R |true | |The ozoneStatus indicates the level of ozone status. (see clause [5.6.26](#5626-hdenumozonestatus)). | -|maxValue |xs:float |R |true | |The mazimum value shows the measurement range of the ozone meter (for example maxValue=5 means the range is 0 to 5 ppm). This attribute is only used that the ozoneMeter provides "ppm" value. | +|maxValue |xs:float |R |true | |The maximum value shows the measurement range of the ozone meter (for example maxValue=5 means the range is 0 to 5 ppm). This attribute is only used that the ozone meter provides "ppm" value. | @@ -1438,7 +1441,7 @@ This ModuleClass provides capabilities to set service parameters for parking det |-|-|-|-|-|-| |detectionInterval |xs:integer |RW |false |s |Time interval for detecting the geomagnetic field strength. | |initialMagnetic |xs:float |RW |true | |The value of initial geomagnetic field strength, which is usually set when the parking detector is initially installed. It may be reset later if the geomagnetic field strength of the local environment is affected by other factors. The value is used as the reference threshold to determine the parkingStatus. When the parking detector detects that the strength of the magnetic field is greater than the initialMagnetic, the parkingStatus is set to "true", otherwise, the parkingStatus is set to "false". | -|magneticSensitivityLevel |xs:integer |RW |true | |The level of detection sensitivity. It's implementation specific. | +|magneticSensitivityLevel |xs:integer |RW |true | |The level of detection sensitivity. It is implementation specific. | |highMagneticAlarm |xs:boolean |R |false | |The alarm of high magnetic interference. The alarm threshold is implementation specific. | @@ -1478,7 +1481,7 @@ This ModuleClass provides capabilities to set parameters of periodic report. #### 5.3.1.64 phoneCall -This ModuleClass provides the capability get or set the caller and receipient IDs as well as to initate and terminate a call. +This ModuleClass provides the capability get or set the caller and recipient IDs as well as to initiate and terminate a call. **Table 5.3.1.64-1: Actions of phoneCall ModuleClass** @@ -1496,7 +1499,7 @@ This ModuleClass provides the capability get or set the caller and receipient ID |Name |Type |R/W |Optional |Unit |Documentation | |-|-|-|-|-|-| -|callerID |xs:string |RW |false | |This data point represents the initiating caller identification of a call. In case of an outgoing call this would be the local line ID. This data point is optional. When it is empty for an incomming call, then the caller ID is unknown. When it is empty for an outgoing call, then it is exepected that it is set by the PBX or the operator. The format of caller ID is not specified here. | +|callerID |xs:string |RW |false | |This data point represents the initiating caller identification of a call. In case of an outgoing call this would be the local line ID. This data point is optional. When it is empty for an incoming call, then the caller ID is unknown. When it is empty for an outgoing call, then it is expected that it is set by the PBX or the operator. The format of caller ID is not specified here. | |recipientID |xs:string |RW |false | |This data point represents the receiving caller identification of a call. In case of an incoming call this would be the local line ID and optionally extension. The format of caller ID is not specified here. | |callState |[hd:enumCallState](#566-hdenumcallstate) |R |true | |This data point represents the current state of an associated phone device regarding calls. | @@ -1550,7 +1553,7 @@ This ModuleClass provides the capabilities for monitoring printing list informat |Name |Type |R/W |Optional |Unit |Documentation | |-|-|-|-|-|-| -|uri |list of xs:uri |trueR |false | |The URI of the printing file. The URI could be "file://www.example.com/file.extension" | +|uri |list of xs:uri |trueR |false | |The URI of the printing file. The URI could be "file://www.example.com/file.extension". | |printingState |list of [hd:enumJobState](#5623-hdenumjobstate) |R |false | |The printingState is indicating the status of the printing file. <br><mark>Editor Note: Better mapping explanation needed. This doesn't seem to be the same as the usual list of enums used in other ModuleClasses</mark> | @@ -1563,9 +1566,9 @@ This ModuleClass provides the capability to report the measurement of pulse char |Name |Type |R-W |Optional |Unit |Documentation | |-|-|-|-|-|-| -|pulseRate |xs:float |R |false |bpm |The measurement of pulserate by pulsemeter. | -|rr |xs:float |R |true |ms |The measurement of RR interval by pulsemeter. | -|energy |xs:float |R |true |kcal/h |The measurement of energy by pulsemeter. | +|pulseRate |xs:float |R |false |bpm |The measurement of pulserate by pulse meter. | +|rr |xs:float |R |true |ms |The measurement of RR interval by pulse meter. | +|energy |xs:float |R |true |kcal/h |The measurement of energy by pulse meter. | |modality |xs:string |R |true | |The modality of a particular SpO2 measurement. | @@ -1608,7 +1611,7 @@ This ModuleClass provides capabilities for a refrigeration function. |rapidFreeze |xs:boolean |RW |true | |Controls the rapid freeze capability. "True" indicates active, "False" indicates inactive. | |rapidCool |xs:boolean |RW |true | |Controls the rapid cool capability. "True" indicates active, "False" indicates inactive. | |defrost |xs:boolean |RW |true | |Controls the defrost cycle. "True" indicates active, "False" indicates inactive. | -|deodorize |xs:boolean |RW |true | |Controls the deodorize cycle. "True" indicates active, "False" indicates inactive. | +|deodorize |xs:boolean |RW |true | |Controls the deodourize cycle. "True" indicates active, "False" indicates inactive. | |degerm |xs:boolean |RW |true | |Controls the degerm cycle. "True" indicates active, "False" indicates inactive. | @@ -1622,7 +1625,7 @@ This ModuleClass provides the capability for a device to report the humidity bas |Name |Type |R/W |Optional |Unit |Documentation | |-|-|-|-|-|-| -|relativeHumidity |xs:float |R |false |pct |The measurement of the relative humidity value | +|relativeHumidity |xs:float |R |false |pct |The measurement of the relative humidity value. | |desiredHumidity |xs:float |RW |true |pct |Desired value for humidity. This data point indicates the desired humidity. | @@ -1688,7 +1691,7 @@ This ModuleClasses provides capabilities to control and monitor a security mode. #### 5.3.1.77 sessionDescription -This ModuleClass provides the capabilities for a sessionDescription containing a URL at twhich the specified media can be accessed and the definition of media using SDP. +This ModuleClass provides the capabilities for a sessionDescription containing a URL at which the specified media can be accessed and the definition of media using SDP. **Table 5.3.1.77-1: DataPoints of mediaType ModuleClass** @@ -1696,7 +1699,7 @@ This ModuleClass provides the capabilities for a sessionDescription containing a |Name |Type |R/W |Optional |Unit |Documentation | |-|-|-|-|-|-| |url |xs:uri |R |true | |A URL at which the specified media can be accessed. | -|sdp |xs:string |R |true | |Media description using SDP. One or more comma separated multiple SDP lines (SDP media or attribute line) can be included using SDP description syntax as defined in the SDP specification in RFC4566 <a href="#_ref_16">[16]</a>. | +|sdp |xs:string |R |true | |Media description using SDP. One or more comma separated multiple SDP lines (SDP media or attribute line) can be included using SDP description syntax as defined in the SDP specification in IETF RFC4566 <a href="#_ref_16">[16]</a>. | @@ -1709,7 +1712,7 @@ This ModuleClass provides the capability to monitor the strength of the signal. |Name |Type |R/W |Optional |Unit |Documentation | |-|-|-|-|-|-| -|lqi |xs:integer |R |false |pct |The current value of link quality indicator, which reflects the scaling of rssi by dividing the received signal strength over reference signal strength. The common unit for lqi is percentage [0,100]. For the detailed definition, please see IEEE 802.15.4 <a href="#_ref_i.4">[i.4]</a>, clause 6.7.8. | +|lqi |xs:integer |R |false |pct |The current value of link quality indicator, which reflects the scaling of rssi by dividing the received signal strength over reference signal strength. The common unit for lqi is percentage [0,100]. For the detailed definition, see IEEE 802.15.4 <a href="#_ref_i.4">[i.4]</a>, clause 6.7.8. | |rssi |xs:float |R |true | |The current value of received signal strength indicator, which reflects the raw signal level. | NOTE: Need further study for this module class. @@ -1757,8 +1760,8 @@ This ModuleClass provides capabilities to set service parameters. |lightCount |xs:integer |RW |true | |Number of lampholders controlled by the street light controller. | |timePlanStatus |xs:boolean |RW |true | |"False" indicates the time plan is not used. "True" indicates the time plan is being used. | |timeRangeCount |xs:integer |RW |true | |The number of time ranges for the time plan. | -|timeRange |list of xs:time |RW |true | |A array of sequencial time points which define the time plan. Each time point is the start time of the next time range as well as the end of previous time range in the time plan. | -|timeRangeLightDimmingValue |list of xs:string |RW |true | |A array containing the dimming values in different time ranges. In the case that lightCount is larger than 1, it is a 2-dimentional array describing the dimming value of each lampholder in each time range.<br /><mark>Editor's Note: the data type is FFS for this datapoint.</mark> | +|timeRange |list of xs:time |RW |true | |An array of sequential time points which define the time plan. Each time point is the start time of the next time range as well as the end of previous time range in the time plan. | +|timeRangeLightDimmingValue |list of xs:string |RW |true | |An array containing the dimming values in different time ranges. In the case that lightCount is larger than 1, it is a 2-dimentional array describing the dimming value of each lampholder in each time range. | @@ -1783,7 +1786,7 @@ This ModuleClass provides information of status of the street light controller. |lightActivePower |xs:float |R |true |kW |Active power is the electrical power required to keep the electrical equipment running normally, that is, the electrical power that converts electrical energy into other forms of energy, such as mechanical, optical, thermal, and so on. | |lightReactivePower |xs:float |R |true |kVA |The reactive power is the electrical power required to establish an alternating magnetic field and induced magnetic flux. | |lightApparentPower |xs:float |R |true |kVA |This value indicates the apparent power that is mainly used to calculate the energy consumption of the street light. | -|lightPolarizationAxis |xs:float |R |true |degree |The angle of the polarization axis in case street light devices support this feature.<br />The PolarizationAxis is measured starting from <mark>Editors Note: DESCRIPTION NEEDED</mark> | +|lightPolarizationAxis |xs:float |R |true |degree |The angle of the polarization axis in case street light devices support this feature. | |colourTemperature |xs:integer |R |true |K |The current colour temperature of the street lights. | |lampTechnology |xs:string |R |true | |A string that indicates the type of lamp technology that is used in the street lamps, e.g. "LED", "Tungsten", etc | @@ -1812,9 +1815,9 @@ This ModuleClass provides the capabilities to indicate the detection of smoke an |detectedTime |m2m:timestamp |RW |true | |The date and time the smoke is detected. | |smokeThreshhold |xs:integer |RW |true |ppm |The threshhold to trigger the alarm. | |currentValue |xs:integer |R |true | |The current data value of the smoke sensor. | -|sensorFault |xs:boolean |R |true | |"True" indicates the sensor fault status of smoke sensor. "False" indicates the sensor fault of smoke sensor has beenis eliminated. | -|lowVoltage |xs:boolean |R |true | |"True" indicates the low voltage status of smoke sensor. "False" indicates the low voltage alarm of smoke sensor has beenis eliminated. | -|dismantled |xs:boolean |R |true | |"True" indicates the smoke sensor is dismantled. "False" indicates the dismantled alarm of smoke sensor has beenis eliminated. | +|sensorFault |xs:boolean |R |true | |"True" indicates the sensor fault status of smoke sensor. "False" indicates the sensor fault of smoke sensor has been eliminated. | +|lowVoltage |xs:boolean |R |true | |"True" indicates the low voltage status of smoke sensor. "False" indicates the low voltage alarm of smoke sensor has been eliminated. | +|dismantled |xs:boolean |R |true | |"True" indicates the smoke sensor is dismantled. "False" indicates the dismantled alarm of smoke sensor has been eliminated. | |powerOn |xs:boolean |R |true | |"True" indicates the smoke sensor is powered on. "False" is invalid. | @@ -1882,7 +1885,7 @@ This ModuleClass provides capabilities to set and get channels of a device that |Name |Type |R/W |Optional |Unit |Documentation | |-|-|-|-|-|-| |channelNumber |xs:integer |RW |false | |Current channel number. | -|availableChannels |list of xs:integer |R |true | |The list of available channel numbers which may be build by automatic scan and/or manual selction. | +|availableChannels |list of xs:integer |R |true | |The list of available channel numbers which may be build by automatic scan and/or manual selection. | |previousChannel |xs:integer |R |true | |The channel number which was selected previously. | |channelName |xs:string |R |true | |Current human-friendly channel name in string, for example 'CNN'. | @@ -1890,7 +1893,7 @@ This ModuleClass provides capabilities to set and get channels of a device that #### 5.3.1.87 temperature -This ModuleClass provides capabilities to represent the current temperature and target temperature of devices such as an air conditioner, refrigerator, oven etc. +This ModuleClass provides capabilities to represent the current temperature and target temperature of devices such as an air conditioner, refrigerator, oven, etc. **Table 5.3.1.87-1: DataPoints of temperature ModuleClass** @@ -1899,7 +1902,7 @@ This ModuleClass provides capabilities to represent the current temperature and |-|-|-|-|-|-| |currentTemperature |xs:float |R |false | |The current temperature. | |targetTemperature |xs:float |RW |true | |The desired temperature to reach. | -|unit |[hd:enumTemperatureUnit](#5640-hdenumtemperatureunit) |RW |true |C or F or K |Default values is 'C' | +|unit |[hd:enumTemperatureUnit](#5640-hdenumtemperatureunit) |RW |true |C or F or K |Default values is 'C'. | |minValue |xs:float |R |true | |Minimum value of "targetTemperature". | |maxValue |xs:float |R |true | |Maximum value of "targetTemperature". | |stepValue |xs:float |R |true | |Step value allowed for "targetTemperature". | @@ -1917,14 +1920,14 @@ This ModuleClass provides the capabilities to indicate the detection of abnormal |Name |Type |R/W |Optional |Unit |Documentation | |-|-|-|-|-|-| -|unit | [hd:enumTemperatureUnit](#5640-hdenumtemperatureunit) |RW |true |C or F or K |Default value is 'C' | +|unit | [hd:enumTemperatureUnit](#5640-hdenumtemperatureunit) |RW |true |C or F or K |Default value is 'C'. | |temperature |xs:float |R |true |Defined in the datapoint 'unit' |To report the value of the temperature. | | | | | | | | -|highTemperatureAlarm |xs:boolean |R |false | |High temperature alarm | +|highTemperatureAlarm |xs:boolean |R |false | |High temperature alarm. | |highTemperatureAlarmThreshold |xs:float |RW |true |Defined in the datapoint 'unit' |The threshold of maximum temperature alarm. | -|lowTemperatureAlarm |xs:boolean |R |false | |Low temperature alarm | +|lowTemperatureAlarm |xs:boolean |R |false | |Low temperature alarm. | |lowTemperatureAlarmThreshold |xs:float |RW |true |Defined in the datapoint 'unit' |The threshold of minimum temperature alarm. | -|alarmTimestamp |xs:datetime |R |true | |The timestamp since the alarm is active | +|alarmTimestamp |xs:datetime |R |true | |The timestamp since the alarm is active. | @@ -1987,14 +1990,14 @@ This ModuleClass provides capabilities to monitor and control the times when the #### 5.3.1.91 turbo -This ModuleClass provides capabilities to enable turbo mode and monitor the current status of the turbo function. It is intended to be part of devices which use turbo function such as an air conditioner, a washing machine etc. +This ModuleClass provides capabilities to enable turbo mode and monitor the current status of the turbo function. It is intended to be part of devices which use turbo function such as an air conditioner, a washing machine, etc. **Table 5.3.1.91-1: DataPoints of turbo ModuleClass** |Name |Type |R/W |Optional |Unit |Documentation | |-|-|-|-|-|-| -|turboEnabled |xs:boolean |RW |false | |The current status of the turbo mode. "True" indicates enabaled, and "False" indicates not enabled. | +|turboEnabled |xs:boolean |RW |false | |The current status of the turbo mode. "True" indicates enabled, and "False" indicates not enabled. | @@ -2027,7 +2030,7 @@ This ModuleClass provides capabilities for controlling the water strength of a d #### 5.3.1.94 waterMeterAlarm -This ModuleClass provides capabilities to provide alarm information of watermeter, such as the alarm of low water flow. Once an alarm is fired, a notification should be sent out from the device and no historical alarm is stored locally, therefore no need to associate timestamp with the alarms. +This ModuleClass provides capabilities to provide alarm information of water meter, such as the alarm of low water flow. Once an alarm is fired, a notification should be sent out from the device and no historical alarm is stored locally, therefore no need to associate timestamp with the alarms. <mark>Editor note: the following attributes are missing from the short name tables in 6.3</mark> @@ -2038,36 +2041,36 @@ This ModuleClass provides capabilities to provide alarm information of watermete |-|-|-|-|-|-| |highFlowAlarmThreshold |xs:float |RW |false |m3 |The threshold of continuous high flow alarm. | |highFlowDuration |xs:integer |RW |true |s |The duration of high water flow. | -|highFlowAlarm |xs:boolean |R |false | |Continuous high water flow alarm | +|highFlowAlarm |xs:boolean |R |false | |Continuous high water flow alarm. | |lowFlowAlarmThreshold |xs:float |RW |true |m3 |The threshold of continuous low flow alarm. | |lowFlowDuration |xs:integer |RW |true |s |The duration of low water flow. | -|lowFlowAlarm |xs:boolean |R |true | |Continuous low water flow alarm | +|lowFlowAlarm |xs:boolean |R |true | |Continuous low water flow alarm. | |reverseFlowAlarmThreshold |xs:float |RW |true |m3 |The threshold of continuous reverse flow alarm. | |reverseFlowDuration |xs:integer |RW |true |s |The duration of reverse water flow. | -|reverseFlowAlarm |xs:boolean |R |false | |Reverse flow alarm | +|reverseFlowAlarm |xs:boolean |R |false | |Reverse flow alarm. | |highPressureAlarmThreshold |xs:float |RW |false |bar |The threshold of high water pressure alarm. | -|highPressureAlarm |xs:boolean |R |false | |High water pressure alarm | +|highPressureAlarm |xs:boolean |R |false | |High water pressure alarm. | |lowPressureAlarmThreshold |xs:float |RW |false |bar |The threshold of low water pressure alarm. | -|lowPressureAlarm |xs:boolean |R |false | |Low water pressure alarm | +|lowPressureAlarm |xs:boolean |R |false | |Low water pressure alarm. | |highTemperatureAlarmThreshold |xs:float |RW |false |C |The threshold of maximum water temperature alarm. | -|highTemperatureAlarm |xs:boolean |R |false | |High water temperature alarm | +|highTemperatureAlarm |xs:boolean |R |false | |High water temperature alarm. | |lowTemperatureAlarmThreshold |xs:float |RW |false |C |The threshold of minimum water temperature alarm. | -|lowTemperatureAlarm |xs:boolean |R |false | |Low water temperature alarm | +|lowTemperatureAlarm |xs:boolean |R |false | |Low water temperature alarm.. | |highTemperatureInnerAlarmThreshold |xs:float |RW |true |C |The threshold of high temperature alarm inside water meter. | -|innerHighInternalTemperatureAlarm |xs:boolean |R |true | |Internal high temperature alarm | -|innerErrorAlarm |xs:boolean |R |true | |Internal error alarm | -|innerTemperatureSensorFault |xs:boolean |R |true | |Internal temperature sensor failure | -|tamperAlarm |xs:boolean |R |true | |Data was tampered alarm | -|waterTemperatureSensorFault |xs:boolean |R |false | |Water temperature sensor failure | -|pressureSensorFault |xs:boolean |R |true | |Pressure sensor failure | -|communicationAlarm |xs:boolean |R |true | |Communication abnormality alarm | -|magneticInterference |xs:boolean |R |true | |Magnetic interference warning | -|storageFault |xs:boolean |R |true | |Storage failure alarm | +|innerHighInternalTemperatureAlarm |xs:boolean |R |true | |Internal high temperature alarm. | +|innerErrorAlarm |xs:boolean |R |true | |Internal error alarm. | +|innerTemperatureSensorFault |xs:boolean |R |true | |Internal temperature sensor failure. | +|tamperAlarm |xs:boolean |R |true | |Data was tampered alarm. | +|waterTemperatureSensorFault |xs:boolean |R |false | |Water temperature sensor failure. | +|pressureSensorFault |xs:boolean |R |true | |Pressure sensor failure. | +|communicationAlarm |xs:boolean |R |true | |Communication abnormality alarm. | +|magneticInterference |xs:boolean |R |true | |Magnetic interference warning. | +|storageFault |xs:boolean |R |true | |Storage failure alarm. | |urgencyButtonPush |xs:boolean |R |true | |Indicate the event of the urgency button being pushed. Pushing the urgency button may give a user a temporary right to still use the water meter (e.g. for 3 days) after an unpaid bill. | -|buttonFault |xs:boolean |R |true | |Button error flag | -|demolitionAlarm |xs:boolean |R |true | |Demolition sign | -|impulseFault |xs:boolean |R |true | |Pulse anomaly flag | -|vibrationSensorFault |xs:boolean |R |true | |Vibration sensor failure | +|buttonFault |xs:boolean |R |true | |Button error flag. | +|demolitionAlarm |xs:boolean |R |true | |Demolition sign. | +|impulseFault |xs:boolean |R |true | |Pulse anomaly flag. | +|vibrationSensorFault |xs:boolean |R |true | |Vibration sensor failure. | @@ -2095,10 +2098,10 @@ This ModuleClass provides information of measurements of the watermeter. |peakReverseFlowRateTime |m2m:timestamp |R |true | |The timestamp of daily reverse highest instantaneous water flow rate. | |lowestReverseFlowRate |xs:float |R |true |m3/h |Daily reverse lowest instantaneous water flow rate. | |lowestReverseFlowRateTime |m2m:timestamp |R |true | |The timestamp of daily reverse lowest instantaneous water flow rate. | -|intervalFlow |list of xs:float |R |true |m3 |Water consumption records measured at the interval of "flowInterval" describerd in 5.3.1.96 per day. | -|reverseIntervalFlow |list of xs:float |R |true |m3 |Water reverse consumption records measured at the interval of "reverseFlowInterval" described in 5.3.1.96 per day. | -|waterIntervalTemperature |list of xs:float |R |true |C |Water temperature records measured at the interval of "waterTemperatureInterval" described in 5.3.1.96 per day. | -|waterIntervalPressure |list of xs:float |R |true |bar |Water pressure records measured at the interval of "waterPressureInterval" described in 5.3.1.96 per day. | +|intervalFlow |list of xs:float |R |true |m3 |Water consumption records measured at the interval of "flowInterval" described in clause [5.3.1.96](#53196-watermetersetting) per day. | +|reverseIntervalFlow |list of xs:float |R |true |m3 |Water reverse consumption records measured at the interval of "reverseFlowInterval" described in clause [5.3.1.96](#53196-watermetersetting) per day. | +|waterIntervalTemperature |list of xs:float |R |true |C |Water temperature records measured at the interval of "waterTemperatureInterval" described in clause [5.3.1.96](#53196-watermetersetting) per day. | +|waterIntervalPressure |list of xs:float |R |true |bar |Water pressure records measured at the interval of "waterPressureInterval" described in clause [5.3.1.96](#53196-watermetersetting) per day. | @@ -2174,7 +2177,7 @@ This ModuleClass provides the information of water quality detection. |sulfide |xs:float |R |true |mg/L |Sulfide | |temperature |xs:float |R |true |C |Water temperature | |tn |xs:float |R |true |mg/L |Total nitrogen (TN) which is defined as the total amount of various forms of inorganic and organic nitrogen in water. | -|tp |xs:float |R |true |mg/L |Total phosphorus (TP) which is the result of the conversion of various forms of phosphorus into orthophosphate after digestion of the water sample, measured in milligrams of phosphorus per liter of water sample. | +|tp |xs:float |R |true |mg/L |Total phosphorus (TP) which is the result of the conversion of various forms of phosphorus into orthophosphate after digestion of the water sample, measured in milligrams of phosphorus per litre of water sample. | |zn |xs:float |R |true |mg/L |Zinc (Zn) | @@ -2318,7 +2321,6 @@ The Pre-paid card reader ModuleClass provides functions to read NFC card and ind <mark>Editor note: the following attributes are missing from the short name tables in 6.3</mark> - **Table 5.3.1.107-1: DataPoints of prePaidCardReader ModuleClass** |Name |Type |R/W |Optional |Unit |Documentation | @@ -2430,7 +2432,7 @@ This ModuleClass provides the capabilities to indicate the heading (e.g. status |Name |Type |R/W |Optional |Unit |Documentation | |-|-|-|-|-|-| -|heading |xs:float |RW |false |degree |The azimuth of a device measured in degrees to true north. North is 0.0 degrees, east is 90.0 degrees, south is 180.0 degrees, west is 270.0 degrees. A negative value indicates an unknown heading. | +|heading |xs:float |RW |false |degree |The azimuth of a device measured in degrees to true north. North is 0,0 degrees, east is 90,0 degrees, south is 1800 degrees, west is 270,0 degrees. A negative value indicates an unknown heading. | |headingAccuracy |xs:float |R |true |degree |The optional current maximum deviation between the heading and the true geomagnetic heading. | @@ -2538,17 +2540,26 @@ This ModuleClasses provides capabilities to control and monitor the job modes of - ### 5.3.2 City Domain +<mark>For further studies.</mark> + ### 5.3.3 Health Domain +<mark>For further studies.</mark> + ### 5.3.4 Home Domain +<mark>For further studies.</mark> + ### 5.3.5 Industry Domain +<mark>For further studies.</mark> + ### 5.3.6 Vehicular Domain +<mark>For further studies.</mark> + ### 5.3.7 Agriculture Domain #### 5.3.7.1 cowActivityMonitor @@ -2571,7 +2582,7 @@ This ModuleClass provides capabilities to measure activity data in terms of step ### 5.3.8 Railway Domain #### 5.3.8.1 baliseTransmissionModule -A balise is an electronic beacon or transponder placed between the rails of a railway as part of an automatic train protection (ATP) system. +A balise is an electronic beacon or transponder placed between the rails of a railway as part of an Automatic Train Protection (ATP) system. The Balise Transmission Module(BTM) ModuleClasses provides capabilities to indicate and to get balise information. @@ -2682,7 +2693,7 @@ This ModuleClass provides the capability of creating oneM2M based information fr |expires |xs:dateTime |RW |true | |The expiry time of the information of the alert message. | |areaLatitude |xs:float |RW |true |degrees |The latitude of the affected area location. | |areaLongitude |xs:float |RW |true |degrees |The longitude of the affected area location. | -|areaRadius |xs:float |RW |true |meters |The radius of the affected area location. | +|areaRadius |xs:float |RW |true |metres |The radius of the affected area location. | |repetitionPeriod |xs:integer |RW |false |seconds |This specifies the repetition period for the warning message. The value of this DataPoint indicates the period of time in seconds after which re-send of the warning message should be repeated. | |repetitionCount |xs:integer |RW |false | |This specifies the number of times the warning message is to be sent. | @@ -2728,7 +2739,7 @@ This ModuleClass provides the capability of selecting the option that allows thi |-|-|-|-|-|-| |optoutStatus |xs:boolean |RW |false | |This specifies the opt-out state for the device. The value of this DataPoint specifies opt-out state. True means that this device does not want to response when a warning has been triggered. | - NOTE: Opt-out refers to 3GPP TS 22.268 <a href="#_ref_i.12">[i.12]</a> Public Warning System (PWS) requirements specification. + NOTE: Opt-out refers to 3GPP TS 22.268 <a href="#_ref_i.14">[i.14]</a> Public Warning System (PWS) requirements specification. @@ -2756,9 +2767,10 @@ A powerOutlet is a subDevice that specifies the attachment device for [deviceSma - ### 5.4.2 City Domain +<mark>For further studies.</mark> + ### 5.4.3 Health Domain #### 5.4.3.1 subDeviceCuff @@ -2775,13 +2787,18 @@ A cuff is a subDevice that expresses the attachment device for measuring blood p - ### 5.4.4 Home Domain +<mark>For further studies.</mark> + ### 5.4.5 Industry Domain +<mark>For further studies.</mark> + ### 5.4.6 Vehicular Domain +<mark>For further studies.</mark> + ## 5.5 Device models ### 5.5.1 Common Domain @@ -2798,7 +2815,7 @@ A 3D printer is a smart home appliance to provide 3D printing capabilities. |faultDetection |[faultDetection](#53134-faultdetection) |0..1 |See clause [5.3.1.34](#53134-faultdetection). | |threeDprinter |[threeDprinter](#5311-threedprinter) |1 |See clause [5.3.1.1](#5311-threedprinter). | |runState |[runState](#53175-runstate) |1 |See clause [5.3.1.75](#53175-runstate). | -|temperature |[temperature](#53187-temperature) |1 |See clause [5.3.1.87](#53187-temperature).<br />This value of "currentTemperature" in this module instance represents the temperature of the nozzle. This value SHALL be a float number in a range from 0.0 to 1000.0. | +|temperature |[temperature](#53187-temperature) |1 |See clause [5.3.1.87](#53187-temperature).<br />This value of "currentTemperature" in this module instance represents the temperature of the nozzle. This value SHALL be a float number in a range from 0,0 to 1 000,0. | |printQueue |[printQueue](#53167-printqueue) |1 |See clause [5.3.1.67](#53167-printqueue). | @@ -3047,7 +3064,7 @@ A service button is a device that initiates and controls technical or business p #### 5.5.1.17 deviceGenericSensor -A device that is composed of one or more basic sensors. This generic model is proposed to represent very simple appliances that feature one or more sensing behaviors (mono/multi sensors). +A device that is composed of one or more basic sensors. This generic model is proposed to represent very simple appliances that feature one or more sensing behaviours (mono/multi sensors). <mark>Editor note: the device is missing from the short name tables in 6.3</mark> @@ -3152,7 +3169,7 @@ A parking detector is used to detect the state of the parking space. When the ve #### 5.5.2.3 deviceSmartElectricMeter -A smart electric meter is a metering device that is used to measure consumption data for electrictricity. +A smart electric meter is a metering device that is used to measure consumption data for electricity. **Table 5.5.2.3-1: Modules of deviceSmartElectricMeter Device model** @@ -3234,7 +3251,7 @@ A street light controller is used to control the opening and closing of the stre #### 5.5.2.7 deviceWaterQualityMonitor -An water quality monitor is an environmental monitoring device used to monitor water quality. +A water quality monitor is an environmental monitoring device used to monitor water quality. <mark>Editor note: the device is missing from the short name tables in 6.3</mark> @@ -3276,7 +3293,7 @@ A weather station is a device that measures various atmospheric parameters. ### 5.5.3 Health Domain #### 5.5.3.1 deviceBloodPressureMonitor -A blood pressure monitor is a device that can be used to monitor the blood pressure and is composed of one or more cuffs and a main montor machine. +A blood pressure monitor is a device that can be used to monitor the blood pressure and is composed of one or more cuffs and a main monitor machine. **Table 5.5.3.1-1: Modules of deviceBloodPressureMonitor Device model** @@ -3330,8 +3347,8 @@ A pulseoximeter is a device that can be used to monitor the blood characteristic |Module Instance Name |Module Class Name |Multiplicity |Description | |-|-|-|-| -|pulsemeter |[pulsemeter](#53168-pulsemeter) |0..1 |See clause [5.3.1.68](#53168-pulsemeter).<br />When the "[oximeter](#53159-oximeter)" module doesn't exist, then the "[pulsemeter](#53168-pulsemeter)" module is mandatory. | -|oximeter |[oximeter](#53159-oximeter) |0..1 |See clause [5.3.1.59](#53159-oximeter).<br />When the "[pulsemeter](#53168-pulsemeter)" module doesn't exist, then the "[oximeter](#53159-oximeter)" module is mandatory. | +|pulsemeter |[pulsemeter](#53168-pulsemeter) |0..1 |See clause [5.3.1.68](#53168-pulsemeter).<br />When the "[oximeter](#53159-oximeter)" module does not exist, then the "[pulsemeter](#53168-pulsemeter)" module is mandatory. | +|oximeter |[oximeter](#53159-oximeter) |0..1 |See clause [5.3.1.59](#53159-oximeter).<br />When the "[pulsemeter](#53168-pulsemeter)" module does not exist, then the "[oximeter](#53159-oximeter)" module is mandatory. | |battery |[battery](#53110-battery) |1 |See clause [5.3.1.10](#53110-battery). | @@ -3369,7 +3386,7 @@ An air conditioner is a home appliance used to alter the properties of air (prim |airCleanOperationMode |[operationMode](#53157-operationmode) |0..1 |See clause [5.3.1.57](#53157-operationmode).<br />This module instance is used to trigger airClean operation. | |temperature |[temperature](#53187-temperature) |0..1 |See clause [5.3.1.87](#53187-temperature). | |timer |[timer](#53190-timer) |0..1 |See clause [5.3.1.90](#53190-timer). | -|sleepTimer |[timer](#53190-timer) |0..1 |See clause [5.3.1.90](#53190-timer).<br />The sleep function, which is vendor-specific algorithm (for example increasing the remperature by one degree for every 30 minutes), is triggered instantly when "targetDuration" is set, and it indicates the time to the end of appliance operation. It is set at runtime by a user application. | +|sleepTimer |[timer](#53190-timer) |0..1 |See clause [5.3.1.90](#53190-timer).<br />The sleep function, which is vendor-specific algorithm (for example increasing the temperature by one degree for every 30 minutes), is triggered instantly when "targetDuration" is set, and it indicates the time to the end of appliance operation. It is set at runtime by a user application. | |turbo |[turbo](#53191-turbo) |0..1 |See clause [5.3.1.91](#53191-turbo). | |airFlow |[airFlow](#5314-airflow) |0..1 |See clause [5.3.1.4](#5314-airflow). | |powerSave |[powerSave](#53166-powersave) |0..1 |See clause [5.3.1.66](#53166-powersave). | @@ -3380,7 +3397,7 @@ An air conditioner is a home appliance used to alter the properties of air (prim #### 5.5.4.2 deviceAirPurifier -An airPurifieris a home appliance is used to prevent dust and other particles from air by filtering, washing or electrostatic precipitation. This airPurifier information model provides capabilities to control and monitor airPurifier specific functions and resources. +An airPurifier is a home appliance is used to prevent dust and other particles from air by filtering, washing or electrostatic precipitation. This airPurifier information model provides capabilities to control and monitor airPurifier specific functions and resources. **Table 5.5.4.2-1: Modules of deviceAirPurifier Device model** @@ -3524,7 +3541,7 @@ A dehumidifier is a device that is used to monitor or control the state of a deh #### 5.5.4.10 deviceDigitalGallery -A digital gallery is a device that is used to display picture, e.g., paintings from artists, photos from photographers or personals etc. +A digital gallery is a device that is used to display picture, e.g., paintings from artists, photos from photographers or personals, etc. <mark>Editor note: the device is missing from the short name tables in 6.3</mark> @@ -3582,7 +3599,7 @@ A food probe is a device that is used to measure the internal temperature of foo #### 5.5.4.14 deviceFreezer -A freezer is a large container like a fridge in which the temperature is kept below freezing point, so that food can be storeed inside of it for long periods. This freezer information model provides capabilities to monitor freezer specific functions and resources. +A freezer is a large container like a fridge in which the temperature is kept below freezing point, so that food can be stored inside of it for long periods. This freezer information model provides capabilities to monitor freezer specific functions and resources. **Table 5.5.4.14-1: Modules of deviceFreezer Device model** @@ -3702,7 +3719,7 @@ A refrigerator is a home appliance used to store food at temperatures which are #### 5.5.4.21 deviceRiceCooker -An rice cooker is a home appliance used to cook and heat food. It may set a desired heating time for food and may keep food warm for a desired time. +A rice cooker is a home appliance used to cook and heat food. It may set a desired heating time for food and may keep food warm for a desired time. <mark>Editor note: the device is missing from the short name tables in 6.3</mark> @@ -3739,7 +3756,7 @@ A robot cleaner is an autonomous robotic vacuum cleaner that has intelligent pro #### 5.5.4.23 deviceSecurityPanel -A security pannel is a device that can change the security mode of, for example, an alarm system. +A security panel is a device that can change the security mode of, for example, an alarm system. **Table 5.5.4.23-1: Modules of deviceSecurityPanel model** @@ -3985,7 +4002,7 @@ An electric motorcycle is a plug-in electric vehicle with two wheels. The electr ### 5.5.7 Agriculture Domain #### 5.5.7.1 deviceCowActivityMonitor -A cow activity monitor device is a battery-powered wireless metering device that is used to measure the activity data (e.g. step count) of a cow in the dairy farming industry. The collected data can be used to analyze and predict the estrus of the cow for better mating and milk production. +A cow activity monitor device is a battery-powered wireless metering device that is used to measure the activity data (e.g. step count) of a cow in the dairy farming industry. The collected data can be used to analyse and predict the estrus of the cow for better mating and milk production. <mark>Editor note: the device is missing from the short name tables in 6.3</mark> @@ -4005,7 +4022,7 @@ A cow activity monitor device is a battery-powered wireless metering device that ### 5.5.8 Railway Domain #### 5.5.8.1 deviceHandheldPTTTerminal -A handheld PTT (Push-to-Talk) terminal is a device of the Railway Domain. The terminal is usually used between the railway workers including train driver, crew and rail-side worker to share their work status via voice communication. +A handheld Push-to-Talk (PTT) terminal is a device of the Railway Domain. The terminal is usually used between the railway workers including train driver, crew and rail-side worker to share their work status via voice communication. <mark>Editor note: the device is missing from the short name tables in 6.3</mark> @@ -4030,11 +4047,10 @@ A handheld PTT (Push-to-Talk) terminal is a device of the Railway Domain. The te #### 5.5.8.2 deviceTrainborneTerminal -A handheld PTT (Push-to-Talk) terminal is a device of the Railway Domain. The terminal is usually used between the railway workers including train driver, crew and rail-side worker to share their work status via voice communication. +A handheld Push-to-Talk (PTT) terminal is a device of the Railway Domain. The terminal is usually used between the railway workers including train driver, crew and rail-side worker to share their work status via voice communication. <mark>Editor note: the device is missing from the short name tables in 6.3</mark> - **Table 5.5.8.2-1: Modules of deviceTrainborneTerminal Device model** |Module Instance Name |Module Class Name |Multiplicity |Description | @@ -4050,7 +4066,7 @@ A handheld PTT (Push-to-Talk) terminal is a device of the Railway Domain. The te |runState |[runState](#53175-runstate) |0..1 |See clause [5.3.1.75](#53175-runstate). | |signalStrength |[signalStrength](#53178-signalstrength) |0..1 |See clause [5.3.1.78](#53178-signalstrength). | |baliseTransmission |[baliseTransmissionModule](#5381-balisetransmissionmodule) |0..1 |See clause [5.3.8.1](#5381-balisetransmissionmodule). | -|connectivity |[connectivity](#53125-connectivity) |0..1 |See clasue [5.3.1.25](#53125-connectivity). | +|connectivity |[connectivity](#53125-connectivity) |0..1 |See clause [5.3.1.25](#53125-connectivity). | @@ -4085,7 +4101,7 @@ A card recharging machine is a device of the Railway Domain. The machine provide #### 5.5.8.4 deviceSmartGate -A smart gate is a device of the Railway Domain. The gate provides passenger service for checking ticket and control the gate usage. A railway users simply use the gate with their ticket (e.g. passenger card) which have pre-paid card function. +A smart gate is a device of the Railway Domain. The gate provides passenger service for checking ticket and control the gate usage. Railway users simply use the gate with their ticket (e.g. passenger card) which have pre-paid card function. <mark>Editor note: the device is missing from the short name tables in 6.3</mark> @@ -4169,8 +4185,10 @@ A smart screen door is a device of the Railway Domain. The screen doors are pair - ## 5.6 Enumeration type definitions + +### 5.6.0 Introduction + All enumeration types are defined in the same domain, Horizontal Domain, prefix 'hd'. @@ -4182,7 +4200,7 @@ Used for the "printType" data point of the ["threeDprinter"](#5311-threeDprinter |Value |Interpretation |Note | |-|-|-| |1 |Fused Filament Fabrication |FFF | -|2 |Fused Deposition Modeling |FDM | +|2 |Fused Deposition Modelling |FDM | |3 |Digital Light Processing |DLP | |4 |Powder Bed & inkjet head 3D Printing |PBP | |5 |Photopolymer Jetting Technology |PolyJet | @@ -4309,7 +4327,7 @@ Used for the "currentJobMode" and "jobModes" data points of the "[clothesDryerJo |-|-|-| |1 |normal |Normal cycle. | |2 |quickDry |About half the length of a normal cycle, this setting uses high heat to dry a few items. | -|3 |permanentPress |Slow drying with low heat helps wringkle-free garments live up to their name and keeps the hard creases out of thins you typically iron. | +|3 |permanentPress |Slow drying with low heat helps wrinkle-free garments live up to their name and keeps the hard creases out of things one typically irons. | |4 |heavyDuty |Tumbling for an extended period with high heat for sturdy items (towels, sweats, jeans). | |5 |delicates |A short, low-heat cycle for delicates and other items such as spandex workout gear, which loses its stretch when too much heat is used. | |6 |airDry |A cool-air setting for items that can't take any heat, such as plastic tablecloths and rubber-backed rugs. | @@ -4384,9 +4402,9 @@ Used for "currentJobMode" and "jobModes" data points of the "[dehumidifierJobMod |Value |Interpretation |Note | |-|-|-| -|1 |smart |This value indicates the smart mode that first gets the target humidity level from user input, next detects the currect relative humidity, then automatically change the dehumidity level to keep the target humidity level. | +|1 |smart |This value indicates the smart mode that first gets the target humidity level from user input, next detects the correct relative humidity, then automatically change the dehumidity level to keep the target humidity level. | |2 |fast |This value indicates the fast mode that speeds the operating level up to quickly dehumidify when the humidity level is so high. It is a kind of turbo mode. | -|3 |silent |This value indicates the silent mode that can be used when an user sleeps. It reduces the noise. | +|3 |silent |This value indicates the silent mode that can be used when a user sleeps. It reduces the noise. | |4 |focus |This value indicates the focus mode that dehumidifies focusing on a particular part. | |5 |clothes |This value indicates the clothes mode that dehumidifies adjusting the wind direction vertically. It is normally used to dehumidify clothes. | @@ -4535,7 +4553,7 @@ NOTE: See clause [5.3.1.22 clothesWasherJobModeOption](#53122-clotheswasherjobmo ### 5.6.20 hd:enumGrainsLevel -Used for the "grainsRemaining" data point of the "[grinder](#53143-grinder)" ModuleClss. This type specifies a level for supplies that have a grain-aspect, for example.the level of remaining coffee beans in the grinder part of a coffee machine, or the desired level of coffee beans in this machine. +Used for the "grainsRemaining" data point of the "[grinder](#53143-grinder)" ModuleClass. This type specifies a level for supplies that have a grain-aspect, for example the level of remaining coffee beans in the grinder part of a coffee machine, or the desired level of coffee beans in this machine. The values for the level of a liquid is covered by "[hd:enumLiquidLevel](#5624-hdenumliquidlevel)" (see clause [5.6.24](#5624-hdenumliquidlevel)). @@ -4705,9 +4723,9 @@ Used for the "currentJobMode" and "jobModes" data points of the "[robotCleanerJo |Value |Interpretation |Note | |-|-|-| -|1 |zigzag |The machine moves forward by going at an angle first to one side then to the other | -|2 |sectorBase |The machine first cleans a specific sector (fo example, 1x1m), then moves to another sector. | -|3 |spot |The machine cleans a targeted area of about specific spot | +|1 |zigzag |The machine moves forward by going at an angle first to one side then to the other. | +|2 |sectorBase |The machine first cleans a specific sector (for example, 1 x 1 m), then moves to another sector. | +|3 |spot |The machine cleans a targeted area of about specific spot. | NOTE: See clause [5.3.1.74 "robotCleanerJobMode"](#53174-robotcleanerjobmode). <mark>Negative values are reserved for vendor specific modes.</mark> @@ -4960,7 +4978,7 @@ NOTE: See clause [5.3.1.105 "waterFilterType"](#531105-waterfiltertype). ### 5.6.42 hd:enumDataModelType -Used for the "dataModelType" DataPoint of the "[dmDataModelIO](#585-dmdatamodelio)" ModuleClass. +Used for the "dataModelType" DataPoint of the "[dmDataModelIO](#584-dmdatamodelio)" ModuleClass. **Table 5.6.42-1 Interpretation of hd:enumDataModelType** @@ -4971,15 +4989,15 @@ Used for the "dataModelType" DataPoint of the "[dmDataModelIO](#585-dmdatamodeli |2 |OMA_DM_1.3 | | |3 |OMA_DM_2.0 | | |4 |OMA_LwM2M | | -|5 |BBF_TR-181_CWMP |Version of TR-181 for TR-069 | -|6 |BBF_TR-181_USP |Version of TR-181 for USP | +|5 |BBF_TR-181_CWMP |Version of TR-181 <a href="#_ref_i.12">[i.12]</a> for TR-069 <a href="#_ref_i.11">[i.11]</a>. | +|6 |BBF_TR-181_USP |Version of TR-181 <a href="#_ref_i.12">[i.12]</a> for USP | |7 |oneM2M |For native oneM2M devices | ### 5.6.43 hd:enumDmAgentState -Used for the "state" DataPoint of the "[dmAgent](#583-dmagent)" ModuleClass. +Used for the "state" DataPoint of the "[dmAgent](#582-dmagent)" ModuleClass. **Table 5.6.43-1 Interpretation of hd:enumDmAgentState** @@ -4994,7 +5012,7 @@ Used for the "state" DataPoint of the "[dmAgent](#583-dmagent)" ModuleClass. ### 5.6.44 hd:enumFirmwareState -Used for the "state" DataPoint of the "[dmFirmware](#586-dmfirmware)" ModuleClass. +Used for the "state" DataPoint of the "[dmFirmware](#585-dmfirmware)" ModuleClass. **Table 5.6.44-1 Interpretation of hd:enumFirmwareState** @@ -5011,7 +5029,7 @@ Used for the "state" DataPoint of the "[dmFirmware](#586-dmfirmware)" ModuleClas ### 5.6.45 hd:enumPowerState -Used for the "powerStatus" DataPoint of the "[dmAgent](#583-dmagent)" ModuleClass. +Used for the "powerStatus" DataPoint of the "[dmAgent](#582-dmagent)" ModuleClass. **Table 5.6.45-1 Interpretation of hd:enumPowerState** @@ -5029,7 +5047,7 @@ Used for the "powerStatus" DataPoint of the "[dmAgent](#583-dmagent)" ModuleClas ### 5.6.46 hd:enumRebootType -Used for the "rebootType" argument of the "[reboot](#583-dmagent)" action of the "[dmAgent](#583-dmagent)" ModuleClass. +Used for the "rebootType" argument of the "[reboot](#582-dmagent)" action of the "[dmAgent](#582-dmagent)" ModuleClass. **Table 5.6.46-1 Interpretation of hd:enumRebootType** @@ -5045,7 +5063,7 @@ Used for the "rebootType" argument of the "[reboot](#583-dmagent)" action of the ### 5.6.47 hd:enumSoftwareState -Used for the "state" data point of the "[dmSoftware](#587-dmsoftware)" ModuleClass. +Used for the "state" data point of the "[dmSoftware](#586-dmsoftware)" ModuleClass. **Table 5.6.47-1 Interpretation of hd:enumSoftwareState** @@ -5061,7 +5079,7 @@ Used for the "state" data point of the "[dmSoftware](#587-dmsoftware)" ModuleCla ### 5.6.48 hd:enumPackageState -Used for the "state" data point of the "[dmPackage](#589-dmpackage)" ModuleClass. +Used for the "state" data point of the "[dmPackage](#588-dmpackage)" ModuleClass. **Table 5.6.48-1 Interpretation of hd:enumPackageState** @@ -5078,7 +5096,7 @@ Used for the "state" data point of the "[dmPackage](#589-dmpackage)" ModuleClass ### 5.6.49 hd:enumPackageType -Used for the "type" data point of the "[dmPackage](#589-dmpackage)" ModuleClass. +Used for the "type" data point of the "[dmPackage](#588-dmpackage)" ModuleClass. **Table 5.6.49-1 Interpretation of hd:enumPackageType** @@ -5135,23 +5153,23 @@ Used for the "batteryShape" DataPoint of the "[battery](#53110-battery)" ModuleC |5 |D |Cylinder-type D battery | |6 |N |Cylinder-type N battery | |e |A23 |Cylinder-type A23 battery | -|8 |Coin_cell_4 |Coin-cell type 4.8 mm diameter battery | -|9 |Coin_cell_5 |Coin-cell type 5.8 mm diameter battery | -|10 |Coin_cell_6 |Coin-cell type 6.8 mm diameter battery | -|11 |Coin_cell_7 |Coin-cell type 7.9 mm diameter battery | -|12 |Coin_cell_9 |Coin-cell type 9.5 mm diameter battery | -|13 |Coin_cell_10 |Coin-cell type 10.0 mm diameter battery | -|14 |Coin_cell_11 |Coin-cell type 11.6 mm diameter battery | -|15 |Coin_cell_12 |Coin-cell type 12.5 mm diameter battery | -|16 |Coin_cell_16 |Coin-cell type 16.0 mm diameter battery | -|17 |Coin_cell_20 |Coin-cell type 20.0 mm diameter battery | -|18 |Coin_cell_23 |Coin-cell type 23.0 mm diameter battery | -|19 |Coin_cell_24 |Coin-cell type 24.5 mm diameter battery | -|20 |Coin_cell_44 |Coin-cell type 5.4 mm diameter battery | +|8 |Coin_cell_4 |Coin-cell type 4,8 mm diameter battery | +|9 |Coin_cell_5 |Coin-cell type 5,8 mm diameter battery | +|10 |Coin_cell_6 |Coin-cell type 6,8 mm diameter battery | +|11 |Coin_cell_7 |Coin-cell type 7,9 mm diameter battery | +|12 |Coin_cell_9 |Coin-cell type 9,5 mm diameter battery | +|13 |Coin_cell_10 |Coin-cell type 10,0 mm diameter battery | +|14 |Coin_cell_11 |Coin-cell type 11,6 mm diameter battery | +|15 |Coin_cell_12 |Coin-cell type 12,5 mm diameter battery | +|16 |Coin_cell_16 |Coin-cell type 16,0 mm diameter battery | +|17 |Coin_cell_20 |Coin-cell type 20,0 mm diameter battery | +|18 |Coin_cell_23 |Coin-cell type 23,0 mm diameter battery | +|19 |Coin_cell_24 |Coin-cell type 24,5 mm diameter battery | +|20 |Coin_cell_44 |Coin-cell type 5,4 mm diameter battery | |21 |Box_9V |Box type 9V battery | |22 |Silver_Flat_Pack |Flat Box Pack type | |23 |Car_battery |Box type 6-cell lead car battery | -|24 |Custom_made |Custom-made by manutacturer | +|24 |Custom_made |Custom-made by manufacturer | @@ -5179,8 +5197,8 @@ Used for the "threeDScannerType" DataPoint of the "[threeDScanner](#531117-three |Value |Interpretation |Note | |-|-|-| |1 |TOF |Use "Time Of Flight" method to scan 3D object. The technology calculates time gap between shooting and return of the reflected laser light. | -|2 |Phase_Shift |The technology uses "Phase shift waveform analysis". It analysises the distance gap between two reflected laser beam phase which are shot from the scanner. | -|3 |Waveform |The technology uses "Triangulation method". Based on the triangulation method, it uses pointbeam or TOF method. | +|2 |Phase_Shift |The technology uses "Phase shift waveform analysis". It analyses the distance gap between two reflected laser beam phase which are shot from the scanner. | +|3 |Waveform |The technology uses "Triangulation method". Based on the triangulation method, it uses point beam or TOF method. | |4 |MPT |The technology uses "Miniaturized Projection Technique" to scan. It projects specific pattern of White light, indicates the size and depth by analysis of the reflected pattern on the object. | |5 |ETC |The other technology is used to scan an object. | @@ -5301,7 +5319,7 @@ NOTE: Listed names for this enumeration are specified on the CAP 1.2 specificati Universal and common properties are defined either -- As specialized custom attributes of a [[dmDeviceInfo]](#584-dmdeviceinfo] <flexContainer> specialization, defined in [clause 5.8.4](#584-dmdeviceinfo), when the <node> resource targeted by the nodeLink attribute of the Device model contains a [[flexNode](#582-flexnode)] child, +- As specialized custom attributes of a [dmDeviceInfo](#583-dmdeviceinfo) <flexContainer> specialization, defined in [clause 5.8.3](#583-dmdeviceinfo), when the <node> resource targeted by the nodeLink attribute of the Device model contains a [[flexNode](#581-flexnode)] child, - Or as specialized object attributes of the [deviceInfo] <mgmtObj> specialization, defined in Annex D.8 of TS-0001<a href="#_ref_3">[3]</a>, child of this <node> resource, otherwise. Some properties are mandatory for all device models and called "Universal Properties", since they are universally seen in typical device types and carry necessary information to identify each device instance. Others are optional for all device models and called "Common Properties", since they are commonly used in many device types but not always. @@ -5312,68 +5330,67 @@ NOTE: The instantiated values of the universal properties might be empty in case ## 5.8 Device Management -### 5.8.1 Introduction +### 5.8.0 Introduction -The entities that are specified in this section allow performing classical Device Management (DM) functions: rebooting a device, upgrading it, reading / setting its configuration, monitoring its logs, checking its memory or battery status, managing its firmware or its software modules, etc. They belong to the "management" domain. +The entities that are specified in this clause allow performing classical Device Management (DM) functions: rebooting a device, upgrading it, reading / setting its configuration, monitoring its logs, checking its memory or battery status, managing its firmware or its software modules, etc. They belong to the "management" domain. In the case of a NoDN, it is the IPE in charge of exposing the device to oneM2M that creates / implements these modules. It may rely on external Device Management techniques like e.g. LwM2M (from OMA) or USP (from BBF), or any other technique, proprietary or standardized, that allows performing at least some DM functions, for instance a reboot. -The architecture of IPE-based Device Management is presented in oneM2M TS-0001 <a href="#_ref_3">[3]</a> clause 6.2.4.1, and the details of CRUD operations on the resources defined here are defined in oneM2M TS-0033 <a href="#_ref_21">[21]</a> clause 8. A developer's guide on Device Management can be found in oneM2M TR-0035 <a href="#_ref_i.11">[i.11]</a>. +The architecture of IPE-based Device Management is presented in oneM2M TS-0001 <a href="#_ref_3">[3]</a> clause 6.2.4.1, and the details of CRUD operations on the resources defined here are defined in oneM2M TS-0033 <a href="#_ref_21">[21]</a> clause 8. A developer's guide on Device Management can be found in oneM2M TR-0035 <a href="#_ref_i.13">[i.13]</a>. <mark>Editor note: Some attributes are missing from the short name tables in 6.3</mark> -### 5.8.2 flexNode +### 5.8.1 flexNode This flexContainer specialization is the root for SDT-based Device Maagement modules. The containerDefinition attribute of this specialization shall be "org.onem2m.management.device.flexNode". -This resource is a <flexContainer> child of the <node> resource targeted by the nodeLink attribute of <flexContainer> SDT devices (see in [6.2.2](#622-resource-mapping-for-device-model) the rule 1.7). +This resource is a <flexContainer> child of the <node> resource targeted by the nodeLink attribute of <flexContainer> SDT devices (see in clause [6.2.2](#622-resource-mapping-for-device-model) the rule 1.7). -**Table 5.8.21: Child resources of [flexNode] resource** +**Table 5.8.1-1: Child resources of [flexNode] resource** |Child Resources of [flexNode] |Child Resource Type |Multiplicity |Description | |-|-|-|-| -|dmAreaNwkInfo_<i> |[[dmAreaNwkInfo]](#5810-dmareanwkinfo)] |0..n |See clause [5.8.10](#5810-dmareanwkinfo). | -|dmAgent |[[dmAgent]](#583-dmagent) |0..1 |See clause [5.8.3](#583-dmagent). | -|dmDeviceInfo |[[dmDeviceInfo]](#584-dmdeviceinfo) |1 |See clause [5.8.4](#584-dmdeviceinfo). | -|dmDataModelIO_<i> |[[dmDataModelIO]](#585-dmdatamodelio) |0..N |See clause [5.8.5](#585-dmdatamodelio). | -|dmFirmware_<i> |[[dmFirmware]](#586-dmfirmware) |1..N |See clause [5.8.6](#586-dmfirmware). | -|dmSoftware_<i> |[[dmSoftware]](#587-dmsoftware) |0..N |See clause [5.8.7](#587-dmsoftware). | -|dmEventLog_<i> |[[dmEventLog]](#588-dmeventlog) |0..N |See clause [5.8.8](#588-dmeventlog). | -|dmPackage_<i> |[[dmPackage]](#589-dmpackage)] |0..N |See clause [5.8.9](#589-dmpackage), | -|battery_<i> |[[battery]](#53110-battery) |0..N |See clause [5.3.1.10](#53110-battery). | -|dmCapability_<i> |[[dmCapability]](#5812-dmcapability)] |0..N |See clause [5.8.12](#5812-dmcapability). | -|dmStorage_<i> |[[dmStorage]](#5813-dmstorage)] |0..N |See clause [5.8.13](#5813-dmstorage). | +|dmAreaNwkInfo_<i> |[[dmAreaNwkInfo]](#589-dmareanwkinfo)] |0..n |See clause [5.8.9](#589-dmareanwkinfo). | +|dmAgent |[[dmAgent]](#582-dmagent) |0..1 |See clause [5.8.2](#582-dmagent). | +|dmDeviceInfo |[[dmDeviceInfo]](#583-dmdeviceinfo) |1 |See clause [5.8.3](#583-dmdeviceinfo). | +|dmDataModelIO_<i> |[[dmDataModelIO]](#584-dmdatamodelio) |0..N |See clause [5.8.4](#584-dmdatamodelio). | +|dmFirmware_<i> |[[dmFirmware]](#585-dmfirmware) |1..N |See clause [5.8.5](#585-dmfirmware). | +|dmSoftware_<i> |[[dmSoftware]](#586-dmsoftware) |0..N |See clause [5.8.6](#586-dmsoftware). | +|dmEventLog_<i> |[[dmEventLog]](#587-dmeventlog) |0..N |See clause [5.8.7](#587-dmeventlog). | +|dmPackage_<i> |[[dmPackage]](#588-dmpackage)] |0..N |See clause [5.8.8](#588-dmpackage), | +|battery_<i> |[[battery]](#5310-battery) |0..N |See clause [5.3.1.10](#53110-battery). | +|dmCapability_<i> |[[dmCapability]](#5811-dmcapability)] |0..N |See clause [5.8.11](#5811-dmcapability). | +|dmStorage_<i> |[[dmStorage]](#5812-dmstorage)] |0..N |See clause [5.8.12](#5812-dmstorage). | -NOTES: +NOTE 1: The notation '<i>' for child resources indicates that the resource name is the name of the child ModuleClass or SubDevice flexContainer, appended with an underscore '_' and an incrementing index so that it is unique in the [flexNode] children (e.g. "dmFirmware_0", "dmFirmware_1", etc.). The index shall not have leading 0's. -- the notation '<i>' for child resources indicates that the resource name is the name of the child ModuleClass or SubDevice flexContainer, appended with an underscore '' and an incrementing index so that it is unique in the [flexNode] children (e.g. "dmFirmware_0", "dmFirmware_1", etc.). The index shall not have leading 0's. -- the current list of modules for Device Management is not fixed and can evolve with new optional features +NOTE 2: The current list of modules for Device Management is not fixed and can evolve with new optional features. -### 5.8.3 dmAgent +### 5.8.2 dmAgent -This ModuleClass is the entry point module of [flexNode]; it provides capabilities to control and monitor the Device Management of the device. +This ModuleClass is the entry point module of *[flexNode]*; it provides capabilities to control and monitor the Device Management of the device. -**Table 5.8.3-1 Actions of dmAgent ModuleClass** +**Table 5.8.2-1 Actions of dmAgent ModuleClass** |Return Type |Name |Arguments |Optional |Description | |-|-|-|-|-| |none |reboot |rebootType: [hd:enumRebootType](#5646-hdenumreboottype) |false |Execute a reboot or a factory reset | -|M2MID |deployPackage |name: xs:string<br />version: xs:string<br />url: xs:url |true |Create a [dmPackage](#589-dmpackage).<br />Return the ID of the created package. | +|M2MID |deployPackage |name: xs:string<br />version: xs:string<br />url: xs:url |true |Create a [dmPackage](#588-dmpackage).<br />Return the ID of the created package. | -The deployPackage action allows creating a new [[dmPackage](#589-dmpackage)] module class (see clause [5.8.9](#589-dmpackage)), child of this dmAgent's parent flexNode. The returned value is the ID of this created <flexContainer>. The created [dmPackage](#589-dmpackage) is in *NotInstalled* state. +The *deployPackage* action allows creating a new [[dmPackage](#588-dmpackage)] module class (see clause [5.8.8](#588-dmpackage)), child of this dmAgent's parent *flexNode*. The returned value is the ID of this created <flexContainer>. The created [dmPackage](#588-dmpackage) is in *NotInstalled* state. The DataPoints of dmAgent Module Class are as follows: - 'state' represents the state of the agent for DM purposes (ready, sleeping, etc.). -- some optional device properties which can be used for Device Management purpose. The dmAgent can be seen as a 'dashboard' that gathers common information such as battery level, memory or CPU usage... +- some optional device properties which can be used for Device Management purpose. The dmAgent can be seen as a 'dashboard' that gathers common information such as battery level, memory or CPU usage, etc. -**Table 5.8.3-2 DataPoints of dmAgent ModuleClass** +**Table 5.8.2-2 DataPoints of dmAgent ModuleClass** |Name |Type |R/W |Optional |Unit |Description | |-|-|-|-|-|-| @@ -5388,11 +5405,10 @@ The DataPoints of dmAgent Module Class are as follows: -### 5.8.4 dmDeviceInfo +### 5.8.3 dmDeviceInfo This ModuleClass is used to share static information regarding the device. - -**Table 5.8.4-1 DataPoints of dmDeviceInfo ModuleClass** +**Table 5.8.3-1 DataPoints of dmDeviceInfo ModuleClass** |Name |Type |R/W |Optional |Unit |Description | |-|-|-|-|-|-| @@ -5408,18 +5424,17 @@ This ModuleClass is used to share static information regarding the device. |supportURL |xs:anyURI |RW |true | |URL that points to product support information of the device. | |presentationURL |xs:anyURI |RW |true | |To quote UpnP: "the control point can retrieve a page from this URL, load the page into a web browser, and depending on the capabilities of the page, allow a user to control the device and/or view device status. The degree to which each of these can be accomplished depends on the specific capabilities of the presentation page and device". | |friendlyName |xs:string |RW |true | |The device friendly name. | -|description |xs:string |RW |true | |A human readable description of the device (e.g. Alice's cell phone, kitchen's fridge...) | - -NOTE: although all datapoints are optional, depending on the underlying DM technology, some datapoints should be filled, for instance *serialNumber*, *manufacturer* and *model* when this information is available. +|description |xs:string |RW |true | |A human readable description of the device (e.g. Alice's cell phone, kitchen's fridge, etc.) | +NOTE: Although all datapoints are optional, depending on the underlying DM technology, some datapoints should be filled, for instance *serialNumber*, *manufacturer* and *model* when this information is available. -### 5.8.5 dmDataModelIO -This ModuleClass provides capabilities to handle the device's Data Model for cases where the underlying Device Management technology supports APIs that are not directly reflected in the flexNode modules. +### 5.8.4 dmDataModelIO +This ModuleClass provides capabilities to handle the device's Data Model for cases where the underlying Device Management technology supports APIs that are not directly reflected in the *flexNode* modules. -**Table 5.8.5-1 Actions of dmDataModelIO ModuleClass** +**Table 5.8.4-1 Actions of dmDataModelIO ModuleClass** |Return Type |Name |Arguments |Optional |Description | |-|-|-|-|-| @@ -5428,7 +5443,7 @@ This ModuleClass provides capabilities to handle the device's Data Model for cas -**Table 5.8.5-2 DataPoints of dmDataModelIO ModuleClass** +**Table 5.8.4-2 DataPoints of dmDataModelIO ModuleClass** |Name |Type |R/W |Optional |Unit |Description | |-|-|-|-|-|-| @@ -5436,13 +5451,13 @@ This ModuleClass provides capabilities to handle the device's Data Model for cas -The readIO and writeIO actions are defined for handling parameters of the underlying Device Management protocol using the APIs defined by those technologies. The values used in the address argument are dependent on the value of the dataModelType data point of the [dmAgent](#583-dmagent) ModuleClass. +The *readIO* and *writeIO* actions are defined for handling parameters of the underlying Device Management protocol using the APIs defined by those technologies. The values used in the *address* argument are dependent on the value of the *dataModelType* data point of the [dmAgent](#582-dmagent) ModuleClass. -Example of address values could be ```'Device.WiFi.SSID.1' if dataModelType=6``` (BBF TR-181 USP) or ```'/9/1/1' if dataModelType=4``` (OMA LwM2M). +Example of *address* values could be ```'Device.WiFi.SSID.1' if dataModelType=6``` (BBF TR-181 USP) or ```'/9/1/1' if dataModelType=4``` (OMA LwM2M). -These address and payload argument can contain several values separated by a comma ','. The payload argument's value types are the valid JSON primitive types (string, number, boolean, null). +These *address* and *payload* argument can contain several values separated by a comma ','. The *payload* argument's value types are the valid JSON primitive types (string, number, boolean, null). -Examples: +EXAMPLES: ``` @@ -5459,20 +5474,19 @@ writeIO(address="/3/0/15", payload="[Europe/Paris](Europe/Paris)") -> {"/3/0/15"} ``` -NOTE: some datapoints of the [dmAgent](#583-dmagent) and [dmDeviceInfo](#584-dmdeviceinfo) ModuleClasses correspond to fixed parameters in OMA & BBF data models. The corresponding concepts in OMA DM / LwM2M data models (resp. BBF TR-181) are specified in oneM2M TS-0005 (resp. TS-0006). For instance the datapoint memAvailable corresponds to 'Device.DeviceInfo.MemoryStatus.Free' in TR-181 (see TS-0006 clause 7.3) and to '/3/0/10' in LwM2M (TS-0005 clause 6.3.4). +NOTE: Some datapoints of the [dmAgent](#582-dmagent) and [dmDeviceInfo](#583-dmdeviceinfo) ModuleClasses correspond to fixed parameters in OMA & BBF data models. The corresponding concepts in OMA DM / LwM2M data models (resp. BBF TR-181 <a href="#_ref_i.12">[i.12]</a>) are specified in oneM2M TS-0005 (resp. TS-0006 <a href="#_ref_i.1">[i.15]</a>). For instance the datapoint *memAvailable* corresponds to `'Device.DeviceInfo.MemoryStatus.Free'` in BBF TR-181 <a href="#_ref_i.12">[i.12]</a> (see oneM2M TS-0006 <a href="#_ref_i.15">[i.15]</a> clause 7.3) and to `'/3/0/10'` in LwM2M (oneM2M TS-0005 clause 6.3.4). -### 5.8.6 dmFirmware +### 5.8.5 dmFirmware This ModuleClass provides Device Management capabilities to control and monitor the firmware of a device. -The device can contain multiple components (a graphic card for instance) that can have individual firmwares, and they need to be managed separately. The [flexNode] allows one [dmFirmware] module per component plus one 'major' [dmFirmware] for the device itself. +The device can contain multiple components (a graphic card for instance) that can have individual firmwares, and they need to be managed separately. The *[flexNode]* allows one *[dmFirmware]* module per component plus one 'major' *[dmFirmware]* for the device itself. -Individual firmwares are managed using the [dmFirmware] actions presented in Table 5.8.6-1. +Individual firmwares are managed using the [dmFirmware] actions presented in Table 5.8.-1. - -**Table 5.8.6-1 Actions of dmFirmware ModuleClass** +**Table 5.8.5-1 Actions of dmFirmware ModuleClass** |Return Type |Name |Argument |Optional |Description | |-|-|-|-|-| @@ -5481,35 +5495,35 @@ Individual firmwares are managed using the [dmFirmware] actions presented in Tab -The abstraction model used for [dmFirmware] manages the firmware through two images: a primary firmware image and a secondary one. Despite the naming both images are equivalent and a secondary image can be actively used by a device just like the primary one. +The abstraction model used for [dmFirmware] manages the firmware through two images: a *primary* firmware image and a *secondary* one. Despite the naming both images are equivalent and a secondary image can be actively used by a device just like the primary one. -Using an abstraction model based on two firmware images it is possible to effectively manage firmware on devices with different firmware capabilities. The state machine for firmware management using two images is shown in Figure 5.8.6-1 for devices that do support toggling between multiple preinstalled firmware versions and in Figure 5.8.6-2 for devices that can have only one firmware version installed. +Using an abstraction model based on two firmware images it is possible to effectively manage firmware on devices with different firmware capabilities. The state machine for firmware management using two images is shown in Figure 5.8.5-1 for devices that do support toggling between multiple preinstalled firmware versions and in Figure 5.8.5-2 for devices that can have only one firmware version installed. -Table 5.8.6-2 DataPoints of dmFirmware ModuleClass +**Table 5.8.5-2 DataPoints of dmFirmware ModuleClass** |Name |Type |R/W |Optional |Unit |Description | |-|-|-|-|-|-| -|multiFirmware |xs:boolean |R |false | |Indicates if the device/sub-component supports toggling between multiple preinstalled firmware versions | -|primaryState |[hd:enumFirmwareState](#5644-hdenumfirmwarestate) |R |false | |The current state of the primary firmware image (active, downloading, etc.) | +|multiFirmware |xs:boolean |R |false | |Indicates if the device/sub-component supports toggling between multiple preinstalled firmware versions. | +|primaryState |[hd:enumFirmwareState](#5644-hdenumfirmwarestate) |R |false | |The current state of the primary firmware image (active, downloading, etc.). | |primaryName |xs:string |R |false | |The name of the primary firmware image. | |primaryVersion |xs:string |R |false | |The version of the primary firmware image. | |primaryUrl |xs:url |R |true | |The URL from which the primary firmware image was downloaded. | |secondaryState |[hd:enumFirmwareState](#5644-hdenumfirmwarestate) |R |true | |The current state of the secondary firmware image (active, downloading, etc.). Mandatory when *updateFirmware* is available. | |secondaryName |xs:string |R |true | |The name of the secondary firmware image. | |secondaryVersion |xs:string |R |true | |The version of the secondary firmware image. | -|secondaryUrl |xs:url |R |true | |The URL from which the secondary firmware image was downloaded | +|secondaryUrl |xs:url |R |true | |The URL from which the secondary firmware image was downloaded. | |component |xs:string |R |true | |Allows to identify the sub-component that uses this firmware. <br />This datapoint is mandatory if this is a sub-component firmware. | -NOTE: both primary and secondary firmware image related dataPoints are mandatory when *updateFirmware* is available, however depending on the device capabilities one of the two state machines - the one presented in Figure 5.8.6-1 or the one shown in Figure 5.8.6-2 should be used. +NOTE 1: Both primary and secondary firmware image related dataPoints are mandatory when *updateFirmware* is available, however depending on the device capabilities one of the two state machines - the one presented in Figure 5.8.5-1 or the one shown in Figure 5.8.5-2 should be used.  -**Figure 5.8.6-1: Lifecycle of a dmFirmware for devices that support toggling between preinstalled firmware images** +**Figure 5.8.5-1: Lifecycle of a dmFirmware for devices that support toggling between preinstalled firmware images** For devices that support toggling between multiple preinstalled firmware images the following rules apply: @@ -5519,16 +5533,16 @@ For devices that support toggling between multiple preinstalled firmware images - Toggling between firmware images is only possible if one image is in "Ready" state and the other image is in "Active" state. - *updateFirmware* action is always performed on the image that is in "Ready" or "Failure" state. -NOTE: it is the AE/IPE responsibility to provide the appropriate action result pointing if the action was triggered on the device or not (e.g. if the current firmware state did not allow it). +NOTE 2: It is the AE/IPE responsibility to provide the appropriate action result pointing if the action was triggered on the device or not (e.g. if the current firmware state did not allow it).  -**Figure 5.8.6-2: Lifecycle of a dmFirmware for devices that can have only one firmware version installed** +**Figure 5.8.5-2: Lifecycle of a dmFirmware for devices that can have only one firmware version installed** -In case of a device that can have only one firmware version installed the additional firmware image is used differently. First of all it's treated as a temporary storage for the *updateFirmware* action that triggers the download process. When the download process is finished the status of the firmware image is changed to "Ready". It's important to note that in this case the installation/flashing process is started after the toggle action is issued, making it a "long toggle". At the very same moment the toggle is issued, the previously active firmware image is moved to "Archival" state, making it a historical record that cannot be restored. The reason why it cannot be restored is trivial - it was just overwritten by the flashing process. +In case of a device that can have only one firmware version installed the additional firmware image is used differently. First of all it is treated as a temporary storage for the *updateFirmware* action that triggers the download process. When the download process is finished the status of the firmware image is changed to "Ready". It is important to note that in this case the installation/flashing process is started after the *toggle* action is issued, making it a "long toggle". At the very same moment the toggle is issued, the previously active firmware image is moved to "Archival" state, making it a historical record that cannot be restored. The reason why it cannot be restored is trivial - it was just overwritten by the flashing process. For devices that can have only one firmware version installed the following rules apply: @@ -5540,29 +5554,28 @@ For devices that can have only one firmware version installed the following rule If one image is in "Archival" state and the other is in "Failure" state the *updateFirmware* action is always performed on the image that is in "Archival" state. -NOTE: it is the AE/IPE responsibility to provide the appropriate action result pointing if the action was triggered on the device or not (e.g. if the current firmware state did not allow it). +NOTE 3: It is the AE/IPE responsibility to provide the appropriate action result pointing if the action was triggered on the device or not (e.g. if the current firmware state did not allow it). -### 5.8.7 dmSoftware +### 5.8.6 dmSoftware This ModuleClass provides DM capabilities to control and monitor software modules of the device. An instance of this ModuleClass represents a software module hosted by the device. -A [dmSoftware] module is created on a Hosting CSE by the IPE in charge of the device, either at the initialization if it represents a software module that is pre-installed on the device, or after installation of one or more [[5.8.9 dmPackage]](#589-dmpackage) modules (see clause [5.8.9](#589-dmpackage)) that have been dynamically created (for instance a software image with associated configuration files and libraries). - -The association between one or more [dmPackage](#589-dmpackage) modules and a dmSoftware module are under the responsibility of the IPE: dmSoftware modules are created, deleted or updated only by the IPE (for instance updating a [dmPackage](#589-dmpackage) can trigger the modification of the version datapoint of an associated dmSoftware). +A [dmSoftware] module is created on a Hosting CSE by the IPE in charge of the device, either at the initialization if it represents a software module that is pre-installed on the device, or after installation of one or more [[5.8.8 dmPackage]](#588-dmpackage) modules (see clause [5.8.8](#588-dmpackage)) that have been dynamically created (for instance a software image with associated configuration files and libraries). -From external applications, [dmSoftware] modules can only be discovered from the parent [flexNode], not created, and afterwards they can only be activated / deactivated. They can be seen as 'high level' information ("there is such software that is running on the device"), whereas [dmPackage](#589-dmpackage) are 'low level' information ("there is such executable file that is deployed on the device"). +The association between one or more [dmPackage](#588-dmpackage) modules and a dmSoftware module are under the responsibility of the IPE: dmSoftware modules are created, deleted or updated only by the IPE (for instance updating a [dmPackage](#588-dmpackage) can trigger the modification of the version datapoint of an associated dmSoftware). +From external applications, [dmSoftware] modules can only be discovered from the parent [flexNode], not created, and afterwards they can only be activated / deactivated. They can be seen as 'high level' information ("there is such software that is running on the device"), whereas [dmPackage](#588-dmpackage) are 'low level' information ("there is such executable file that is deployed on the device"). -**Table 5.8.7-1 Actions of dmSoftware ModuleClass** +**Table 5.8.6-1 Actions of dmSoftware ModuleClass** |Return Type |Name |Argument |Optional |Description | |-|-|-|-|-| |none |activate |none |true |Activate the software module. | |none |deactivate |none |true |Deactivate the software module. | -**Table 5.8.7-2 DataPoints of dmSoftware ModuleClass** +**Table 5.8.6-2 DataPoints of dmSoftware ModuleClass** |Name |Type |R/W |Optional |Unit |Description | |-|-|-|-|-|-| @@ -5572,52 +5585,50 @@ From external applications, [dmSoftware] modules can only be discovered from the -### 5.8.8 dmEventLog +### 5.8.7 dmEventLog This ModuleClass provides DM capabilities to control and monitor event logs of the device. - -**Table 5.8.8-1 Actions of dmEventLog ModuleClass** +**Table 5.8.7-1 Actions of dmEventLog ModuleClass** |Return Type |Name |Arguments |Optional |Description | |-|-|-|-|-| |none |retrieveLog |start: xs:datetime<br />end: xs:datetime |true |Upload from the device the logging data between 'start' and 'end'.<br />'start' must be a date before 'end', and is optional. The default is beginning of time.<br />'end' must be a date after 'start' and is optional. The default is the timestamp of the last available log entry. | -This action, if provided, requests the IPE to read logging data on the device. This log is then stored in the 'data' datapoint. It is only valid when the 'enabled' datapoint is true. The start and end arguments are only indications of the timeframe for the log retrieval. If a target device can deliver only partial logs for a given timeframe, for example when the start argument is too far in the past and logs are not available for that time anymore, then the device shall deliver logs from the earliest available point in time on. +This action, if provided, requests the IPE to read logging data on the device. This log is then stored in the 'data' datapoint. It is only valid when the 'enabled' datapoint is true. The *start* *and* end arguments are only indications of the timeframe for the log retrieval. If a target device can deliver only partial logs for a given timeframe, for example when the *start* argument is too far in the past and logs are not available for that time anymore, then the device shall deliver logs from the earliest available point in time on. -**Table 5.8.8-2 DataPoints of dmEventLog ModuleClass** +**Table 5.8.7-2 DataPoints of dmEventLog ModuleClass** |Name |Type |R/W |Optional |Unit |Description | |-|-|-|-|-|-| -|type |m2m:logTypeId |R |false | |The type of the log (e.g. security log, system log...). | -|data |xs:string |R |false | |Raw data of last event. No format specified. | +|type |m2m:logTypeId |R |false | |The type of the log (e.g. security log, system log, etc). | +|data |xs:string |R |false | |Raw data of *last* event. No format specified. | |status |m2m:logStatus |R |false | |The current status of the logging process (Started, Stopped, Error, etc.) | |enabled |xs:boolean |RW |false | |Start / stop logging. | For devices using the dmEventLog ModuleClass, the following rules apply: -- The actual logging process on the device (if any), and the retrieval of device logging data by the IPE, are out of scope of this document. +- The actual logging process on the device (if any), and the retrieval of device logging data by the IPE, are out of scope of the present document. - Instances of this module should only be created by the IPE (one per log type supported by the device for instance). -- The IPE can create a [dmEventLog] instance with status datapoint 'NotPresent' for a given log type, to indicate that this log type is not supported by the device. Otherwise status should have value 'Started' (resp. 'Stopped') if the enabled datapoint is set to true (resp. false). The status datapoint can be given 'Error' value if the log processing dysfunctions. -- The IPE should use the <flexContainerInstance> history mechanism (see TS-0001 § 9.6.59) by setting on [dmEventLog] at least one attribute maxNrOfInstances, maxByteSize or maxInstanceAge. Then for each log event read by the IPE from the device, and if the enabled datapoint has value true, a <flexContainerInstance> resource shall be created, child of this module <flexContainer>. The [dmEventLog] module itself just contains the last logged event from the device for this log type. -- The [dmEventLog] <flexContainer>, and therefore its <flexContainerInstance> children resources, should have a *dataGenerationTime* custom attribute that indicates the time the event was logged on the device (see Rule 2-5 in section 6.2.3). +- The IPE can create a [dmEventLog] instance with *status* datapoint 'NotPresent' for a given log type, to indicate that this log type is not supported by the device. Otherwise *status* should have value 'Started' (resp. 'Stopped') if the *enabled* datapoint is set to *true* (resp. *false*). The *status* datapoint can be given 'Error' value if the log processing dysfunctions. +- The IPE should use the <flexContainerInstance> history mechanism (see oneM2M TS-0001 clause 9.6.59) by setting on [dmEventLog] at least one attribute *maxNrOfInstances*, *maxByteSize* or *maxInstanceAge*. Then for each log event read by the IPE from the device, and if the *enabled* datapoint has value *true*, a <flexContainerInstance> resource shall be created, child of this module <flexContainer>. The [dmEventLog] module itself just contains the *last* logged event from the device for this log type. +- The [dmEventLog] <flexContainer>, and therefore its <flexContainerInstance> children resources, should have a *dataGenerationTime* custom attribute that indicates the time the event was logged on the device (see Rule 2-5 in clause 6.2.3). -When the enabled datapoint is set to false, the IPE shall set the status datapoint to 'Stopped' and shall not modify the data datapoint of the module, and therefore shall not create any <flexContainerInstance> child resource. +When the *enabled* datapoint is set to *false*, the IPE shall set the *status* datapoint to 'Stopped' and shall not modify the *data* datapoint of the module, and therefore shall not create any *<flexContainerInstance>* child resource. -### 5.8.9 dmPackage +### 5.8.8 dmPackage This ModuleClass provides DM capabilities to deploy, control and monitor packages of the device. -- These packages can be simple resource files such as software libraries, configuration files, etc. In this case the softwares datapoint will be empty. -- They also can correspond to software images, in which case their installation will trigger the creation by the IPE of one or more [[dmSoftware]](#587-dmsoftware) SDT modules classes that can be activated / deactivated (see clause [5.8.7](#587-dmsoftware)). In this case the softwares datapoint will contain the list of IDs of this(these) [dmSoftware](#587-dmsoftware) module(s). -- Instances of the dmPackage module class can be dynamically created by the "[deployPackage](#583-dmagent)" action of the [dmAgent](#583-dmagent) module class (see clause [5.8.3](#583-dmagent)). - +- These packages can be simple resource files such as software libraries, configuration files, etc. In this case the *softwares* datapoint will be empty. +- They also can correspond to software images, in which case their installation will trigger the creation by the IPE of one or more [[dmSoftware]](#586-dmsoftware) SDT modules classes that can be activated / deactivated (see clause [5.8.6](#586-dmsoftware)). In this case the *softwares* datapoint will contain the list of IDs of this(these) [dmSoftware](#586-dmsoftware) module(s). +- Instances of the dmPackage module class can be dynamically created by the "[deployPackage](#582-dmagent)" action of the [dmAgent](#582-dmagent) module class (see clause [5.8.2](#582-dmagent)). -**Table 5.8.9-1 Actions of dmPackage ModuleClass** +**Table 5.8.8-1 Actions of dmPackage ModuleClass** |Return Type |Name |Argument |Optional |Description | |-|-|-|-|-| @@ -5627,16 +5638,15 @@ This ModuleClass provides DM capabilities to deploy, control and monitor package <mark>Editor's note: *update* is missing in Table 6.3.2-4</mark> - - -**Notes**: +NOTE: - The package can be pre-downloaded when the [dmPackage] resource is created. - In the *update* action, the arguments version and url can be empty strings (case for instance of updating a package on a Linux-type system). - When the [dmPackage] resource is deleted, the package shall be removed from the device. -**Table 5.8.9-2 DataPoints of dmPackage ModuleClass** + +**Table 5.8.8-2 DataPoints of dmPackage ModuleClass** |Name |Type |R/W |Optional |Unit |Description | |-|-|-|-|-|-| @@ -5645,25 +5655,22 @@ This ModuleClass provides DM capabilities to deploy, control and monitor package |name |xs:string |R |true | |The name of the package. | |version |xs:string |R |true | |The version of the package. | |url |xs:url |R |true | |The URL from which the package can be downloaded | -|softwares |m2m:listOfM2MID |R |true | |The list of [dmSoftware](#587-dmsoftware) modules, if any, that are associated with this [dmPackage] module | - +|softwares |m2m:listOfM2MID |R |true | |The list of [dmSoftware](#586-dmsoftware) modules, if any, that are associated with this [dmPackage] module | +NOTE: -**Notes**: +- The [dmPackage] *name* and *version* datapoints are optional because they can be deduced from the downloaded resource. The *url* datapoint is optional because the package can be pre-installed or downloaded from a default repository (for instance a package on a Linux-type system). +- The possible dependencies between [dmPackage] modules (for instance the [dmPackage] of an executable software image depends on the deployment of other dmPackage that correspond to libraries needed by this software) is out of scope of the present document. -- The [dmPackage] *name* and *version* datapoints are optional because they can be deduced from the downloaded resource. The url datapoint is optional because the package can be pre-installed or downloaded from a default repository (for instance a package on a Linux-type system). -- The possible dependencies between [dmPackage] modules (for instance the [dmPackage] of an executable software image depends on the deployment of other dmPackage that correspond to libraries needed by this software) is out of scope of this document. +The control of the association between a dmPackage and an associated [dmSoftware](#586-dmsoftware) module, for instance updating a [dmPackage] when the [dmSoftware](#586-dmsoftware) is active, is out of scope of the present document. -The control of the association between a dmPackage and an associated [dmSoftware](#587-dmsoftware) module, for instance updating a [dmPackage] when the [dmSoftware](#587-dmsoftware) is active, is out of scope of this document. - -### 5.8.10 dmAreaNwkInfo +### 5.8.9 dmAreaNwkInfo A dmAreaNwkInfo is a SDT SubDevice entity, mapped as a <flexContainer> resource that expresses the information about the devices in a M2M Area Network managed by the parent flexNode. - -**Table 5.8.10-1: Properties of dmAreaNwkInfo model** +**Table 5.8.9-1: Properties of dmAreaNwkInfo model** |Property Name |Property Type |Multiplicity |Description | |-|-|-|-| @@ -5671,38 +5678,35 @@ A dmAreaNwkInfo is a SDT SubDevice entity, mapped as a <flexContainer> resour - -**Table 5.8.10-2: Modules of dmAreaNwkInfo model** +**Table 5.8.9-2: Modules of dmAreaNwkInfo model** |Module Instance Name |Module Class Name |Multiplicity |Description | |-|-|-|-| -|dmAreaNwkDeviceInfo |[dmAreaNwkDeviceInfo](#5811-dmareanwkdeviceinfo) |0..N |See clause [5.8.11](#5811-dmareanwkdeviceinfo). | +|dmAreaNwkDeviceInfo |[dmAreaNwkDeviceInfo](#5810-dmareanwkdeviceinfo) |0..N |See clause [5.8.10](#5810-dmareanwkdeviceinfo). | -### 5.8.11 dmAreaNwkDeviceInfo +### 5.8.10 dmAreaNwkDeviceInfo This ModuleClass is used to share information regarding the devices in the M2M Area Network. - -**Table 5.8.11-1 DataPoints of dmAreaNwkDeviceInfo ModuleClass** +**Table 5.8.10-1 DataPoints of dmAreaNwkDeviceInfo ModuleClass** |Name |Type |R/W |Optional |Unit |Description | |-|-|-|-|-|-| |devId |xs:string |R |false | |Indicates the id of the device. It could be the id of the hardware or nodeId. | -|devType |xs:string |R |false | |Indicates the type of the device. The attribute also indicates the functions or services that are provided by the device. Examples include temperature sensor, actuator, Zigbee coordinator or Zigbee router | +|devType |xs:string |R |false | |Indicates the type of the device. The attribute also indicates the functions or services that are provided by the device. Examples include temperature sensor, actuator, IEEE 802.15.4 (tm) coordinator or router. | |sleepInterval |xs:integer |R |true |seconds |The interval between two sleeps. | |sleepDuration |xs:integer |R |true |seconds |The time duration of each sleep. | |status |xs:string |R |true | |The status of the device (sleeping or waked up). | -### 5.8.12 dmCapability +### 5.8.11 dmCapability This ModuleClass is used to model the service capabilities of a managed device. - -**Table 5.8.12-1: Actions of dmCapability ModuleClass** +**Table 5.8.11-1: Actions of dmCapability ModuleClass** |Return Type |Name |Argument |Optional |Documentation | |-|-|-|-|-| @@ -5711,8 +5715,7 @@ This ModuleClass is used to model the service capabilities of a managed device. - -**Table 5.8.12-2 DataPoints of dmCapability ModuleClass** +**Table 5.8.11-2 DataPoints of dmCapability ModuleClass** |Name |Type |R/W |Optional |Unit |Description | |-|-|-|-|-|-| @@ -5722,12 +5725,11 @@ This ModuleClass is used to model the service capabilities of a managed device. -### 5.8.13 dmStorage +### 5.8.12 dmStorage This ModuleClass is used to model the storage on a managed device. - -**Table 5.8.13-1: Actions of dmStorage ModuleClass** +**Table 5.8.12-1: Actions of dmStorage ModuleClass** |Return Type |Name |Argument |Optional |Documentation | |-|-|-|-|-| @@ -5736,13 +5738,12 @@ This ModuleClass is used to model the storage on a managed device. - -**Table 5.8.13-2 DataPoints of dmStorage ModuleClass** +**Table 5.8.12-2 DataPoints of dmStorage ModuleClass** |Name |Type |R/W |Optional |Unit |Description | |-|-|-|-|-|-| |UUID |xs:string |R |true | |The uuid of the storage device. | -|type |xs:integer |R |true | |Indicates the type of storage. 0 indicates internal and 1 indiciates external. | +|type |xs:integer |R |true | |Indicates the type of storage. 0 indicates internal and 1 indicates external. | |name |xs:string |RW |true | |Indicates name of the mounted storage. | |writeSpeed |xs:integer |R |true | |Indicates the write speed of storage device. | |readSpeed |xs:integer |R |true | |Indicates the read speed of storage device. | @@ -5763,7 +5764,7 @@ This ModuleClass is used to model the storage on a managed device. # 6 The Principle of Resource Mapping for Home Appliance Information Model ## 6.1 Introduction -Home appliance information models which are defined in clause 5need to be represented as resources in the oneM2M system. This clause defines the principle of resource mapping based on <flexContainer>. The individual information mapping is provided in annexes [A](#annex-a-(informative)--resource-mapping-examples), [B](#annex-b-(informative)--introduction-of-external-organizations'-data-models), [C](#annex-c-(informative)--mapping-to-content-attribute) and D. <mark>Editor note: check validity to annexes. e.g. Annex D is the document history.</mark> +Home appliance information models which are defined in clause 5need to be represented as resources in the oneM2M system. This clause defines the principle of resource mapping based on <flexContainer>. The individual information mapping is provided in annexes [A](#annex-a-(informative)--resource-mapping-examples), [B](#annex-b-(informative)--introduction-of-external-organizations'-data-models), and [C](#annex-c-(informative)--mapping-to-content-attribute). ## 6.2 The Resource Mapping Rules @@ -5776,19 +5777,19 @@ The present clause specifies the rule to map the "Harmonized Information Model" When the AE exposes a controlling interface for a home domain device which is specified as an information model in clause [5.5](#55-device-models), a specialization of the <flexContainer> resource shall be created as the mapping of the model following conversion rules: -- Rule 1-1: Each Device model defined in clause [5.5](#55-device-models) shall be mapped to a specialization of <flexContainer>. The *containerDefinition* attribute shall be set according to [6.4.2](#642-device-models). +- Rule 1-1: Each Device model defined in clause [5.5](#55-device-models) shall be mapped to a specialization of <flexContainer>. The *containerDefinition* attribute shall be set according to clause [6.4.2](#642-device-models). - Rule 1-2: Each entry in the 'Module' table shall be mapped to a child resource(s) which is mapped as a specialised <flexContainer> following the rule in clause [6.2.3](#623-resource-mapping-for-moduleclass). -- Rule 1-3: The specialized <flexContainer> resource of the Device model may contain an optional attribute *nodeLink* (as defined in TS-0001<a href="#_ref_3">[3]</a> and in TS-0004<a href="#_ref_4">[4]</a>). The value of *nodeLink* shall be set to the resource identifier of a <node> resource described in Rule 1-5 below. See also Rule 1-8. +- Rule 1-3: The specialized <flexContainer> resource of the Device model may contain an optional attribute *nodeLink* (as defined in oneM2M TS-0001<a href="#_ref_3">[3]</a> and in oneM2M TS-0004<a href="#_ref_4">[4]</a>). The value of *nodeLink* shall be set to the resource identifier of a <node> resource described in Rule 1-5 below. See also clause Rule 1-8. -- Rule 1-4: XSD file for each Device model shall be named according to [6.5.2](#652-xsd-definitions-for-device-models). +- Rule 1-4: XSD file for each Device model shall be named according to clause [6.5.2](#652-xsd-definitions-for-device-models). - Rule 1-5: A <node> resource shall be created on the same hosting CSE as the <flexContainer> representing this Device model. If the <node> resource does not contain a [flexNode] child resource (see Rule 1.7), then it contains all the management information as specialized <mgmtObj> resources (e.g. [firmware]) about the Device model instance for device management purposes. - Rule 1-6: Void. -- Rule 1-7:The <node> resource targeted by the *nodeLink* attribute may have a [flexNode] child resource. This [flexNode] resource contains all the Device Management information as specialized <flexContainer> resources defined in [5.8](#58-device-management) (e.g. [[dmFirmware](#586-dmfirmware)]) about the device model instance for Device Management purposes. +- Rule 1-7:The <node> resource targeted by the *nodeLink* attribute may have a [flexNode] child resource. This [flexNode] resource contains all the Device Management information as specialized <flexContainer> resources defined in clause [5.8](#58-device-management) (e.g. [[dmFirmware](#585-dmfirmware)]) about the device model instance for Device Management purposes. - Rule 1-8: Void. @@ -5802,18 +5803,18 @@ When the AE exposes a controlling interface for a home domain device which is sp |Module Instance Name |Module Class Name |Multiplicity |Description | |-|-|-|-| -|<any module in mdd domain> |<any module in mdd domain> |0..N |See clauses [5.3.9](#539-metadata-domain). | +|<any module in mdd domain> |<any module in mdd domain> |0..N |See clause [5.3.9](#539-metadata-domain). | ### 6.2.3 Resource mapping for ModuleClass The ModuleClass models shall be mapped to the specializations of a <flexContainer> resource. The following rules shall be applied: -When the Device or SubDevice models in clauses [5.4](#54-subdevice-models), [5.5](#55-device-models), [5.8.2](#582-flexnode) or [5.8.10](#5810-dmareanwkinfo) are mapped to the <flexContainer> resource, and if the device or sub-device supports the functionality associated with a ModuleClass in the model, a <flexContainer> resource which is mapped from ModuleClass definitions shall be created as a child resource: +When the Device or SubDevice models in clauses [5.4](#54-subdevice-models), [5.5](#55-device-models), [5.8.1](#581-flexnode) or [5.8.9](#589-dmareanwkinfo) are mapped to the <flexContainer> resource, and if the device or sub-device supports the functionality associated with a ModuleClass in the model, a <flexContainer> resource which is mapped from ModuleClass definitions shall be created as a child resource: -- Rule 2-1: The *containerDefinition* attribute shall be set according to [6.4.3](#643-moduleclasses). -- Rule 2-2: Each entry of 'Action', 'Property', and 'DataPoint' in ModuleClass definitions shall be mapped following the resource mapping rules described in clauses [6.2.4](#624-resource-mapping-for-action) - [6.2.7 ](#627-resource-mapping-for-subdevice-model). -- Rule 2-3: XSD file for each ModuleClass shall be named according to [6.5.3](#653-xsd-definitions-for-moduleclass). +- Rule 2-1: The *containerDefinition* attribute shall be set according to clause [6.4.3](#643-moduleclasses). +- Rule 2-2: Each entry of 'Action', 'Property', and 'DataPoint' in ModuleClass definitions shall be mapped following the resource mapping rules described in clauses [6.2.4](#624-resource-mapping-for-action) to [6.2.7 ](#627-resource-mapping-for-subdevice-model). +- Rule 2-3: XSD file for each ModuleClass shall be named according to clause [6.5.3](#653-xsd-definitions-for-moduleclass). - Rule 2-4: The *resourceName* attribute for each module class that appears as a child of a Device or SubDevice model shall be CREATED with the value set to "Module Instance Name". If the module class is contained in a list (multiplicity 0..N or 1..N), its *resourceName* attribute shall be set to "Module Instance Name" appended with an underscore '_' and an incrementing index so that it is unique in the parent's children (e.g. "firmware_0", "firmware_1", etc.). The index shall not have leading 0's. - Rule 2-5: The specialized <flexContainer> resource of the Module model may contain an optional [customAttribute] named *dataGenerationTime*. The value of *dataGenerationTime* contains the time when the data was generated by the device. The data type of this custom attribute is m2m:timestamp. @@ -5822,13 +5823,13 @@ When the Device or SubDevice models in clauses [5.4](#54-subdevice-models), [5.5 Actions defined as part of a ModuleClass model shall be mapped to the specializations of a <flexContainer> resource. The following rules shall be applied: -- Rule 3-1: The *containerDefinition* attribute shall be set according to [6.4.](#644-actions). +- Rule 3-1: The *containerDefinition* attribute shall be set according to clause [6.4.](#644-actions). - Rule 3-2: When the Action supports any 'Arguments', they are mapped to [customizedAttribute] with their variable names (short names are given in clause 6.3.4). When the Action supports a 'Return Type', it is mapped to a [customizedAttribute] named 'result' (short name 'resut'). The keyword 'result' is reserved and cannot be used as an Argument name. -- Rule 3-3: XSD file for each Action shall be named according to [6.5.4 XSD definitions for Action](#654-xsd-definitions-for-action). +- Rule 3-3: XSD file for each Action shall be named according to clause [6.5.4](#654-xsd-definitions-for-action). - Rule 3-4: The Action shall be triggered: - - by updating at least one of the Arguments custom attributes with any value, if the action has at least one argument, or - - by updating the <flexContainer> resource with empty content if it has no argument + - by updating at least one of the Arguments custom attributes with any value, if the action has at least one argument; or + - by updating the <flexContainer> resource with empty content if it has no argument. - Rule 3-5: The resourceName attribute for each Action model that appears as a child of a ModuleClass model shall be CREATED with the value set to "Action name". - Rule 3-6: If an action returns a value that is of a complex data type, i.e. not one of the standard scalar types, then this value shall be encoded as a JSON structure and returned serialized in an xs:string. @@ -5839,36 +5840,49 @@ When the Device model (in clause [5.5](#55-device-models)) or the ModuleClass mo - Rule 4-1: Each entry of 'Property' table in ModuleClass model, shall be mapped to the [customAttribute] of <flexContainer> resource which is mapped from associated ModuleClass model, with its Property name with prefix 'prop'. -- Rule 4-2: If the <node> resource targeted by the nodeLink attribute of a Device model does not have a [flexNode] child resource, then each 'Property' of the Device model is mapped to a specialized [objectAttribute] of a [deviceInfo] <mgmtObj> resource child of this <node>, otherwise it is mapped to a [customAttribute] of a [[dmDeviceInfo](#584-dmdeviceinfo)] <flexContainer> resource child of this [flexNode]. +- Rule 4-2: If the <node> resource targeted by the nodeLink attribute of a Device model does not have a [flexNode] child resource, then each 'Property' of the Device model is mapped to a specialized [objectAttribute] of a [deviceInfo] <mgmtObj> resource child of this <node>, otherwise it is mapped to a [customAttribute] of a [[dmDeviceInfo](#583-dmdeviceinfo)] <flexContainer> resource child of this [flexNode]. - Rule 4-3: Each entry of 'Property' table in SubDevice model, shall be mapped to the [customAttribute] of <flexContainer> resource which is mapped from associated SubDevice model, with its Property name with prefix 'prop'. ### 6.2.6 Resource mapping for DataPoint -When the ModuleClass model (in clause [5.3](#53-moduleclasses)) is mapped to the <flexContainer> resouce, and if the ModuleClass supports a DataPoint, the following rules shall be applied: +When the ModuleClass model (in clause [5.3](#53-moduleclasses)) is mapped to the <flexContainer> resource, and if the ModuleClass supports a DataPoint, the following rules shall be applied: - Rule 5-1: Each entry of DataPoint table in ModuleClass model, shall be mapped to [customAttribute] of <flexContainer> resource which is mapped from associated ModuleClass model, with its DataPoint name. ### 6.2.7 Resource mapping for SubDevice model -The SubDevice models (in clause [5.4](#54-subdevice-models) or [5.8.10](#5810-dmareanwkinfo)) shall be mapped to the specializations of a <flexContainer> resource. The following rules shall be applied: +The SubDevice models (in clause [5.4](#54-subdevice-models) or [5.8.9](#589-dmareanwkinfo)) shall be mapped to the specializations of a <flexContainer> resource. The following rules shall be applied: + +- When the SubDevice model in clause [5.4](#54-subdevice-models) or [5.8.9](#589-dmareanwkinfo) is mapped to the <flexContainer> resource, and if the device supports the functionality associated with a SubDevice in the model, a <flexContainer> resource which is mapped from SubDevices definitions shall be created as a child resource. + + + - Rule 7-1: The containerDefinition attribute shall be set according to clause [6.4.5](#645-subdevices). + + + - Rule 7-1a: Each entry in the 'Module' table shall be mapped to a child resource(s) which is mapped as a specialised <flexContainer> following the rule in clause [6.2.3](#623-resource-mapping-for-moduleclass). + + + - Rule 7-2: The XSD file for each SubDevice model shall be named according to clause [6.5.5](#655-xsd-definitions-for-subdevices). + + + - Rule 7-3: void + + + - Rule 7-4: The resourceName attribute for each SubDevice that appears as a child of a Device or FlexNode model shall be created with the value set to "SubDevice Instance Name". If the SubDevice is contained in a list (multiplicity 0..N or 1..N), its resourceName attribute shall be set to "SubDevice Instance Name" appended with an underscore '_' and an incrementing index so that it is unique in the parent's children (e.g. "cuff_0", "cuff_1", etc.). The index shall not have leading 0's. -When the SubDevice model in clause [5.4](#54-subdevice-models) or [5.8.10](#5810-dmareanwkinfo) is mapped to the <flexContainer> resource, and if the device supports the functionality associated with a SubDevice in the model, a <flexContainer> resource which is mapped from SubDevices definitions shall be created as a child resource. + - Rule 7-5: Each <flexContainer> associated to a SubDevice model may have as child resource any <flexContainer> associated to a ModuleClass model of the Metadata domain defined in clause [5.3.9](#539-metadata-domain). + + + - In other words, all subdevices implicitly have the following lines in their modules table: -- Rule 7-1: The containerDefinition attribute shall be set according to [6.4.5](#645-subdevices). -- Rule 7-1a: Each entry in the 'Module' table shall be mapped to a child resource(s) which is mapped as a specialised <flexContainer> following the rule in clause [6.2.3](#623-resource-mapping-for-moduleclass). -- Rule 7-2: The XSD file for each SubDevice model shall be named according to clause [6.5.5](#655-xsd-definitions-for-subdevices). -- Rule 7-3: void -- Rule 7-4: The resourceName attribute for each SubDevice that appears as a child of a Device or FlexNode model shall be created with the value set to "SubDevice Instance Name". If the SubDevice is contained in a list (multiplicity 0..N or 1..N), its resourceName attribute shall be set to "SubDevice Instance Name" appended with an underscore '_' and an incrementing index so that it is unique in the parent's children (e.g. "cuff_0", "cuff_1", etc.). The index shall not have leading 0's. -- Rule 7-5: Each <flexContainer> associated to a SubDevice model may have as child resource any <flexContainer> associated to a ModuleClass model of the Metadata domain defined in clause [5.3.9](#539-metadata-domain). -- In other words, all subdevices implicitly have the following lines in their modules table: **Table 6.2.7-1: Modules of subDeviceXXX model** |Module Instance Name |Module Class Name |Multiplicity |Description | |-|-|-|-| -|<any module in mdd domain> |<any module in mdd domain> |0..N |See clauses [5.3.9](#539-metadata-domain). | +|<any module in mdd domain> |<any module in mdd domain> |0..N |See clause [5.3.9](#539-metadata-domain). | ## 6.3 Short names @@ -5946,7 +5960,7 @@ In protocol bindings resource type names for device models shall be translated i |[deviceBottleWarmer](#55430-devicebottlewarmer) |deBWr | |[deviceGarbageDisposal](#55431-devicegarbagedisposal) |deGDp | |[deviceWaterPurifier](#55432-devicewaterpurifier) |deWPr | -|[flexNode](#582-flexnode) |fleNe | +|[flexNode](#581-flexnode) |fleNe | @@ -5960,9 +5974,9 @@ In protocol bindings resource type names for SubDevice model shall be translated |[powerOutlet](#5412-subdevicepoweroutlet) |powOt | |[subDeviceCuff](#5431-subdevicecuff) |suDCf | |[subDeviceCuff](#5431-subdevicecuff) |sDPOt | -|[dmAreaNwkInfo](#5810-dmareanwkinfo) |dANIo | +|[dmAreaNwkInfo](#589-dmareanwkinfo) |dANIo | -NOTE: see section [6.2.7](#627-resource-mapping-for-subdevice-model), rule 7-4 +NOTE: see clause [6.2.7](#627-resource-mapping-for-subdevice-model), rule 7-4. In protocol bindings resource type names for module classes shall be translated into short names of Table 6.3.2-3. @@ -6011,16 +6025,16 @@ In protocol bindings resource type names for module classes shall be translated |[dehumidifierJobMode](#53128-dehumidifierjobmode) |deJMe | |[dehumidifierOperationMode](#53157-operationmode) |deOMe | |[dishWasherJobMode](#53129-dishwasherjobmode) |dWJMe | -|[dmAgent](#583-dmagent) |dmAgt | -|[dmAreaNwkDeviceInfo](#5811-dmareanwkdeviceinfo) |dANDo | -|[dmCapability](#5812-dmcapability) |dmCay | -|[dmDataModelIO](#585-dmdatamodelio) |dDMIO | -|[dmDeviceInfo](#584-dmdeviceinfo) |dmDIo | -|[dmEventLog](#588-dmeventlog) |dmELg | -|[dmFirmware](#586-dmfirmware) |dmFie | -|[dmPackage](#589-dmpackage) |dmPae | -|[dmSoftware](#587-dmsoftware) |dmSoe | -|[dmStorage](#5813-dmstorage) |dmSte | +|[dmAgent](#582-dmagent) |dmAgt | +|[dmAreaNwkDeviceInfo](#5810-dmareanwkdeviceinfo) |dANDo | +|[dmCapability](#5811-dmcapability) |dmCay | +|[dmDataModelIO](#584-dmdatamodelio) |dDMIO | +|[dmDeviceInfo](#583-dmdeviceinfo) |dmDIo | +|[dmEventLog](#587-dmeventlog) |dmELg | +|[dmFirmware](#585-dmfirmware) |dmFie | +|[dmPackage](#588-dmpackage) |dmPae | +|[dmSoftware](#586-dmsoftware) |dmSoe | +|[dmStorage](#5812-dmstorage) |dmSte | |[doorLock](#53152-lock) |dooLk | |[doorStatus](#53130-doorstatus) |dooSs | |[electricVehicleConnector](#53131-electricvehicleconnector) |elVCr | @@ -6105,39 +6119,39 @@ In protocol bindings resource type names for actions shall be translated into sh |Resource Type Name |Short Name | |-|-| -|[activate](#587-dmsoftware) |actie | +|[activate](#586-dmsoftware) |actie | |[activateClockTimer](#53190-timer) |acCTr | |[answer](#53164-phonecall) |answr | |[call](#53164-phonecall) |call | |[close](#53156-openlevel) |close | -|[deactivate](#587-dmsoftware) |deace | +|[deactivate](#586-dmsoftware) |deace | |[deactivateClockTimer](#53190-timer) |deCTr | |[decrementNumberValue](#53155-numbervalue) |deNVe | -|[deployPackage](#583-dmagent) |depPe | -|[disable](#5812-dmcapability) |disae | +|[deployPackage](#582-dmagent) |depPe | +|[disable](#5811-dmcapability) |disae | |[downChannel](#53186-televisionchannel) |dowCl | |[downVolume](#5318-audiovolume) |dowVe | -|[enable](#5812-dmcapability) |enabe | -|[format](#5813-dmstorage) |formt | +|[enable](#5811-dmcapability) |enabe | +|[format](#5812-dmstorage) |formt | |[hangup](#53164-phonecall) |hangp | |[incrementNumberValue](#53155-numbervalue) |inNVe | -|[install](#589-dmpackage) |instl | +|[install](#588-dmpackage) |instl | |[nextTrack](#53165-playercontrol) |nexTk | |[open](#53156-openlevel) |open | |[previousTrack](#53165-playercontrol) |preTk | -|[reboot](#583-dmagent) |rebot | -|[readIO](#585-dmdatamodelio) |reaIO | +|[reboot](#582-dmagent) |rebot | +|[readIO](#584-dmdatamodelio) |reaIO | |[resetNumberValue](#53155-numbervalue) |reNVe | |[resetTextMessage](#53189-textmessage) |reTMe | |[start3Dprint](#5311-threedprinter) |staDt | |[stop3Dprint](#5311-threedprinter) |stoDt | -|[toggle](#586-dmfirmware) |togge | -|[uninstall](#589-dmpackage) |uninl | -|[unmount](#5813-dmstorage) |unmot | +|[toggle](#585-dmfirmware) |togge | +|[uninstall](#588-dmpackage) |uninl | +|[unmount](#5812-dmstorage) |unmot | |[upChannel](#53186-televisionchannel) |uphCl | -|[updateFirmware](#586-dmfirmware) |updFe | +|[updateFirmware](#585-dmfirmware) |updFe | |[upVolume](#5318-audiovolume) |upoVe | -|[writeIO](#585-dmdatamodelio) |wriIO | +|[writeIO](#584-dmdatamodelio) |wriIO | @@ -6195,7 +6209,7 @@ In protocol bindings resource attributes names for data points of module classes |code |[faultDetection](#53134-faultdetection), [filterInfo](#53135-filterinfo) |code | |coldWash |[clothesWasherJobModeOption](#53122-clotheswasherjobmodeoption) |colWh | |colourSaturation |[colourSaturation](#53124-coloursaturation) |colSn | -|component |[dmFirmware](#586-dmfirmware) |compt | +|component |[dmFirmware](#585-dmfirmware) |compt | |concentration |[glucometer](#53142-glucometer) |concn | |contextCarbohydratesAmount |[glucometer](#53142-glucometer) |coCAt | |contextCarbohydratesSource |[glucometer](#53142-glucometer) |coCSe | @@ -6205,8 +6219,8 @@ In protocol bindings resource attributes names for data points of module classes |contextMeal |[glucometer](#53142-glucometer) |conMl | |contextMedication |[glucometer](#53142-glucometer) |conMn | |contextTester |[glucometer](#53142-glucometer) |conTr | -|country |[dmDeviceInfo](#584-dmdeviceinfo) |couny | -|cpuUsage |[dmAgent](#583-dmagent) |cpuUe | +|country |[dmDeviceInfo](#583-dmdeviceinfo) |couny | +|cpuUsage |[dmAgent](#582-dmagent) |cpuUe | |cupsNumber |[brewing](#53116-brewing) |cupNr | |current |[energyConsumption](#53132-energyconsumption) |currt | |currentAdfState |[autoDocumentFeeder](#5319-autodocumentfeeder) |cuASe | @@ -6222,13 +6236,13 @@ In protocol bindings resource attributes names for data points of module classes |currentTime |[clock](#53118-clock) |curTe | |currentTimeZone |[clock](#53118-clock) |cuTZe | |currentValue |[smokeSensor](#53182-smokesensor) |crv | -|data |[dmEventLog](#588-dmeventlog) |data | -|dataModelType |[dmDataModelIO](#585-dmdatamodelio) |daMTe | +|data |[dmEventLog](#587-dmeventlog) |data | +|dataModelType |[dmDataModelIO](#584-dmdatamodelio) |daMTe | |dataSourceID |[origin](#5394-origin) |daSID | |dataType |[origin](#5394-origin) |datTe | |defaultValue |[numberValue](#53155-numbervalue), [textMessage](#53189-textmessage) |defVe | |defrost |[refrigeration](#53171-refrigeration) |defrt | -|description |[faultDetection](#53134-faultdetection), [dmDeviceInfo](#584-dmdeviceinfo), [localization](#5393-localization) |dc | +|description |[faultDetection](#53134-faultdetection), [dmDeviceInfo](#583-dmdeviceinfo), [localization](#5393-localization) |dc | |desiredHumidity |[relativeHumidity](#53172-relativehumidity) |desHy | |detectedTime |[overcurrentSensor](#53158-overcurrentsensor), [smokeSensor](#53182-smokesensor) |detTe | |diastolicPressure |[sphygmomanometer](#53183-sphygmomanometer) |diaPe | @@ -6237,7 +6251,7 @@ In protocol bindings resource attributes names for data points of module classes |doorState |[doorStatus](#53130-doorstatus) |dooSe | |duration |[overcurrentSensor](#53158-overcurrentsensor), [recorder](#53170-recorder) |dur | |electricEnergy |[battery](#53110-battery) |eleEy | -|enabled |[dmEventLog](#588-dmeventlog) |enabd | +|enabled |[dmEventLog](#587-dmeventlog) |enabd | |energy |[pulsemeter](#53168-pulsemeter) |enery | |estimatedTimeToEnd |[timer](#53190-timer) |eTTEd | |extraRinse |[clothesWasherJobModeOption](#53122-clotheswasherjobmodeoption) |extRe | @@ -6246,9 +6260,9 @@ In protocol bindings resource attributes names for data points of module classes |filterLifetime |[filterInfo](#53135-filterinfo) |filLe | |foamingStrength |[foaming](#53136-foaming) |foaSh | |frequency |[energyConsumption](#53132-energyconsumption) |freqy | -|friendlyName |[dmDeviceInfo](#584-dmdeviceinfo) |friNe | +|friendlyName |[dmDeviceInfo](#583-dmdeviceinfo) |friNe | |friendlyLocation |[location](#5392-location), [localization](#5393-localization) |friLn | -|fwVersion |[dmDeviceInfo](#584-dmdeviceinfo) |fweVn | +|fwVersion |[dmDeviceInfo](#583-dmdeviceinfo) |fweVn | |generationSource |[energyGeneration](#53133-energygeneration) |genSe | |geoJSON |[location](#5392-location) |geoJN | |grainsRemaining |[grinder](#53143-grinder) |graRg | @@ -6261,7 +6275,7 @@ In protocol bindings resource attributes names for data points of module classes |height |[height](#53145-height) |heigt | |horizontalAccuracy |[geoLocation](#53141-geolocation) |horAy | |horizontalDirection |[airFlow](#5314-airflow) |horDn | -|hwVersion |[dmDeviceInfo](#584-dmdeviceinfo)|hweVn | +|hwVersion |[dmDeviceInfo](#583-dmdeviceinfo)|hweVn | |impactDirectionHorizontal |[impactSensor](#53147-impactsensor) |imDHl | |impactDirectionVertical |[impactSensor](#53147-impactsensor) |imDVl | |impactLevel |[impactSensor](#53147-impactsensor) |impLl | @@ -6284,9 +6298,9 @@ In protocol bindings resource attributes names for data points of module classes |lowBattery |[battery](#53110-battery) |lowBy | |lqi |[signalStrength](#53178-signalstrength) |lqi | |machineStates |[runState](#53175-runstate) |macSs | -|manufacturer |[dmDeviceInfo](#584-dmdeviceinfo) |manur | -|manufacturerDetailsLink |[dmDeviceInfo](#584-dmdeviceinfo) |maDLk | -|manufacturingDate |[dmDeviceInfo](#584-dmdeviceinfo) |manDe | +|manufacturer |[dmDeviceInfo](#583-dmdeviceinfo) |manur | +|manufacturerDetailsLink |[dmDeviceInfo](#583-dmdeviceinfo) |maDLk | +|manufacturingDate |[dmDeviceInfo](#583-dmdeviceinfo) |manDe | |material |[battery](#53110-battery) |matel | |maxHeatingLevel |[heightheatingZone](#53144-heatingzone) |maHLl | |maxLength |[textMessage](#53189-textmessage) |maxLh | @@ -6306,14 +6320,14 @@ In protocol bindings resource attributes names for data points of module classes |minSpeed |[airFlow](#5314-airflow) |minSd | |minValue |[numberValue](#53155-numbervalue), [temperature](#53187-temperature) |minVe | |modality |[pulsemeter](#53168-pulsemeter) |moday | -|model |[dmDeviceInfo](#584-dmdeviceinfo) |model | +|model |[dmDeviceInfo](#583-dmdeviceinfo) |model | |monitoringEnabled |[airQualitySensor](#5316-airqualitysensor) |monEd | -|multiFirmware |[dmFirmware](#586-dmfirmware) |mulFe | +|multiFirmware |[dmFirmware](#585-dmfirmware) |mulFe | |multiplyingFactors |[energyConsumption](#53132-energyconsumption), [energyGeneration](#53133-energygeneration) |mulFs | |muscle |[bioElectricalImpedanceAnalysis](#53113-bioelectricalimpedanceanalysis) |musce | |muscleMass |[bodyCompositionAnalyser](#53114-bodycompositionanalyser) |musMs | |muteEnabled |[audioVolume](#5318-audiovolume) |mutEd | -|name |[dmPackage](#589-dmpackage), [dmSoftware](#587-dmsoftware) |name | +|name |[dmPackage](#588-dmpackage), [dmSoftware](#586-dmsoftware) |name | |network |[threeDprinter](#5311-threedprinter) |netwk | |numberValue |[numberValue](#53155-numbervalue) |numVe | |object |[binaryObject](#53111-binaryobject) |objet | @@ -6322,7 +6336,7 @@ In protocol bindings resource attributes names for data points of module classes |openDuration |[doorStatus](#53130-doorstatus) |opeDn | |openLevel |[openLevel](#53156-openlevel) |opeLl | |originID |[origin](#5394-origin) |oriID | -|osVersion |[dmDeviceInfo](#584-dmdeviceinfo) |oseVn | +|osVersion |[dmDeviceInfo](#583-dmdeviceinfo) |oseVn | |overcurrentStatus |[overcurrentSensor](#53158-overcurrentsensor) |oveSs | |oxygenSaturation |[oximeter](#53159-oximeter) |oxySn | |ozoneStatus |[ozoneMeter](#53160-ozonemeter) |ozoSs | @@ -6334,15 +6348,15 @@ In protocol bindings resource attributes names for data points of module classes |powerGenerationData |[energyGeneration](#53133-energygeneration) |poGDa | |powerSaveEnabled |[powerSave](#53166-powersave) |poSEd | |powerState |[binarySwitch](#53112-binaryswitch) |powSe | -|powerStatus |[dmAgent](#583-dmagent) |powSs | +|powerStatus |[dmAgent](#582-dmagent) |powSs | |precision |[features](#5391-features) |precn | -|presentationURL |[dmDeviceInfo](#584-dmdeviceinfo) |prURL | +|presentationURL |[dmDeviceInfo](#583-dmdeviceinfo) |prURL | |previousChannel |[televisionChannel](#53186-televisionchannel) |preCl | |preWash |[clothesWasherJobModeOption](#53122-clotheswasherjobmodeoption) |preWh | -|primaryName |[dmFirmware](#586-dmfirmware) |priNe | -|primaryState |[dmFirmware](#586-dmfirmware) |priSe | -|primaryUrl |[dmFirmware](#586-dmfirmware) |priUl | -|primaryVersion |[dmFirmware](#586-dmfirmware) |priVn | +|primaryName |[dmFirmware](#585-dmfirmware) |priNe | +|primaryState |[dmFirmware](#585-dmfirmware) |priSe | +|primaryUrl |[dmFirmware](#585-dmfirmware) |priUl | +|primaryVersion |[dmFirmware](#585-dmfirmware) |priVn | |printingState |[printQueue](#53167-printqueue) |priS0 | |printSizeX |[threeDprinter](#5311-threedprinter) |priSX | |printSizeY |[threeDprinter](#5311-threedprinter) |priSY | @@ -6351,8 +6365,8 @@ In protocol bindings resource attributes names for data points of module classes |progressPercentage |[runState](#53175-runstate) |proPe | |pulseRate |[pulsemeter](#53168-pulsemeter) |pulRe | |pushed |[pushButton](#53169-pushbutton) |pushd | -|ramAvailable |[dmAgent](#583-dmagent) |ramAe | -|ramTotal |[dmAgent](#583-dmagent) |ramTl | +|ramAvailable |[dmAgent](#582-dmagent) |ramAe | +|ramTotal |[dmAgent](#582-dmagent) |ramTl | |rapidCool |[refrigeration](#53171-refrigeration) |rapCl | |rapidFreeze |[refrigeration](#53171-refrigeration) |rapFe | |recipientID |[phoneCall](#53164-phonecall) |recID | @@ -6369,17 +6383,17 @@ In protocol bindings resource attributes names for data points of module classes |rssi |[signalStrength](#53178-signalstrength) |rssi | |runningTime |[timer](#53190-timer) |runTe | |sdp |[sessionDescription](#53177-sessiondescription) |sdp | -|secondaryName |[dmFirmware](#586-dmfirmware) |secNe | -|secondaryState |[dmFirmware](#586-dmfirmware) |secSe | -|secondaryUrl |[dmFirmware](#586-dmfirmware) |secUl | -|secondaryVersion |[dmFirmware](#586-dmfirmware) |secVn | +|secondaryName |[dmFirmware](#585-dmfirmware) |secNe | +|secondaryState |[dmFirmware](#585-dmfirmware) |secSe | +|secondaryUrl |[dmFirmware](#585-dmfirmware) |secUl | +|secondaryVersion |[dmFirmware](#585-dmfirmware) |secVn | |securityModes |[securityMode](#53176-securitymode) |secMs | |sensitivity |[motionSensor](#53154-motionsensor) |sensy | |sensorHumidity |[airQualitySensor](#5316-airqualitysensor) |senHy | |sensorOdor |[airQualitySensor](#5316-airqualitysensor) |senOr | |sensorPM1 |[airQualitySensor](#5316-airqualitysensor) |sePM1 | |sensorPM10 |[airQualitySensor](#5316-airqualitysensor) |sePM0 | -|serialNumber |[dmDeviceInfo](#584-dmdeviceinfo) |serNr | +|serialNumber |[dmDeviceInfo](#583-dmdeviceinfo) |serNr | |sensorPM2 |[airQualitySensor](#5316-airqualitysensor) |sePM2 | |significantDigits |[energyConsumption](#53132-energyconsumption), [energyGeneration](#53133-energygeneration) |sigDs | |silentTime |[motionSensor](#53154-motionsensor) |silTe | @@ -6393,23 +6407,23 @@ In protocol bindings resource attributes names for data points of module classes |spinLevelStrength |[spinLevel](#53184-spinlevel) |spLSh | |spinSpeed |[clothesWasherJobModeOption](#53122-clotheswasherjobmodeoption) |spiSd | |startPause |[operationMode](#53157-operationmode) |staPe | -|state |[dmAgent](#583-dmagent), [dmPackage](#589-dmpackage), [dmFirmware](#586-dmfirmware) |state | -|status |[boiler](#53115-boiler), [dmEventLog](#588-dmeventlog), [electricVehicleConnector](#53131-electricvehicleconnector), [faultDetection](#53134-faultdetection), filterInf, [mediaSelect](#53153-mediaselect) |sus | +|state |[dmAgent](#582-dmagent), [dmPackage](#588-dmpackage), [dmFirmware](#585-dmfirmware) |state | +|status |[boiler](#53115-boiler), [dmEventLog](#587-dmeventlog), [electricVehicleConnector](#53131-electricvehicleconnector), [faultDetection](#53134-faultdetection), filterInf, [mediaSelect](#53153-mediaselect) |sus | |steamTreat |[clothesWasherJobModeOption](#53122-clotheswasherjobmodeoption) |steTt | |step |[numberValue](#53155-numbervalue) |step | |stepValue |[audioVolume](#5318-audiovolume), [openLevel](#53156-openlevel), [temperature](#53187-temperature) |steVe | -|storageAvailable |[dmAgent](#583-dmagent) |stoAe | -|storageTotal |[dmAgent](#583-dmagent) |stoTl | +|storageAvailable |[dmAgent](#582-dmagent) |stoAe | +|storageTotal |[dmAgent](#582-dmagent) |stoTl | |strength |[brewing](#53116-brewing) |streh | -|subModel |[dmDeviceInfo](#584-dmdeviceinfo) |subMl | +|subModel |[dmDeviceInfo](#583-dmdeviceinfo) |subMl | |supportedHorizontalDirection |[airFlow](#5314-airflow) |suHDn | |supportedMediaSources |[mediaSelect](#53153-mediaselect) |suMSs | |supportedMessageValues |[textMessage](#53189-textmessage) |suMVs | |supportedPlayerModes |[playerControl](#53165-playercontrol) |suPMs | |supportedVerticalDirection |[airFlow](#5314-airflow) |suVDn | -|supportURL |[dmDeviceInfo](#584-dmdeviceinfo) |suURL | -|swVersion |[dmDeviceInfo](#584-dmdeviceinfo) |sweVn | -|systemTime |[dmAgent](#583-dmagent) |sysTe | +|supportURL |[dmDeviceInfo](#583-dmdeviceinfo) |suURL | +|swVersion |[dmDeviceInfo](#583-dmdeviceinfo) |sweVn | +|systemTime |[dmAgent](#582-dmagent) |sysTe | |systolicPressure |[sphygmomanometer](#53183-sphygmomanometer) |sysPe | |targetAltitude |[geoLocation](#53141-geolocation) |tarAe | |targetDuration |[timer](#53190-timer) |tarDn | @@ -6419,20 +6433,20 @@ In protocol bindings resource attributes names for data points of module classes |targetTimeToStart |[timer](#53190-timer) |tTTSt | |targetTimeToStop |[timer](#53190-timer) |tTTSp | |temperature |[temperatureAlarm](#53188-temperaturealarm) |tempe | -|temperatureThreshhold |[temperatureAlarm](#53188-temperaturealarm) |temTd | +|temperatureThreshold <mark>This data point has been changed to two different data points</mark> |[temperatureAlarm](#53188-temperaturealarm) |temTd | |textMessage |[textMessage](#53189-textmessage) |texMe | |time |[keepWarm](#53148-keepwarm) |time | |token |[credentials](#53127-credentials) |tk | |tone |[alarmSpeaker](#5317-alarmspeaker) |tone | |turboEnabled |[turbo](#53191-turbo) |turEd | -|type |[dmEventLog](#588-dmeventlog) |type | +|type |[dmEventLog](#587-dmeventlog) |type | |unit |[temperature](#53187-temperature) |unit | |uri |[printQueue](#53167-printqueue) |ur0 | -|url |[sessionDescription](#53177-sessiondescription), [dmPackage](#589-dmpackage), [dmSoftware](#587-dmsoftware) |url | +|url |[sessionDescription](#53177-sessiondescription), [dmPackage](#588-dmpackage), [dmSoftware](#586-dmsoftware) |url | |useGrinder |[grinder](#53143-grinder) |useGr | |uvStatus |[uvSensor](#53192-uvsensor) |uvtSs | |uvValue |[uvSensor](#53192-uvsensor) |uvaVe | -|version |[dmPackage](#589-dmpackage), [dmSoftware](#587-dmsoftware) |versn | +|version |[dmPackage](#588-dmpackage), [dmSoftware](#586-dmsoftware) |versn | |verticalAccuracy |[geoLocation](#53141-geolocation) |verAy | |verticalDirection |[airFlow](#5314-airflow) |verDn | |visceraFat |[bioElectricalImpedanceAnalysis](#53113-bioelectricalimpedanceanalysis) |visFt | @@ -6454,7 +6468,7 @@ In protocol bindings resource attributes names for properties of sub-devices sha | Attribute Name |Occurs in |Short Name | |-|-|-| -|propAreaNwkType |[dmAreaNwkInfo](#5810-dmareanwkinfo) |pANTe | +|propAreaNwkType |[dmAreaNwkInfo](#589-dmareanwkinfo) |pANTe | @@ -6466,12 +6480,12 @@ In protocol bindings resource attributes names for arguments of actions shall be |Argument Name |Occurs in |Short Name | |-|-|-| -|address |[readIO](#585-dmdatamodelio), [writeIO](#585-dmdatamodelio) |addrs | -|name |[deployPackage](#583-dmagent) |name | -|payload |[writeIO](#585-dmdatamodelio) |payld | -|rebootType |[reboot](#583-dmagent) |rebTe | -|url |[deployPackage](#583-dmagent), [updateFirmware](#586-dmfirmware), [update](#589-dmpackage) |url | -|version |[deployPackage](#583-dmagent), [updateFirmware](#586-dmfirmware), [update](#589-dmpackage) |versn | +|address |[readIO](#584-dmdatamodelio), [writeIO](#584-dmdatamodelio) |addrs | +|name |[deployPackage](#582-dmagent) |name | +|payload |[writeIO](#584-dmdatamodelio) |payld | +|rebootType |[reboot](#582-dmagent) |rebTe | +|url |[deployPackage](#582-dmagent), [updateFirmware](#585-dmfirmware), [update](#588-dmpackage) |url | +|version |[deployPackage](#582-dmagent), [updateFirmware](#585-dmfirmware), [update](#588-dmpackage) |versn | @@ -6499,25 +6513,23 @@ Depending on the domain, the *containerDefinition* attribute of specializations - Rule: "org.onem2m.[domain].moduleclass.[moduleclass name]", where [domain] is one of the domain names defined in [6.4.1](#641-introduction). The name is chosen according to the domain in which the module class is defined. -For example, the *containerDefinition* attribute of the specialization for the "[alarmSpeaker](#5317-alarmspeaker)" module class of the "common" domain shall be "org.onem2m.common.moduleclass.alarmSpeaker", the *containerDefinition* attribute of the specialization for the "[dmAgent](#583-dmagent)" module class of the "management" domain shall be "org.onem2m.management.moduleclass.dmAgent". +For example, the *containerDefinition* attribute of the specialization for the "[alarmSpeaker](#5317-alarmspeaker)" module class of the "common" domain shall be "org.onem2m.common.moduleclass.alarmSpeaker", the *containerDefinition* attribute of the specialization for the "[dmAgent](#582-dmagent)" module class of the "management" domain shall be "org.onem2m.management.moduleclass.dmAgent". ### 6.4.4 Actions -Depending on the domain, the *containerDefinition* attribute of specializations for actions shall have the values - -that comply with the following rule. +Depending on the domain, the *containerDefinition* attribute of specializations for actions shall have the values that comply with the following rule: -Rule: "org.onem2m.[domain].action.[action name]", where [domain] is one of the domain names defined in [6.4.1](#641-introduction). The name is chosen according to the domain in which the action is defined. +- Rule: "org.onem2m.[domain].action.[action name]", where [domain] is one of the domain names defined in [6.4.1](#641-introduction). The name is chosen according to the domain in which the action is defined. -For example, the *containerDefinition* attribute of the specialization for "[activateClockTimer](#53190-timer)" action in the "[timer](#53190-timer)" module class of the "common" domain shall be "org.onem2m.common.action.activateClocktimer", the *containerDefinition* attribute of the specialization for the "[activate](#587-dmsoftware)" action of the "[dmSoftware](#587-dmsoftware)" ModuleClass of the "management" domain shall be "org.onem2m.management.action.activate". +For example, the *containerDefinition* attribute of the specialization for "[activateClockTimer](#53190-timer)" action in the "[timer](#53190-timer)" module class of the "common" domain shall be "org.onem2m.common.action.activateClocktimer", the *containerDefinition* attribute of the specialization for the "[activate](#586-dmsoftware)" action of the "[dmSoftware](#586-dmsoftware)" ModuleClass of the "management" domain shall be "org.onem2m.management.action.activate". ### 6.4.5 SubDevices -Depending on the domain, the *containerDefinition* attribute of specializations for sub-devices shall have the values that comply with the following rule. +Depending on the domain, the *containerDefinition* attribute of specializations for sub-devices shall have the values that comply with the following rule: - Rule: "org.onem2m.[domain].subdevice.[subDevice name]", where [domain] is one of the following names: "agriculture", "city", "common", "health", "home", "industry", "railway", "vehicular" and "management". The name is chosen according to the domain in which the sub-device is defined. -For example, the *containerDefinition* attribute of specialization for "subDevicePowerOutlet" of the "common" domain shall be "org.onem2m.common.subdevice.subDevicePowerOutlet", the *containerDefinition* attribute of the specialization for the "[dmAreaNwkInfo](#5810-dmareanwkinfo)" of the "management" domain shall be "org.onem2m. management.subdevice.dmAreaNwkInfo". +For example, the *containerDefinition* attribute of specialization for "subDevicePowerOutlet" of the "common" domain shall be "org.onem2m.common.subdevice.subDevicePowerOutlet", the *containerDefinition* attribute of the specialization for the "[dmAreaNwkInfo](#589-dmareanwkinfo)" for the "management" domain shall be "org.onem2m. management.subdevice.dmAreaNwkInfo". @@ -6525,13 +6537,15 @@ For example, the *containerDefinition* attribute of specialization for "subDevic ## 6.5 XSD definitions ### 6.5.1 Introduction -The present clause specifies how to name the files which define data types in XSD for Device and SubDevice models, ModuleClasss, Actions and enumerated types. +The present clause specifies how to name the files which define data types in XSD for Device and SubDevice models, ModuleClasses, Actions and enumerated types. Seven SDT domains correspond to different vertical, economic domains (Agriculture, Smart City, Health, Home, Industry, Public Safety, Railway, Vehicular), they contain devices and modules that are specific to these domains. Management domain contains transversal, Device Management modules, Metadata domain contains transversal, meta-information modules, Horizontal is only for enumerated types and Common is the domain that gathers devices and modules that do not pertain to a specific domain but are re-usable anywhere. -The following table defines the short names for XML name spaces and file name prefix: +The following table defines the short names for XML name spaces and file name prefix. + +**Table 6.5.1-1: Short names for the XML name spaces** |Domain |XML Name Space |Domain Prefix |URI | @@ -6553,31 +6567,31 @@ The following table defines the short names for XML name spaces and file name pr ### 6.5.2 XSD definitions for Device models -The XSD definitions for Device models are specified upon the following rule. +The XSD definitions for Device models are specified upon the following rule: -- Rule: [Domain Prefix]-[device name]-v<TS-version>.xsd where the string '<TS-version>' shall be interpreted as the version of the present document +- Rule: [Domain Prefix]-[device name]-v<TS-version>.xsd where the string '<TS-version>' shall be interpreted as the version of the present document. -For example, the XSD definition for "[deviceAirConditioner](#5541-deviceairconditioner)" specified in TS-0023 v4.3.0 shall be "HOD-deviceAirConditioner-v4_3_0.xsd" +For example, the XSD definition for "[deviceAirConditioner](#5541-deviceairconditioner)" specified in TS-0023 v4.3.0 shall be "HOD-deviceAirConditioner-v4_3_0.xsd". ### 6.5.3 XSD definitions for ModuleClass -The XSD definitions for ModuleClass are specified upon the following rule. +The XSD definitions for ModuleClass are specified upon the following rule: -- Rule: [Domain Prefix]-mod-[ModuleClass name]-v<TS-version>.xsd where the string '<TS-version>' shall be interpreted as the version of the present document +- Rule: [Domain Prefix]-mod-[ModuleClass name]-v<TS-version>.xsd where the string '<TS-version>' shall be interpreted as the version of the present document. -For example, the XSD definition for "[alarmSpeaker](#5317-alarmspeaker)" specified in TS-0023 v4.3.0 shall be "COD-mod-alarmSpeaker-v4_3_0.xsd" +For example, the XSD definition for "[alarmSpeaker](#5317-alarmspeaker)" specified in TS-0023 v4.3.0 shall be "COD-mod-alarmSpeaker-v4_3_0.xsd". ### 6.5.4 XSD definitions for Action -The XSD definitions for Actions are specified upon the following rule. +The XSD definitions for Actions are specified upon the following rule: -- Rule: [Domain Prefix]-act-[action name]-v<TS-version>.xsd where the string '<TS-version>' shall be interpreted as the version of the present document +- Rule: [Domain Prefix]-act-[action name]-v<TS-version>.xsd where the string '<TS-version>' shall be interpreted as the version of the present document. For example, the XSD definition for "[activateClockTimer](#53190-timer)" specified in TS-0023 v4.3.0 shall be "HOD-act- activateClockTimer -v4_3_0.xsd". ### 6.5.5 XSD definitions for SubDevices -The XSD definitions for SubDeices are specified upon the following rule. +The XSD definitions for SubDeices are specified upon the following rule: - Rule: [Domain Prefix]-[SubDevice name]-v<TS-version>.xsd where the string '<TS-version>' shall be interpreted as the version of the present document. @@ -6585,7 +6599,7 @@ For example, the XSD definition for "subDeviceCuff" specified in TS-0023 v4.3.0 ### 6.5.6 XSD definitions for Enumerated Types -The XSD definitions for enumerated types are specified upon the following rule. +The XSD definitions for enumerated types are specified upon the following rule: - Rule: HD-enumerationTypes-v<TS-version>.xsd where the string '<TS-version>' shall be interpreted as the version of the present document. @@ -6593,8 +6607,10 @@ This file contains the definitions of all enumerated types, and nothing else. - # 7 Mapping with Other Information Models from External Organizations + +## 7.0 Introduction + This clause specifies how the Home Appliance Information Model (HAIM) defined in the clause 5of the present document can be mapped with existing external models from , OCF, ECHONET, OMA GotAPI etc. and introduction of these models is written in annex B. The mapping shall be to enable the interworking between the oneM2M system and external technologies at the information model level. This means a oneM2M native application which understand only oneM2M standardized HAIM shall be able to interact with non-oneM2M home appliances of different technologies in a consistent way without knowing the technology specific details. An IPE shall be responsible for translating the HAIM to/from technology specific information model bidirectionally following the mapping specification in this clause. Using HAIM as a bridge, home appliances and applications of different technologies shall be able to also interact with each other via the oneM2M system (with IPEs). @@ -6603,7 +6619,7 @@ This clause specifies how the Home Appliance Information Model (HAIM) defined in ### 7.1.1 Introduction The following clauses are intended to specify the mapping relationship between HAIM and OMA DWAPI with tables. -OMA DWAPI (Device Web Application Programming Interface) <a href="#_ref_7">[7]</a> is based on OMA GotAPI (Generic Open Terminal Application Programming Interface) <a href="#_ref_19">[19]</a> and supports Personal Healthcare Devices (DWAPI-PCH) and 3D printer (DWAPI-3DP). +OMA Device Web Application Programming Interface (DWAPI)) <a href="#_ref_7">[7]</a> is based on OMA Generic Open Terminal Application Programming Interface (GotAPI) <a href="#_ref_19">[19]</a> and supports Personal Healthcare Devices (DWAPI-PCH) and 3D printer (DWAPI-3DP). OMA DWAPI has no concept that corresponds to ModuleClass in oneM2M. The mappings of DataPoints to data objects of OMA DWAPI are expressed in following clauses. @@ -6611,28 +6627,28 @@ OMA DWAPI has no concept that corresponds to ModuleClass in oneM2M. The mapping ### 7.1.2 Device Models #### 7.1.2.1 device3Dprinter -The [device3DPrinter](#5511-device3dprinter) of HAIM shall be mapped to 3D printer of OMA DWAPI-3DP on the basis of the following table. +The [device3DPrinter](#5511-device3dprinter) of HAIM shall be mapped to 3D printer of OMA DWAPI-3DP on the basis of Table 7.1.2.1-1. -**Table 7.1.2-1: Map of device3Dprinter of oneM2M HAIM to OMA DWAPI-3DP** +**Table 7.1.2.1-1: Map of device3Dprinter of oneM2M HAIM to OMA DWAPI-3DP** -|ModuleClass |Data Points of oneM2M HAIM |data objects of OMA DWAPI-3DP | |Description | -|-|-|-|-|-| -|[binarySwitch](#53112-binaryswitch) |powerState |- | |See clause [5.3.1.12](#53112-binaryswitch).<br />The powerState is not supporteded in OMA DWAPI-3DP data object. The power state is assumed power-on in OMA DWAPI-3DP. | -|[faultDetection](#53134-faultdetection) |code |operatingStatus | |See clause [5.3.1.34](#53134-faultdetection).<br />It shall be the integer type at HAIM, but shall be the string type at OMA DWAPI-3DP. See the Table 7.1.22 . | -|[threeDprinter](#5311-threedprinter) |printType |printType | |See clause [5.3.1.1](#5311-threedprinter). | -|[threeDprinter](#5311-threedprinter) |printSizeX |printSizeX | |See clause [5.3.1.1](#5311-threedprinter). | -|[threeDprinter](#5311-threedprinter) |printSizeY |printSizeY | |See clause [5.3.1.1](#5311-threedprinter). | -|[threeDprinter](#5311-threedprinter) |printSizeZ |printSizeZ | |See clause [5.3.1.1](#5311-threedprinter). | -|[threeDprinter](#5311-threedprinter) |network |network | |See clause [5.3.1.1](#5311-threedprinter). | -|[threeDprinter](#5311-threedprinter) |memorySize |memorySize | |See clause [5.3.1.1](#5311-threedprinter). | -|[runState](#53175-runstate) |currentMachineState |operatingStatus | |See clause [5.3.1.75](#53175-runstate).<br />This value represents the machineState of the 3D printer itself. This value SHALL be interpreted by using hd:enumMachineState and generated operatingStatus as a string.<br />See the Table 7.1.2-2 . | -|[temperature](#53187-temperature) |currentTemperature |nozzleTemp | |See clause [5.3.1.87](#53187-temperature).<br />This value represents the temperature of the nozzle. This value SHALL be a float number in a range from 0.0 to 1000.0.<br />The unit is C. | -|[printQueue](#53167-printqueue) |uri |uri | |See clause [5.3.1.67](#53167-printqueue). | -|[printQueue](#53167-printqueue) |printingState |msg | |See clause [5.3.1.67](#53167-printqueue).<br />This value represents the machineState of the queued printing job. This value shall be interpreted by using hd:enumMachineState and generated msg as a string.<br />See the Table 7.1.2-3. | +|ModuleClass |Data Points of oneM2M HAIM |data objects of OMA DWAPI-3DP |Description | +|-|-|-|-| +|[binarySwitch](#53112-binaryswitch) |powerState |- |See clause [5.3.1.12](#53112-binaryswitch).<br />The powerState is not supported in OMA DWAPI-3DP data object. The power state is assumed power-on in OMA DWAPI-3DP. | +|[faultDetection](#53134-faultdetection) |code |operatingStatus |See clause [5.3.1.34](#53134-faultdetection).<br />It shall be the integer type at HAIM, but shall be the string type at OMA DWAPI-3DP. See the Table 7.1.2-2 . | +|[threeDprinter](#5311-threedprinter) |printType |printType |See clause [5.3.1.1](#5311-threedprinter). | +|[threeDprinter](#5311-threedprinter) |printSizeX |printSizeX |See clause [5.3.1.1](#5311-threedprinter). | +|[threeDprinter](#5311-threedprinter) |printSizeY |printSizeY |See clause [5.3.1.1](#5311-threedprinter). | +|[threeDprinter](#5311-threedprinter) |printSizeZ |printSizeZ |See clause [5.3.1.1](#5311-threedprinter). | +|[threeDprinter](#5311-threedprinter) |network |network |See clause [5.3.1.1](#5311-threedprinter). | +|[threeDprinter](#5311-threedprinter) |memorySize |memorySize |See clause [5.3.1.1](#5311-threedprinter). | +|[runState](#53175-runstate) |currentMachineState |operatingStatus |See clause [5.3.1.75](#53175-runstate).<br />This value represents the machineState of the 3D printer itself. This value SHALL be interpreted by using hd:enumMachineState and generated operatingStatus as a string.<br />See the Table 7.1.2-2 . | +|[temperature](#53187-temperature) |currentTemperature |nozzleTemp |See clause [5.3.1.87](#53187-temperature).<br />This value represents the temperature of the nozzle. This value SHALL be a float number in a range from 0,0 to 1 000,0.<br />The unit is C. | +|[printQueue](#53167-printqueue) |uri |uri |See clause [5.3.1.67](#53167-printqueue). | +|[printQueue](#53167-printqueue) |printingState |msg |See clause [5.3.1.67](#53167-printqueue).<br />This value represents the machineState of the queued printing job. This value shall be interpreted by using hd:enumMachineState and generated msg as a string.<br />See the Table 7.1.2-3. | -**Table 7.1.2-2: Map of hd:enumMachineState of oneM2M HAIM to operatingStatus of OMA DWAPI-3DP** +**Table 7.1.2.1-2: Map of hd:enumMachineState of oneM2M HAIM to operatingStatus of OMA DWAPI-3DP** |Value |Interpretation |operatingStatus of OMA DWAPI-3DP |Note | |-|-|-|-| @@ -6650,7 +6666,7 @@ The [device3DPrinter](#5511-device3dprinter) of HAIM shall be mapped to 3D print -**Table 7.1.2-3: Map of hd:enumJobState of oneM2M HAIM to msg of OMA DWAPI-3DP** +**Table 7.1.2-1-3: Map of hd:enumJobState of oneM2M HAIM to msg of OMA DWAPI-3DP** |Value |Interpretation |msg of OMA DWAPI-3DP |Note | |-|-|-|-| @@ -6665,9 +6681,9 @@ The [device3DPrinter](#5511-device3dprinter) of HAIM shall be mapped to 3D print #### 7.1.2.2 deviceBloodPressureMonitor -DeviceBloodPressureMonitoer of HAIM shall be mapped to Blood Pressure Monitor of OMA DWAPI-PCH on the basis of the following table. +DeviceBloodPressureMonitor of HAIM shall be mapped to Blood Pressure Monitor of OMA DWAPI-PCH on the basis of Table 7.1.2.2-1. -**Table 7.1.2-4: Map of deviceBloodPressureMonitor of oneM2M HAIM to OMA DWAPI-PCH** +**Table 7.1.2-2-1: Map of deviceBloodPressureMonitor of oneM2M HAIM to OMA DWAPI-PCH** |ModuleClass |DataPoints of oneM2M HAIM |data objects of OMA DWAPI-PCH |Description | |-|-|-|-| @@ -6675,13 +6691,13 @@ DeviceBloodPressureMonitoer of HAIM shall be mapped to Blood Pressure Monitor of |[sphygmomanometer](#53183-sphygmomanometer) |systolicPressure |systolic |See clause [5.3.1.83](#53183-sphygmomanometer). | |[sphygmomanometer](#53183-sphygmomanometer) |meanPressure |mean |See clause [5.3.1.83](#53183-sphygmomanometer). | |[pulsemeter](#53168-pulsemeter) |pulseRate |pulse |See clause [5.3.1.68](#53168-pulsemeter). | -|[battery](#53110-battery) |level |batteryLevel |See clause [5.3.1.10](#53110-battery).<br />It shall be the integer type at HAIM, but shall be the float type at OMA DWAPI-PCH.<br />It shall be the rounded percentage of the current level of battery in the range of [0, 100] at HAIM, but shall be a float number in the range of [0.0, 1.0] atOMA DWAPI-PCH. | +|[battery](#53110-battery) |level |batteryLevel |See clause [5.3.1.10](#53110-battery).<br />It shall be the integer type at HAIM, but shall be the float type at OMA DWAPI-PCH.<br />It shall be the rounded percentage of the current level of battery in the range of [0, 100] at HAIM, but shall be a float number in the range of [0,0, 1,0] atOMA DWAPI-PCH. | #### 7.1.2.3 deviceGlucosemeter -DeviceGlucometer of HAIM shall be mapped to Glucometer of OMA DWAPI-PCH on the basis of the following table. +DeviceGlucometer of HAIM shall be mapped to Glucometer of OMA DWAPI-PCH on the basis of Table 7.1.2.3-1. -**Table 7.1.2-5: Map of deviceGlucometer of oneM2M HAIM to OMA DWAPI-PCH** +**Table 7.1.2.3-1: Map of deviceGlucometer of oneM2M HAIM to OMA DWAPI-PCH** |ModuleClass |DataPoints of oneM2M HAIM |data objects of OMA DWAPI-PCH |Description | |-|-|-|-| @@ -6695,42 +6711,42 @@ DeviceGlucometer of HAIM shall be mapped to Glucometer of OMA DWAPI-PCH on the b |[glucometer](#53142-glucometer) |contextLocation |contextLocation |See clause [5.3.1.42](#53142-glucometer). | |[glucometer](#53142-glucometer) |contextTester |contextTester |See clause [5.3.1.42](#53142-glucometer). | |[glucometer](#53142-glucometer) |contextHealth |contextHealth |See clause [5.3.1.42](#53142-glucometer). | -|[battery](#53110-battery) |level |batteryLevel |See clause [5.3.1.10](#53110-battery).<br />It shall be the integer type at HAIM, but shall be the float type at OMA DWAPI-PCH.<br />It shall be the rounded percentage of the current level of battery in the range of [0, 100] at HAIM, but shall be a float number in the range of [0.0, 1.0] atOMA DWAPI-PCH. | +|[battery](#53110-battery) |level |batteryLevel |See clause [5.3.1.10](#53110-battery).<br />It shall be the integer type at HAIM, but shall be the float type at OMA DWAPI-PCH.<br />It shall be the rounded percentage of the current level of battery in the range of [0, 100] at HAIM, but shall be a float number in the range of [0,0, 1,0] atOMA DWAPI-PCH. | #### 7.1.2.4 devicePulseOximeter -DevicePulseOximeter of HAIM shall be mapped to Pulse Oximeter of OMA DWAPI-PCH on the basis of the following table. +DevicePulseOximeter of HAIM shall be mapped to Pulse Oximeter of OMA DWAPI-PCH on the basis of Table 7.1.2.4-1. -**Table 7.1.2-6: Map of devicePulseOximeter of oneM2M HAIM to OMA DWAPI-PCH** +**Table 7.1.2.4-1: Map of devicePulseOximeter of oneM2M HAIM to OMA DWAPI-PCH** |ModuleClass |DataPoints of oneM2M HAIM |data objects of OMA DWAPI-PCH |Description | |-|-|-|-| -|[pulsemeter](#53168-pulsemeter) |modality |spo2, pulse |See clause [5.3.1.68](#53168-pulsemeter).<br />When "[oximeter](#53159-oximeter)" module doesn't exist, "[pulsemeter](#53168-pulsemeter)" module is mandatory. | -|[oximeter](#53159-oximeter) |modality |spo2, pulse |See clause [5.3.1.59](#53159-oximeter).<br />When "[pulsemeter](#53168-pulsemeter)" module doesn't exist, ""[oximeter](#53159-oximeter)" module is mandatory. | -|[battery](#53110-battery) |level |batteryLevel |See clause [5.3.1.10](#53110-battery).<br />It shall be the integer type at HAIM, but shall be the float type at OMA DWAPI-PCH.<br />It shall be the rounded percentage of the current level of battery in the range of [0, 100] at HAIM, but shall be a float number in the range of [0.0, 1.0] atOMA DWAPI-PCH. | +|[pulsemeter](#53168-pulsemeter) |modality |spo2, pulse |See clause [5.3.1.68](#53168-pulsemeter).<br />When "[oximeter](#53159-oximeter)" module does not exist, "[pulsemeter](#53168-pulsemeter)" module is mandatory. | +|[oximeter](#53159-oximeter) |modality |spo2, pulse |See clause [5.3.1.59](#53159-oximeter).<br />When "[pulsemeter](#53168-pulsemeter)" module does not exist, ""[oximeter](#53159-oximeter)" module is mandatory. | +|[battery](#53110-battery) |level |batteryLevel |See clause [5.3.1.10](#53110-battery).<br />It shall be the integer type at HAIM, but shall be the float type at OMA DWAPI-PCH.<br />It shall be the rounded percentage of the current level of battery in the range of [0, 100] at HAIM, but shall be a float number in the range of [0,0, 1,0] atOMA DWAPI-PCH. | #### 7.1.2.5 deviceThermometer -DeviceTermometer of HAIM shall be mapped to Thermometer of OMA DWAPI-PCH on the basis of the following table. +DeviceTermometer of HAIM shall be mapped to Thermometer of OMA DWAPI-PCH on the basis of Table 7.1.2.5-1. -**Table 7.1.2-7: Map of deviceThermometer of oneM2M HAIM to OMA DWAPI-PCH** +**Table 7.1.2.5-1: Map of deviceThermometer of oneM2M HAIM to OMA DWAPI-PCH** |ModuleClass |Data Points of oneM2M HAIM |data objects of OMA DWAPI-PCH |Description | |-|-|-|-| |[temperature](#53187-temperature) |unit |temperature |See clause [5.3.1.87](#53187-temperature). | -|[battery](#53110-battery) |level |batteryLevel |See clause [5.3.1.10](#53110-battery).<br />It shall be the integer type at HAIM, but shall be the float type at OMA DWAPI-PCH.<br />It shall be the rounded percentage of the current level of battery in the range of [0, 100] at HAIM, but shall be a float number in the range of [0.0, 1.0] atOMA DWAPI-PCH. | +|[battery](#53110-battery) |level |batteryLevel |See clause [5.3.1.10](#53110-battery).<br />It shall be the integer type at HAIM, but shall be the float type at OMA DWAPI-PCH.<br />It shall be the rounded percentage of the current level of battery in the range of [0, 100] at HAIM, but shall be a float number in the range of [0,0, 1,0] atOMA DWAPI-PCH. | #### 7.1.2.6 deviceWeightScaleAndBodyCompositionAnalyser -DeviceWeightScaleAdBodyCompositionAnalyser of HAIM shall be mapped to Weight Scale Body Composition Analyser of OMA DWAPI-PCH on the basis of the following table. +DeviceWeightScaleAdBodyCompositionAnalyser of HAIM shall be mapped to Weight Scale Body Composition Analyser of OMA DWAPI-PCH on the basis of Table . -**Table 7.1.2-8: Map of deviceWeightScaleAdBodyCompositionAnalyser of oneM2M HAIM to OMA DWAPI-PCH** +**Table 7.1.2.6-1: Map of deviceWeightScaleAdBodyCompositionAnalyser of oneM2M HAIM to OMA DWAPI-PCH** |ModuleClass |DataPoints of oneM2M HAIM |data objects of OMA DWAPI-PCH |Description | |-|-|-|-| @@ -6745,34 +6761,34 @@ DeviceWeightScaleAdBodyCompositionAnalyser of HAIM shall be mapped to Weight Sca |[bioElectricalImpedanceAnalysis](#53113-bioelectricalimpedanceanalysis) |water |bodyWater |See clause [5.3.1.13](#53113-bioelectricalimpedanceanalysis). | |[bioElectricalImpedanceAnalysis](#53113-bioelectricalimpedanceanalysis) |fat |bodyFat |See clause [5.3.1.13](#53113-bioelectricalimpedanceanalysis). | |[bioElectricalImpedanceAnalysis](#53113-bioelectricalimpedanceanalysis) |muscle |musclePercentage |See clause [5.3.1.13](#53113-bioelectricalimpedanceanalysis). | -|[battery](#53110-battery) |level |batteryLevel |See clause [5.3.1.10](#53110-battery).<br />It shall be the integer type at HAIM, but shall be the float type at OMA DWAPI-PCH.<br />It shall be the rounded percentage of the current level of battery in the range of [0, 100] at HAIM, but shall be a float number in the range of [0.0, 1.0] atOMA DWAPI-PCH. | +|[battery](#53110-battery) |level |batteryLevel |See clause [5.3.1.10](#53110-battery).<br />It shall be the integer type at HAIM, but shall be the float type at OMA DWAPI-PCH.<br />It shall be the rounded percentage of the current level of battery in the range of [0, 100] at HAIM, but shall be a float number in the range of [0,0, 1,0] at OMA DWAPI-PCH. | #### 7.1.2.7 deviceHeartRateMonitor -DeviceHeartRateMonitor of HAIM shall be mapped to Heart Rate Monitor of OMA DWAPI-PCH on the basis of the following table. +DeviceHeartRateMonitor of HAIM shall be mapped to Heart Rate Monitor of OMA DWAPI-PCH on the basis of Table 7.1.2.7-1. -**Table 7.1.2-9: Map of deviceHeartRateMonitor of oneM2M HAIM to OMA DWAPI-PCH** +**Table 7.1.2.7-1: Map of deviceHeartRateMonitor of oneM2M HAIM to OMA DWAPI-PCH** |ModuleClass |DataPoints of oneM2M HAIM |data objects of OMA DWAPI-PCH |Description | |-|-|-|-| |[pulsemeter](#53168-pulsemeter) |pulseRate |rate |See clause [5.3.1.68](#53168-pulsemeter). | |[pulsemeter](#53168-pulsemeter) |rr |rr |See clause [5.3.1.68](#53168-pulsemeter). | |[pulsemeter](#53168-pulsemeter) |energy |energy |See clause [5.3.1.68](#53168-pulsemeter). | -|[battery](#53110-battery) |level |batteryLevel |See clause [5.3.1.10](#53110-battery).<br />It shall be the integer type at HAIM, but shall be the float type at OMA DWAPI-PCH.<br />It shall be the rounded percentage of the current level of battery in the range of [0, 100] at HAIM, but shall be a float number in the range of [0.0, 1.0] atOMA DWAPI-PCH. | +|[battery](#53110-battery) |level |batteryLevel |See clause [5.3.1.10](#53110-battery).<br />It shall be the integer type at HAIM, but shall be the float type at OMA DWAPI-PCH.<br />It shall be the rounded percentage of the current level of battery in the range of [0, 100] at HAIM, but shall be a float number in the range of [0,0, 1,0] atOMA DWAPI-PCH. | ### 7.1.3 Data Types -Data types of oneM2M HAIM and OMA DWAPI-PCH shall be mapped each other on the basis of the following table. +Data types of oneM2M HAIM and OMA DWAPI-PCH shall be mapped each other on the basis of Table 7.1.3-1. **Table 7.1.3-1: Map of data types between oneM2M and OMA DWAPI-PCH** |oneM2M data type |Mapping to data type in OMA DWAPI |Description | |-|-|-| -|xs:integer |int, number, string |Data type for 32-bit signed integer.<br /><br />For indicating 3D printerState, the integer value should be interpeted into string by referring the tables in clause [7.1.2.1](#7121-device3dprinter) . | +|xs:integer |int, number, string |Data type for 32-bit signed integer.<br /><br />For indicating 3D printerState, the integer value should be interpreted into string by referring the tables in clause [7.1.2.1](#7121-device3dprinter) . | |xs:string |string, array |Data type for text. The length limitation should be considered for the mapping. | |xs:float |float |Data type for a single precision 32-bit floating point type as defined in XML Schema 1.0 <a href="#_ref_14">[14]</a> as the float primitive type. | |xs:boolean |boolean |Data type for Boolean. | @@ -6783,9 +6799,9 @@ Data types of oneM2M HAIM and OMA DWAPI-PCH shall be mapped each other on the ba # 8 Ontology for the Home Appliance Information Model aligned with oneM2M Base Ontology The following table shows a mapping of the Home Appliance Information Model to the oneM2M Base Ontology in oneM2M TS-0012 <a href="#_ref_i.5">[i.5]</a>. -The table only shows mapping of SDT concepts that are used to classify all concepts in the Home Appliance Information Model. Therefore, since any concept in the Home Appliance Information Model can be classified according to a specific SDT concept it also (transitively) maps to the related class of the oneM2M Base Ontology. +Table 8-1 only shows mapping of SDT concepts that are used to classify all concepts in the Home Appliance Information Model. Therefore, since any concept in the Home Appliance Information Model can be classified according to a specific SDT concept it also (transitively) maps to the related class of the oneM2M Base Ontology. -**Table 7.1.3-1: Mapping between SDT concepts in the Home Appliance Information Model <br />and the oneM2M Base Ontology** +**Table 8-1: Mapping between SDT concepts in the Home Appliance Information Model <br />and the oneM2M Base Ontology** |SDT Concept in the Home Appliance Information Model |Mapping relationship | Class in Base Ontology |Property in Base Ontology |Comment | |-|-|-|-|-| @@ -6796,7 +6812,7 @@ The table only shows mapping of SDT concepts that are used to classify all conc |SDT: ReturnType (of an Action) |sub-class of |OperationOutput | | | |SDT: Event |sub-class of |Operation | | | |SDT: Data (of an Event) |sub-class of |OutputDataPoint | | | -|SDT: Module |sub-class of |Service | |The base ontology allows a Service to have subServices. Each SDT:Module implements one SDT:ModuleClass. <br />Therfore SDT:Module can be considered a subclass of SDT:ModuleClass and therefore subclass of oneM2M:Service.<br />See note. | +|SDT: Module |sub-class of |Service | |The base ontology allows a Service to have subServices. Each SDT:Module implements one SDT:ModuleClass. <br />Therefore SDT:Module can be considered a subclass of SDT:ModuleClass and therefore subclass of oneM2M:Service.<br />See note. | |SDT: ModuleClass |sub-class of |Service | |See note | |SDT: UnitOfMeasure |sub-class of |MetaData | | | |SDT: DataPoint |sub-class of |InputDataPoint | |If SDT:DataPoint is writable | @@ -6815,16 +6831,16 @@ NOTE: In RESTful technologies the Service (i.e. the electronic representation of # Annex A (informative): Resource Mapping Examples -## Annex A.1 Introduction +## A.1 Introduction The AE may construct oneM2M resource tree on hosting CSE as the mapping of associated device, and each XSD definition for the device information models is generated following 'Resource Mapping Rule' in clause [6.2](#62-the-resource-mapping-rules). The present clause explains how to use the oneM2M resource tree to map Device model for each device (see clause [5.5](#55-device-models)). -## Annex A.2 Example for Device model 'deviceAirConditioner' +## A.2 Example for Device model 'deviceAirConditioner' The present clause explains the creation process for the device typed '[deviceAirConditioner](#5541-deviceairconditioner)' (see clause [5.5.4.1](#5541-deviceairconditioner) for device model definition of 'deviceAirConditioner'). -Using the definition, '[deviceAirConditioner](#5541-deviceairconditioner)' model is mapped to [deviceAirConditioner] resource which is a specialization of <flexContainer> resource (See Figure A.2-1). +Using the definition, '[deviceAirConditioner](#5541-deviceairconditioner)' model is mapped to [deviceAirConditioner] resource which is a specialization of <flexContainer> resource (see Figure A.2-1). @@ -6835,14 +6851,13 @@ Using the definition, '[deviceAirConditioner](#5541-deviceairconditioner)' model The AE creates the [[deviceAirConditioner](#5541-deviceairconditioner)] specialization of <flexContainer> resource for the Device model [[deviceAirConditioner](#5541-deviceairconditioner)] resource. -The [[deviceAirConditioner](#5541-deviceairconditioner)] resource contains the child resource specified in Table A.2-2. +The [[deviceAirConditioner](#5541-deviceairconditioner)] resource contains the child resource specified in Table A.2-1. - -**Table A.2-2: Child resources of [deviceAirConditioner] resource** +**Table A.2-1: Child resources of [deviceAirConditioner] resource** |Child Resources of [deviceAirConditioner] |Child Resource Type |Multiplicity |Description | |-|-|-|-| -|[variable] |<flexContainer> as defined in the specialization [[binarySwitch](#53112-binaryswitch)] |0..1 |This resource is used to map 'binarySwith' ModuleClass defined in clause [5.3.1.12](#53112-binaryswitch). | +|[variable] |<flexContainer> as defined in the specialization [[binarySwitch](#53112-binaryswitch)] |0..1 |This resource is used to map 'binarySwitch' ModuleClass defined in clause [5.3.1.12](#53112-binaryswitch). | |[variable] |<flexContainer> as defined in the specialization [[runState](#53175-runstate)] |0..1 |This resource is used to map 'runState' ModuleClass defined in clause [5.3.1.75](#53175-runstate). | |[variable] |<flexContainer> as defined in the specialization [[airConJobMode](#5313-airconjobmode)] |0..1 |This resource is used to map '[airConJobMode](#5313-airconjobmode)' ModuleClass defined in clause [5.3.1.3](#5313-airconjobmode). | |[variable] |<flexContainer> as defined in the specialization [[airConOperationMode](#53157-operationmode)] |0..1 |This resource is used to map '[airConOperationMode](#53157-operationmode)' ModuleClass defined in clause [5.3.1.57](#53157-operationmode). | @@ -6857,16 +6872,10 @@ The [[deviceAirConditioner](#5541-deviceairconditioner)] resource contains the c |[variable] |<flexContainer> as defined in the specialization [[filterInfo](#53135-filterinfo)] |0..1 |This resource is used to map 'filterInfo' ModuleClass defined in clause [5.3.1.35](#53135-filterinfo). | |[variable] |<subscription> |0..n |See clause 9.6.8 in oneM2M TS-0001 <a href="#_ref_i.3">[i.3]</a> | +The [[deviceAirConditioner](#5541-deviceairconditioner)] resource contains the attributes specified in Table A.2-2. -<mark>Editor's Note: Above table should be updated compliant to present structure of [deviceAirConditioner](#5541-deviceairconditioner).</mark> - - - -The [[deviceAirConditioner](#5541-deviceairconditioner)] resource contains the attributes specified in Table A.2-3. - - -**Table A.2-3: Attributes of [deviceAirConditioner] resource** +**Table A.2-2: Attributes of [deviceAirConditioner] resource** |Attributes of [deviceAirConditioner] |Multiplicity |RW/RO/WO |Description | |-|-|-|-| @@ -6879,10 +6888,10 @@ The [[deviceAirConditioner](#5541-deviceairconditioner)] resource contains the a |creationTime |1 |RO |See clause 9.6.1.3 in oneM2M TS-0001 <a href="#_ref_i.3">[i.3]</a>. | |lastModifiedTime |1 |RO |See clause 9.6.1.3 in oneM2M TS-0001 <a href="#_ref_i.3">[i.3]</a>. | |labels |0..1 |RW |See clause 9.6.1.3 in oneM2M TS-0001 <a href="#_ref_i.3">[i.3]</a>. | -|dynamicAuthorizationConsultationIDs |0..1 (L) |RW |See clause 9.6.1.3 in oneM2M TS-0001 <a href="#_ref_i.3">[i.3]</a> | -|stateTag |1 |RO |See clause 9.6.1.3 in oneM2M TS-0001 <a href="#_ref_i.3">[i.3]</a> | -|creator |0..1 |RW |See clause 9.6.35 in oneM2M TS-0001 <a href="#_ref_i.3">[i.3]</a> | -|containerDefinition |1 |WO |The value is "org.onem2m.home.device.airconditioner" | +|dynamicAuthorizationConsultationIDs |0..1 (L) |RW |See clause 9.6.1.3 in oneM2M TS-0001 <a href="#_ref_i.3">[i.3]</a>. | +|stateTag |1 |RO |See clause 9.6.1.3 in oneM2M TS-0001 <a href="#_ref_i.3">[i.3].</a> | +|creator |0..1 |RW |See clause 9.6.35 in oneM2M TS-0001 <a href="#_ref_i.3">[i.3]</a>. | +|containerDefinition |1 |WO |The value is "org.onem2m.home.device.airconditioner". | |ontologyRef |0..1 |RW |See clause 9.6.35 in oneM2M TS-0001 <a href="#_ref_i.3">[i.3]</a>. | |contentSize |1 |RO |See clause 9.6.35 in oneM2M TS-0001 <a href="#_ref_i.3">[i.3]</a>. | |nodeLink |0..1 |RO |nodeLink attribute links to a <node> resource that is hosted on the same hosting CSE of the <flexContainer>. See clause 6.2.2 and 6.2.5 for more details. | @@ -6890,8 +6899,8 @@ The [[deviceAirConditioner](#5541-deviceairconditioner)] resource contains the a -## Annex A.3 Example of ModuleClass 'binarySwitch' -The [[binarySwitch](#53112-binaryswitch)] resource is used to share information regarding the modeled binary switch module as a ModuleClass. The [binarySwitch] resource is a specialization of the <flexContainer> resource. +## A.3 Example of ModuleClass 'binarySwitch' +The [[binarySwitch](#53112-binaryswitch)] resource is used to share information regarding the modelled binary switch module as a ModuleClass. The [binarySwitch] resource is a specialization of the <flexContainer> resource. @@ -6900,36 +6909,35 @@ The [[binarySwitch](#53112-binaryswitch)] resource is used to share information **Figure A.3-1: Structure of [binarySwitch] resource** -The [[binarySwitch](#53112-binaryswitch)] resource contains the child resource specified in Table A.3-2. +The [[binarySwitch](#53112-binaryswitch)] resource contains the child resource specified in Table A.3-1. -**Table A.3-2: Child resources of [binarySwitch] resource** +**Table A.3-1: Child resources of [binarySwitch] resource** |Child Resources of [binarySwitch] |Child Resource Type |Multiplicity |Description | |-|-|-|-| -|[variable] |<flexContainer> as defined in the specialization [[toggle](#53112-binaryswitch)] |0..1 |This resource is used to map 'toggle' Action defined in Clause [5.3.1.12](#53112-binaryswitch). | -|[variable] |<subscription> |0..n |See clause 9.6.8 in oneM2M TS-0001 <a href="#_ref_i.3">[i.3]</a> | - +|[variable] |<flexContainer> as defined in the specialization [[toggle](#53112-binaryswitch)] |0..1 |This resource is used to map 'toggle' Action defined in clause [5.3.1.12](#53112-binaryswitch). | +|[variable] |<subscription> |0..n |See clause 9.6.8 in oneM2M TS-0001 <a href="#_ref_i.3">[i.3]</a>. | -The [[binarySwitch](#53112-binaryswitch)] resource contains the attributes specified in Table A.3-3. +The [[binarySwitch](#53112-binaryswitch)] resource contains the attributes specified in Table A.3-2. -**Table A.3-3: Attributes of [binarySwitch] resource** +**Table A.3-2: Attributes of [binarySwitch] resource** |Attributes of [binarySwitch] |Multiplicity |RW/RO/WO |Description | |-|-|-|-| -|resourceType |1 |RO |See clause 9.6.1.3 in oneM2M TS-0001 <a href="#_ref_i.3">[i.3]</a> | -|resourceID |1 |RO |See clause 9.6.1.3 in oneM2M TS-0001 <a href="#_ref_i.3">[i.3]</a> | -|resourceName |1 |RO |See clause 9.6.1.3 in oneM2M TS-0001 <a href="#_ref_i.3">[i.3]</a> | -|parentID |1 |RO |See clause 9.6.1.3 in oneM2M TS-0001 <a href="#_ref_i.3">[i.3]</a> | -|expirationTime |1 |RW |See clause 9.6.1.3 in oneM2M TS-0001 <a href="#_ref_i.3">[i.3]</a> | -|accessControlPolicyIDs |0..1 (L) |RW |See clause 9.6.1.3 in oneM2M TS-0001 <a href="#_ref_i.3">[i.3]</a> | -|creationTime |1 |RO |See clause 9.6.1.3 in oneM2M TS-0001 <a href="#_ref_i.3">[i.3]</a> | -|lastModifiedTime |1 |RO |See clause 9.6.1.3 in oneM2M TS-0001 <a href="#_ref_i.3">[i.3]</a> | -|labels |0..1 |RW |See clause 9.6.1.3 in oneM2M TS-0001 <a href="#_ref_i.3">[i.3]</a> | -|dynamicAuthorizationConsultationIDs |0..1 (L) |RW |See clause 9.6.1.3 in oneM2M TS-0001 <a href="#_ref_i.3">[i.3]</a> | -|stateTag |1 |RO |See clause 9.6.1.3 in oneM2M TS-0001 <a href="#_ref_i.3">[i.3]</a> | -|creator |0..1 |RW |See clause 9.6.35 in oneM2M TS-0001 <a href="#_ref_i.3">[i.3]</a> | +|resourceType |1 |RO |See clause 9.6.1.3 in oneM2M TS-0001 <a href="#_ref_i.3">[i.3]</a>. | +|resourceID |1 |RO |See clause 9.6.1.3 in oneM2M TS-0001 <a href="#_ref_i.3">[i.3]</a>. | +|resourceName |1 |RO |See clause 9.6.1.3 in oneM2M TS-0001 <a href="#_ref_i.3">[i.3].</a> | +|parentID |1 |RO |See clause 9.6.1.3 in oneM2M TS-0001 <a href="#_ref_i.3">[i.3]</a>. | +|expirationTime |1 |RW |See clause 9.6.1.3 in oneM2M TS-0001 <a href="#_ref_i.3">[i.3]</a>. | +|accessControlPolicyIDs |0..1 (L) |RW |See clause 9.6.1.3 in oneM2M TS-0001 <a href="#_ref_i.3">[i.3].</a> | +|creationTime |1 |RO |See clause 9.6.1.3 in oneM2M TS-0001 <a href="#_ref_i.3">[i.3]</a>. | +|lastModifiedTime |1 |RO |See clause 9.6.1.3 in oneM2M TS-0001 <a href="#_ref_i.3">[i.3].</a> | +|labels |0..1 |RW |See clause 9.6.1.3 in oneM2M TS-0001 <a href="#_ref_i.3">[i.3].</a> | +|dynamicAuthorizationConsultationIDs |0..1 (L) |RW |See clause 9.6.1.3 in oneM2M TS-0001 <a href="#_ref_i.3">[i.3].</a> | +|stateTag |1 |RO |See clause 9.6.1.3 in oneM2M TS-0001 <a href="#_ref_i.3">[i.3].</a> | +|creator |0..1 |RW |See clause 9.6.35 in oneM2M TS-0001 <a href="#_ref_i.3">[i.3]</a>. | |containerDefinition |1 |WO |The value is "org.onem2m.home.moduleclass.binaryswitch" | |ontologyRef |0..1 |RW |See clause 9.6.35 in oneM2M TS-0001 <a href="#_ref_i.3">[i.3]</a> | |contentSize |1 |RO |See clause 9.6.35 in oneM2M TS-0001 <a href="#_ref_i.3">[i.3]</a>. | @@ -6940,8 +6948,8 @@ The [[binarySwitch](#53112-binaryswitch)] resource contains the attributes speci -## Annex A.4 Example of Action 'toggle' -The [[toggle](#53112-binaryswitch)] resource is used to share information regarding the modeled toggle as an Action. The [[toggle](#53112-binaryswitch)] resource is a specialization of the <flexContainer> resource. +## A.4 Example of Action 'toggle' +The [[toggle](#53112-binaryswitch)] resource is used to share information regarding the modelled toggle as an Action. The [[toggle](#53112-binaryswitch)] resource is a specialization of the <flexContainer> resource. @@ -6950,10 +6958,9 @@ The [[toggle](#53112-binaryswitch)] resource is used to share information regard **Figure A.4-1: Structure of [toggle] resource** -The [[toggle](#53112-binaryswitch)] resource contains the child resource specified in Table A.4-2. +The [[toggle](#53112-binaryswitch)] resource contains the child resource specified in Table A.4-1. - -**Table A.4-2: Child resources of [toggle] resource** +**Table A.4-1: Child resources of [toggle] resource** |Child Resources of [toggle] |Child Resource Type |Multiplicity |Description | |-|-|-|-| @@ -6961,27 +6968,26 @@ The [[toggle](#53112-binaryswitch)] resource contains the child resource specifi -The [[toggle](#53112-binaryswitch)] resource contains the attributes specified in Table A.4-3. - +The [[toggle](#53112-binaryswitch)] resource contains the attributes specified in Table A.4-2. -**Table A.4-3: Attributes of [toggle] resource** +**Table A.4-2: Attributes of [toggle] resource** |Attributes of [toggle] |Multiplicity |RW/RO/WO |Description | |-|-|-|-| -|resourceType |1 |RO |See clause 9.6.1.3 in oneM2M TS-0001 <a href="#_ref_i.3">[i.3]</a> | -|resourceID |1 |RO |See clause 9.6.1.3 in oneM2M TS-0001 <a href="#_ref_i.3">[i.3]</a> | -|resourceName |1 |RO |See clause 9.6.1.3 in oneM2M TS-0001 <a href="#_ref_i.3">[i.3]</a> | -|parentID |1 |RO |See clause 9.6.1.3 in oneM2M TS-0001 <a href="#_ref_i.3">[i.3]</a> | -|expirationTime |1 |RW |See clause 9.6.1.3 in oneM2M TS-0001 <a href="#_ref_i.3">[i.3]</a> | -|accessControlPolicyIDs |0..1 (L) |RW |See clause 9.6.1.3 in oneM2M TS-0001 <a href="#_ref_i.3">[i.3]</a> | -|creationTime |1 |RO |See clause 9.6.1.3 in oneM2M TS-0001 <a href="#_ref_i.3">[i.3]</a> | -|lastModifiedTime |1 |RO |See clause 9.6.1.3 in oneM2M TS-0001 <a href="#_ref_i.3">[i.3]</a> | -|labels |0..1 |RW |See clause 9.6.1.3 in oneM2M TS-0001 <a href="#_ref_i.3">[i.3]</a> | -|dynamicAuthorizationConsultationIDs |0..1 (L) |RW |See clause 9.6.1.3 in oneM2M TS-0001 <a href="#_ref_i.3">[i.3]</a> | -|stateTag |1 |RO |See clause 9.6.1.3 in oneM2M TS-0001 <a href="#_ref_i.3">[i.3]</a> | -|creator |0..1 |RW |See clause 9.6.35 in oneM2M TS-0001 <a href="#_ref_i.3">[i.3]</a> | -|containerDefinition |1 |WO |The value is "org.onem2m.home.moduleclass.binaryswitch.toggle" | -|ontologyRef |0..1 |RW |See clause 9.6.35 in oneM2M TS-0001 <a href="#_ref_i.3">[i.3]</a> | +|resourceType |1 |RO |See clause 9.6.1.3 in oneM2M TS-0001 <a href="#_ref_i.3">[i.3]</a>. | +|resourceID |1 |RO |See clause 9.6.1.3 in oneM2M TS-0001 <a href="#_ref_i.3">[i.3]</a>. | +|resourceName |1 |RO |See clause 9.6.1.3 in oneM2M TS-0001 <a href="#_ref_i.3">[i.3].</a> | +|parentID |1 |RO |See clause 9.6.1.3 in oneM2M TS-0001 <a href="#_ref_i.3">[i.3]</a>. | +|expirationTime |1 |RW |See clause 9.6.1.3 in oneM2M TS-0001 <a href="#_ref_i.3">[i.3]</a>. | +|accessControlPolicyIDs |0..1 (L) |RW |See clause 9.6.1.3 in oneM2M TS-0001 <a href="#_ref_i.3">[i.3].</a> | +|creationTime |1 |RO |See clause 9.6.1.3 in oneM2M TS-0001 <a href="#_ref_i.3">[i.3]</a>. | +|lastModifiedTime |1 |RO |See clause 9.6.1.3 in oneM2M TS-0001 <a href="#_ref_i.3">[i.3]</a>. | +|labels |0..1 |RW |See clause 9.6.1.3 in oneM2M TS-0001 <a href="#_ref_i.3">[i.3].</a> | +|dynamicAuthorizationConsultationIDs |0..1 (L) |RW |See clause 9.6.1.3 in oneM2M TS-0001 <a href="#_ref_i.3">[i.3]</a>. | +|stateTag |1 |RO |See clause 9.6.1.3 in oneM2M TS-0001 <a href="#_ref_i.3">[i.3].</a> | +|creator |0..1 |RW |See clause 9.6.35 in oneM2M TS-0001 <a href="#_ref_i.3">[i.3].</a> | +|containerDefinition |1 |WO |The value is "org.onem2m.home.moduleclass.binaryswitch.toggle". | +|ontologyRef |0..1 |RW |See clause 9.6.35 in oneM2M TS-0001 <a href="#_ref_i.3">[i.3].</a> | |contentSize |1 |RO |See clause 9.6.35 in oneM2M TS-0001 <a href="#_ref_i.3">[i.3]</a>. | |nodeLink |0..1 |RW |Not applicable to an Action specialization. This attribute is not present in an instantiation of this resource. | @@ -6990,28 +6996,26 @@ The [[toggle](#53112-binaryswitch)] resource contains the attributes specified i # Annex B (informative): Introduction of External Organizations' Data Models -## Annex B.1 OMA Got API(DWAPI-PCH) -OMA GotAPI(OMA Generic Open Terminal API Framework) provides the framework to enable applications and multitype devices through GotAPI Servers and Extension Plug-Ins <a href="#_ref_6">[6]</a>. When APIs are implemented in Extension Plug-Ins under the GotAPI framework, these APIs are called as OMA Device WebAPIs Enabler. In case of healthcare devices, these APIs are called as OMA DWAPI-PCH(Device WebAPIs for Personal Connected Healthcare). +## B.1 OMA Got API (DWAPI-PCH) +OMA GotAPI(OMA Generic Open Terminal API Framework) provides the framework to enable applications and multitype devices through GotAPI Servers and Extension Plug-Ins <a href="#_ref_6">[6]</a>. When APIs are implemented in Extension Plug-Ins under the GotAPI framework, these APIs are called as OMA Device WebAPIs Enabler. In case of healthcare devices, these APIs are called as OMA Device WebAPIs for Personal Connected Healthcare (DWAPI-PCH). Healthcare devices can be a one of the smart home devices so OMA DWWAPI-PCH can have relationship with oneM2M SDT. -## Annex B.2 OCF -OCF specifications provide a common, open connectivity framework for embedded developers that enables a common device discovery and interaction model, common data model and a robust security framework whilst abstracting away the physical connectivity hardware (and related protocols). +## B.2 OCF +### B.2.1 Introduction -OCF Device Specification <a href="#_ref_i.8">[i.8]</a> defines list of smart home devices. Each smart home device contains an unique identifier and list of mandatory/optional resources. Each resource definition contains an unique identifier, identification of the default interface and other supported interfaces, list of supported methods, list of allowed actions and list of the mandatory/optional property(-ies) the resource exposes. +OCF specifications provide a common, open connectivity framework for embedded developers that enables a common device discovery and interaction model, common data model and a robust security framework whilst abstracting away the physical connectivity hardware (and related protocols). +OCF Device Specification <a href="#_ref_i.8">[i.8]</a> defines list of smart home devices. Each smart home device contains a unique identifier and list of mandatory/optional resources. Each resource definition contains a unique identifier, identification of the default interface and other supported interfaces, list of supported methods, list of allowed actions and list of the mandatory/optional property(-ies) the resource exposes. -### Annex B.2.1 Introduction This clause specifies the mapping relationship between oneM2M and OCF Devices. -### Annex B.2.2 Device Type Mapping -The following table captures the equivalency mapping between OCF defined Device Types and oneM2M defined Devices. The minimum module sets for each oneM2M device is provided in this specification. The minimum resource sets for each OCF Device is provided in the OCF Device Specification <a href="#_ref_i.8">[i.8]</a>. - -<mark>Editor's note: Numbering of table is wrong</mark> +### B.2.2 Device Type Mapping +Table B.2.2-1 captures the equivalency mapping between OCF defined Device Types and oneM2M defined Devices. The minimum module sets for each oneM2M device is provided in the present document. The minimum resource sets for each OCF Device is provided in the OCF Device Specification <a href="#_ref_i.8">[i.8]</a>. -Table 7.1.38: OCF to oneM2M Device Type Mapping +**Table B.2.2-1: OCF to oneM2M Device Type Mapping** |OCF Device Name |OCF Device Type |oneM2M Device | @@ -7066,14 +7070,14 @@ Table 7.1.38: OCF to oneM2M Device Type Mapping # Annex C (informative): Mapping to Content Attribute -## Annex C.1 Introduction +## C.1 Introduction Current SDT models are used only in form of <flexContainer>s, and how to design content attribute of <contentInstance> and <timeSeriesInstance> is left to developers. There is no rule for design of content attribute, it means interoperability of content attribute is low. Then SDT can become one of the rules for design of content attribute, and the low interoperability problem will be solved. The present clause explains how to use SDT as one of the rules for design of content attribute. There are several benefits of using SDT in content attribute. -First, the resource architecture can be more simple than the one using <flexContainer>s. When using <flexContainer>s, universal attributes are mapped either into attributes of [deviceInfo] under a <node> besides <flexContainer>s, or into custom attributes of [[dmDeviceInfo]](#584-dmdeviceinfo) under a [[flexNode](#582-flexnode)] (see Rule 1-8 in clause [6.2.2](#622-resource-mapping-for-device-model)). Moreover, Action Class and DataPoint Class are the same layer in SDT, but Action Class is mapped to <flexContainer> itself and DataPoint Class is mapped to attributes of <flexContainer> expressing Module class. On the other hand, Using SDT in content attribute means using only one <contentInstance> or <timeSeriesInstance> so the resource architecture is simple. +First, the resource architecture can be simpler than the one using <flexContainer>s. When using <flexContainer>s, universal attributes are mapped either into attributes of [deviceInfo] under a <node> besides <flexContainer>s, or into custom attributes of [[dmDeviceInfo]](#583-dmdeviceinfo) under a [[flexNode](#581-flexnode)] (see Rule 1-8 in clause [6.2.2](#622-resource-mapping-for-device-model)). Moreover, Action Class and DataPoint Class are the same layer in SDT, but Action Class is mapped to <flexContainer> itself and DataPoint Class is mapped to attributes of <flexContainer> expressing Module class. On the other hand, Using SDT in content attribute means using only one <contentInstance> or <timeSeriesInstance> so the resource architecture is simple. Relating this benefit, it becomes easy to understand where to write information. @@ -7081,17 +7085,17 @@ Second, <contentInstance> and <timeSeriesInstance> becomes more interopera Third, If useful libraries are prepared, content attribute is able to be expressed in XML/JSON/CBOR with small changes on program. -In addition, tools can generate validator of the data and converter among the supported formats +In addition, tools can generate validator of the data and converter among the supported formats. -## Annex C.2 XML representation of SDT instances. +## C.2 XML representation of SDT instances. ModuleClasses, SubDevice models and DeviceClass models written in clause 5 are expressed another way with using each class names as the tag. This clause introduces this way. Normative work for defining the mapping rules from SDT to XML/ JSON instance are defined by SDT4.0. -### Annex C.2.1 Mapping Rules of XML representation -Mapping from SDT instance into XML representation is following. Inclusion relationship of SDT instances are directly expressed as inclusion relationship of XML tags. Tag name is same as each classes. +### C.2.1 Mapping Rules of XML representation +Mapping from SDT instance into XML representation is following. Inclusion relationship of SDT instances are directly expressed as inclusion relationship of XML tags. Tag name is the same as each classes. ```XML <DeviceClass Class Name> @@ -7109,7 +7113,7 @@ Action Class can not have any value and it only lengthen the message so it is om When a certain device does not have any SubDevice, the tags about SubDevices don't appear and tags about ModuleClass are placed under the DeviceClass directly. -### Annex C.2.2 Example of XML representation +### C.2.2 Example of XML representation Below is the example for deviceThreeDPrinter: ```XML @@ -7153,12 +7157,12 @@ Below is the example for deviceThreeDPrinter: </deviceThreeDPrinter> ``` -## Annex C.3 JSON representation of SDT instances -This clause tells how to express SDT instances with JSON. +## C.3 JSON representation of SDT instances +### C.3.1 Mapping Rules of JSON representation +This clause explains how to represent SDT instances inJSON format -### Annex C.3.1 Mapping Rules of JSON representation -Mapping from SDT instance into JSON representation is following . Inclusion relationship of SDT instances are directly expressed as inclusion relationship of JSON hash({}). Key name is same as each class name of SDT. Value types are written in various types depending SDT definition. +Inclusion relationship of SDT instances are directly expressed as inclusion relationship of JSON hash({}). Key name is same as each class name of SDT. Value types are written in various types depending on SDT definition. ```JSON { @@ -7174,10 +7178,10 @@ Mapping from SDT instance into JSON representation is following . Inclusion rela Action Class can not have any value and it only lengthen the message so it is omitted. -When a certain device does not any SubDevice Class, the tags about SubDevices Class don't appare and tags about Module Class are placed under the Device Class directly. +When a certain device does not any SubDevice Class, the tags about SubDevices Class do not appear and tags about Module Class are placed under the Device Class directly. -### Annex C.3.2 Example of JSON representation +### C.3.2 Example of JSON representation Below is the example for deviceThreeDPrinter: ```JSON @@ -7223,7 +7227,7 @@ Below is the example for deviceThreeDPrinter: ``` -## Annex C.4 How to write into content attribute +## C.4 How to write into content attribute Any size of the SDT class cluster may be mapped to content attribute. For example, from only the DataPoint class to DataPoint, Action, Module, SubDevice and Device classes may be mapped to one content attribute at once. @@ -7292,14 +7296,43 @@ If a contentInfo attribute is not used, content attribute may change as follows: -# Annex D History +# Annex D (informative) Bibliography + +- oneM2M TS-0001: "Functional Architecture" +- Open Mobile Alliance™ OMA-TS-Blood-Pressure-Monitor-APIs-V1-0-20160419-C: "Blood Pressure Monitor APIs". + +NOTE: Available at http://www.openmobilealliance.org/release/DWAPI/V1_0-20160419-C/OMA-TS-Blood_Pressure_Monitor_APIs-V1_0-20160419-C.pdf + +- Open Mobile Alliance™ OMA-TS-Glucometer-APIs-V1-0-20160419-C: "Glucometer APIs ". + +NOTE: Available at http://www.openmobilealliance.org/release/DWAPI/V1_0-20160419-C/OMA-TS-Glucometer_APIs-V1_0-20160419-C.pdf + +- Open Mobile Alliance™ OMA-TS-Heart-Rate-Monitor-APIs-V1-0-20160419-C: " Heart Rate Monitor APIs". + +NOTE: Available at http://www.openmobilealliance.org/release/DWAPI/V1_0-20160419-C/OMA-TS-Heart_Rate_Monitor_APIs-V1_0-20160419-C.pdf. + +- Open Mobile Alliance™ OMA-TS-Pulse-Oximeter-APIs-V1-0-20160419-C: " Pulse Oximeter APIs". + +NOTE: Available at http://www.openmobilealliance.org/release/DWAPI/V1_0-20160419-C/OMA-TS-Pulse_Oximeter_APIs-V1_0-20160419-C.pdf. + +- Open Mobile Alliance™ OMA-TS-Thermometer-APIs-V1-0-20160419-C: " Thermometer APIs". + +NOTE: Available at http://www.openmobilealliance.org/release/DWAPI/V1_0-20160419-C/OMA-TS-Thermometer_APIs-V1_0-20160419-C.pdf. + +- Open Mobile Alliance™ OMA-TS-Weight-Scale-Body-Composition-Analyzer-APIs-V1-0-20160419-C: "Weight Scale / Body Composition Analyzer APIs". + +NOTE: Available at http://www.openmobilealliance.org/release/DWAPI/V1_0-20160419-C/OMA-TS-Weight_Scale_Body_Composition_Analyzer_APIs-V1_0-20160419-C.pdf. + + + +# History **Publication history** | Version | Date | Description | |-|-|-| |V2.0.0 |2016-08-30 |Release 2 - Publication | -| | | | +| V4.8.0 | December 2023 | Partners pre-processing done by **editHelp!<br />e-mail: [edithelp@etsi.org](mailto:edithelp@etsi.org) | | | | | | | | | | | | |