The Internet of Things is no coffee machine
07.04.2017 – Gert Brettlecker
Expert article for Computerworld dated 7 April 2017
For 11 years, the Swiss company Belimo has been active as a pioneer in the Internet of Things. Gert Brettlecker, long-serving project manager and software engineer at development partner Ergon Informatik AG, looks back and summarises some key insights.
In my career, I underwent a similar development to many other companies involved in digitalisation, starting out, as I did, studying electrical engineering in the 90s. The realisation that software could offer greater design possibilities then led me to switch to computer science. Over the last ten years, I've been able to actively support our customer Belimo along the way to the ‘Internet of Things’. The path hasn’t always been easy and, over time, I have learned a lot.
One initial step that, looking back, has proven to be pivotal, was the direction Belimo took right from the start. As early as 2006, the company recognised that software was a key technology for the future and turned to proven software professionals for initial consultancy with a view to establishing a development partnership. As I see it, many other industrial companies make the mistake of wanting to solve the problem of digitalisation themselves. This approach seems to make sense to begin with: there is usually already a software development department in-house and companies are usually reluctant to involve external partners with their key technology. What this means, however, is that the existing internal perspective on software development is maintained. In industrial companies, this is usually heavily characterised by ‘embedded’ systems. Until recently, these were severely limited in their performance, very specific in terms of programming and had a few, highly standardised interfaces, much like a coffee machine. By contrast, a modern ‘embedded’ system (i.e. an IoT device) is as powerful as a full Linux computer and also extremely competitive as regards price.
Thirty years without a software error
In the Belimo project, we nonetheless learned a lot from the ‘embedded’ engineers. IT engineers tend to place less emphasis on functional correctness compared to ‘embedded’ engineers. There are some practical reasons for this: for instance, software is usually quite straightforward to update, and errors often have no serious consequences or the exact behaviour has not yet been fully defined. Industry requirements, however, are completely different: Belimo devices are typically permanently built-in following installation, and it is not possible to update the software, meaning it needs to remain operational without interruption for up to 30 years.
The situation is different for another quality feature, namely the maintainability of the software. ‘Embedded’ engineers largely work with smaller, manageable programs, which reduces the maintenance work required. Conversely, IT engineers learn right from the start how to structure large programs so that they remain easy to manage and can be developed further. In addition to this, the many structures (units) created are well secured via automatic tests in order to avoid inadvertent changes in behaviour. The lesson we took away from this project was that both approaches need to complement each other in order to produce a good IoT industrial product.
Freezing for a good cause
Another important decision taken during the project was to implement actual pilot projects with specific tasks at a very early stage. For example, Belimo equipped the ventilation control unit in the largest building at their head office with the new technology while it was still in the prototype stage. Of course, changes like this are prone to teething problems, and the employees were left without heating on several occasions after the new software version was installed. However, the lessons learnt from this approach more than offset this. Prototype installations were also implemented at an early stage in other buildings, both in Switzerland and abroad, with extremely demanding, interconnected air conditioning applications and yielded valuable insights as regards applications and their technical implementation.
Work on the Apartimentum apartment building in Hamburg, a showcase project by Xing founder Lars Hinrichs, also ran along similar lines, combining the Internet of Things with the smart home. Intelligent thermostats from Nest provide heating control, while a smartphone can be used to set the shower temperature or open the front door. Communication between the systems and operation are supported by new cloud services. With so many components involved, the probability of a fault occurring increases dramatically purely from a mathematical perspective. For this reason, the quality of the individual parts, including those from third-party suppliers like Nest, needs to be of a suitably high standard and their interaction in almost any situation needs to be checked. Since the quality of individual components did not correspond to our standard, we implemented our software system to be as stable and robust as possible, in order to control the effects on the overall system.
Separating business logic from software development
The ‘Application Designer’ was extremely important for the air conditioning engineers in ensuring the project was successful. This graphical modelling tool allows users to create new HVAC models and play around with ideas quickly and without the assistance of software developers. Using this tool, it only took a year to develop the ‘Energy Valve’ from its first generation until it was market-ready.
The Energy Valve, launched in 2012, is the first IoT product completed, and therefore represents a key milestone in the project as a whole. The ball valve, which uses Linux and Java technology, contains a web server, was programmed via Belimo’s software platform and was even enhanced for networked applications. The product was extremely well received on the market and won many awards. Over time, it has blossomed to become one of Belimo’s most successful products. The third generation is supported by special cloud services and permits new kinds of applications, such as individual optimisation of control parameters based on data analysis by Belimo. Thanks to a number of optimisations in terms of memory and processing power, the latest generation has over twice as many functions as its predecessor, despite using the same hardware.
Global safety net for undiscovered errors
The current system has a multitude of software sensors which self-monitor on an ongoing basis. If an error situation is discovered, this automatically triggers a restart. These safety nets are themselves safeguarded by dedicated monitoring systems in the hardware. Even in long-term test runs lasting over a year, none of these safety nets was called into action. Occasionally, they even help us to detect errors in extremely reliable open-source software. For example, the Java server Jetty is used in thousands of software projects. A long-term test by Belimo revealed to us a tiny memory error in the program, which allows the memory used to grow slightly over time. We only discovered the error after eight months of testing; prior to that, no one had ever noticed it worldwide. We have now implemented new additional memory checks as a safety net to enable us to identify errors like this more quickly.
The outlook for the future of the project looks very good. New hardware will open up new possibilities for new generations of products. There are plenty of application ideas for new products thanks to the high number of pilot projects and prototypes. New cloud services are currently in development. In future, we will be able to rely more on IoT platforms that are currently establishing themselves. As is always the case when precisely assessing new trends, it will be necessary to compare different solutions and to continue to use proven standards until new ones have established themselves.
Dr Gert Brettlecker is Team Leader and Technology Manager Enterprise Solutions at Ergon Informatik AG.