New makeover for the original MCE Analytics Engine!

Our original MCE analytics engine has had a bit of a makeover! A new AngularJS webclient and updated Javascript widgets have revitalised the analytics engine. It is just as fast, just as flexible and just as easy to use. However, the new AngularJS dashboard makes it much easier to set up, configure and modify Items. The new Javascript widgets also make it easier to create your own dashboards and to display the metrics you need.

MAP IoT Entity infographic

Overview of the MAP IoT Entity model used to build IoT applications

MAP IoT Entity model gives developers the ability to create their own Entities or Things in MAP. It makes use of the core MAP framework and integrated analytics stack to hide all the complexity of creating calculations, associations, alerts. More importantly, it does this at scale and in near real-time. This allows developers to focus on creating the underlying algorithms they want and in developing their dashboards/user interfaces. The MAP IoT Entity model takes a lot of the principles of the original low-code MCE Calculation Engine and applies them at scale – but you will need to be a developer to use MAP!

MAP IOT Infographic

More information on the MAP IoT model

Selected as finalist for Gravity 02 Challenge – creating micro-climate models

Meniscus has been selected as one of the finalists to go through to the Scale Phase of the Gravity 02 Challenge – looking at creating micro-climate models

We are using our MAP IoT analytics platform to develop a solution to the Bardsley Orchard Challenge – how to calculate micro-climates to increase farm efficiency and productivity. Bridging the link between regional weather measures (and forecasts) and local microclimates – starting with agricultural orchard systems?

So, we are through the Accelerate phase of the challenge and now into scaling and developing the key principles behind the service. Have got a lot more work to do – but a really interesting project to work on and one that offers a lot of opportunities.

Thanks to Deloittes for organising the event and Bardsley Orchards for setting the challenge.

LinkedIn article on the Gravity 02 challenge

Home Energy platform upgrade – new Widget graphs

Home Energy platform upgrade lets users create their own dashboards

We have upgraded the Meniscus Calculation Engine (MCE) on our free-to-use Home Energy monitoring platform. We are phasing out of the existing Silverlight dashboard as it only runs on Internet Explorer over the next couple of months.

Example of an MCE real-time widget


This graph will update every 2 minutes.

New Widget graphs and getting your API key

The widgets let you easily create your own dashboards that you can configure yourselves.

To use the widgets you will need your API key which is the first 16 characters of the email address that you used to create your account with us. Please note a couple of things.

  • THE API key is READ ONLY
  • if you make these widgets publicly available then your API key will be visible
  • If you would like to change your API key please send a mail to [email protected] and quote the e-mail address you use for your Home Energy account

    To create the widgets

    1. Go to the widget page
    2. In the “Create Widget – Enter API key” tab enter your API key
    3. Click Connect to Server
    4. In the “Create Widget – Meter Options” tab select the Items you want to display
      • For the Real time data use Electricity use – channel 1. This is the RAW data type with units of W
      • For the Half hour aggregated data for the three main channels then use Electricity use – channel 1 – HH. This is the CALC aggregated W data converted into kW
      • You can add any other Item that you want to display
    5. Select the Output type – I.e. line graph
    6. Add Item to the List
    7. In the “Create Widget – Date and Time options” tab select the time option you want. Don’t use too long a period as it will take a long long time to upload!
    8. In the “Create Widget – Update Options” tab select how often you want the widget updated – so for a two minute update enter 120 seconds

    When you are ready – select the Output HTML. This will generate the iframe code that is can be pasted into any HTML web page to generate the graph displayed.

    Create the Dashboard

    Follow these steps to create an HTML dashboard with the widgets you have created. This will give you a lot more visibility for the Home Energy platform.

  • When you have created the Output HTML that you want click the “Create Dashboard” tab
  • Click on “Add Widget” and copy the HTML iframe. This will create a new widget and you can add up to 4 different widgets on the one page and move them as you want
  • Click on “Add Header” to add a simple header to the page
  • Click on Copy HTML to create a copy of the dashboard as an HTML page. If you open this page then you can view the widgets you have created
  • For more information on the MCE widgets click here

    See an example of the MCE widget dashboard

    MAP IoT Entities – Introduction

    MAP IoT Entities – an Introduction

    MAP IoT Entities give you control on how to turn raw data from a sensor, device or …anything, into the analytics you want. Entities include Raw Items and Calc Items and both are contained in an Entity Template. This Entity Template is called as often as you want by importing configuration files. These config files include names and properties of the Entity and the properties for the Raw and Calc Items. On import, the Entity Template creates the Entity and the Raw and Calc Items and immediately starts processing any raw data that is available.

    This is the first of several articles that we will write on how to use MAP IoT Entities to deliver your IoT application.

    What are MAP IoT Entities?

    Raw Items
    A Raw Item contains the raw data that you upload into MAP. Raw data contains any Data Type that you want. If we don’t support the Data Type already (we support quite a range) then you can create your own Data Type – article on Data Types.

    Calculated Items
    A Calc Item contains the metrics that you want to create using your raw data. Rather than create all your analytics in one complex algorithm, our experience is that it it is easier, more flexible and quicker to create a number of seperate Calc Items that each do a specific part of the analytics.

    A core module of MAP is the Invalidator. This continually monitors the calculation time of all Items in MAP and dynamically builds a dependency tree of all Items. By defining the type of invalidation relevant to your Calc Item, you control when and how frequently your Items are updated and re-calculated. The default mode is to invalidate on change of latest calculation time. So, if the latest calculation time of a Raw or Calc Item in the Dependency Tree changes then other Calc Items that are dependent on that Item will automatically recalculate.

    What this means in practice is:

  • Step 1. New raw data is uploaded into a Raw Item in an Entity
  • Step 2. All Calc Items that depend on the Raw Item or any child Calc Item are also recalculated
  • Step 3. This all happens in seconds
  •  

    Why use MAP IoT Entities – what are the benefits?

    The key reason is simplicity. They are easy to use, easy to set up and offer a lot of flexibility.

    MAP is an integrated stack so we do all the complicated plumbing required to deliver the calculated metrics you want. So, all a developer needs to consider is:

  • 1. How to upload raw data from their device to MAP (API call or file drop are the best)
  • 2. How to extract data from MAP for use in their application/dashboard/UI (API call is best)
  • That’s it – MAP takes care of everything else!

    What is MAP?

    MAP stands for the Meniscus Analytics Platform and is MAP is our IOT Analytics Platform for delivering solutions at scale and at speed. It is an Integrated Analytics Stack so you can develop your solutions quicker and easier.

    More information on MAP IoT
    More information on MAP

    New MAP IoT Gateway device

    Our new IoT Gateway device makes it easier for developers to connect to MAP directly from devices.

    The gateway runs as a Windows Service on the IoT device or on a Raspberry Pi or a micro PC. It uses a MAP importer to push and pull data from the device directly into MAP. So, the gateway allows bi-directional flow of data making it possible to send instructions from MAP back to the IoT device.

    Within MAP, making use of our IoT Entity model, developers can create templates containing Items and Properties and add any calculation they want.

    For more information on MAP then click here

    Lazy loading for processing large data sets

    Introduction

    This is part of a series of articles where we describe the way the Meniscus Analytics Platform (MAP) works. Theses articles jump into the features that make MAP different to other analytics applications by providing an Integrated Analytics Stack delivering real time analytics.

    This article investigate the benefits of lazy loading of data and why this is important in MAP

    What is lazy loading of data?

    Quite simply, it means only loading the part of the data that is required to deliver the information requested. In terms of how MAP works then this principle is used to limit the data input and output from the the underlying MongoDB database into MAP. Whilst this may sound like quite a simple and obvious principle to apply it isn’t always used. Many developers will know the principle when developing dashboard and user interfaces but it is more important when considering the back end database operation.

    Lazy loading is a design pattern commonly used in computer programming to defer initialization of an object until the point at which it is needed. It can contribute to efficiency in the program’s operation if properly and appropriately used. The opposite of lazy loading is eager loading. This makes it ideal in use cases where network content is accessed and initialization times are to be kept at a minimum, such as in the case of web pages.

    Source

    Why is lazy loading relevant in MAP?

    MAP ingests and processes very large volumes of near real time data, specifically data associated with weather. More importantly, MAP holds historic data so that we can deliver historic analytics as used in our MAP Rain solution.

    This means data IO is a key factor in delivering the lighting fast calculation speeds that MAP delivers. So, anything that can improve these IO times is of huge importance to MAP. Lazy loading reduces data volumes extracted and then written back to the database and so improves data IO times.

    About MAP

    MAP is an Integrated Analytics Stack providing a framework for users to create and deploy calculations at scale using any source of raw data. MAP is based on IOT principles and uses Items as the underlying building blocks to store either RAW or CALCulated data. So, users create an Entity Template or Thing using these Items and then replicate this template hundreds of thousands of times using an ItemFactory.

    For more information on MAP then click here

    Support for rich and extensible data types

    Introduction

    This is part of a series of articles where we describe the way the Meniscus Analytics Platform (MAP) works. Theses articles jump into the features that make MAP different to other analytics applications by providing an Integrated Analytics Stack delivering real time analytics. IN this article we talk about extensible data types.

    This article discusses how and why having extensible data types is a real benefit when developing your analytics applications

    Why are extensible data types important?

    Being able to use a wide variety of ‘standard’ data types, but also to create your own, delivers lots of benefits.

    • Provides flexibility. During the import stage you can re-process and store the initial raw data into a ‘pre-processed’ data type. When you want to use this data to deliver a calculation or other use then the data is already configured and available in exactly the format you want
    • Greatly increases data processing and calculation times.
    • Extensible data types give you the ability to control how you store and process your raw data

    Examples of data types supported by MAP

    We have a number of ‘standard’ extensible data types already configured in MAP but there is no limit to the number or variety that you can create.

    • Data Grid. One of the most important for our MAP Rain solution. Processes data in any size of two dimensional grid. Used for radar and forecast rainfall data, satellite imagery and the like
    • Block Grid. Used in conjunction with a Data Grid. Breaks a two dimensional Data Grid into a smaller three dimensional Block. Used for speeding up the processing of Data Grids by ensuring MAP only processes relevant data. See article on lazy loading of data sets
    • Vector Grid. Similar to a Data Grid but provides a two dimensional grid but includes vector and direction data as well. Used for processing grids of forecast wind speed and direction data.
    • Rainfall Location. Holds the location of a point of interest (Latitude and Longitude) as well as the current and historic rainfall data for that Location. Used in MAP Rain
    • Float – standard time series. This is a standard data type for processing time series data. Contains a Date/Time Value pair
    • Journey. Used to create and store a sequence of locations along the route of a journey. We use this data type to predict rainfall along this route using our Hyperlocal rainfall product

    Examples of data types

    About MAP

    MAP is an Integrated Analytics Stack providing a framework for users to create and deploy calculations at scale using any source of raw data. MAP is based on IOT principles and uses Items as the underlying building blocks to store either RAW or CALCulated data. So, users create an Entity Template or Thing using these Items and then replicate this template hundreds of thousands of times using an ItemFactory.

    For more information on MAP then click here

    Benefits of a dynamically constructed dependency tree

    Introduction

    This is part of a series of articles where we describe the way the Meniscus Analytics Platform (MAP) works. Theses articles jump into the features that make MAP different to other analytics applications by providing an Integrated Analytics Stack delivering real time analytics. This article discusses the benefits of a dynamically constructed dependency tree.

    What is a dynamic dependency tree?

    A dependency tree is a list or tree of the way that any Item links to other Items. We use this to manage and understand which Items are required when calculating another Item. So, if Item 1 requires Item 3 and Item 2004 to calculate then any change in Item 3 or Item 2004 will place Item 1 on the calculation queue to be recalculated. The process of managing the Items placed on the queue is critical to MAP and we have a separate Invalidator module specifically to do this.

    While our old MCE analytics platform held a dependency tree it was not dynamic and so, not really a scalable solution. MAP uses a dynamic dependency tree so that as new Items are added then MAP automatically creates its own tree by learning from the calculations as they run. This in turn means that MAP is scalable and can run on any size of database.

    Benefits of using a dependency tree

    • Calculation speed. By knowing the relation between each and every Item ensures MAP processes data in the most optimal way possible. This is turn helps to ensure MAP can deliver lightning fast calculation speeds
    • Automated. Being an automated process means that a developer can just leave MAP to get on and do it’s own ‘thing’ whilst they focus on the critical aspects of developing their application

    About MAP

    MAP is an Integrated Analytics Stack providing a framework for users to create and deploy calculations at scale using any source of raw data. MAP is based on IOT principles and uses Items as the underlying building blocks to store either RAW or CALCulated data. So, users create an Entity Template or Thing using these Items and then replicate this template hundreds of thousands of times using an ItemFactory.

    For more information on MAP then click here

    Yorkshire Water leakage hackathon – use of MAP IOT

    Overview of the Open Data leakage hackathon run by Yorkshire Water to identify new ways of applying Big Data and analytics solutions to the issue or water leakage