Skip to content

Powertrain migration

Decision made

  • No backward compatibility
  • Rewrite Asset Model
  • Don't use data models from reportconnectors
  • Move dependencies to v3

Open issues

Unit standard support

So far the there is no support for the Unit standard in the Powertrain. Timeseries and numerical asset properties are only provided in the metric unit standard.

It seems that the imperial unit standard is not supported in the Powertrain, and has to be supported on the reporting engine

Bearing data DB

Bearing data came from SmartSensor API and was supported by the SmartSensorBearingDB interface.

This database was moved to TypeConfig API (/assetType/beaingInfo/{bearingNo}). So far we have not created TypeConfigAPIClient, and the bearing data is not available in the Powertrain.

We can use the LocalBearingDB to get the bearing data from local JSON-based database, but the access to Powertrain data has to be provided in the future.

Handling of timeseries data

Timeseries data model in report connectors expect that at least one value type is provided for each timestamp. This is not true for the cases when the data quality is bad. For example, Bearing condition won't have value for the timestamps when the motor is not running. This is a problem for the reportconnectors package.

The more general problem is present. How do we handle the missing data case, we don't have the information about the sampling frequency of the signal.

What do we do with the concept of no data?

Another problem is related with the maximum duration of the raw timeseries we can get from the Timeseries API in one query. The maximum duration is 1 day for drives and 30 day for smartsensor.

It is not solved yet, and the open question is if we should solve it in the reportconnectors or in the asset data reader.

Handling of missing data

If the data is not present or the query parameters are invalid then the corresponding api client would raise an error. Two most common errors are HTTPError (for 404 or 400 status codes) or Value error when the response model validation fails.

Both cases should be handled in the PowertrainAPIAssetDataReader _fetch methods.