Previous Topic

Next Topic

Book Contents

Book Index

Z-Wave (deprecated)

The Z-Wave protocol adapter enables you to control all kinds of devices that support

Protocol Information

Protocol Name

To be able to manage Z-Wave networks via the Home Device Manager you need to select the protocol adapter registered under the name Z-Wave.

Protocol Operations

The Z-Wave protocol adapter supports the following device administration operations:

Protocol Properties

The device properties related to the underlying Z-Wave protocol adapter are described in the table below:

Property

Access

Description

Resolution

node_id

Readable

The ID of the source node in the network.

Mandatory

instance_id

Readable

The ID of the instance node.

Mandatory

zwave.application.version

Readable

Application firmware version on the end device

Mandatory

zwave.library.type

Readable

Z-Wave library type on the end device

Mandatory

zwave.manufacturer_specific.manufacturer_id

Readable

Manufacturer identifier

Mandatory

zwave.manufacturer_specific.product_id

Readable

Product identifier

Mandatory

zwave.manufacturer_specific.product_type_id

Readable

Product type identifier

Mandatory

zwave.protocol.version

Readable

Z-Wave protocol version on the end device

Mandatory

zwave.secure

Readable

Boolean string (true,false) depending on whether the device supports Z-Wave Security or not

Mandatory

You can retrieve a list of the properties required by the Z-Wave protocol adapter by using the getProperties or getPropertyMetadata method of the corresponding ProtocolAdapterInfo object. If a property is mandatory, its ProtocolAdapter.META_INFO_PROPERTY_RESOLUTION metadata property will be ProtocolAdapter.META_INFO_PROPERTY_RESOLUTION_MANDATORY.

Polling

Z-Wave protocol adapter implements a specific polling mechanism instead of the default HDM polling mechanism. Note that this mechanism is used only for legacy Z-Wave devices, since the Z-Wave Plus devices are required by specification to send events to the devices associated in group 1.

The specifics of this polling mechanism are as follow:

This approach allows for a better balance between the need for polling and potentially making the network unusable because of the overhead.

Please note that, however aggressive a polling method is, it can never overcome the delay in refreshing the device state. To avoid this problem we recommend to choose mains-powered devices which implement Z-Wave HAIL Command Class, since in this case the device state is refreshed almost instantly should an action on the end device occur. Alternatively the use of Z-Wave Plus devices circumvents the issue altogether, because they send events to the device that have been added to association group 1 and our driver will always associate the controller for all Z-Wave Plus devices.

Network Controller

The ZWaveNetworkController interface extends the com.prosyst.mbs.services.hdm.deviceclasses.NetworkController and the com.prosyst.mbs.services.hdm.deviceclasses.NetworkControllerExt HDM device classes. For more information refer to: Z-Wave Network Controller

The NetworkController device class provides support for network controllers. The network controller mode can be for example add, remove, learn, etc. For more information refer to: NetworkController

The NetworkControllerExt class provides additional support for network controllers. The network controller mode can be normal, pairing and removing. Additionally the mode duration and mode remaining time are provided. The operation reset has to reset the controller and to remove all home devices. For more information refer to: NetworkControllerExt

Z-Wave to HDM Mapping

For management of Z-Wave networks through the abstraction layer provided by the Home Device Manager (HDM) API the Z-Wave Module offers a protocol adapter, named ZWave. This protocol adapter represents the devices in Z-Wave networks as devices composed of device class objects compliant with the Home Device Manager (HDM) API. In this way, the Z-Wave network as well as other types of home networks can be controlled by a common service such as the Home Device Manager. Device classes support specific properties and operations. Devices can be controlled by directly changing their properties or by launching operations on them.

The table below lists the supported Z-Wave command classes and their mapping in HDM device class objects:

Some command classes are supported by HDM but do not expose HDM device classes. The association command classes are internally handled by the driver. They represent execution of actions by devices (called in this context destination devices) which are triggered by signals coming from other devices called source devices. As there is an unlimited number of possible scenarios for associations between source and destination devices the association command classes cannot be mapped to HDM device classes. The COMMAND_CLASS_HAIL is only supported through Home Device Manager and it has no Java interface. For COMMAND_CLASS_MANUFACTURER_SPECIFIC and COMMAND_CLASS_MANUFACTURER_SPECIFIC_V2 the relevant information is available as properties of the HDM device.

If a device supports security there will be a child device that exposes the functionality accessible though secure communication. Furthermore if multichannel communication is supported it is exposed though HDM as child devices. The CRC-16 encapsulation is transparently supported on the HDM level.

All Z-Wave command classes are part of the com.prosyst.mbs.services.zwave.commandclasses package.

The HDM device class interfaces are provided by the com.prosyst.mbs.services.hdm.deviceclasses package.

For more information about the Java classes refer to: Java API.

Z-wave Command Class

ID

Supported via Z-wave Driver

Supported by HDM

Z-wave Java Class Name

HDM Device Class

COMMAND_CLASS_ALARM

0x71

CCAlarm

AlarmSensor

COMMAND_CLASS_APPLICATION_STATUS

0x22

 

CCApplicationStatus

 

COMMAND_CLASS_ASSOCIATION

0x85

CCAssociation

ZWaveNetworkController

COMMAND_CLASS_BASIC

0x20

CCBasic

Basic

COMMAND_CLASS_BATTERY

0x80

CCBattery

BatteryLevel

COMMAND_CLASS_CLIMATE_CONTROL_SCHEDULE

0x46

CCClimateControlSchedule

ClimateSchedule

COMMAND_CLASS_CLOCK

0x81

CCClock

Clock

COMMAND_CLASS_CONFIGURATION

0x70

CCConfiguration

Configuration

COMMAND_CLASS_CONTROLLER_REPLICATION

0x21

 

CCControllerReplication

 

COMMAND_CLASS_CRC_16_ENCAP

0x56

 

CCCRC16Encap

 

COMMAND_CLASS_DOOR_LOCK_LOGGING

0x4C

CCDoorLockLogging

DoorLockLogging

COMMAND_CLASS_DOOR_LOCK

0x62

CCDoorLock

DoorLock

COMMAND_CLASS_FIRMWARE_UPDATE_MD

0x7A

 

CCFirmwareUpdateMD

 

COMMAND_CLASS_HAIL

0x82

 

 

 

COMMAND_CLASS_MANUFACTURER_SPECIFIC

0x72

CCManufacturerSpecific

 

COMMAND_CLASS_MARK

0xEF

 

 

 

COMMAND_CLASS_METER

0x32

CCMeter

Meter

COMMAND_CLASS_MULTI_INSTANCE_ASSOCIATION

0x8E

 

CCMultiInstanceAssociation

 

COMMAND_CLASS_MULTI_INSTANCE

0x60

 

CCMultiInstance

 

COMMAND_CLASS_POWERLEVEL

0x73

CCPowerLevel

PowerLevel

COMMAND_CLASS_PROTECTION

0x75

CCProtection

ProtectionV1

COMMAND_CLASS_SECURITY

0x98

CCSecurity

 

COMMAND_CLASS_SENSOR_ALARM

0x9C

CCSensorAlarm

MultiLevelSensor

COMMAND_CLASS_SENSOR_BINARY

0x30

CCBinarySensor

BinarySensor

COMMAND_CLASS_SENSOR_MULTILEVEL

0x31

CCMultilevelSensor

MultiLevelSensor

COMMAND_CLASS_SWITCH_BINARY

0x25

CCBinarySwitch

BinarySwitch

COMMAND_CLASS_SWITCH_MULTILEVEL

0x26

CCMultilevelSwitch

MultiLevelSwitch

COMMAND_CLASS_THERMOSTAT_FAN_MODE

0x44

CCThermostatFanMode

ThermostatFanMode

COMMAND_CLASS_THERMOSTAT_FAN_STATE

0x45

CCThermostatFanState

ThermostatFanState

COMMAND_CLASS_THERMOSTAT_MODE

0x40

CCThermostatMode

ThermostatFanMode

COMMAND_CLASS_THERMOSTAT_OPERATING_STATE

0x42

CCThermostatOperatingState

ThermostatState

COMMAND_CLASS_THERMOSTAT_SETBACK

0x47

CCThermostatSetback

ThermostatSetback

COMMAND_CLASS_THERMOSTAT_SETPOINT

0x43

CCThermostatSetPoint

TemperatureActuator

COMMAND_CLASS_TIME_PARAMETERS

0x8B

 

CCTimeParameters

 

COMMAND_CLASS_USER_CODE

0x63

CCUserCode

UserCode

COMMAND_CLASS_VERSION

0x86

CCVersion

 

COMMAND_CLASS_WAKE_UP

0x84

CCWakeUp

ZWaveWakeUp

COMMAND_CLASS_ASSOCIATION_GRP_INFO

0x59

 

CCAssociationGroupInfo

 

COMMAND_CLASS_DEVICE_RESET_LOCALLY

0x5A

 

CCDeviceResetLocally

 

COMMAND_CLASS_CENTRAL_SCENE

0x5B

 

CCCentralScene

 

COMMAND_CLASS_BARRIER_OPERATOR

0x66

CCBarrierOperator

BarrierOperator