Extending the CogniteUnit catalogue to recognize engineering units defined from standards
One of the more important properties for industrial data is the Engineering units of a value (unit of measure).
Today we can add a CogniteUnit, both to a timeseries and to a column in a data model container, which will enable unit conversion on consumption.
When we ingest the data from our source systems, we need to identify the unit as it is described in the source system, and then match it to the correct CogniteUnit. Many of our source systems do unfortunately not follow a standard for engineering units (leading to the need for the looooong alias list in the unit catalogue).
But some of our systems specify the unit via a standard. For AkerBP it is mainly CFIHOS and OPC-UA (which really is UN/CEFACT unit codes)
It would be very helpful to both being able to identify a unit via these standards when the unit is populated, but also when it is consumed.
Eg: Temperature in Celsius is
- CFIHOS-60001435
- CE/CEFACT/OPCUA unitID=4408652
I can add the CFIHOS code to the alias list (we are doing this now), and it will solve our unit ingestion for CFIHOS codes.
We could create a similar standard, like OPCUA-4408652
But if I as a user need to find the unit for a specific code, it would be helpful if the unit code is also exposed via the CogniteUnit instance.
Today I can only access (alias list is not exposed in the data model)
| Field | Value |
| externalId | temperature:deg_c |
| name | DEG_C |
| description | Degree Celsius |
| symbol | °C |
| quantity | Temperature |
| source | qudt.org |
| sourceReference | https://qudt.org/vocab/unit/DEG_C |
| version | 2 |
| createdTime | 1724940140919 (2024-08-29 UTC) |
| lastUpdatedTime | 1777015910489 (2026-04-24 UTC) |
I will propose adding something like
standard_definitions: [CFIHOS-60001435, OPCUA-4408652]
Or potentially a property per standard (but that can grow a lot)
Check the
documentation
Ask the
Community
Take a look
at
Academy
Cognite
Status
Page
Contact
Cognite Support
