The ExoSense™ Insight interface allows functions to be inserted into an Asset's configuration to use one or more signals to generate a new piece of information in the form of a Signal (transform type) or a Status (rule type). They allow users to quickly add analytics, transforms, and rules to an asset's configuration - typically to generate data that is actionable and is an insight for how the asset is performing.
These Insight modules contain multiple functions and can accomplish such things as predicting the remaining life of a product, iterate on artificial intelligence models, generate status changes, and much more. This flexibility, coupled with the ability to rapidly distribute outcomes across both fleets and customer bases, makes Insights a powerful tool for users to implement their product expertise—without code.
The Insights interface supports all levels of analytics maturity, from descriptive to predictive to prescriptive. As your analytics sophistication increases, so does ExoSense™—start with simple threshold alerts, create a Remaining Useful Life model for your products, implement that model inside an Insight, and finally, send a stop command to an errant device.
What is an Insight?¶
A module is a collection of functions. The module name is listed for end-users when they begin to add a rule or transform in the asset configuration window.
Typically an organization creates one module, but they can be useful for grouping and organization.
The Insight functions take one or more input signals as inlets, process this data, and output values to on or more outlets. Although simple in concept, this is powerful for providing streaming conversion of data, analytics, machine learning, and complex rule processing.
Functions are of type
Transforms: Their outputs are signals, which can be used in dashboards, as the inputs to rules, and to other transforms.
Actions: These functions are triggered on Rule Statues change and used to trigger an external service to use the status event to take some action. Action functions have no output.
Building Custom Insights¶
The ability to create, host, and use custom insights is available at specific Exosite business account and ExoSense application tiers.
ExoSense provides an interface to plug-in custom functions into the asset signal pipeline, called the ExoSense Insight interface. These functions can be used for transforming data, streaming analytics, rules, and actions. This plug-in type service is referred to as Insights or Insight Modules. The Insight Module itself is a service that exposes the defined interfaces ExoSense requires and includes one or many functions
An Insight Module may include many functions of type transform, rule and/or action, the available functions are dynamically loaded when users go to add a new transform (shows available transform functions) or rule (shows available rule functions) or action.
End users are presented with the available transform, rule, or action functions in the Asset Configuration window, this information is loaded dynamically when the user goes to add a new transform, rule or action.
Important Concepts For Insight Developers
The Insight functions are Streaming -- they are inserted into the data pipeline flow and process each input signals' value.
It's important to note that if there are multiple input signals, the function will be triggered each time any of the signals gets a new value. It's important to keep this in mind for function development and expectations of the output signal(s). Even if two signal values are sent by a device via it's channels in the same data_in message, the function would be called twice if both are used as input signals to the Insight function.
Insight functions are of type
action. Transforms output one ore more signals, Rules output a Status, and Actions process rule statuses.
At their core, Insights are not expected to be stateful. Examples include Exosite's off the shelf transformations like Join and Linear Gain, they operate on the latest value of Signal data. For a given Join on Signal A and Signal B, each time a piece of data comes in from either of those Signals, the Join runs (and returns a joined value). The Join Transform uses the last seen value of any Signal not present in the data sent to the Join at any given time.
Inline or External¶
ExoSense supports two types of Insight modules to create your own functions. Either path will allow your end-users to insert these functions into their Asset configuration based on the definitions for inputs, constants, and outputs.
|Inline Insights||Functions run directly in the ExoSense pipeline as native functions. This makes it easy to add and build within ExoSense. As these are natively supported, they are limited in using the supported language expressions and logic.|
|External insights||Are a specific type of service exposed through Exosite's Marketplace for use with ExoSense. Operate as a self contained externally hosted software application that exposes HTTP endpoints for ExoSense to interface with. Provides the most flexibility for hosting, environment, processing, and languages|