The correct Setup Guide information depends on which functionality needs to be used. To install and start one of the two implementations you should follow the steps described in the DA Installation page or HDM Installation page. The System and Configuration Properties sections on this page contain the properties that are common for the DA API implementation and HDM API implementation.
HDM API implementation is deprecated and it is possible to be removed in the next version of the Device Access module.
Prerequisites
Managing which functionality is available is done through the configuration XML file for PID mbs.da.core.apis in the SDK's special format, described in the Metatype Extension from the OSGi Module.
The DA API implementation is available by default. If you want to enable the HDM API implementation you have to follow these steps: HDM API Setup
The two API implementations are available to be enabled together but only for development purposes. Problems may occur when both API implementations are available at the same time. For final clients of the product only one API at a moment must be available.
System Properties
The table bellow presents system properties that are common for both API implementations.
Property |
Type |
Default Value |
Description |
|---|---|---|---|
da.hdm.adapter.additional.metadata |
boolean |
false |
The DA will log warning if the protocol adapter provides additional DeviceClassObjectSpi property or operation metadata when the system property is true. |
The table bellow presents system properties that have equivalents for both API implementations.
Property |
Deprecated(HDM) Property |
Type |
Default Value |
Description |
|---|---|---|---|---|
da.send.all.events |
hdm.send.all.events |
boolean |
false |
A device reports the device item property value on a specific interval. The DA sends an event to applications only if the device item property value is changed. When the system property is set to true, the DA will send all events without the need to check if the value is different. In addition, all events from polling mechanisms will be sent to the applications. |
da.create.all.events.initially |
hdm.create.all.events.initially |
boolean |
false |
DA creates an all device status event during its initialization. All other events will be created during DA initialization only if the system property is set to true. |
da.minimal.device.reconfiguring.interval |
hdm.minimal.device.reconfiguring.interval |
long |
10000 |
This property defines the minimal interval of device reconfiguring. The property value must be positive. A value of 0 means that the next request for device reconfiguring will be executed immediately. When the property value is negative, the DA will use its default value and will log a warning. The default value is 10 seconds and the property value unit is milliseconds. |
da.thread.wait.timeout |
hdm.thread.wait.timeout |
long |
10000 |
This property defines the default time during which a DA temporary thread will wait for a new task request to be performed. Actually this is the difference between the finish time of the last task and the new request arrival. If a new request is not received until the end of this time-out period then the thread is closed. The property value must be positive. Value 0 means that after the request is performed, the thread will be closed immediately. So for the next task request a new thread instance will be started. The default value is 10 seconds and the property value unit is milliseconds. |
da.init.timeout |
hdm.init.timeout |
long |
120000 |
This property defines the maximum timeout for DA Core and protocol adapters initializing. If the adapters' initializing is not finished in this period of time the DA stops waiting for them. The default value is 2 minutes and the property value unit is milliseconds. |
da.security.permission.enable |
hdm.security.permission.enable |
boolean |
true |
This property defines if DA security mode is turned on and if the permissions' check is enabled. The default value is true. |
The properties in the second column (hdm.property) are deprecated. The DA will use whichever property value is provided, no matter if its a new or a deprecated property. When none are provided, the default value will be used. When both properties are provided, the DA will use the new property and will ignore the deprecated one.
Configuration Properties
The following table describes the configuration properties that are common for both API implementations.
PID: mbs.da.core.log
Name |
Property |
Type |
Default Value |
Description |
|---|---|---|---|---|
Log Level |
log.level |
int |
3 |
|
Log Print Level |
log.print.level |
int |
0 |
|
DeviceClassObject Cache |
dco.cache |
boolean |
true |
The DA enables device classes debug. |
Devices |
devices |
boolean |
true |
The DA enables device debug. |
Device Configuration |
device.configuration |
boolean |
true |
The DA enable device configuration debug. |
Events |
events |
boolean |
true |
The DA enables events debug. |
DeviceClass Loading |
dc.loading |
boolean |
true |
The DA enables device class loading debug. |
Storage |
storage |
boolean |
true |
The DA enables storage debug. |
Zones |
zones |
boolean |
true |
The DA enables home zones debug. |
Multicast |
multicast |
boolean |
true |
The DA enables multicast debug. |
Hooks |
hooks |
boolean |
true |
The DA enables hooks debug. |
FIM |
fim |
boolean |
true |
The DA enables FIM support debug. |
Mapping |
mapping |
boolean |
true |
The DA enables Device Item mapping debug. |
Troubleshooting
No troubleshooting information is available for this module.