When we talk about solving the challenge of building products that are interoperable, even those without an in-depth knowledge of the Internet of Things (IoT) understand that this is the concept of two devices being able to communicate with each other: For example, a light and a switch exchanging a command (like ‘turn on’) in a way that the recipient (the light) understands and takes action.
This simple concept has complex requirements. First, it requires that products (often coming from different manufacturers) follow the same command and data communication protocol so that end user applications can reliably exchange information. Thanks to the zigbee-defined Cluster Library, the zigbee alliance has the most mature and complete library of these application objects, data formats and commands. This means that zigbee-compliant devices are automatically at an advantage for exchanging information.
However, an extensive library for exchanging information is only relevant if the devices are able to communicate successfully. What if we take a step back, and ask the following questions: If I have a device, how do I know whether it has the ability to talk to another device? If I want to add different devices from different manufacturers to a network, how can I be sure that the devices will understand which other nodes in the network are compatible? How will the nodes adapt to application requirements and easily send commands (like ‘turn on’ from the example above) without pre-existing knowledge of the network behavior?
The path towards true end product interoperability starts with defining procedures that control the way the devices start and join the network (commissioning). Once the nodes are in the network, creating proper application links between devices requires standardizing the methods to discover their capabilities, types, and the class of functionality they support (provisioning). Providing solutions to handle the control and management plane of the network in order to ensure that there’s a consistent set of device behaviors is a fundamental element of interoperability that is often neglected. This is likely because it is not as immediate to the consumer as the unification of the application layer and objects.
zigbee provides a complete interoperable solution that makes it easy to develop products and adapt to different install scenarios (like a DIY consumer-oriented case, a centralized network fully managed by the IT department, or the technician-installed use case). These policies for device commissioning and provisioning are included in the zigbee protocol and are standardized under the ‘Base Device Behavior’ rules.
Imagine the case of a fully managed network in which you want to monitor devices from a central hub (e.g., a data collector, or a gateway for IoT applications), as well as have the power to grant/revoke access to the devices participating in the network. In another scenario, you may want to enable consumers to bring the devices into the network, turn them on, and allow them to pair with simple devices with no display (like a switch). The zigbee network provides solutions to both scenarios.
All zigbee nodes create or join the network following a procedure defined in the zigbee specification called network steering & joining, and adapt to their role and the model of the network they join. This guarantees an unprecedented level of interoperability and flexibility. Policies for centralized (e.g., fully managed network) and distributed (e.g., DIY scenario) networks also result in different security schemes that are supported by zigbee nodes. Joining nodes scale their operations accordingly, giving the developer the freedom to choose the user experience while still relying on the same zigbee technology that ensures seamless interoperability across the two scenarios.
As nodes may need to be removed, or diagnosed and re-deployed, users must have the ability to control device participation in the network. zigbee also provides services to carry this out in an interoperable way by defining secure methods to reset a device to factory-new settings for re-commissioning.
Once the devices have joined the network, the device types and their services must be recognized to build the application linkages. zigbee also standardizes the way this is done. Nodes that have a ‘user application interface’ (e.g., a gateway, or a smoke detector with a ‘pairing button’) can go into service discovery mode using the zigbee-defined finding & binding process. With finding & binding, devices find their own ‘matching pairs’ after joining the network, or are discovered by a centralized node (e.g., a gateway) that acts as a provisioning director and collects the information of the nodes that can be actuated or monitored. When devices don’t have a ‘user application interface’ that is easily accessible (e.g., lights), the establishment of network operation and application linkages can be carried out through Touchlink, a proximity-based commissioning and provisioning mechanism.
The key aspect of all these procedures is that they are supported by zigbee-compliant devices and the interoperability that is guaranteed with zigbee nodes adapting accordingly.
Base Device Behavior procedures, as well as zigbee Cluster Library functionality, are verified as part of the zigbee Certification Program, a rigorous validation program aimed at ensuring that all zigbee nodes are fully interoperable. As such, zigbee is a mature protocol suite that provides a fully featured communication technology ready for the design of connected and interoperable products for home, building, or retail automation. Network steering, finding & binding, Touchlink, and the zigbee Cluster Library guarantee that every single device in the network is interoperable from the start, making it easier for customers to deploy systems today and focus on the user experience and application requirement. And as dotdot inherits the same fundamental services that zigbee provides today, you can rest assured the path to full device interoperability initiated with zigbee will continue in the future.
By Roberto Sandre, zigbee alliance Board Member and Product Manager of Connected MCU, Texas Instruments