RMS integration with Met Office DataPoint. An experiment with APIs…

The latest Rotronic Monitoring System software has been designed specifically for the IoT and IIoT world. We have a wide and growing range of sensors, loggers as well as input and output modules but we will never keep up with the unique demands of our customers. That’s where integration is key for any successful continuous monitoring system!

iot

Hardware can already be integrated via analogue input modules such as our 8ADC and digital devices can be integrated via our RMS-Convertor that can be programmed with custom protocols and functions operate with virtually any device.

Want to cut out the waffle… login and see the live data now using the details below:

https://rms.rotronic.com/rms/
Company Name: rms demo cloud
User: guest
Password: guest1234

In addition to hardware, software integration is a must, and not easy when we consider RMS is a fully Gamp6 compliant system and therefore security and traceability is key.

Why not access the SQL DB?

All data on RMS is stored within an SQL database which with suitable rights can be queried easily to pull data out. However injecting data whilst possible triggers our system to report data manipulation. Also direct access to the database presents a security risk and uncontrolled changes to the system, and of course its not possible on shared systems.

That is why we also offer a Restful API through which data can be posted only when configured by users with appropriate permissions and each data stream is securely linked to a onetime token, by no means the best security but suitable for many applications (and of course the whole API function can be disabled if preferred). We of course have software wizards at our HQ that can develop professional integration solutions but as a hobbyist I wanted to see what I could achieve.

Example API Report

So my plan was to use Python and pull data from the Met Office DataPoint service and inject it directly into our RMS server software so it could visualised, reported and analysed accordingly. Just a few simple steps…

  • Step 1 Get the data from Met Office API
  • Step 2 Create API device in RMS and send your data
  • Step 3 Enjoy graphs, reports and custom alarms

Step 1 – Get the data from Met Office API.

The Met Office API is great you simply need to register to get an api key then get your head around the commands. Once you have that you can request the data you need via a simple url and the information is returned in xml or json format.

API Example
Met Office Datapoint API Response in XML

In Python requesting the last 24 hours of hourly data from location 3212 (Keswick) looks something like this…

Import json, requests
url = ‘http://datapoint.metoffice.gov.uk/public/data/val/wxobs/all/json/3212?res=hourly&key=YOURKEY’ #replace with your Met Office API key!
r = requests.get(url)
metoffice_data = json.loads(r.text)

This gives a Python dictionary with all the json data from which we can request specific values easily for example the latest conditions (no doubt there are more elegant solutions but this works for me).

Hum = (metoffice_data[‘SiteRep’][‘DV’][‘Location’][‘Period’][1][‘Rep’][-1][‘H’])
Temp = (metoffice_data[‘SiteRep’][‘DV’][‘Location’][‘Period’][1][‘Rep’][-1][‘T’])
Pres = (metoffice_data[‘SiteRep’][‘DV’][‘Location’][‘Period’][1][‘Rep’][-1][‘P’])
DewP = (metoffice_data[‘SiteRep’][‘DV’][‘Location’][‘Period’][1][‘Rep’][-1][‘Dp’])

Next we need to create our API device within RMS so it will accept our data

Step 2 – Create API device in RMS

Adding new API device in RMS is simple process, we create the device and define the Name and Serial number.

At this point RMS awaits an Post command in which the additional details are included. Using the Python code below I am able to create a device with 4 measurement points (measured values); Humidity, Temp; Pressure and Dew Point.

import json, requests

url = ‘http://rms.rotronic.com/wService/wService3.DeviceService.svc/UpdateDataJson’
headers = {‘Content-Type’ : ‘Application/json’, ‘Expect’ : ‘100-continue’, ‘Connnection’ : ‘Close’, ‘Host’ : ‘rms.rotronic.com’}

payload = {‘Name’:’API_Test’,’Serial’:’12345′,’Values’:[{‘Index’:’1′,’Typ’:’1′,’Value’:’50’},{‘Index’:’2′,’Typ’:’2′,’Value’:’23’},\
{‘Index’:’3′,’Typ’:’16’,’Value’:’5′},{‘Index’:’4′,’Typ’:’48’,’Value’:’1000′}]}
print (payload)
r = requests.post(url, headers=headers, data =json.dumps (payload))

Finally RMS gives us the device ID and API token which must be included in any future post commands.

Combining Step 1 and Step 2 allows us to simply replace my example values above with the real Met Office API data! Run the script hourly or permanently with an hour delay and we have a simple tool proving live data weather data!

Step 3 – Enjoy graphs, reports and custom alarms

With the data in RMS we can easily graph values and create email, sms or phone alarms. Taking the API further I it is possible download live satellite imagery and dynamically update the layouts in RMS!

Example Report

So it turns-out getting data into RMS via the API is simple with a bit of basic code. Of course Met Office data is just an example in modern industrial applications there is so much unique data from devices or software that might be of use and RMS aims to offer a complete monitoring solution not simply for our products!

Be sure to get in touch if you have any questions on the above or have any monitoring requirements. Use the demo login above or visit out RMS website for more details.

Dr Jeremy Wingate
Rotronic UK

 

Monitoring for Legionella – The Bacterial Threat

casestudy

In July 1976, 130 attendees at a convention hosted by the American Legion war veterans’ associations at the Bellevue-Stratford Hotel in Philadelphia contracted a severe case of pneumonia, from which 25 of them sadly died.

The US public health authorities investigated  the unknown cause of the mass disease, which was given the name Legionnaires’ disease. Two years later, Legionella Pneumophila was identified as the cause. The Legionella bacterium was finally identified and isolated, it was found to be breeding in the cooling tower of the hotel’s air conditioning system, which then subsequently spread throughout the building. This prompted new regulations worldwide for climate control systems.

Symptoms of Legionnaires’ disease

legionnaires

Reducing the risk
Legionella outbreaks have been linked to hot tubs, cooling towers, decorative fountains and water used for drinking and showering. Hotspots for legionella include any installation where untreated or under-treated water is warm and where it is possible for it to become an aerosol/misted in the environment. The bacteria multiplies between 22 °C and 45 °C with the optimum growth temperature between 35 °C and 40 °C. Effective and consistent monitoring of water quality is essential to maintain control.

One preventative measure is thermal disinfection for full efficiency, the water heaters and water storage tanks as well as the complete hot-water pipe system including the taps must be heated to above 70 °C. This is not readily possible or practical for most piping systems. Fundamentally, a complete drinking water distribution system should not contain sections with stagnant water, i.e. water that does not move for longer than four hours, in which water temperatures of between 25 °C and 55 °C can occur.

Chemical disinfection                                                                                                                         In this process, chemicals such as chlorine dioxide, ozone, hydrogen peroxide, hypochlorous acid, etc. are added to the drinking water to kill off any legionella present. Due to the partly harmful residues in the lines, chemical disinfection should only be carried out by trained personnel.

UV Irradiation                                                                                                                                   This is a disinfection method that uses short wavelength ultraviolet light to kill or inactivate microorganisms by destroying the nucleic acids and disrupting their DNA.

Summary                                                                                                                                                Air containing aerosols/mists contaminated with legionella can cause severe pneumonia. The development  of legionella in drinking water lines can be prevented by avoiding stagnation in water pipes. Importantly HSE guidelines also dictate cold water must be < 20 °C and heated water is stored above 60 °C. Hence monitoring is critical. Achieving these steps will help prevent the formation of biofilms on the insides of the pipes. Finally even with these controls in place public and commercial properties must have water samples tested regularly by an authorised laboratory.

Rotronic Solutions – The continuous monitoring RMS software makes all measured values and data available in a concise and neat form, exactly as required. It is conveniently available anywhere, on any device

Legionella
Warning of potential risks can be obtained by logging temperature and flow velocity at critical points in the distribution system and evaluating the data. Rotronic offers a starter kit for this comprising components, hardware and software.

Please contact Rotronic for full product information on 01293 571000 or email instruments@rotronic.co.uk.