Installation of the HDM API implementation in the OSGi environment.
Prerequisites
The HDM API implementation is not enabled by default. If this implementation is needed, please follow the next steps:
mbs.da.core.apis.xml |
|---|
<?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE metatype-provider SYSTEM "conf.dtd"> <metatype-provider> <objectclass> <name>DA Core APIs Configuration</name> <id>mbs.da.core.apis</id> <description>Configure DA Core to enable API implementations.</description> <attribute modifier="req"> <name>DA API</name> <id>da.api</id> <description>Enable DA API implementation.</description> <type>&boolean;</type> <cardinality>0</cardinality> <value> <scalar>false</scalar> </value> </attribute> <attribute modifier="req"> <name>HDM API</name> <id>hdm.api</id> <description>Enable HDM API implementation.</description> <type>&boolean;</type> <cardinality>0</cardinality> <value> <scalar>true</scalar> </value> </attribute> </objectclass> </metatype-provider> |
Installation
Automated Installation
The Kit Manager is a utility that enables you to automatically install a component or a group of components by executing a predefined install script.
To use the Kit Manager to install a component:
kitman.install "<kit_ID>"
where <kit_ID> is the ID of the component's install script. The following scripts for automated installation of the DA implementation are available:
If you want to view or edit these scripts you can find them in the <bosch.iot.sdk_home>/runtime/osgi/bin/pscripts directory.
Manual Installation
Only the bundles that are needed can be installed, taking into account their dependencies to other bundles. All bundles for this implementation can be found in the <bosch.iot.sdk_home>/runtime/osgi/bundles directory.
Complete the steps from the Prerequisites part (located at the top of the page) and then install the following bundles in the following order:
System Properties
The following system properties are deprecated. As previously mentioned, the HDM API implementation is deprecated and possibly, will be removed from the next version of the Device Access module.
Property |
Type |
Default Value |
Description |
|---|---|---|---|
hdm.events.handlerPriority |
int |
1 |
This property defines the priority of registered EventHandler services by DA. These services are registered by DA HDM HAM conditions and the DA HDM Async Utility. |
hdm.process.zone.devices.simultaneously |
boolean |
true |
The home zones support simultaneous invocation of DCO set property methods or DCO operations on many devices. Value true indicates that the devices will be processed simultaneously in separate threads. |
hdm.util.events.handlerPriority |
int |
1 |
This property defines the handler priority for registering EventHandler services. The ZoneUtility service uses its value to set it as a mbs.events.handlerPriority property value while registering it as a service. The property default value is 1. |
hdm.security.accadmin.enable |
boolean |
false |
This property enables/disables triggering of conditions when there is no Access Control Context associated with the specified application ID. If the property value is set to true, the conditions are not triggered. The default value is false. |
hdm.events.configuration.minimal |
boolean |
false |
If set to true all events triggered by HomeDevices and HomeZones should be created with the minimal set of event properties. They should have only the following properties: device/zone, UID, status, error code and message and also the event properties that hold information about the actual reason for the event: the event name and its new value. When set to false events will be created with the full set of event properties which currently includes: the event time stamp, event name and value, and all device and zone specific properties . |
Configuration Properties
The following tables describe system properties that are related to the HDM API implementation.
PID : mbs.da.core.hdm.device.events
Name |
Property |
Type |
Default Value |
Description |
|---|---|---|---|---|
Configuration Level |
config.level |
int |
0 |
The configuration level:
|
Name |
name |
boolean |
false |
Adds device name in event properties. |
Vendor |
vendor |
boolean |
false |
Adds device vendor in event properties. |
Version |
version |
boolean |
false |
Adds device version in event properties. |
Type |
type |
boolean |
false |
Adds device type in event properties. |
Parent UID |
parent.uid |
boolean |
false |
Adds device parent UID in event properties (if the device is a child). |
Timestamp Added |
timestamp.added |
boolean |
false |
Adds timestamp when the device is added in event properties. |
Device Classes |
device .classes |
boolean |
false |
Adds device classes in event properties. |
Adapter Name |
adapter |
boolean |
false |
Adds device adapter name in event properties. |
DCO Properties |
dco.properties |
boolean |
false |
Adds device class object properties in event properties. |
Adapter Properties |
adapter.properties |
boolean |
false |
Adds device adapter properties in event properties. |
User Properties |
user.properties |
boolean |
false |
Adds device user properties in event properties. |
PID : mbs.da.core.hdm.zone.events
Name |
Property |
Type |
Default Value |
Description |
|---|---|---|---|---|
Configuration Level |
config.level |
int |
0 |
The configuration level:
|
Name |
name |
boolean |
false |
Adds zone name in event properties. |
Type |
type |
boolean |
false |
Adds zone type in event properties. |
Internal |
internal |
boolean |
false |
Adds zone property internal in event properties. |
Devices |
zone.devices |
boolean |
false |
Adds zone devices in event properties. |
Parents |
zone.parents |
boolean |
false |
Adds zone parents in event properties. |
User Properties |
user.properties |
boolean |
false |
Adds zone user properties in event properties. |
PID : mbs.da.hdm.api.log
Name |
Property |
Type |
Default Value |
Description |
|---|---|---|---|---|
Log Level |
log.level |
int |
3 |
|
Long Print Level |
log.print.level |
int |
0 |
|
Async |
async |
boolean |
true |
Enables debug for async utility. |
Convert |
convert |
boolean |
true |
Enables debug for convert utility. |
Event |
event |
boolean |
true |
Enables debug for event utility. |
DC MetaData |
dc.metadata |
boolean |
true |
Enables debug for device class metadata. |
Load class |
load.class |
boolean |
true |
Enables debug for loading classes. |
HomeDevice Matcher |
home.device.matcher |
boolean |
true |
Enables debug for home device matching. |
PID : mbs.da.hdm.api.async
Name |
Property |
Type |
Default Value |
Description |
|---|---|---|---|---|
Retries |
retries |
int |
3 |
... |
Retries Timeout |
retries.timeout |
int |
500 |
Timeout in miliseconds. Another retry is processed to execute the request after the timeout expiration. |
Requests Limit |
limit.requests |
int |
50 |
The maximum number of requests in an async request device queue. |
PID : mbs.da.hdm.api.async.blacklist.devices
Name |
Property |
Type |
Default Value |
Description |
|---|---|---|---|---|
GoToSleep Operation Blacklist Filter |
go.to.sleep.blacklist.filter |
string |
- |
The LDAP filter for the blacklisted devices for the goToSleep operation |
PID : mbs.da.hdm.configtree.log
Name |
Property |
Type |
Default Value |
Description |
|---|---|---|---|---|
Log Level |
log.level |
int |
3 |
|
Long Print Level |
log.print.level |
int |
0 |
|
Devices |
devices |
boolean |
true |
Enables debug for device configurations. |
Zones |
zones |
boolean |
true |
Enables debug for zone configurations. |
Protocol Adapters |
protocol.adapters |
boolean |
true |
Enables debug for protocol adapter configurations. |
Device Templates |
device.templates |
boolean |
true |
Enables debug for device templates configurations. |
Bundle Activator |
activator |
boolean |
true |
Enables debug for bundle activator instances. |
PID : mbs.da.hdm.simulator.log
Name |
Property |
Type |
Default Value |
Description |
|---|---|---|---|---|
Log Level |
log.level |
int |
3 |
|
Long Print Level |
log.print.level |
int |
0 |
|
Simulator Adapters |
driver |
boolean |
true |
Enables a simulator driver for debug purposes. |
Device Class Loading |
dc.loading |
boolean |
true |
Enables debug for device class loading. |
Simulator Adapter Configurable |
configurable |
boolean |
true |
Enables debug for simulator adapter configurable. |
Simulator Storage |
storage |
boolean |
true |
Enables simulator storage debug. |
Troubleshooting
No troubleshooting information is available for this module.