In its more than 25 years of history, KNX has an unrivaled track record of guaranteeing long-term support of automation solutions in any type of building.
Based on the KNX standard, building automation can be realized in a reliable, interoperable and extendable way: devices from over 400 manufacturers work together in a very stable distributed environment without a single point of failure. The current ecosystem is physically easy to install and logically configurable with one single tool, ETS™.
IoT is not an easy solution with cross-vendor support yet
Complexity has increased, reliability and interoperability are however still not guaranteed
- Many solutions are available that cover just one single use case (voice control, internet connected doorbell, lights and room temperature regulator controllable by App, …).
- To try to connect the different services provided by devices in a reliable way is not trivial.
- In many cases, the correct functioning of devices depends on internet connection.
- Customized software integrations can break upon every software update and is very complex to secure. Reliability and stability is not guaranteed over a longer period of time, a must for building automation.
- Integration may depend on cloud services managed by 3rd party companies, out of control of the end user and with a specific business case in mind.
KNX and IoT
There are numerous good solutions from KNX manufactures to connect KNX to higher-level IoT systems already today. The internet side of these products is however not standardized or is created to match specific use cases.
As announced in 2016, as a first step towards standardizing the internet side of such KNX IoT gateways, KNX Association published the KNX web services specifications to allow aligning gateways to the existing web services protocols oBIX, OPC/UA, and BACnet web services.
Adding advantages from KNX to loT
As a second step in the KNX IoT project, KNX now wishes to make the key KNX advantages of interoperability, reliability, and extendibility also available on the IoT level. To demonstrate the goals, a demonstrator was created with Qt technology.
Qt KNX module
Qt KNX implements the client side of a connection between a client and a KNXnet/IP server. This connection enables sending messages to the KNX bus and controlling the functionalities of the KNX devices. The Qt KNX module is currently available as a Technology Preview as part of Qt for Automation add-ons. More details on the Qt KNX module can be found here: https://resources.qt.io/qt-knx/. Documentation: http://doc.qt.io/QtKNX/qtknx-overview.html/
For the new KNX IoT solution, it is crucial that all device types can seamlessly tap into the communication. The demonstrator includes a representation of all possible involved device types. The goal is to explain the advantages of each type towards the overall solution.
The demonstrated devices include:
- KNX devices on twisted pair and radio frequency.
- NXP development boards with Thread group network stack, integrated with the KNX application layer
- RaspberryPi devices representing capable devices and cloud server
- A Linux desktop
The setup underlines the key points of the KNX IoT solution:
- Semantic interoperability
- A distributed solution containing both Classic and IoT device/services
- Integration of KNX Classic devices
- Integration of Fairhair group network devices based on Thread as example for constrained field bus level network
- High availability and eventual consistency, demonstrating how the distributed solution copes with device and network failures
- Data is synchronized in real-time. Light color can be changed by any of the components, change is visible on all others
- The system still works when disabling components, demonstration of how parts recover
- The system works when the internet connection is down, requests for color changes can still be made from all sides (execution will not be immediate on all sides, but as soon as the broken link in the network is restored)
- Show data-driven messages
- Show semantic model
- Show integration with Google drive
The Qt framework was chosen to easily create this setup for several reasons:
- Single codebase usable for RaspberryPi graphical solution + Android + Linux desktop
- Low effort to create a visually appealing interface, including animations and high framerate for smooth animations and movements within the frontend.
- Network libraries giving a better abstraction for networking
- Qt is also used for the authentication against the Google API
- Qt KNX is used to connect to KNXnet/IP to interact with the devices on Twisted pair and radio frequency
The KNX IoT solution will lower the barrier to access KNX as part of the Internet of Things. The aim is to reduce the knowledge required and open the current KNX ecosystem to non-KNX IT specialists through ‘out-of-the-box’ operation, while still allowing advanced configuration and adaption by specialists.
The KNX IoT solution is defined in partnership with key KNX manufacturers and standardization bodies (like Fairhair and the Thread group). KNX is also working on proofs of concept to validate the solutions. Qt makes it possible to concentrate on the key points and keep the code clear from system-specific implementations in these proofs of concepts.
Leveraging standards ensures that the value of KNX products is increased and long-term support can be guaranteed in a constantly changing IoT world. KNX has the advantage of a large KNX install base, which allows drawing on a wealth of experience that will help successfully extending the KNX integration into the Internet of Things.
More details on the KNX IoT project can be found here: https://www.knx.org/knx-en/Landing-Pages/KNX-IoT/
“The Qt Company is exhibiting at Light+Building 2018 at Hall 8.0 F98 as part of the KNX member booth and our experts will be on hand to discuss building cost and time efficient building automation applications. “