To support developers in creating drivers for Zigbee devices the Developer Tools have been created: Zigbee Developer Tools. This page will explain the functionality of the Zigbee Developer tools, starting with the 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 adddress 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
manufacturerNameyou should include in your driver's manifest.
- Model ID: This is the
productIdyou should include in your driver's manifest.
- Route: The last known route that was taken when communicating with the node over the network.
The interview button in the Nodes Table is 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 a popup will appear with a JSON structure of the node. First, you will find the
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.
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.
The route that is shown is the last known route that was taken when communicating with the node. This does not necessarily make sense, often it is not the “shortest path”. 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.
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.
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.