Automate IOT like a PRO!

4 min read
lodowkomat

IoT  is a network of interconnected things/devices which are embedded with specific sensors, software, network connectivity and electronics that enables them to collect and exchange data. IoT can used to monitor and control the devices which makes our everyday life and work much easier. And what does this have in common with Synerise? Everything, because we are able to connect to any device and use these solutions in practice!

I suppose that most of you think about Synerise as a tool designed mostly for eCommerce and other online businesses for which we can build recommendations, dynamic content, communications and other solutions to help them increase conversions and meet KPIs. And of course, Synerise can do all of those things. A large majority of our clients use our platform in this way. But I want to show you that Synerise can be applied as open database tool which can be used in various types of businesses and in most cases only your imagination and the amount of data that you have will be the only limit to using it.

Business background 

IoT, as we mentioned earlier, is based on connections between devices equipped with specific sensors that are able to read data and, thanks to a built-in GSM model, send them to external servers. One of the examples of this type of device is those for temperature measurement. And as we mentioned, today's example will be based on the food industry – Food Transporting Storage. Buyers can collect their grocery shopping, sure that their order was stored at the appropriate temperature in specific lockers from which they can collect it at any time.  It is worth remembering that similar solutions are also used in medicine, for example, in the transport of vaccinations or some specialized tools. 

We used our platform to automate the process of temperature measurement in food transport and storage.  

It was the response to a real customer need. So, imagine a situation in which you ordered online shopping to be sent to a food parcel locker. These are devices that allow you to order food and store it until you pick it up. They usually consist of three temperature settings, one for frozen products where the temperature should be kept at minus 10 degrees, another for products requiring a storage temperature of one to five degrees and a third one with a temperature of about 15 degrees. Increasing or decreasing the temperature for some products can cause damage. 

Therefore, the temperature inside must be constantly monitored, and any deviation must be immediately communicated. For this purpose, each of these food parcel lockers has a terminal which constantly monitors the temperature and has the ability to send this data outside. 

Requirements  

Our challenge was to integrate these devices with the Synerise platform in an easy way. 

Why do we need simplicity? Because there can be even a few hundred of such cooling devices. So what do we need to integrate basically any device with Synerise? 

  1. A device with the possibility to connect to the internet via GSM or Wi-fi module.
  2. Basic knowledge about API/webhooks and the Synerise platform

Optionally, it is nice to have configured email and an SMS provider in your Synerise profile. Also important is knowledge about the API of communicators that you are using but this is optional.  

How to do it 

Step one: set up your device 

First you have to set up your device. Synerise allows you to create an endpoint to which you can send external data. Thanks to this you will receive a URL to which you can send the data in Json format. 

Step two: Convert the received data to an event on the user’s card 

We add the endpoint address and tell the device what values it has to substitute for access. In this particular case, we will need a time, a label and action, which are names of our events visible in Synerise, which help us identify our devices and for temperature parameters.  

Thanks to a simple automation, we will be able to convert received data into event on the client card. We call it a client card, but in fact it can be your device card, your store card, or a cart of any unit of which you want to collect data. In simple terms, each configurated device received a profile to which data about the temperature recorded will be sent and stored.  

Automation examples  

So, when our automation is configured and it's working properly, we should be able to find some data in our device cart. 

The most important case is to be able to monitor in the real time mistakes and create a smart alerting system about any problems with temperatures or devices. We will approach the problem gradually and we'll start by preparing the templates of alerts that we want to receive. 

Thanks to JinJava, we can dynamically refer to any data collected on the cart of our device in every channel of communication. In this case we use it to create the template which will show us five recently measurements of the temperature and allow us to create a dynamic link which will refer us to the temperature chart. We can create as many types of messages as we want, in this case it can be one email template that will dynamically show data from the device from which it will be sent. The same applies to the text messages and to the notification on your favorite communicator. Note that despite this that we use external API methods of our communicator, so we are still able to make our content dynamic by using Jinjava.

Case 1: Making smart alerts about temperature or any other event 

This automation will be triggered when an event occurs that meets our conditions. This specific automation, after being triggered, will send an email alert with a previously chosen template and subject. This means that we can also make our subject dynamic through the use of JinJava to add a specific device name.  

Remember that you can choose the trigger as you wish, the most important requirement is to be able to collect that event on the client card. 

Case 2: Making smart alerts about temperature deviation problems 

So the automation is triggered every time the event custom.temp appears on a client card. 

Then we update our device status to online because when our device is sending data, that's means it's online. 

In the next step we check if the average of the last four measurements was in the range that we want to have. If our conditions are met, our automation goes this way. It updates the temperature status to “in scale” and the automation ends.  

But when the average temperature is below 10 degrees or above 15 degrees, our automation will go with a different path and after some delay we will bridge another client filter in which we check if the last temperature status was “in scale”. This is done for the purpose of capping. So let's say that we want to receive only one notification per day. But here I assume that I wanted to get one notification when my fridge is broken and another one when it is fixed and broken again. So of course, this is very flexible and is just one way of running this automation if you want you can receive as many alerts as you want but, again, this is just an example.  

When our last temperature starts as “in scale”, we send multiple alerts and email alerts and SMS alerts and some Slack notifications. We also update the hourly temperature status to out of scale. 

Based on that automation we are sure that the broken device will not send us and a notification until we fixed all the fridges.  

Case 3: Making smart alerts about device connection problems 

This automation is triggered every hour. It checks if we have any devices in our segment that haven’t responded for one hour. If it finds such a device, it will update it status to offline and it will send us a notification. 

In the next step, we check if we have any devices that haven’t responded for at least 12 hours. If there is such a device, it will update the device status to offline and send a notification.  

Learn more how to prepare those alerts in our use case section >> 

Summary 

These cases are based on the food industry but can be used in many different fields. Similar applications can be useful in, for example, tracking sales anomalies and creating alerts about the number of people in your store during COVID-related restrictions. You can also inform your stakeholders about low stock levels in your store.  

Smart home automations can also be regulated with these functionalities and Synerise provides a range of possibilities to integrate as many different devices as you want and to monitor their work quickly and effectively.