Previous Topic

Next Topic

Book Contents

Book Index

HDM API Setup Guide (Deprecated)

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:

  1. Create a metadata configuration XML file:

    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>

  2. Place the configuration XML file as mbs.da.core.apis.xml in the configs directory of the OSGi Runtime.

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:

  1. Go to the text console and make sure that the Kit Manager bundle is available on your runtime.
  2. Enter the kitman console command group to initiate the installation. Type

    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:

  • 0 for full
  • 1 for minimal
  • 2 for custom

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:

  • 0 for full
  • 1 for minimal
  • 2 for custom

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

  • 0 for no logs
  • 1 for error
  • 2 for warning
  • 3 for info
  • 4 for debug

Long Print Level

log.print.level

int

0

  • 0 for no console messages
  • 1 for error
  • 2 for warning
  • 3 for info
  • 4 for debug

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

  • 0 for no logs
  • 1 for error
  • 2 for warning
  • 3 for info
  • 4 for debug

Long Print Level

log.print.level

int

0

  • 0 for no console messages
  • 1 for error
  • 2 for warning
  • 3 for info
  • 4 for debug

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

  • 0 for no logs
  • 1 for error
  • 2 for warning
  • 3 for info
  • 4 for debug

Long Print Level

log.print.level

int

0

  • 0 for no console messages
  • 1 for error
  • 2 for warning
  • 3 for info
  • 4 for debug

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.

See also