Skip to main content
Skip table of contents

Admin asset types

An Asset Type is a definition made up of a set of attributes. You can create your own Asset types. Assets of those types can then be created.

Parent-child tree

Asset types can have parent-child relationships to each other, thus forming hierarchical trees. Assets of Parent types will contain assets of Child types.


View, edit, clone and delete asset types

  1. Click Asset Types in the left menu:

  1. Search or filter the asset types you want to view.

  2. Here is an asset type example:

  1. You can edit, clone, or delete the asset type by selecting the respective icon on the top right of the page:



Add asset type

  1. Click Asset Types on the left menu:

  2. Click the plus button on the top right of the page.

  3. This is what the Details section (first one that appears) looks like:

    Toggle “Asset” or “Area” to select the entity type. If you choose “Area,” you will be able to define a geofence for assets of this type.

  4. This is what the Attributes section looks like:

  5. This is what the Controls section looks like:

  6. This is what the Categorize section looks like:

  7. When done filling out the information, click the create button at the bottom of the page.

    Here is a creating asset types video.

Required values

Value

Definition

ID

The asset type’s unique ID

Name

The asset type’s name

Groups

The groups the asset type belongs to


Optional values

Value

Definition

Icon

Please select one from our icon library or upload an image

Description

The asset type’s description

Children

Other related asset types can be added as children of this parent asset type

Default History View

There are different view settings for the asset type’s data history

Device Type

The device used for the assets with this type (e.g., NimbeLink)

Propagate location to root?

If checked, the location updates the asset and roots

Show location on root?

If checked, assets of this type display on maps

Store updates on root?

If checked, the updates for an asset of this type only update for the root asset and its history


Attributes

Note: The Name value is required. Others are optional.

Value

Definition

Name

The attribute’s name

Label

The attribute’s displayed label

Data Type

The attribute appearance’s data type

Edit Widget

Sets up the widget type to edit an area’s attributes

View Widget

How Edit Widget appears

Keep History?

When checked, the history of changes is recorded as historical data under Areas in the Monitor tab

Hide Attribute?

When checked, it hides the attribute

Read Only Attribute?

When checked, the attribute cannot be edited by a user


Image Attributes

Attributes of type Image can be added to Asset Types. The choices for Edit Widget are Text input or Text area. Then an image can be added to an asset by converting the image to a formatted base64 string and pasting the string into the Text input/area Edit widget.

The string should be formatted as follows:
data:<MIME_type>:base64,<image-as-base64-encoded-string>

For example…
data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAANwAAADl…

Commonly used examples of MIME_type are:

  • image/jpeg

  • image/png

  • image/bmp

Others can be used as well.

There are free online tools available that will convert images into properly formatted base64 strings.

Calculated Attributes

Calculated attributes are a powerful way to create new values based on multiple attributes, utilizing a powerful formula builder. These formulas can contain a number of operators, functions, and variables. When adding an attribute, after setting a name for the attribute, click the “Calculated Attribute?” checkbox at the bottom to open the formula builder.

image-20250313-220242.png

Example formulas

  1. Calculate Fahrenheit from a Celsius attribute -

    1. (celsius * (9/5)) + 32

  2. Total energy usage for a building (note: there are multiple ways to solve this)

    1. reduce(childLightBulbs, childLightBulb.energyUsage)

    2. sum(map(childLightBulbs, childLightBulb.energyUsage))

    3. reduce with filter reduce(filter(childLightBulds, childLightBulb.isReporting == true), childLightBulb.energyUsage)

    4. map with filter sum(map(filter(childLightBulbs, childLightBulb.isReporting == true), childLightBulb.energyUsage))

  3. Condition where temperature is over set point

    1. currentTemp > (setPoint + 2)



Types of operators


Arithmetic

Type

Definition

Addition (+)

To add two numbers or variables

Subtraction (-)

To subtract one number or variable from another

Multiplication (*)

To multiply two numbers or variables

Division (/)

To divide one number or variable by another

Modulo (%)

To find the remainder of the division of one number by another


Comparison

Type

Definition

Equal to (==)

To check if two values are equal

Not equal to (!=)

To check if two values are not equal

Greater than (>)

To check if one value is greater than another

Less than (<)

To check if one value is less than another

Greater than or equal to (>=)

To check if one value is greater than or equal to another

Less than or equal to (<=)

To check if one value is less than or equal to another

AND (&&)

To check if both conditions are true

OR (||)

To check if at least one condition is true

NOT (!)

To invert the truth value of a condition



 

Types of Functions


Aggregate

Type

Definition

SUM(array[])

To find the sum of a list of numbers

AVG(array[])

To find the average of a list of numbers

MIN(array[])

To find the minimum value in a list of numbers

MAX(array[])

To find the maximum value in a list of numbers


String

Type

Definition

concat(string1, string2, …string)

To concatenate multiple strings into one

replace(original, regex, replacement)

To replace parts of a string

split(string, delimiter)

To split a string into an array based on a delimiter

join(array, delimiter)

To join an array of strings into a single string with a delimiter

match(string, regex)

To match a string against a regular expression


Array

Type

Definition

map(array, mapOperation)

To map elements of an array to another array

reduce(array, reduceOperation)

To reduce an array to another value

filter(array, filterOperation)

To filter elements from an array

length(array)

To get the length of an array

contains(array, value)

To check if an array contains a specific value

indexof(array, value)

To get the index of a value in an array


Conditional

Type

Definition

if(condition, true_value, false_value)

To return a value based on a condition

case(expression, value1, result1, value2, result, …, else_result)

To return a value based on multiple conditions


Statistical

Type

Defintion

median(array[])

To find the median of a list of numbers

stddev(array[])

to calculate the standard deviation of a list of numbers

variance(array[])

To calculate the variance of a list of numbers

percentile(array[])

To find the percentile of a list of numbers

Controls

Value

Definition

ID

The control’s ID

Widget Type

The attribute’s displayed label

Control Type

Fire and Forget is the default

Label

The control’s label

Variant

The label’s display

JavaScript errors detected

Please note, these errors can depend on your browser setup.

If this problem persists, please contact our support.