Intelligent Assets
What is Intelligent Assets?
Intelligent Assets is a solution template within ClearBlade which is designed to be customizable for various use-cases like: Tracking & Monitoring Railcars, Monitoring Industrial Equipments, Tracking people, etc. An example statement of one of the problems it can solve is shown below:
Send an SMS to the Manager if the attribute door
of the asset_type Gondola
is open. (Note: the attribute door
is a user defined attribute & the type Gondola
is a user defined asset_type).
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:
Homepage
On the homepage of the Intelligent Assets portal there is a map that shows the location of the assets (gondola) and areas (gondola storage). The assets and areas can be 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 we will create an asset type. There is an unassigned type readily available for a user to use, however we will create one from scratch. Give the type the ID ‘tank_car’ and name it ‘Tank Car’. Add attributes such as weight 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 asset 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 |
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 car’ and assign the ID ‘tc1’ for Tank Car #1. Then we will assign the asset to a default group so that the logged in user will be able to view it. Next we will set up the latitude and longitude by copying and pasting one of your choice. Assign a random value for the initial weight attribute as this will change later. Click create to save the asset and it should show up on the map in ‘Home’.
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
In this we will create an event type. Give the type the ID ‘tank_car_unloaded’ and name it ‘Tank Car Unloaded’. Severity and Priority can be added based on user preferences and there is no predefined meaning. Assign an action type for when the event occures. Check ‘Has Lifecycle?’ to give the event a life cycle (open and closed states). Click ‘Create’ to save event type.
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 tractor engine has a battery 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
|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
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
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.
Name the rule and select a rule type. Build the condition such as ‘When any tank car weight is lighter than 15000 pounds’ using the dropdowns. Add the event details using a previously created event type. Next add the action for the event type such as sending an email and label the action. Search the recipient’s email and give a subject and message. Click ‘Create’ and add the rule. Add another rule to be the closing rule to the first rule by repeating the process. No events will be generated for the closing rule. Add second rule to the first rule’s closing section and choose closing statement.
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.
Event should appear under ‘Events’ and email is sent when rule is fired. Empty circle shows that the event is open and slashed circle means the event is closed.
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.
Glossary
- Primary Keys: the column(s) which uniquely identify a row in a database, such as
id_column
.