climify.org: an online solution for easy control and monitoring of the indoor environment

. Real energy performance of new and retrofitted buildings often consistently differs from expectations. While occupants might complain about poor indoor climate, the energy use in such buildings is often higher than expected, leading to the well-known phenomenon called “Energy Performance Gap”. In the past years, monitoring of buildings, both in terms of energy use and indoor climate conditions, was realised mostly for office buildings only, and at high financial costs. However, the exponential growth in availability of IoT devices, over the last years, opens now new scenarios for low-cost monitoring and control solutions of buildings. Yet, modern IoT devices are often only accessible online through the vendors’ software, although some devices make use of open communication protocols and can, therefore, be connected to open platforms such as openHAB. However, the use of open platforms is still connected to a big efforts for many final users. We, therefore, propose climify.org, an open platform for plug and play connection of IoT sensors and actuators, for easy monitoring and controlling of buildings and buildings’ HVAC systems. The platform climify.org offers, at time of writing, three main applications. The first application is an IoT device installation app, to be used on portable devices (e.g. mobile phones or tablets of system administrators): this app allows easily installing and locating a sensor or an actuator, within a building. The second application is an online service for data visualisation and HVAC control: while the monitoring data can be plotted, the service offers several data evaluation methods; moreover, the settings of the connected actuators can be modified and controlled. The third application can be installed on portable devices (mobile phones and tablets of buildings’ occupants) and allows occupants to provide feedback on


Introduction
Today, people in Northern America and Northern Europe spend up to 90% of their time within the built environment [1]. The built environment protects human beings from extreme weather, from outdoor light, noise and pollution. Today, we live in buildings, most of us work in buildings, and we even do sports activities within a closed and artificial environment. Our expectations on the quality of this environment increased in the recent years. We expect thermal comfort conditions and good air quality [2,3] all year round, and independently of the number of occupants located within a room. However, the requirements on thermal comfort and salubrious air is obtained by running complex heating, ventilation and air conditioning (HVAC) systems, hence by using energy from different sources. It is therefore not surprising that buildings account for 40% of the total final energy use, within the entire European Union [4].
The goal of the European Union in the Energy Roadmap 2050, to reduce its greenhouse-gas emissions by at least 80% below 1990 levels by the year 2050, cannot be reached without addressing the building sector and hence rapidly retrofitting the existing building stock. The "Rebound Effect" [5,6] and the energy performance gap [7,8] however reduces the energy savings through new and retrofitted buildings, as demonstrated in many recent studies, showing a discrepancy between achieved and expected energy use in buildings by 300% [9][10][11][12][13].
Some of the mentioned studies point out how the energy use of residential buildings is not homogeneous due to occupants behaviour [10,[14][15][16][17]. In 2012, Menezes et.al. [18] analysed the energy performance gap of office buildings and identify a "long term" gap also after what they called a "twelve months liability period", and even though they used the first 12 months to optimize the HVAC system and eliminate failures.
The existence of the energy performance gap, as well as the necessity of a liability period, demonstrate the need for monitoring and controlling the HVAC systems of buildings. Moreover, while a monitoring system was still very expensive in the past, the Internet of Things (IoT) infrastructure can now open new low-cost scenarios for buildings' monitoring and control. On the one hand, sensors and actuators are now much cheaper than ten years ago, hence IoT can enable monitoring and control solutions for a large segment of potential customers. On the other hand, some producers of IoT devices build closed systems, and their devices do not easily communicate among different vendors. There are platforms developed for overcoming communication problems among sensors and actuators from different vendors (like openHAB for instance), but these are still too difficult to use for reaching many end users.
In this context, we introduce climify.org, with the aim of bridging the knowledge gap for IT and IoT systems, and making IoT solutions from several vendors compatible and useable in a plug and play manner on climify.org.
Climify comprises three main components ( Fig. 1): the web platform climify.org for data visualization, HVAC control and information sharing, the mobile app DINST for easy, topographic installation of IoT devices, the mobile app FEEDME, for gathering feedbacks from occupants on the actual perception of thermal comfort and air quality.

The climify platform concept
The platform climify.org focuses on the interaction among buildings' users (occupants, administrators, owners) and the building itself, including its HVAC system. The climify platform aims to maximise the occupant's thermal comfort and their well-being experience within the building, by at the same time minimising the use of energy for the HVAC system. Fig. 2 offers a detailed overview of climify, its main components and the overall structure, while Section 3 offers details about the system design behind climify. The platform climify serves an IoT sensors' network that monitors the indoor climate and the energy use within a building or a group of buildings. Climify offers three different user interfaces, climify.org, which is the visualization platform that can be reached through a web browser, the IoT-device topographic installation app DINST, and the feedback app FEEDME.

Users and roles
The features that a user can access on climify.org are depending on the role he/she has. We defined several roles, and each user is associated with only one role. We defined three levels of roles. A first level includes the limited user and the standard user. Users in these roles can access only the data of a single building (or a group of buildings in the same field, e.g. several buildings of a school or a company). These users are mostly occupants (e.g. employees, students, etc.) of one building. A second level is for project observers and project managers (a project is intended as a building or a group of buildings). Such users can view multiple buildings, access specific information of these buildings, change settings in the actuators.
The third user level is the system manager: The system manager/administrator is in charge of all projects on climify and is able to administer them.

The climify.org web platform
The climify.org platform is the main user interface and is the core of climify. The platform allows first-level users (occupants) to visualize data and to exchange messages with occupants and with building managers. Moreover, the platform allows second-level users (project observers and project managers) to register and initiate new projects, to register new users on their project(s) and to install new sensors/actuators.

Data visualization
When entering climify.org by using own credentials, a user can select a building and a floor plan, and visualize the so-called locations on the floor plan ( Fig. 3), where sensors and/or actuators are installed. Those locations have been defined previously by building managers through the DINST app or the climify.org web platform. The locations are visualised as coloured dots: if the IoT devices within a location are inactive (no live data are recorded), the location will be displayed as a grey dot, while, otherwise it will be light blue. The user viewing the data is able to select a certain number of measurements from the installed sensors, e.g. temperature, relative humidity, carbon dioxide concentration and noise. Once the selection is made, a chromatic scale provides information about the "quality" of the selected measure(s), where red indicates "poor", amber "acceptable" and green "good". If, for instance, CO2 is selected, the locations where the CO 2 is higher than 2000 ppm will be coloured in red, the locations with CO 2 levels between 1000 ppm and 2000 ppm will be coloured in amber, the locations with CO 2 concentration below 1000 ppm will be coloured in green. In case multiple measures are selected (e.g. temperature and humidity) even if only one of the parameters is considered to be "poor" or acceptable, the location will be coloured in red or yellow respectively. Finally, hovering with the pointer over a location, information will be given regarding which parameter is generating an issue in that particular location. Beside the visualization on the floor plan, the visualization of data allows the user to extract indoor climate information on the building they are in, in two different ways: viewing the time series of a specific location, or selecting a time interval and comparing data from different locations with each other. A plot of the time series collected by two different sensors is illustrated in Fig. 4.

Message board
The message board is intended for communication among users, and users and building administrators. The message board consists of two parts: a "logbook" part and a "news" area.
The logbook provides users with a quick way of sharing concerns and problems within each other. It is meant to be a dynamic space for information exchange, as all users, except for the limited users, are able to write in it. Any user with the user role "user'' can edit and delete their messages. Any building managers and project managers can edit not only their own messages but also every message in the logbook. This gives them the ability to clean the board if too many messages have been written, or delete messages and hence moderate the logbook.
The news part allows building managers and project managers to post more important news, such as dates for system maintenance etc.

DINST: the climify IoT installation app
The climify IoT device installation app DINST (developed within a bachelor thesis [20]) is a mobile application developed with the purpose of facilitating the digitalisation of the buildings within the climify system. DINST provides the Building Manager with a convenient way to register locations and assign sensors to a location. By using this app on a smartphone or a tablet, the user can directly assign a sensor to a location when physically setting up the sensor at its location. The project managers are the only users who are supposed to run this task, hence they are the only users able to log in and get access to DINST.
Before using DINST, the project manager has to upload at least one-floor plan of the building into climify through the web application. When a user uploads a floor plan, this has to be aligned to a digital map, through the climify software, using the Google Maps service. In this way, the coordinates of the buildings are clear and the localization of both occupants and IoT devices within the building are more precise.
Once a floor plan has been added, and its coordinates are identified, it is possible to add locations to it, using e.g. the IoT installation app DINST or the web interface of climify. A location can represent a particular room, but can also be a limited area of open space.
Once logged in into DINST, the project manager can see his position on the floor plan, can add locations to the floor plan, and can also add sensors to existing locations (Fig. 5). The project manager can drag and draw the corners of locations with several shapes, directly on the screen of its mobile device. Moreover, he can give a name to the drawn locations, and assign sensors to each location through the sensors' unique ID numbers.

FEEDME: The occupants' feedback app
The Feedback App FEEDME (developed within a bachelor thesis [20]) is a smart-phone application developed with the purpose of gathering quick feedback from the occupants about their comfort conditions and their perception of the indoor environment. FEEDME is able to detect the position of occupants within a building using the location services of Google Maps. Once the occupant enters the main screen of FEEDME, he can see the name of the current location, along with up to four monitored parameters, e.g. the temperature, the relative humidity, the CO 2 concentration and the noise level. These attributes can be rated by selecting one of the smileys next to it, as shown in Fig. 7. In case the occupant is not satisfied with the temperature or with the relative humidity, a further question will be asked to the occupant, to clarify if this was perceived as too high or too low, the user can only provide feedback from a registered location to avoid meaningless feedback. Users who wish to provide an in-depth feedback on their perceived climate conditions of the buildings can take part to a survey, using the button "questionnaire".

Details on the installation of new devices
As seen in Section 2.4, IoT devices can be associated with a specific location in a building, based on a Device ID. The association of the devices to a certain location, however, requires that those are physically installed within the building and already connected to climify. In this section, we illustrate how to install IoT devices and how to connect them to climify. Ultimately, there might be many different possibilities to connect new devices in climify.org. In the current version [19], we use the small single-board computer RaspberryPi for connecting devices in some area of the building to climify.org. The Raspberry Pi has a wireless network connection, which is used to communicate with climify.org (in the field test we installed an own Wi-Fi network based on UMTS modems and routers). OpenHAB is running on the Raspberry Pi and is used to connect all the installed IoT devices. OpenHAB comes with many bindings, which allows connecting to different kinds of devices, using different communication protocols. An influxDB database is installed on the Raspberry Pi and works as a buffer storage, to safely store data, in case there is an instability in the internet connection. Moreover, an own developed climify-connector-software is installed on the Raspberry Pi: this takes care of the communication between the Raspberry Pi, the InfluxDB and the climify platform. Once the Raspberry Pi is set up and connected to the climify platform, all the installation and interaction with the devices can be done remotely, through climify.org. This overall architecture is shown in Fig. 2. Once the Raspberry Pi and the climify-connectorsoftware is set up and connected to the climify platform, the Raspberry Pi, as well as the IoT devices connected to it, can be administrated and configured through climify.org. If, for example, a building or a project manager needs to connect a device using the Z-wave protocol, he can select and enable, through climify.org, the Z-wave binding on a particular Raspberry Pi. Then, climify.org would automatically detect all available Zwave devices (in openHAB terminology they would be called items) for that particular Raspberry Pi, and show those devices to the user of climify. From this, the building or the project manager could select the ones they wish to connect. Then, the data from the devices would be recorded on the Raspberry Pi and hence transferred to the cloud installation of the InfluxDB, so that those data are available on climify.org. Hence, the collected data are available for visualization and analysis, while actuators can be controlled directly through climify.org.

System Design, Raspberry Pi and OpenHAB
In this section, we provide a technical overview of the overall architecture of the climify system. The core of climify is running as a web application on a Linux server. The main functionalities of climify can be accessed via a web browser. This web application also provides some REST interfaces for connecting the mobile applications (feedback and location app) to the climify platform, as well as some interface by which the climify-connector-software on the Raspberry Pi can connect to climify. All the data of climify.org are stored on a Linux server. This concerns data on users, projects, buildings and devices, and how they are related to each other; there is also meta-data on sensors, the floor plans used for showing and locating the sensors and, not least, the actual data measured by the different devices. These data are quite different in nature: some of those are structured, like the data on users, buildings, locations and sensors, others are time series data like the measurements from the devices, and others are image files like the floor plans. To efficiently deal with those different data, climify.org uses three different kinds of data stores: the structured data is stored in the relational database MariaDB, time series data is stored in an InfluxDB database and images are stored as files in the file system. The integration of the data in the different data stores is realized via the data stored in the MariaDB. This design is relatively standard in today's system architectures. There are two different ways how climify.org is obtaining data from sensors, which depends on the policy of the company offering the sensors. Some of the companies producing devices collect the measured data and store those in own ad hoc cloud-based solution. In this case, the data is sent from the sensors directly to the cloud-based solution of the provider company. From there, climify.org can obtain the data via some web services and hence store the data in its database. The other policy is that the sensor data is collected directly without involving the vendor company of the sensors. This second case is probably more interesting and we discuss it in a bit more detail here. The platform climify uses the single-board computers Raspberry Pi for collecting data locally from sensors, and send them to the Linux server of climify.org. In the following, we discuss the design of the Raspberry Pi, how it collects and transfers data to the Linux server, and how commands can be transferred from climify.org to the devices attached to the Raspberry Pi.
The first design rationale is that even when the server is not available or when there is no connection from the Raspberry Pi to climify.org, data will still be collected and stored. Therefore, data are basically stored locally and autonomously on each Raspberry Pi by using openHAB together with a local influxDB. Once in a while, the climify connector on the Raspberry Pi will try to connect to climify.org and transfer all its local data to climify.org. The even more interesting part is transferring commands for openHAB or the devices attached to it from climify.org. The most obvious way to do that would be equipping the climify connectors on the Raspberry Pi with some REST services, which could be called from climify.org. But, this would require that each Raspberry Pi is addressable and accessible from the outside. In our settings, this was however not always possible. Therefore, we decided on a different design. The server climify.org provides endpoints for the WebSocket protocol to which the Raspberry Pi will connect; once this connection is opened from the side of the Raspberry Pi, the open WebSocket channel can be used from climify.org as a backchannel to send commands to the climify connector on the Raspberry Pi. The climify connector on the Raspberry Pi will then use the API of the openHAB installation running on the Raspberry Pi, in order to issue commands and settings. The feasibility of this design has been demonstrated in a masters project [19], and is currently under implementation in the climify platform. By this design, we can use the full power of openHAB and the many bindings it provides for all kinds of devices. Moreover, openHAB works behind the scenes, so that the end-users do not need to have any experience with it.

Evaluation of climify on a Living Lab
A first version of the climify platform is in use in two schools located in the Høje Taastrup municipality. There, IC-meter devices, connected to climify, are monitoring and collecting the air temperature, the relative humidity, the carbon dioxide concentration and the noise level in many classrooms. Thanks to the climify platforms, building managers were able to identify some errors in the HVAC system of the schools, and hence correct them. Furthermore, teachers are using the system to monitor their classrooms and ventilate those, when necessary. In the near future, we plan to install smart, digital thermostats on several radiators, to be able to better control the temperature of the rooms. Moreover, a survey has been performed in one of the two schools, where students and teachers have been asked about their perception of the indoor climate. After the installation of the digital thermostatic valves, and further optimization of the HVAC system through climify, a new questionnaire will be run again, to see if the occupants' comfort raised, as desired. More information about the project can be found on [21].

Implementation state and known issues
The development of climify is an ongoing activity, based on the work of both employees of DTU Compute and student projects. At the time of writing, not all the described services have been already fully implemented (as illustrated in section 1). For instance, the plug and play IoT-device installation service is fully developed [19], is however yet not integrated into the actual version of the climify platform.
Moreover, as previously explained, a service for changing settings of HVAC set points (digital thermostatic valves) has been realized, through the use of a locally installed Raspberry Pi. The service is reachable from the outside, and dedicated communication service has been developed. However, the use of this service in the actual version of climify has not yet been implemented.
As seen before, the system is able to provide several visualization options for the monitored data, both to occupants and building and project managers. This can help to identify issues in the building and the HVAC system. However, algorithms for fault detection could easily find issues and notify the building manager: such algorithms, already developed at DTU Compute [22][23] were yet not implemented in the latest version of climify.
The possibility to run external algorithms to control the HVAC system is currently under development. We plan to make use of both cloud services as well as own developed control algorithms [24][25][26], written, e.g. in Python or in R.
The last feature, which is currently under development is the end-user programming, which will allow users to graphically design new control algorithms for the building's HVAC system (e.g. control based on conditions and time rules).
The actual system has several issues which are going to be solved within 2019. A known issue is related to the location service of the feedback app FEEDME. The service is not yet precise enough, and its precision also depends on the used devices. In the next version of climify, we will, therefore, offer occupants the possibilities to correct the detected location, before providing feedback. This possibility is already offered in the device installation app DINST.
At the time of writing, we also work at the system to enhance its security. We plan to release a new version of climify between May and June 2019. In the new version, we will have integrated all the above mentioned features, and we will have corrected known issues and bugs.

Conclusions
We introduced climify, a powerful platform for enabling the transition of existing buildings into smart buildings. The platform provides several services, and it is easy to set up. While IoT devices can be installed in a plug and play manner, building managers, without any previous knowledge of smart devices, become principal actors of this smart building transition. Building managers can walk through a building, plug IoT devices in the electrical network, and connect those devices through the device installation app DINST. The buildings occupants get through climify an overview of the monitored buildings and get practical insights into how to use the building they are in correctly. Ultimately, the use of smart control algorithms helps both to optimize the indoor climate accordingly to the occupants' needs (detected through the feedback app FEEDME) and to reduce the energy use for the HVAC system. Although the climify system is not yet completely developed, and a second release is planned for latest June 2019, a first release of the system is in use in two schools located in the Greater Copenhagen Area. The overall feedback from the teachers of the two school about climify, was in general very positive.

Funding details
This work was supported by the Europian Union, through the Interreg Öresund-Kattegat-Skagerrak (NYPS 20200999), European Regional Development Fond under grant 'Smart Cities Accelerator'.