Difference between revisions of "V2/Concepts/Asset"

From Senfi Docs
Jump to: navigation, search
 
(21 intermediate revisions by the same user not shown)
Line 5: Line 5:
 
An asset in Senfi represents a physical object/system of interest. Note that older documentation also refers to an ''asset'' as a ''sensor''. This definition has been deprecated in accordance to industry norms, and also to reflect that assets may represent non-sensing objects. An asset may produce one or more measurements, or it may not produce any measurements.
 
An asset in Senfi represents a physical object/system of interest. Note that older documentation also refers to an ''asset'' as a ''sensor''. This definition has been deprecated in accordance to industry norms, and also to reflect that assets may represent non-sensing objects. An asset may produce one or more measurements, or it may not produce any measurements.
  
There are 4 types of data associated with an asset.
+
There are 6 types of data associated with an asset.
  
 
== General information ==
 
== General information ==
The information here includes name, description, [[V2/Concepts/Icons|2D icon]], the [[V2/Concepts/Intro_to_Site|site]] that an asset belongs to, and the list of access groups that have access to it.
+
The information here includes name, description, [[V2/Concepts/Icons|2D icon]], the [[V2/Concepts/Intro_to_Site|site]] and [[V2/Concepts/Asset_Classes_and_Relationships|class]] that an asset belongs to, and the list of access groups that have access to it.
  
 
An asset can be marked as "virtual" by turning on the "Is Virtual" flag in the CMS. A virtual asset will not be displayed in the 3D dashboard.  
 
An asset can be marked as "virtual" by turning on the "Is Virtual" flag in the CMS. A virtual asset will not be displayed in the 3D dashboard.  
Line 22: Line 22:
 
Please read [[V2/Concepts/Intro_to_Tag|this page]] to be familiar with the concepts related to measurement tag.  
 
Please read [[V2/Concepts/Intro_to_Tag|this page]] to be familiar with the concepts related to measurement tag.  
  
If an asset has measurements, you must provide all required tags' value. This tag is used to identify the asset when Senfi is receiving measurement data. Example: Asset with device_id tag ''chiller_01'' having a measurement of ''york_chiller_v1''.
+
An asset can have multiple measurement/computed measurement. If an asset has measurements (referring to both measurements and computed measurements), you must provide all required tags' value. This tag is used to identify the asset when Senfi is receiving measurement data. Example: Asset with device_id tag ''chiller_01'' having a measurement of ''york_chiller_v1''.
  
 
[[File:Concepts_Asset_Measurement.png|445px|center|link=]]
 
[[File:Concepts_Asset_Measurement.png|445px|center|link=]]
 +
 +
If the '''Asset''' belongs to a [[V2/Concepts/Asset_Classes_and_Relationships|'''Class''']], it will automatically inherit all the measurements of that class. All inherited measurements will be listed and you must provide all required tags' value. Inherited measurements cannot be removed from the source-measurement listing.
  
 
=== Event ===
 
=== Event ===
 
An asset can have an event data source. The event triggered comes from an external source, such as the connector (or other external applications) via the Senfi API.
 
An asset can have an event data source. The event triggered comes from an external source, such as the connector (or other external applications) via the Senfi API.
 +
 +
Examples:
 +
# A new Motion Detected alarm raised from Milestone XProtect Video Management System (VMS) -> Motion Detected New external event
 +
# An acknowledged Motion Detected alarm update from Milestone XProtect VMS -> Motion Detected Acknowledged external event
 +
# A closed Motion Detected alarm update from Milestone XProtect VMS -> Motion Detected Closed external event
 +
 +
[[V2/Concepts/Event#External_Events|External triggered events]] are handled similarly to events raised by Expression created in the CMS. External events can:
 +
# Have actions (notification, command, webhook) added to them
 +
# Raise alarms
 +
 +
Note: Senfi currently do not allow direct raising of alarms from external systems. All external alarms must be raised by proxy using external events, which then trigger Senfi alarms using Senfi's automation workflow.
  
 
=== Stream ===
 
=== Stream ===
Line 33: Line 46:
  
 
=== IFrame ===
 
=== IFrame ===
As asset can link to external data source via an IFrame URL. This is most useful for assets to be linked with related external material such as PDFs, user manual etc. so that technicians can download much needed information from a centralized source.
+
An asset can link to external data source via an IFrame URL. This is most useful for assets to be linked with related external material such as PDFs, user manual etc. so that technicians can download much needed information from a centralized source.
  
 
== Attribute ==
 
== Attribute ==
 
An asset may optionally have attributes. Attribute consists of a name/value pair. Attributes can represent static information related to the asset, such as model, date of manufacture, etc. An attribute value can be internationalize, eg. you can specify the value of a model in English and Chinese.
 
An asset may optionally have attributes. Attribute consists of a name/value pair. Attributes can represent static information related to the asset, such as model, date of manufacture, etc. An attribute value can be internationalize, eg. you can specify the value of a model in English and Chinese.
 +
 +
== Relationships ==
 +
Brick relationships are represented in Senfi as Asset relationships.
 +
It defines the relationship between:
 +
* Asset and Asset
 +
* Asset and BBL/Location
 +
 +
Currently, there is a 1:1 direct mapping between Senfi asset-asset relationships and brick equipment-equipment relationships:
 +
* brick:hasPart/brick:isPartOf -> hasPart
 +
* brick:controls/brick:isControlledBy -> controls
 +
* brick:feeds/brick:isFedBy -> feeds
 +
* brick:serves/brick:isServedBy -> serves
 +
 +
CMS will automatically add the BBL relationship from asset BBL attachment.
 +
User can add Asset Relationship manually via CMS or import from ttl file.
  
 
== Location ==
 
== Location ==
Location refers to the where the asset is positioned in the building. The user can use the CMS to select the Building / Block / Level (BBL) that contains the asset, and pin its position in the model in 3D or 2D.
+
Location refers to the where the asset is positioned in the building. The location of the '''Asset''' is defined by it's zone information and 3D position in the digital twin. For example, the location of a temperature sensor asset at the Room #03-01 level 3 block A of building A in site 123 is defined by zones '''Building A, Block A, Level 3, Room #03-01''', and the X,Y,Z position pinned in the 3D model.
  
 
=== Position ===
 
=== Position ===
Line 45: Line 73:
  
 
An asset's position can be added/edited in 3D or 2D (if a floorplan is associated). If a floorplan is associated, make sure that there is proper calibration between the floorplan and the 3D model.
 
An asset's position can be added/edited in 3D or 2D (if a floorplan is associated). If a floorplan is associated, make sure that there is proper calibration between the floorplan and the 3D model.
 +
 +
The asset will show up in the Digital Twin in the position as specified in the CMS, represented by the 2D icon assigned.
  
 
<div class="important">Note: Setting of the location for lift assets may differ</div>
 
<div class="important">Note: Setting of the location for lift assets may differ</div>
  
==== [[V2/Concepts/Asset Location|What is needed to create a Site]] ====
+
For lift assets, the position of the asset also determines the position of the lift shaft. Instead of attaching the lift asset to a particular level in the site, the asset is attached to a lobby. The user can also use the CMS to change the orientation of the lift shaft and the lift shaft's color, and select which levels the lift will stop at.
 +
 
 +
== Annotation ==
 +
An annotation is used to add visual information to an asset.
 +
Some example annotation use cases are:
 +
* A volume to mark an area or a room monitored by an asset.
 +
* Summary of info associated with an asset. E.g. temperature text appears on top of an asset.
 +
* Directions during a Fire Alarm.
 +
 
 +
Senfi supports 5 types of annotation, namely:
 +
* Trail (Only available for movable asset)
 +
* Line
 +
* Volume
 +
* 3D Text
 +
* 2D Text
 +
 
 +
An asset can have zero, one or more annotations. The annotation can be configured to follow the asset (especially useful for dynamically moving asset). Users in the same Access Group see the same set of annotations.
 +
 
 +
=== Dynamic Content ===
 +
The annotation's properties can be set dynamically, e.g. change in color of volume according to asset's temperature variation. Annotation properties can be set dynamically from the value of:
 +
* Asset Property
 +
** Asset Name
 +
** Asset Description
 +
** Asset Coordinate
 +
* Asset Attribute
 +
* Metric Data
 +
 
 +
Dynamic content is available for the following annotations' properties:
 +
# Line
 +
#* Color
 +
#* Opacity
 +
#* Thickness
 +
# Volume
 +
#* Color
 +
#* Opacity
 +
#* Height
 +
#* Rotation
 +
# 3D Text
 +
#* Content
 +
#* Color
 +
#* Opacity
 +
#* Size
 +
#* Thickness
 +
#* Rotation
 +
# 2D Text
 +
#* Color
 +
#* Outline Color
 +
#* Content
 +
#* Opacity
 +
#* Size
 +
#* Rotation
 +
 
 +
To use dynamic content for the annotation properties, a mapping table has to be created to map each property to the dynamic source value/range of values. There are two types of mapping table:
 +
# Value Mapping
 +
#* Maps 1 source value to 1 property (E.g. if source dynamic value is 20, then 2D Text content output is "Twenty")
 +
# Range Mapping
 +
#* Maps a range of source values to 1 property (E.g. if source dynamic value is between 20 to 30, 2D Text content color output is #0000FF)
 +
#* Only available for metric data with "float" or "integer" type
 +
#* Value range is determined by thresholds
 +
#* Allow 0 to N of thresholds
  
 
==== What's Next ====
 
==== What's Next ====
 
-----
 
-----
* Start [[V2/CMS_Tutorial/User_Tools/Creating_Content/Site|creating your own Site]]
+
* Learn about [[V2/Concepts/Asset_Classes_and_Relationships|Asset Classes and Relationships]]
* Learn about [[V2/Concepts/Connector|Connectors]]
+
* Learn about [[V2/Concepts/Icons|Icons]]
 +
* [[V2/Concepts/Preparing for Asset Creation|What is needed to create an Asset]]

Latest revision as of 19:05, 7 June 2022

Asset

Unlike applications like Prometheus or InfluxDB which deals purely with temporal data in a time series, Senfi associates such data with physical objects in the real world.

An asset in Senfi represents a physical object/system of interest. Note that older documentation also refers to an asset as a sensor. This definition has been deprecated in accordance to industry norms, and also to reflect that assets may represent non-sensing objects. An asset may produce one or more measurements, or it may not produce any measurements.

There are 6 types of data associated with an asset.

General information

The information here includes name, description, 2D icon, the site and class that an asset belongs to, and the list of access groups that have access to it.

An asset can be marked as "virtual" by turning on the "Is Virtual" flag in the CMS. A virtual asset will not be displayed in the 3D dashboard.

Source

An asset can have a number of data sources. Specifically, it can have one or more of the following:

  1. Measurement
  2. Event
  3. Stream
  4. IFrame

Measurement

Please read this page to be familiar with the concepts related to measurement tag.

An asset can have multiple measurement/computed measurement. If an asset has measurements (referring to both measurements and computed measurements), you must provide all required tags' value. This tag is used to identify the asset when Senfi is receiving measurement data. Example: Asset with device_id tag chiller_01 having a measurement of york_chiller_v1.

Concepts Asset Measurement.png

If the Asset belongs to a Class, it will automatically inherit all the measurements of that class. All inherited measurements will be listed and you must provide all required tags' value. Inherited measurements cannot be removed from the source-measurement listing.

Event

An asset can have an event data source. The event triggered comes from an external source, such as the connector (or other external applications) via the Senfi API.

Examples:

  1. A new Motion Detected alarm raised from Milestone XProtect Video Management System (VMS) -> Motion Detected New external event
  2. An acknowledged Motion Detected alarm update from Milestone XProtect VMS -> Motion Detected Acknowledged external event
  3. A closed Motion Detected alarm update from Milestone XProtect VMS -> Motion Detected Closed external event

External triggered events are handled similarly to events raised by Expression created in the CMS. External events can:

  1. Have actions (notification, command, webhook) added to them
  2. Raise alarms

Note: Senfi currently do not allow direct raising of alarms from external systems. All external alarms must be raised by proxy using external events, which then trigger Senfi alarms using Senfi's automation workflow.

Stream

An asset can have a video stream as a data source. This allows the User to view the CCTV video streams on-demand on the Digital Twin. The video stream comes from the video adapters associated with the site. User can just choose any of the video stream from the drop down list to assign to the asset.

IFrame

An asset can link to external data source via an IFrame URL. This is most useful for assets to be linked with related external material such as PDFs, user manual etc. so that technicians can download much needed information from a centralized source.

Attribute

An asset may optionally have attributes. Attribute consists of a name/value pair. Attributes can represent static information related to the asset, such as model, date of manufacture, etc. An attribute value can be internationalize, eg. you can specify the value of a model in English and Chinese.

Relationships

Brick relationships are represented in Senfi as Asset relationships. It defines the relationship between:

  • Asset and Asset
  • Asset and BBL/Location

Currently, there is a 1:1 direct mapping between Senfi asset-asset relationships and brick equipment-equipment relationships:

  • brick:hasPart/brick:isPartOf -> hasPart
  • brick:controls/brick:isControlledBy -> controls
  • brick:feeds/brick:isFedBy -> feeds
  • brick:serves/brick:isServedBy -> serves

CMS will automatically add the BBL relationship from asset BBL attachment. User can add Asset Relationship manually via CMS or import from ttl file.

Location

Location refers to the where the asset is positioned in the building. The location of the Asset is defined by it's zone information and 3D position in the digital twin. For example, the location of a temperature sensor asset at the Room #03-01 level 3 block A of building A in site 123 is defined by zones Building A, Block A, Level 3, Room #03-01, and the X,Y,Z position pinned in the 3D model.

Position

Assets belong to a Site and may optionally be attached to one of BBL in the Site. For example, a temperature sensor asset at the level 3 block A of building A in site 123 is attached to Site 123 > Building A > Block A > Level 3. So hiding level 3 of the building also hides the temperature sensor.

An asset's position can be added/edited in 3D or 2D (if a floorplan is associated). If a floorplan is associated, make sure that there is proper calibration between the floorplan and the 3D model.

The asset will show up in the Digital Twin in the position as specified in the CMS, represented by the 2D icon assigned.

Note: Setting of the location for lift assets may differ

For lift assets, the position of the asset also determines the position of the lift shaft. Instead of attaching the lift asset to a particular level in the site, the asset is attached to a lobby. The user can also use the CMS to change the orientation of the lift shaft and the lift shaft's color, and select which levels the lift will stop at.

Annotation

An annotation is used to add visual information to an asset. Some example annotation use cases are:

  • A volume to mark an area or a room monitored by an asset.
  • Summary of info associated with an asset. E.g. temperature text appears on top of an asset.
  • Directions during a Fire Alarm.

Senfi supports 5 types of annotation, namely:

  • Trail (Only available for movable asset)
  • Line
  • Volume
  • 3D Text
  • 2D Text

An asset can have zero, one or more annotations. The annotation can be configured to follow the asset (especially useful for dynamically moving asset). Users in the same Access Group see the same set of annotations.

Dynamic Content

The annotation's properties can be set dynamically, e.g. change in color of volume according to asset's temperature variation. Annotation properties can be set dynamically from the value of:

  • Asset Property
    • Asset Name
    • Asset Description
    • Asset Coordinate
  • Asset Attribute
  • Metric Data

Dynamic content is available for the following annotations' properties:

  1. Line
    • Color
    • Opacity
    • Thickness
  2. Volume
    • Color
    • Opacity
    • Height
    • Rotation
  3. 3D Text
    • Content
    • Color
    • Opacity
    • Size
    • Thickness
    • Rotation
  4. 2D Text
    • Color
    • Outline Color
    • Content
    • Opacity
    • Size
    • Rotation

To use dynamic content for the annotation properties, a mapping table has to be created to map each property to the dynamic source value/range of values. There are two types of mapping table:

  1. Value Mapping
    • Maps 1 source value to 1 property (E.g. if source dynamic value is 20, then 2D Text content output is "Twenty")
  2. Range Mapping
    • Maps a range of source values to 1 property (E.g. if source dynamic value is between 20 to 30, 2D Text content color output is #0000FF)
    • Only available for metric data with "float" or "integer" type
    • Value range is determined by thresholds
    • Allow 0 to N of thresholds

What's Next