Zigbee

To support developers in creating drivers for Zigbee devices the Zigbee Developer Tools have been created. This page will explain the functionality of the Zigbee Developer Tools.

Overview

You can find the Zigbee Developer Tools in the Homey Developer Portal.

The tool consists of two main sections, the nodes table on top and the system information below. The nodes table presents information about the Zigbee network while the system information displays information about the current state of Homeys Zigbee chip.

Nodes Table

At the top of page the Nodes Table is displayed. This table shows all the Zigbee devices connected to Homey. Each devices has a number of properties:

  • Node ID: A random number to identify the node in the table.

  • IEEE Address: The unique identifier of a Zigbee device.

  • Network Address: The current network address of the node on the network.

  • Type: Router or EndDevice, the former is a mains-powered device that acts as repeater, the latter is a battery device that is mostly asleep.

  • Online: This property is updated when clicking the refresh button in the top right and shows if the node is currently responding to a ping request.

  • Receive When Idle: Battery devices are asleep most of the time and are therefore not able to receive commands at all times, only routers can receive when idle.

  • Manufacturer: This is the manufacturerName you should include in your driver's manifest.

  • Model ID: This is the productId you should include in your driver's manifest.

  • Route: The last known route that was taken when communicating with the node over the network.

Interview

The interview button in the Nodes Table can be used to get an overview of the endpoints, clusters, commands and attributes supported by a specific node. When interviewing the node must be online. The process might take a while, especially for EndDevices since they are slower to respond. When the interview is finished, the information will appear with a JSON structure of the node.This contains the modelId and manufacturerName which you should use in your driver's manifest. Second, the endpointDescriptors represent all endpoints on the node and the clusters that are supported by each endpoint. Last, the endpoints is a nested object with a lot more information on each cluster, such as supported commands, attributes and attribute reporting configurations.

Refresh Nodes

The refresh nodes button in the top right corner of the Nodes Table can be used to send a "ping request" to all router nodes on the network. This will update the "Online" property of the node. Note: this might take a while and will put considerable load on the Zigbee network for a short period of time.

Routes

The route that is shown is the last known route that was taken when communicating with the node. This is often not the “shortest path”, but this is inherent to the way messages are sent through the Zigbee network. The Zigbee protocol handles how a message is sent from one node to the other and compares the signal strength in the process. The signal strength will vary largely due to many things, walls, objects in the environment, distance, but also the radio strength of the node. The table only shows the last route that was reported, this is not something Homey determines or controls.

System Information

This section shows the main properties of the Zigbee network.

  • Channel: The current channel Homey is operating on, this is also a selector that allows you to change the channel.

  • Pan ID: A Personal Area Network ID which is an ID of the Zigbee network on this Homey.

  • Extended PAN ID: An Extended Personal Area Network ID which is an ID of the Zigbee network on this Homey.

  • IEEE Address: The unique identifier of Homey on the Zigbee network.

  • Network Key: The network key that is used to encrypt all Zigbee traffic on Homey.

  • Network Address: Since Homey is the coordinator, this value is always zero.

  • Current Command: If Homey is busy with something (such as an extended interview) this will reflect that.

Change Channel

The channel selector allows for changing the channel Homey is operating on. This a very radical change to the network. Some devices might not transfer to the new channel properly and will need to be repaired. To prevent this as much as possible it is required that all Zigbee routers are online at the moment the channel is changed. This will make sure they receive the message to change the channel. Changing the channel can take up to 10 minutes. Only use this functionality if you are sure it is what you want.

Last updated