IoT device data integration overview

Data that Internet of Things (IoT) monitoring systems collect from sensor devices can be imported into Maximo® Manage by using the Asset Data Dictionary integration features.

Metrics are time-based groupings of sensor data that is associated with IoT devices. In IoT monitoring systems, devices can be associated with assets and locations. When a device is associated with an asset or location, the metrics that are associated with the device can be added to the meter data that Maximo Manage maintains for assets and locations.

In Maximo Manage, in the Assets and Locations applications, on the Meters tab, the Metric ID field associates an asset or location meter to a metric that is collected by IoT monitoring systems.

The metrics data can be added to Maximo Manage by using the Asset Data Dictionary artifacts in the integration framework and the IOTCONNECTOR cron task.

The IOTASSET and IOTLOCATIONS enterprise services in the MASDD external system are used to import metrics data into Maximo Manage.

You can create one or more cron task instances and run the IOTCONNECTOR cron task to pull data from IoT monitoring systems into meter readings for assets and locations.

To accommodate the large variety of sensor devices that gather data, Maximo Manage provides various configuration options for the IOTCONNECTOR cron task. For example, you can apply filters to select specific assets or locations. Because some sensors need to be monitored more frequently than others, you can also specify how often to poll for data. If no filter or meter list is specified, the cron task selects all assets and locations and also selects the meters that are associated with a metric ID.

The following table describes the parameters that you can use to configure the IOTCONNECTOR cron task:
Table 1. IOTCONNECTOR cron task parameters
Parameter Description Default
FILTER WHERE clause that filters the assets and locations that are selected when the cron task runs. Does not apply.
METERLIST Comma-separated list of meter names for the cron task to process. The meter list is added to the WHERE clause that filters the data. Does not apply.
PROCESSOR IoT processor class that implements the com.ibm.tivoli.maximo.iotf.processor.IoTProcessor interface. com.ibm.tivoli.maximo.iotf.processor.IoTProcessor
BATCHSIZE Page size to use for the metric data request. For example, if the page size is 100, the cron sends a bulk request for 100 metrics to the Asset Data Dictionary. 100
ASSETBASED Specifies whether the task processes assets or locations.
  • For asset-based metrics, specify 1.
  • For location-based metrics, specify 0.
1
QUEUEBASED Specifies whether the response goes through a queue or not. 1
HISTDAYS Number of days in the past to retrieve metrics if meter readings were never synchronized with metrics. This parameter is used when meter readings were not synchronized for one of the following reasons:
  • The cron task is run for the first time.
  • The cron task processes data for a meter that does not have any readings that are registered with Maximo Manage. That is, the lastreadingdate parameter is null in the asset meter or the location for that meter.
It is important to determine how many days in the past to request data for metrics that have no meter readings in Maximo Manage. For example, in some monitoring systems, such as Maximo Monitor, metrics might be configured many days before the metric is associated with an asset or location meter. You must specify whether the cron task collects all available historical data or limits the historical data to the number of days that is specified in the HISTDAYS parameter.

This parameter is used only when no prior readings exist for a meter. When readings exist, the cron task always uses the value that is specified for the lastreadingdate parameter as a starting point for retrieving the meter data.

7
USELASTREADINGS Specifies whether to use the last reading that was taken for the metric device.
  • To use the last reading for the asset or location meter, specify 1.
  • To use the last run time for the cron task, specify 0.
1

The ASSETBASED parameter in the cron task determines whether asset or location data is integrated. For example, if the value of the ASSETBASED parameter is 1, the cron task imports all asset metrics by using the FILTER and METERLIST parameters and sends one or more REST API calls to the Asset Data Dictionary by using the batch size that is specified. The Asset Data Dictionary connects with a provider of the metrics data such as Maximo Monitor to retrieve the data.

If the value for the QUEUEBASED parameter is 1, the data is broken into individual transactions before it is added to the queue. For example, if the batch size is 100, a call to the Asset Data Dictionary returns 100 records for a transaction, and the records are broken into 100 separate transactions before they are written to the queue. This process facilitates parallel processing. If the value of the QUEUEBASED parameter is 0, the data is imported directly by using the IOTASSET enterprise service.

Depending on the number of metrics that you select and the batch size that you configure for the cron task, the IOTCONNECTOR cron task might make several requests in a single run. For example, if the data set has 1000 metrics and the batch size is set to 100, which is the default, the cron task attempts to make 10 requests for 100 records each to fetch data for 1000 metrics. If the third request encounters an error for any reason, such as a network, Asset Data Dictionary, or monitoring system issue, the cron task stops the run and does not attempt the remaining seven runs. When the cron task runs next, it uses the lastreadingdate from the asset meter or location meter tables to determine when the last reading for an individual meter was taken. The timestamp is used in the subsequent query to the Asset Data Dictionary for the associated metric. This process ensures that even if errors prevent the cron task from fetching data for a specific metric in one run, the data can be captured in the next successful run.