Managing device profiles


Device profiles in BMC Helix Edge are pivotal in orchestrating and optimizing the management of diverse IoT devices within an ecosystem. The device profile captures essential attributes, configurations, and contextual information about individual devices.

Use Device profiles to streamline and structure the management of IoT devices. These profiles offer a standardized approach to categorizing, monitoring, and controlling devices across various domains. They provide a unified framework for administrators and operators to handle devices integrated into the BMC Helix Edge system.

You must configure and optimize device profiles to achieve business goals through enhanced operational efficiency, improved resource allocation, and streamlined maintenance workflows. You see a list of device profiles with attributes when you access a device profile page. Each device profile has configurations, including valuable manufacturer information and related details. After you define a device profile, you can assign the profile to devices and establish a structured framework that enhances device management and efficiency. 

Workflow for creating a device profile

Workflow for creating a device profile.png

 

Before you begin

  • Get familiar with device attributes, metrics, and commands. For more information, see Tenant Administrators
  • Make sure you have the right roles assigned to manage profiles. For more information, see Tenant Administrators

Task 1: To create a device profile

  1. On the main dashboard of BMC Helix Edge, select Device Management > Profile.
  2. On the Device profiles page, click New profile.
    BMC Helix Edge displays the following panel:
    image-2023-10-12_20-17-43.png
  3. In the New device profile panel, to add additional details to this profile, enter the following information:

    Field name

    Description

    Profile name

    Use this field to enter a device profile name. Make sure that the profile name is unique and descriptive to distinguish the device profile from others.

    Use underscore (_), not space, as a separator. For example, if you have a device profile related to manufacturing robots, name the device profile MFG-Robot, Robot_Profile, or RobotProfile. For example, type MFG_Robot.

    (Optional) Manufacturer

    Use this field to provide the manufacturer's name associated with the device type. While this field is optional, it can provide valuable information about the device's source. For example, if ABC Electronics manufactures this device, type ABC Electronics.

    Metric name

    Use this field to define specific data or measurements the associated devices provide. The metric name must describe the type of information BMC Helix Edge collects. For example, if the device measures humidity, type the metric name as humidityLevel.

    Use underscore (_), not space, as a separator between words. For example, enter Device_ID. Use underscore (_), not space, as a separator between the Device and the ID. 

    Unit of measurement

    Use this field to specify the unit in which the BMC Helix Edge reports the metric data. It ensures that the data BMC Helix Edge collects is presented in a standardized format, making it easier for users and systems to interpret. For example, enter units of measurement as degrees Celsius (°C), meters (m), liters (L), or percentage (%).

    Field type

    Select the appropriate field type from the list corresponding to the metric. The list type indicates the type of metric to be collected. 

    Click here to see the description of field types, their descriptions, and examples for reference:

    The following table describes the field types, their descriptions, and examples for reference:

    Field Type     

    Description                             

    Example                               

    Binary         

    Represents binary data, such as storing files or binary-encoded information.

    An image file (JPEG or PNG) is binary data in a device attribute.

    Boolean        

    Represents two possible values, true or false.

    A device attribute isOn with a Boolean value indicating whether a device is powered on (true) or off (false).

    BoolArray      

    An array of Boolean values that can be true or false.

    An attribute sensorStatus contains an array of Boolean values representing the status of multiple sensors.

    Float32        

    A 32-bit floating-point number is suitable for representing decimal values with single precision.

    An attribute temperature with a float32 value of 25.5 represents a temperature measurement.

    Float32Array   

    An array of 32-bit floating-point numbers.

    An attribute sensorReadings contains an array of float32 values representing various sensor readings.

    Float64        

    A 64-bit floating-point number is suitable for representing decimal values with double precision.

    An attribute latitude with a float64 value, for instance, 37.7749, represents the latitude of a location.

    Float64Array   

    An array of 64-bit floating-point numbers.

    An attribute sensorData contains an array of float64 values representing complex sensor data.

    Int16          

    A signed 16-bit integer represents whole numbers with positive and negative values.

    An attribute velocity with an int16 value, for instance, -100, represents a negative velocity value.

    Int16Array     

    An array of signed 16-bit integers.

    An attribute pressureReadings contains an array of int16 values representing pressure measurements.

    Int32          

    A signed 32-bit integer representing whole numbers with positive and negative values.

    An attribute count with an int32 value, for instance, 1000, represents a count of items.

    Int32Array     

    An array of signed 32-bit integers.

    An attribute intArray contains an array of int32 values representing various integer values.

    Int64          

    A signed 64-bit integer representing huge whole numbers with both positive and negative values.

    For instance, an attribute totalDistance with an int64 value, 123456789012345, represents a significant distance value.  

    Int64Array     

    An array of signed 64-bit integers.

    An attribute bigNumbers contains an array of int64 values representing large numbers.

    Int8           

    A signed 8-bit integer representing whole numbers with positive and negative values.

    An attribute signalStrength with an int8 value like -32 represents a signal strength value.

    Int8Array      

    An array of signed 8-bit integers.

    An attribute byteArray contains an array of int8 values representing raw byte data. 

    String         

    Alphanumeric characters, like text descriptions, serial numbers, or device names.

    An attribute deviceName with a string value like "Sensor123" represents a sensor device's name.

    StringArray    

    An array of string values.

    An attribute sensorNames contains an array of string values representing the names of multiple sensors.

    UInt16         

    An unsigned 16-bit integer representing whole numbers from 0 to 65,535.

    An attribute counter with a uint16 value, for instance, 65535, represents a maximum count value.

    UInt16Array    

    An array of unsigned 16-bit integers.

    An attribute positiveIntegers contains an array of uint16 values representing positive integer values.

    UInt32         

    An unsigned 32-bit integer representing whole numbers from 0 to 4,294,967,295.

    An attribute largeCounter with a uint32 value like 4294967295 represents a considerable counter value.

    UInt32Array    

    An array of unsigned 32-bit integers.

    An attribute unsignedIntegers contains an array of uint32 values representing unsigned integer values.

    UInt64         

    An unsigned 64-bit integer represents huge whole numbers.

    An attribute bigCounter with a uint64 value, for instance, 18446744073709551615, represents an extensive counter.

    UInt64Array    

    An array of unsigned 64-bit integers.

    An attribute hugeNumbers contains an array of uint64 values representing huge numbers.

    Read/Write

    Select if the metric is read-only or write-only, or both. The following are the available options:

    • Read: Users can observe or report the metric data if they select this option. The Read/Write option indicates whether BMC Helix Edge can read the metric value from the IoT device, the hardware, written back, or both.
    • Write: Users can modify or update the metric data through the device profile if they select this option. Users can change the data associated with this field.
    • Read/Write: Users can modify or update the metric data and also observe the metric data through the device profile if they select this option.  
  4. Click Add.
    BMC Helix Edge displays the new device profile on the Device profile page. BMC Helix Edge creates a basic profile and automatically takes you to this profile to add more attributes. After you create the new device profile, adjust the attributes to represent the specific device type or category. This process ensures that the profile aligns with the unique characteristics and functionalities of the associated devices. To achieve this alignment, edit and configure the device attributes, metrics, commands, and contextual attribute elements in the newly created device profile.
  5. (Optional) To edit the device profile, perform the following steps:
    1. Click a device profile.
    2. In the Edit device profile panel, modify the fields.
    3. Click Save.

Task 2: To configure the device attributes

Device attributes have the intrinsic properties and characteristics of devices associated with the profile. Configuring the device attributes involves defining parameters, for instance, device ID, location, firmware version, and other details that provide an overview of the identity and context of the device.

  1. On the device profile page, click the newly created device profile.
  2. On the Edit device profile page, select Device attributes > New.
    BMC Helix Edge displays the following panel:
    image-2023-10-12_20-4-59.png
  3. In the New device attribute panel, enter the following information:

    Field name

    Description

    Attribute Name

    Enter a name in alphanumeric characters without a space.

    This field refers to the name assigned to a specific attribute or property associated with a device profile. Identify and categorize various characteristics or data points related to the device. 

    Use underscores (_) or no space as separators between words. For example, if the device measures humidity, type the metric name as DeviceID.

    (Optional) Default value

    Enter a default value.

    This field is optional to specify a predetermined or initial value for a particular attribute in a device profile. BMC Helix Edge uses this value as a starting point or fallback when the system does not override the default value in the devices associated with this profile. For more information, see Editing a device profile.

    For example, if the sensor occasionally loses connection or fails to provide real-time data, set a default value for the Temperature attribute. For instance, you set the default value to N/A (Not Available) or a specific temperature like 25°C. If the sensor fails to transmit data, BMC Helix Edge uses this default value to maintain continuity in data reporting. 

  4. Click Add.
  5. Repeat steps 3 and 4 to add more device attributes. 
  6. (Optional) To edit the device attributes:
    1. Click a device attribute.
    2. In the Edit device attribute panel, modify the fields. 

Task 3: To configure aggregation and downsampling interval 

You apply downsampling on edge nodes to reduce the data transmitted to the system. With this option, you configure devices to collect data more or less frequently than the profile's default. Some devices override this configuration based on protocols (for example, REST API) instead of relying on the system's collection intervals. By adjusting these settings, you balance capturing detailed data (higher sampling frequency, shorter collection interval) and reducing resource consumption (lower sampling frequency, longer collection interval). When configuring this option, the system applies to all metrics in the profile unless it overrides.  

  1. On the Device profile page, click a profile.
  2. On the Edit device profile page, select Metrics.
    image-2024-6-2_11-14-43.png
  3. On the Metrics tab, do the following:
    1. In the Sampling interval field, enter the frequency to capture data points in seconds. 
      The default value is 240 seconds. 
    2. In the Collection interval field, enter the interval in seconds to retrieve the latest data point from the node.
      The default value is 20 seconds.
    1. In the Aggregates option, select one or all of the following options:

      Select

      Description

      Average

      Selecting this option provides a general understanding of the typical value during that period. If checked, the system calculates the average value of all the data points collected from the node during the collection interval, like the average signal strength percentage in the specified collection interval of 20 seconds.

      The system records the values as [metric name]_[avg]. For example, if the matric is in temperature, then the system records the mean temperature as temperature_avg.

      Min

      Selecting this option helps identify potential dips or drops in the metric. If checked, the system stores the minimum value observed for the metric within the collection interval, such as the lowest signal strength percentage in 20 seconds.

      The system records the values as [metric name}_[min]. For example, if the metric is in temperature, then the system records the minimum temperature as temperature_min.

      Max

      Selecting this option helps identify potential spikes or peaks in the metric. If checked, the system stores the minimum value observed for the metric within the collection interval, such as the lowest signal strength percentage recorded in 20 seconds.

      The system records the values as [metric name}_[max]. For example, if the metric is in temperature, then the system records the maximum temperature as temperature_max.

      The system enables all options by default. If you turn off these checkboxes, the system stores only the latest value collected at the defined collection interval. 

Task 4: To add the device metric

Metrics represent the measurable data points that the device generates. You customize the data collection process by editing metrics to capture key performance indicators, operational parameters, and relevant measurements contributing to informed decision-making. With accurate metric configuration, the device profile captures the essential data points for analysis and visualization.

  1. On the Device profile page, click the newly created device profile.
  2. On the Edit device profile page, select Metrics > New.
  3. In the New metric panel, enter the following information:

    Field name

    Description

    Metric name

    Use this field to define the specific data or measurement the associated devices provide. Specify the metric name related to the device profile. This metric serves as a critical attribute for the profile. The metric name must describe the type of information the device collects.

    Use underscores (_), not spaces, as separators. For example, if the device measures humidity, type the metric name as humidity_Level.

    Unit 

    Use this field to specify the unit in which the BMC Helix Edge reports the metric data. It ensures that the data the device collects is presented in a standardized format, making it easier for users and systems to interpret. For example, enter units of measurement in degrees Celsius (°C), meters (m), or liters (L), or percentage (%).

    Field type

    Select the appropriate field type from the list corresponding to the device metric. The list type indicates whether the device collects metric data for reading (displaying) or writing (updating).

    Click here to see the description of field types, their descriptions, and examples for reference:

    The following table describes the field types, their descriptions, and examples for reference:

    Field Type     

    Description                             

    Example                               

    Binary         

    Represents binary data, typically storing files or binary-encoded information.

    Storing an image file (JPEG or PNG) as binary data in a device attribute.

    Boolean        

    It represents two possible values, true or false.

    A device attribute isOn with a boolean value indicating whether a device is powered on (true) or off (false).

    BoolArray      

    An array of Boolean values that can be true or false.

    An attribute sensorStatus contains an array of boolean values representing the status of multiple sensors.

    Float32        

    A 32-bit floating-point number is suitable for representing decimal values with single precision.

    An attribute temperature with a float32 value of 25.5 represents a temperature measurement.

    Float32Array   

    An array of 32-bit floating-point numbers.

    An attribute sensorReadings contains an array of float32 values representing various sensor readings.

    Float64        

    A 64-bit floating-point number is suitable for representing decimal values with double precision.

    An attribute latitude with a float64 value like 37.7749 represents a location's latitude.

    Float64Array   

    An array of 64-bit floating-point numbers.

    An attribute sensorData contains an array of float64 values representing complex sensor data.

    Int16          

    A signed 16-bit integer represents whole numbers with positive and negative values.

    An attribute velocity with an int16 value like -100 represents a negative velocity value.                 

    Int16Array     

    An array of signed 16-bit integers.

    An attribute pressureReadings contains an array of int16 values representing pressure measurements.            

    Int32          

    A signed 32-bit integer representing whole numbers with positive and negative values.

    An attribute count with an int32 value like 1000 represents a count of items.

    Int32Array     

    An array of signed 32-bit integers.

    An attribute intArray contains an array of int32 values representing various integer values.    

    Int64          

    A signed 64-bit integer representing huge whole numbers with both positive and negative values.

    An attribute totalDistance with an int64 value like 123456789012345 represents a significant distance value.

    Int64Array     

    An array of signed 64-bit integers.

    An attribute bigNumbers contains an array of int64 values representing large numbers.

    Int8           

    A signed 8-bit integer representing whole numbers with positive and negative values.

    An attribute signalStrength with an int8 value like -32 represents a signal strength value.

    Int8Array      

    An array of signed 8-bit integers.

    An attribute byteArray contains an array of int8 values representing raw byte data.                   

    String         

    For alphanumeric characters, like text descriptions, serial numbers, or device names.

    An attribute deviceName with a string value like "Sensor123" represents a sensor device's name.

    StringArray    

    An array of string values.

    An attribute sensorNames contains an array of string values representing the names of multiple sensors.

    UInt16         

    An unsigned 16-bit integer representing whole numbers from 0 to 65,535.

    An attribute counter with a uint16 value like 65535 represents a maximum count value.

    UInt16Array    

    An array of unsigned 16-bit integers.

    An attribute positiveIntegers contains an array of uint16 values representing positive integer values.

    UInt32         

    An unsigned 32-bit integer representing whole numbers from 0 to 4,294,967,295.

    An attribute largeCounter with a uint32 value like 4294967295 represents a considerable counter value.

    UInt32Array    

    An array of unsigned 32-bit integers.

    An attribute unsignedIntegers contains an array of uint32 values representing unsigned integer values.

    UInt64         

    An unsigned 64-bit integer represents huge whole numbers.

    An attribute bigCounter with a uint64 value like 18446744073709551615 represents an extensive counter.

    UInt64Array    

    An array of unsigned 64-bit integers.

    An attribute hugeNumbers contains an array of uint64 values representing huge numbers.

    Read/Write

    Define whether the metric is read-only, write-only, or both. The following are the available options:

    • Read: Users can observe or report the metric data if they select this option. Users cannot modify the metric data directly through the device profile.
    • Write: Users can modify or update the metric data through the device profile if they select this option. Users can change the data associated with this field.
    • Read/Write: Users can modify or update the metric data and also observe the metric data through the device profile if they select this option.  
  4. Click Add.
  5. Repeat step 3 and 4 to add more device metrics.
  6. On the top-right corner of the page, click Save.
  7. (Optional) To edit the device metric:
    1. Click a device metric.
    2. In the Edit device attribute panel, modify the fields.  

Task 5: To add a command

Commands are actions or instructions that BMC Helix Edge sends to devices to trigger specific operations or functions on those devices.

Use commands for:

  • turning on or off a device
  • changing settings
  • initiating a firmware update or
  • performing any action that requires interaction with the device.

Unlike the Read/Write feature for metrics, the Command feature focuses on instructing devices to perform specific actions. While Read/Write metrics deal with data retrieval and configuration, commands control device management. In summary, commands in BMC Helix Edge send instructions and actions to devices, whereas reading and writing metrics are primarily about data collection and configuration.

Illustration

Here is an example of a Windmill of how fields in a command are configured for a command name updateMetrics, with read/write status set to read, and parameters are WristAngle, WristRotation, and Base RotationIn this scenario, the updateMetrics command is configured as a read command, indicating that its purpose is to collect data from the sensors of the Windmill. BMC Helix Edge collects data for three specific parameters: WristAngle, WristRotation, and BaseRotation. These parameters are essential for monitoring the current state and position of the Windmill. When you run this command, BMC Helix Edge triggers the Windmill to provide the current values for these parameters. You monitor and analyze the orientation and position of the Windmill in real-time.

Begin steps

  1. On the Device profile page, click the newly created device profile.
  2. On the Edit device profile page, select Commands and click New.
    BMC Helix Edge displays the following panel:
    image-2023-10-12_20-39-10.png 
  3. In the New Command panel:
    1. In the Command Name field, enter a name in alphanumeric characters. For example, enter updateMetrics.
    2. From the Read/Write list, select read-only. For example, select Read.
    3. In the Parameters field, select one or more metric names from the available list. 
      BMC Helix Edge adds these metrics to the command for this profile.
    4. Click Add.
  4. Repeat step 3 to add more commands. 
  5. Click Save.
    You can modify all metrics, commands, and attributes before clicking Save, or click Save even if you decide to skip the remaining changes.
  6. (Optional) To edit the device command:
    1. Click a command.
    2. In the Edit command panel, modify the fields.  

Task 6: To view contextual attributes

Contextual attributes refer to additional data or information associated with a device or device profile that can change over time and is used for various purposes, including enriching data, providing context for analytics, or customizing a device behavior—associate contextual attributes with individual devices or device profiles. For example, you might associate a contextual attribute, DriverName, with a specific vehicle device. This attribute can change as different drivers use the vehicle. Another example is BMC Helix Edge updates the DriverName attribute as Empty when no driver is assigned but updates when a driver logs in.

You can ingest contextual attribute data into BMC Helix Edge by using APIs. This data can come from external sources or sensors and be stored in BMC Helix Edge with the respective device or device profile. Contextual attributes are optional and depend on the specific use issue and requirements. For more information about adding contextual data, see Adding-contextual-data-with-the-REST-API

Begin procedure

  1. Click a device profile on the device profile page.
  2. On the Edit device profile page, select a Contextual attributes pane.
    If integrated with third-party integration, BMC Helix Edge displays the Business pane with all the predefined attributes (as the Read Only attribute).
    image-2023-10-12_21-4-7.png

Task 6: To edit a device profile

  1. On the main dashboard of BMC Helix Edge, select Device Management > Profile.
  2. On the Device profiles page, click a profile name.
  3. In the View profile panel, click Edit.
  4. In the Edit device profile panel, update the following fields: 

    Field name

    Description

    Manufacturer

    Provide the manufacturer's name associated with the device type, if applicable. 

    Description

    Specify the metric name related to the device profile. This metric serves as a critical attribute for the profile. 

    Model Number

    Indicate the unit of measurement associated with the metric. This detail is essential for accurate data representation. 

    Labels

    Select the appropriate field type from the list corresponding to the metric. Options include Binary, Boolean, Float, Integer, and Unit.

  5. Click Save

Task 7: To delete device profiles, attributes, metrics, or commands

Deleting a device profile, attribute, metric, or command might lead to unintended disruptions or loss of critical data within BMC Helix Edge. Therefore, exercise caution and thorough assessment to prevent potential adverse effects on device management and operations.

 Before you begin

  • Confirm that no devices are dependent on or referencing this profile.  
  • Detach the device profile from all IoT devices.

To delete device profiles, attributes, metrics, or commands, use the following steps:

  • To delete a device profile: 

    1. On the Device profiles page, select a device profile, and click Delete.
    2. In the warning message panel, click OK.
  • To delete a device attribute: 

    1. On the Edit device profiles page, select an attribute and click Delete.
    2. In the warning message panel, click OK.
  • To delete a device metric:

    1. On the Edit device profiles page, click the Metrics pane.
    2. In the Metrics pane, select an attribute and click Delete.
    3. In the warning message panel, click OK.

Where to go from here

Managing-IoT-devices


 

Tip: For faster searching, add an asterisk to the end of your partial query. Example: cert*