RDM-2024-0029-Editorial_changes
Compare changes
- Andreas Kraft authored
@@ -7,7 +7,7 @@
@@ -49,7 +49,7 @@ NO REPRESENTATION OR WARRANTY IS MADE THAT THE INFORMATION IS TECHNICALLY ACCURA
@@ -184,7 +184,7 @@ For the purposes of the present document, the following abbreviations apply:
@@ -194,44 +194,40 @@ The key words "Shall", "Shall not", "May", "Need not", "Should", "Should not" in
The present document intends to provide the unified means in the oneM2M system by defining a home appliance information model for the home domain devices such as TV, refrigerator, air conditioner, clothes washer, oven, and robot cleaner. For the reasons of interworking with external technologies and efficiency, the principle of the home appliance information model is designed based on HGI SDT 3.0 <a href="#_ref_1">[1]</a>.
The present document intends to provide the unified means in the oneM2M system by defining a Harmonized Information Model (HIM) for the devices such as TV, refrigerator, air conditioner, clothes washer, oven, and robot cleaner. For the reasons of interworking with external technologies and efficiency, the principle of the Harmonized Information Model is designed based on HGI SDT 3.0 <a href="#_ref_1">[1]</a>.
The principle of defining the Harmonized Information Model is introduced in clause [5.2 Design Principle of the Harmonised Information Model](#52-design-principle-of-the-harmonised-information-model). Module Classes which oneM2M systems support are explained in clauses [5.3 ModuleClasses](#53-moduleclasses). In the subsequent clauses [5.4 SubDevice models](#54-subdevice-models) and [5.5 Device models](#55-device-models), Sub-Device and Device models are defined.
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.
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 ModuleClasses definitions are necessary, it is strongly advised to closely follow the guidelines and definition style from the present document.
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".
The R/W column of the ModuleClasses' data point tables in clause [5.3](#53-moduleclasses) 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](#522-description-rules-for-module-classes-and-deviceclasses) to implement this "behavioural contract".
@@ -345,7 +341,7 @@ When the Home Appliances Information Model is described based on SDT, the follow
- 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.
- When a ModuleClass provides current and target data points then the name for the current data point shall have the prefix "current", and the name for the target data point shall have the prefix "target". Both data points shall have the same suffix, for example "currentTemperature" and "targetTemperature".
@@ -387,7 +383,7 @@ Table 5.2.2-2 provides some examples for short names that have been created by t
- 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.
- 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 data points as needed in order to implement the defined interface to the user. <accessControlPolicy> resources shall be defined to enforce access control to the data points 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.
@@ -599,7 +595,7 @@ This ModuleClass provides capabilities to indicate the detection of low battery
@@ -855,7 +851,7 @@ This ModuleClass provides capabilities to monitor network connectivity.
@@ -985,7 +981,7 @@ This ModuleClass provides information about generation data on electric generato
@@ -1235,7 +1231,7 @@ This module allows to control the 'keep warm' feature in devices like coffee mac
@@ -1407,7 +1403,7 @@ This ModuleClass provides the capability to report the measurement of blood oxyg
@@ -1610,7 +1606,7 @@ This ModuleClass provides capabilities for a refrigeration function.
@@ -1756,11 +1752,11 @@ This ModuleClass provides capabilities to set service parameters.
@@ -1812,7 +1808,7 @@ This ModuleClass provides the capabilities to indicate the detection of smoke an
@@ -1920,12 +1916,12 @@ This ModuleClass provides the capabilities to indicate the detection of abnormal
@@ -2075,7 +2071,7 @@ This ModuleClass provides capabilities to provide alarm information of water met
@@ -2125,7 +2121,6 @@ This ModuleClass provides capabilities to set service parameters for data sampli
@@ -2138,7 +2133,6 @@ This ModuleClass provides the capabilities to indicate whether or not water has
@@ -2173,7 +2167,7 @@ This ModuleClass provides the information of water quality detection.
@@ -2659,7 +2653,7 @@ This ModuleClass provides information on the origin of the parent device data.
This ModuleClass provides the capability of creating oneM2M based information from CAP based information received from oneM2M SP Gateway (ASN) and of controlling the change of received public warning messages such as updating oneM2M based information and canceling the dissemination of oneM2M based information.
This ModuleClass provides the capability of creating oneM2M based information from CAP based information received from oneM2M SP Gateway (ASN) and of controlling the change of received public warning messages such as updating oneM2M based information and cancelling the dissemination of oneM2M based information.
@@ -2977,9 +2971,9 @@ A smart plug is a device that can turn on and off a connected appliance.
@@ -3019,7 +3013,7 @@ A thermostat is used to control the ambient temperature of rooms within, for exa
@@ -3302,9 +3296,9 @@ A blood pressure monitor is a device that can be used to monitor the blood press
@@ -3312,7 +3306,7 @@ A blood pressure monitor is a device that can be used to monitor the blood press
@@ -3339,7 +3333,7 @@ A heart rate monitor is a device that can be used to monitor the heart rate.
@@ -3540,7 +3534,7 @@ A dehumidifier is a device that is used to monitor or control the state of a deh
@@ -4401,7 +4395,7 @@ Used for "currentJobMode" and "jobModes" data points of the "[dehumidifierJobMod
@@ -4809,7 +4803,7 @@ Used for the "supportedMediaSources" data point of the "[mediaSelect](#53153-med
@@ -4888,7 +4882,7 @@ NOTE: See clause [5.3.1.4 airFlow](#5314-airflow).
@@ -4965,7 +4959,7 @@ Used for the "filterType" data point of the "[waterFilterType](#531105-waterfilt
@@ -5119,21 +5113,21 @@ Used for the "batteryMaterial" DataPoint of the "[battery](#53110-battery)" Modu
@@ -5343,7 +5337,7 @@ The architecture of IPE-based Device Management is presented in oneM2M TS-0001 <
@@ -5411,7 +5405,7 @@ This ModuleClass is used to share static information regarding the device.
@@ -5425,7 +5419,7 @@ This ModuleClass is used to share static information regarding the device.
@@ -5473,7 +5467,7 @@ writeIO(address="/3/0/15", payload="[Europe/Paris](Europe/Paris)")
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).
NOTE: Some data points 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 data point *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).
@@ -5489,21 +5483,21 @@ Individual firmwares are managed using the [dmFirmware] actions presented in Tab
|xs:string |updateFirmware |url: xs:url<br />version: xs:string |true |Downloads a new firmware to the device / sub-component. In case of devices that do support toggling between multiple preinstalled firmware versions it also starts the firmware flashing/installation process.<br />The updateFirmware action as it results returns an AE/IPE message indicating if the action was successful or not. |
|xs:string |updateFirmware |url: xs:url<br />version: xs:string |true |Downloads a new firmware to the device / sub-component. In case of devices that do support toggling between multiple pre-installed firmware versions it also starts the firmware flashing/installation process.<br />The updateFirmware action as it results returns an AE/IPE message indicating if the action was successful or not. |
|xs:string |toggle |none |true |Toggles between the firmware versions installed on a device/sub-component. In case of devices that do not support such toggling, it triggers the firmware flashing/installation process.<br />The toggle action as it results returns an AE/IPE message indicating if the action was successful or not. |
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.
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 pre-installed firmware versions and in Figure 5.8.5-2 for devices that can have only one firmware version installed.
@@ -5512,7 +5506,7 @@ Using an abstraction model based on two firmware images it is possible to effect
@@ -5522,10 +5516,10 @@ NOTE 1: Both primary and secondary firmware image related dataPoints are mandato
@@ -5563,7 +5557,7 @@ An instance of this ModuleClass represents a software module hosted by the devic
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).
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).
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 data point 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").
@@ -5595,7 +5589,7 @@ This ModuleClass provides DM capabilities to control and monitor event logs of t
|none |retrieveLog |start: xs:datetime<br />end: xs:datetime |true |Upload from the device the logging data between 'start' and 'end'.<br />'start' shall be a date before 'end', and is optional. The default is beginning of time.<br />'end' shall 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' data point. It is only valid when the 'enabled' data point is true. The *start* *and* end arguments are only indications of the time frame for the log retrieval. If a target device can deliver only partial logs for a given time frame, 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.
@@ -5611,11 +5605,11 @@ For devices using the dmEventLog ModuleClass, the following rules apply:
- 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 IPE can create a [dmEventLog] instance with *status* data point '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* data point is set to *true* (resp. *false*). The *status* data point 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* data point 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.
@@ -5623,8 +5617,8 @@ When the *enabled* datapoint is set to *false*, the IPE shall set the *status* d
- 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).
- 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* data point will contain the list of IDs of this(these) [dmSoftware](#586-dmsoftware) module(s).
@@ -5658,7 +5652,7 @@ NOTE:
@@ -5760,10 +5754,10 @@ This ModuleClass is used to model the storage on a managed device.
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).
Harmonized information models which are defined in clause [5](#5-harmonised-information-model) need 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).
@@ -5773,7 +5767,7 @@ The present clause specifies the rule to map the "Harmonized Information Model"
@@ -5874,7 +5868,7 @@ The SubDevice models (in clause [5.4](#54-subdevice-models) or [5.8.9](#589-dmar
@@ -6301,7 +6295,7 @@ In protocol bindings resource attributes names for data points of module classes
@@ -6520,7 +6514,7 @@ Depending on the domain, the *containerDefinition* attribute of specializations
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".
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".
@@ -6590,7 +6584,7 @@ For example, the XSD definition for "[activateClockTimer](#53190-timer)" specifi
@@ -6610,7 +6604,7 @@ This file contains the definitions of all enumerated types, and nothing else.
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).
This clause specifies how the Harmonized Information Model (HIM) defined in the clause [5](#5-harmonised-information-model) of 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 the oneM2M HIM shall be able to interact with non-oneM2M appliances of different technologies in a consistent way without knowing the technology specific details. An IPE shall be responsible for translating the HIM to/from technology specific information model bidirectionally following the mapping specification in this clause. Using HIM as a bridge, appliances and applications of different technologies shall be able to also interact with each other via the oneM2M system (with IPEs).
@@ -6730,7 +6724,7 @@ DevicePulseOximeter of HAIM shall be mapped to Pulse Oximeter of OMA DWAPI-PCH o
@@ -6795,14 +6789,14 @@ Data types of oneM2M HAIM and OMA DWAPI-PCH shall be mapped each other on the ba
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.
@@ -6814,7 +6808,7 @@ Table 8-1 only shows mapping of SDT concepts that are used to classify all conc
@@ -6996,7 +6990,7 @@ The [[toggle](#53112-binaryswitch)] resource contains the attributes specified i
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).
OMA GotAPI(OMA Generic Open Terminal API Framework) provides the framework to enable applications and multi-type 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).
@@ -7283,7 +7277,7 @@ An example for only DataPoint class mapping is shown below.:
@@ -7347,6 +7341,6 @@ NOTE: Available at http://www.openmobilealliance.org/release/DWAPI/V1_0-2016041
| V5.3.0 | 2022-09-28 | RDM-2022-0017R03-Proposed_changes_to_TS-0023_for_WI_0109<br />RDM-2022-0031R01-Adding_a_heater_device_to_TS-0023<br />RDM-2022-0045R01-TS-0023_PropertyNames_rel-5<br />RDM-2022-0051-Adding_the_remoteControlEnable_Module_to_the_deviceRobotCleaner_Device<br />RDM-2022-0052R01-Adding_a_new_Device_model_deviceJuicer_to_TS-0023<br />RDM-2022-0053R01-Adding_a_new_Device_model_deviceShoesWasher_to_TS-0023<br />RDM-2022-0055-Adding_an_electric motorcycle_device_to_TS-0023 |
| V5.5.0 | 2023-04-20 | RDM-2023-0020-TS-0023_Moving_SubDeviceCuff_to_health_domain_(R5)<br />RDM-2023-0021-Adding_rule_for_FlexContainerInstance_specialization_naming_(R5)<br />RDM-2023-0022-TS-0023_Clarification_for_naming_elements_(R5)<br />RDM-2023-0023-TS-0023_Correcting_units_of_measure_(R5) |