Intelligent Assets
What is Intelligent Assets?
Intelligent Assets is an out of the box ready application which is designed to be customizable for various use-cases like: Tracking & Monitoring Railcars, Monitoring Industrial Equipment, Reporting Machine Failures, and Controlling Microclimate Environments. The application requires no coding to configure for any use case and has the ability to extend and integrate data directly into existing business systems.
Completed Solution
The video below shows the completed solution for a company that makes chemicals. It also demonstrates how an email is sent when the temperature attribute is high for the tank asset or when it changes areas.
Setup
The following actions need to be performed, before starting to use a Portal.
- Create a new user in the system with an
Authenticated Role
. This user is used to log into the Portal. - Some development tasks may be involved if the user intends on having their own custom devices. For example: design a normalizer custom to the device.
- Make sure the following stream services are running by checking in the ClearBlade Console. AssetHistory, AssetLocation, AssetStatus, RulesEngine, Normalizer & ActionEmitter.
Quick Tutorial
Fig. 1 This is the rule creation workflow
Fig. 2 This is the Intelligent Assets workflow
This readme covers on how to use the Intelligent Assets Portal as an administrative user. The way to work with this system for the first time is to carryout the following tasks as mentioned, in the given order. In this readme we cover various sections including:
Welcome Tour
When a user signs up for an Intelligent Asset solution, there is a pop for a quick welcome tour of the solution. The user has the option to go through it, skip it, manage tour items, and re-visit later if needed. There is also a separate tour for the admin user.
Homepage
On the homepage of the Intelligent Assets portal there is a map that shows the location of the assets (tank) and areas (site storage). There will be a side navigation bar through different sections of the portal. The assets and areas can be searched and filtered by their types.
Asset Type
An asset type categorizes assets based on their attributes. Users can create asset types unique to their solutions by adding custom attributes.
Ex.:Tractor Engine Asset Type can have multiple tractor engine assets
Configuration
In this video, we will create an asset type. There is an unassigned type readily available for a user to use, however we will create a more specific type. Click on the ‘+’ to create the new asset type. Give the type the ID ‘tank’ and name it ‘Tank’. A base 64 encoded string can be used for ‘Icon’. If there other are assets available they can be included in ‘Children’. Add the attribute name and label as ‘temperature’. Assign the data type as number. Edit/View widget setting can be customized based on data type. Check ‘Keep History?’ to record historical data for the attribute. Click ‘Create’ to save asset type. We are also creating a second asset type called ‘Tank Car’ with an ID of ‘tank_car’. Assign the ‘Tank’ asset type as it’s child.
Required
Value | Definition |
---|---|
ID | The area type’s unique ID |
Name | Name of the area type |
Optional
Value | Definition |
---|---|
Icon | Upload a base 64 encoded image for the area marker that will appear on the map |
Description | Description of the area type |
Attributes
Only the Name value is required.
Value | Definition |
---|---|
Name | Name of the attribute |
Label | Displayed label of attribute |
Data Type | Data type of the attribute’s appearance |
Edit Widget | Sets up the type of widget that will be used when editing that attribute on an area |
View Widget | How ‘Edit Widget’ will appear |
Keep History? | When checked, the history of changes is recorded ‘Historical Data’ under ‘Areas’ in the ‘Monitor’ tab |
Hide Attribute? | When checked, it hides the attribute from |
Read Only Attribute? | When checked, the attribute cannot be edited by a user |
Assets
An asset is a device(s), equipment, or gateway(s) that is to be monitored by the solution. The asset can belong to a single asset type that best matches the type’s characteristics. Click on the asset to see the location and event history.
Ex.:Tractor Engine #1 belongs to the Tractor Engine Asset Type
Configuration
In this video, we will create an asset using the previously created asset type ‘Tank’ and assign the ID ‘tank_1’ for Tank 1. Then we will assign the asset to the default group so that the logged in user will be able to view it. Latitude and longitude will be assigned to it’s future parent asset. Assign a random value for the initial temperature attribute as this will change later. Click create to save the asset. We also create a second asset for the asset type ‘Tank Car’. Assign the ID as ‘tank_car_1’ and label it ‘Tank Car 1’. Assign it the previously created asset ‘Tank 1’ as it’s child asset and assign it to the default group. Give it a latitude and longitude and hit ‘Create’. ‘Tank Car’ should show up under ‘Tank Car 1’ on the homepage and include direct attributes and map.
The columns can be customized in the asset_types
collection under the schema
column and then the data for those columns is stored in the assets
collection under the custom_data
column.
Required
Value | Definition |
---|---|
Type | Assign an asset type that is created previously |
ID | The asset’s unique ID. Once this is created it cannot be edited |
Label | Name of the asset |
Group | Grouped by related users, assets, and area |
Optional
Value | Definition |
---|---|
Children | Secondary assets that has been created previously |
Owners | Email of the user(s) managing the asset |
Image | An image of the asset to be kept on record and can be viewed in an asset’s ‘Details’ under ‘Monitor’ |
Last updated | Timestamp of the asset’s most recent update |
Location updated | Timestamp of the asset’s location update |
Latitude | The longitude of the asset’s location the map |
Longitude | The longitude of the asset’s location the map |
Description | Description of the asset |
Area Type
An area type categorizes areas based on their attributes. Users can create area types unique to their solutions by adding custom attributes.
Ex.:Storage Area Types can have multiple areas
Configuration
In this we will create an area type. Give the type the ID ‘storage_site’ and name it ‘Storage Site’. Add attributes such as seismic activity and give an ID, label, and data type (number). Edit/View widget setting can be customized based on data type. Check ‘Keep History?’ to record historical data for the attribute. Click ‘Create’ to save area type.
Required
Value | Definition |
---|---|
ID | The area type’s unique ID |
Name | Name of the area type |
Optional
Value | Definition |
---|---|
Icon | Upload a base 64 encoded image for the area marker that will appear on the map |
Description | Description of the area type |
Attributes
Only the Name value is required.
Value | Definition |
---|---|
Name | Name of the attribute |
Label | Displayed label of attribute |
Data Type | Data type of the attribute’s appearance |
Edit Widget | Sets up the type of widget that will be used when editing that attribute on an area |
View Widget | How ‘Edit Widget’ will appear |
Keep History? | When checked, the history of changes is recorded ‘Historical Data’ under ‘Areas’ in the ‘Monitor’ tab |
Hide Attribute? | When checked, it hides the attribute from |
Read Only Attribute? | When checked, the attribute cannot be edited by a user |
Area
An area is a physical location in either cartesian (xyz) or polar (latitude/longitude) coordinates. The area can be created under an area type that best describes the location’s use. Assets can be tracked going from point to point using area. Maps and 3D models are supported out-of-box on ClearBlade.
Ex.: Austin,TX Unit
Configuration
In this video, we will create our area. Start with a geometry type. In this example we will be using the GPS option. For area type use the previously created area type ‘Storage Site’. Assign the ID ‘austin_hq’ and label it ‘Austin Headquarters’. Assign the area to the ‘Default’ group. Use the marker tool to assign the location on the map. Use the polygon tool to create a geofence around the location point. Click ‘Create’ to save the area and it should appear in the ‘Areas’ list and the home map.
Required
Value | Definition |
---|---|
Geometry Type | The types of model view of the location (GPS, Indoor Model, and Indoor Area) |
ID | The area’s unique ID |
Label | Name of the area |
Group | Grouped by related users, assets, and area |
Optional
Value | Definition |
---|---|
Type | Assign an area type that is created previously |
Parent | A primary area that has been created previously |
Owners | Email of the user(s) managing the area |
Last updated | Timestamp of the area’s most recent update |
Image | An image of the asset to be kept on record and can be viewed in an asset’s ‘Details’ under ‘Monitor’ |
Latitude | The longitude of the area’s location the map |
Longitude | The longitude of the area’s location the map |
Polygon | Input an array of cartesian coordinates. Example: [{"x":167.15952331104467,"y":13.79853098728273,"z":-509.4261787433696} |
Assets | The assets assigned to the area |
Description | Description of the area |
Action Types
An action type is the pre-requisite to event types. Action types have different actions which users can use when creating a rule. The 3 default action types are SMS, Email, and Publish [MQTT] Message. More can be added by users based on their solution.
Ex.: Send SMS
Configuration
There a 3 default action types but depending on permission an action can be added by the user.
Value | Definition |
---|---|
ID | The action type’s unique ID |
Name | Name of the action type |
These values are required.
Fields
Required
Value | Definition |
---|---|
Label | Displayed label of field |
Name | Name of the field |
Input Type | Data type input accepted by field |
Optional
Value | Definition |
---|---|
Placeholder | Default input of field |
Required? | A checked box requires a user to input data before proceeding |
Allow Multiple? | A checked box allows for multiple inputs |
Event Type
An event type categorizes events based on their criteria. When creating an event type, users can add multiple action types. A lifecycle can be added to the event type based on their use case. Event types are passed when rule types are created.
Ex.: Temperature Alert Event - can be invoked when temperature goes too low or too high
Configuration
Create an event type for a car entering the geofence. We add the ‘send email ’ action type and open and closed states.
Create an event type for high temperature for the tank asset.
Value | Definition |
---|---|
ID | The event type’s unique ID |
Name | Name of the event type |
Severity | Connected to certain alarm states |
Priority | Connected to responses to event types |
Action Types | Assign an action type that is created previously |
Description | Description of the event type |
Has Lifecycle? | A checked box allows for the event to have open and closed states |
Open State | Give the open state a name if the Has Lifecycle? box has been checked. You can add multiple open states by clicking + |
Closed State | Give the close stated a name if the Has Lifecycle? box has been checked. You can add multiple closed states by clicking + |
Rule Types
A rule type is used to categorize rules based on event types and the conditions associated with assets and asset types. A rule type can also use durations if the rules are supposed to be working for a period of time.
Ex. When my tank has a oil level that is out of range
Only the Name value is required.
Value | Definition |
---|---|
Name | Name of the attribute |
Is External? | Will trigger events in response to external rules when marked |
Include Timeframe? | Allows a user to indicate a time window during which this rule can create events when checked |
Event Types | Assign an asset type that is created previously |
Entity
Value | Definition |
---|---|
Prefix | Makes the rules created as downstream of this rule type user readable |
Filter Entity Selection | Select to filter by Asset Types, Assets, Area Types, or Areas |
Select [Entity] | Allows to filter options of selected entity. Selecting “all” of a certain entity is discouraged |
Allow Types? | Allows user to apply rules to any entity of a type |
Allow Specific? | Allows user to apply the rule to one specific entity or all entities |
Suffix | A suffix to make the rules created as downstream of this rule type user readable |
Duration
Mark the Include Duration?
box for the ability to allow duration in rule creation
State Relationship
Create a rule type for high temperature for our tank assets using the state condition.
Value | Definition |
---|---|
Select Attribute | The name of the attribute |
Attribute Label | Name appearane of the attribute |
Data Type | Choose among String, Number, and Boolean. The rest of the fields will be based on the choice |
String
Value | Definition |
---|---|
Match Label | Name of the ‘true’ field |
No Match Label | Name of the ‘true’ field |
Value (optional) | Give the attribute a value to match |
Suffix | A suffix to make the rules created as downstream of this rule type user readable |
Number
Users are able to input criteria’s for various relationships
Assign labels to:
- Greater Than (or Equal To)
- Less Than (or Equal To)
- (Not) Equal To
Then give it a value (integer) and its units
Boolean
Value | Definition |
---|---|
True Label | Name of the ‘true’ field |
False Label | Name of the ‘true’ field |
Suffix | A suffix to make the rules created as downstream of this rule type user readable |
Area Relationship
Create a rule type for a car entering the ‘Storage Site ‘area using the area condition.
Value | Definition |
---|---|
Inside Label | How the rule be read. If the label is ‘is inside’ then an example rule might read ‘when an asset “is inside” the mall’ |
Outside Label | Refer to Inside Label |
Under the Area section are the same value keys as the Entity section except it only allows Area and Area Type for entities.
Choose AND
or OR
to create more conditions. Make sure to click ‘Create’ to save all changes before moving on.
Rule
A rule is one of the most important parts of this template. Rules allows users to manage and monitor Assets and Areas.
Area Rule
Create a rule for the car approaching our previously created GPS area and assign it to the previously created Area Rule Type.
Area Rule Testing
Test the previously created area rule and see it in action.
State Rule
Create a rule for the tank’s high temperature and a closing rule for the tank’s low temperature. We then assign them to the previously created State Rule Type.
State Rule Testing
Test the previously created state rule and closing rule and see them in action.
Events
An event of an event type is created whenever a rule’s conditions are satisfied. This can be for single/group of asset(s) and/or area(s). If an event type has an action associated with it, the action is executed when there is an event.
Parent Child Tree
Assets can have parent-child relationship trees to organize hierarchies of asset types.
Groups
A user can be assigned to groups and users of a certain group can perform tasks for assets and areas as decided by the admin.
Ex. When a user belongs to Maintenance Group and Engineering Group, they will only see those assets and areas
Users
Contains the list of users and their data in the system. Users can be added, edited, and deleted from here. Roles and groups can also be assigned to users.
Reports
The reports page is used to generate insights on the data in your system. A report code service can be used to handle all of the logic for formatting the data to be consumed by the table and can also accept a time range for querying. Schedules in the reports page are used to email the reports to relevant stakeholders on a regular interval.
Action Payload
Action payloads allow users to share event data with end-users. The template helps provide more context to the end-user as it includes the attribute(s) and the rule satisfied on it that led to the creation of the event.
Glossary
- Primary Keys: the column(s) which uniquely identify a row in a database, such as
id_column
.