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:
|
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. |