Previous Topic

Next Topic

Book Contents

Book Index

Overview (deprecated)

The Home Device Manager API contains predefined Device Class Object interfaces that represent the most common device functions. HDM Protocol Adapters provide mapping of some of these interfaces to real physical devices.

For example, the Protocol Adapter of the ZigBee protocol provides HDM mapping for the Device Class interfaces Battery Level, Identifier, Binary switch etc. Which means that you can use this interfaces for controlling the corresponding ZigBee devices.

A Device class interface is really a collection of properties and operations that devices of certain type have. Each property or operation has metadata which is organized in the following way:

Properties

Property Key

Description

description

Contains a friendly description of the property.

access

Shows the access level of the property. Its value is composed of appended letter flags like RWE or RE:

  • R - You can read the value of the property.
  • W - You can write (change) the value of the property.
  • E - The Home Device Manager sends events when the value of the property changes.

unit

Contains the measurement unit of the property value.

min

Shows the minimum value of the property.

max

Shows the maximum value of the property.

step

Shows the step with which the property value can change.

enum

Stands for a set of friendly label-value options. The value of this metadata attribute is a java.util.Map whose keys are the option labels and whose values are the actual values behind the label.

See Device Class Object Properties.

Operations

Property Key

Description

description

Contains the friendly description of the operation.

IN1 (| IN2| ...)

If the operation has input arguments, contains the description of an input argument. Input arguments are marked with the IN prefix (DeviceClassObject.META_INFO_OPERATION_PREFIX_IN) followed by the argument's sequence number, e.g. IN1, IN2, IN3.

OUT

In case there is an output argument, contains the description of the argument.

See Device Class Object Operations.