Skip to content

Data Stream

What is a Data Stream?

A Data Stream is a single piece of data being recorded from either an Asset or calculated from Kelvin SmartApps™. It is stored in the time series database in the Kelvin API.

Usually one Asset will have multiple data streams being recorded.

When setting up your Data Streams, it is important you plan your naming strategy properly before starting, to ensure you can easily filter and find your wanted data quickly.

Data Stream and Assets

You can get a good overview of Asset / Data Stream pair concept in this introduction video;

A Data Stream is linked to one or more Assets, signifying the flow of specific metric data related to that asset. Together, they provide a continuous or periodic record of key parameters indicative of an asset's performance, health, or status.

For example:

  • Pump (Asset):
    • Temperature (Data Stream): This stream monitors the operating temperature of the pump, capturing data in real-time or at set intervals.
    • Pressure (Data Stream): This stream measures the pressure of the fluid being pumped, again possibly in real-time or at defined intervals.
  • Motor (Asset):
    • Temperature (Data Stream): Monitors the operating temperature of the motor.
    • Speed (Data Stream): Captures data on the RPM speed at which the motor is running.
  • Production Process (Virtual Asset):
    • Efficiency (Data Stream): This could be a virtual data stream that calculates efficiency by combining real-time data from multiple sensors or devices on a production line.

Every piece of data that is recorded is specifically associated with an Asset and a Data Stream. This pair ensures that there's a clear traceability and context for each data point.

For example, if a temperature reading of 75°C is recorded at a certain timestamp, it would be associated with a specific motor (Asset) and its temperature monitoring (Data Stream). This provides clarity on what the data represents and where it originated.

By defining data collection in terms of Assets and Data Streams, organizations can achieve a structured and organized approach to monitoring and analyzing their industrial environments, whether dealing with physical machinery or virtual representations of processes. It ensures that data is not only collected but is meaningful, contextual, and can be used for informed decision-making, predictive maintenance, and other data-driven applications.


Reference

Field Description
Name Unique name identifier. It must contain only lowercase alphanumeric characters. The characters ., _ and - are allowed to separate words instead of a space BUT can not be at the beginning or end of the name.
Title The display name to show on the Kelvin UI. It can contain any characters, including spaces.
Type Determines if the data is directly derived from sensors or is processed/calculated. Allowed values: Measurement or Computed.
Semantic Type Provides context or deeper meaning behind the data, beyond just its format or structure. Check Kelvin API for the full list of available semantic types.
Data Type Specifies the kind of data in the stream. Allowed values: Boolean, Number, Object, String.
Unit Defines the measurement unit for data. Check Kelvin API for the full list of available units.
Description Optional description for the data stream, up to 200 characters.

Name

The unique name of the data stream. It must contain only lowercase alphanumeric characters.

The characters ., _ and - are allowed to separate words instead of a space BUT can not be at the beginning or end of the name.

The maximum length is 64 characters.

Title

The display name of the data stream. It can contain any characters, including spaces.

This is used to identify the data stream in the Kelvin UI.

The maximum length is 64 characters.

Type

There are two types of data streams:

  • Measurement: These represent direct data values derived from sensors or PLCs associated with physical assets at the edge. They are typically acquired using a Connection, utilizing industrial protocols.
  • Computed: These pertain to data values that have been processed or calculated. Often, these are gathered via a Kelvin SmartApp™, where computations, algorithms, or machine learning models generate new data insights.

Semantic Type

A semantic type for a data stream pertains to the deeper meaning or context behind the data being transmitted or processed. Unlike syntactic types, which primarily concern the format or structure of data (e.g., number, string, boolean), semantic types give insights into the nature, purpose, or origin of the data.

For instance, in an industrial setting, a data stream might be syntactically classified as a series of floating-point numbers. However, its semantic type could further define it as "Temperature" or "Pressure".

This is a non-exhaustive list shown to give you an idea of the options available. You can check the full list using the Kelvin API. You can also create your own Semantic Types through the Kelvin API.

Semantic Type Name Semantic Type
acceleration Acceleration
angle Angle
angular_acceleration Angular Acceleration
angular_velocity Angular Velocity
area Area
capacitance Capacitance
current Current
data_rate Data Rate
data_size Data Size
density Density
distance Distance
electric_charge Electric Charge
energy Energy
force Force
frequency Frequency
humidity Humidity
illuminance Illuminance
inductance Inductance
latitude Latitude
length Length
longitude Longitude
luminance Luminance
luminosity Luminosity
luminous_flux Luminous Flux
luminous_intensity Luminous Intensity
magnetic_flux Magnetic Flux
magnetic_induction Magnetic Induction
mass Mass
mass_flow_rate Mass Flow Rate
power Power
pressure Pressure
relative_humidity Relative Humidity
resistance Resistance
sound_pressure Sound Pressure
state State
temperature Temperature
thrust Thrust
timespan TimeSpan
torque Torque
velocity Velocity
voltage Voltage
volume Volume
volume_flow_rate Volume Flow Rate

Data Type

When setting up your Data Stream, it's essential to choose the appropriate Data Type that matches the kind of data you expect to receive.

Some Semantic Types are predefined and will automatically determine the Data Type for you. For instance, if you choose "Pressure" as the semantic type, the system will automatically set the data type to Number. In contrast, the "State" semantic type offers more flexibility and can be a Boolean, Number, or String. In such cases, you'll need to manually select the correct Data Type.

Below are the available primitive data types with brief descriptions and their respective ranges:

Option Description
Boolean Represents a binary state, either True or False
Number Uses a double precision floating point format.
Object Suitable for complex data structures, such as a Lufkin dynagraph card.
String Variable-length text.

Ensure that you pick the type that best aligns with the data you anticipate receiving to maintain data integrity and optimize processing.

Unit

This option is only available if the Data Type is Number.

You can check the full list of units available for your instance through the Kelvin API. You can also create your own units through the Kelvin API.

Unit Name Unit Symbol
acre Acre ac
ampere Ampere A
astronomical_unit Astronomical Unit au
bar Bar bar
bel Bel B
bit Bit Bit
bit_per_second Bit per Second bps
byte Byte Byte
byte_per_second Byte per Second B/s
candela Candela cd
candela_per_square_metre Candela per Square Metre cd/m²
centimetre Centimetre cm
centimetre_per_second Centimetre per Second cm/s
centimetre_per_second_squared Centimetre per Second Squared cm/s²
coulomb Coulomb C
cubic_centimetre Cubic Centimetre cm³
cubic_foot Cubic Foot ft³
cubic_inch Cubic Inch in³
cubic_metre Cubic Metre
day Day d
decibel Decibel dB
degree_celsius Degree Celsius °C
degree_fahrenheit Degree Fahrenheit °F
degree_of_arc Degree of Arc °
degree_per_second Degree per Second °/s
electronvolt Electronvolt eV
exbibit Exbibit Eibit
exbibit_per_second Exbibit per Second Eibit/s
exbibyte Exbibyte EiB
exbibyte_per_second Exbibyte per Second EiB/s
farad Farad F
fluid_ounce Fluid Ounce fl oz
foot Foot ft
footcandle Footcandle fc
g_force G-Force g
gallon Gallon gal
gibibit Gibibit Gibit
gibibit_per_second Gibibit per Second Gibit/s
gibibyte Gibibyte GiB
gibibyte_per_second Gibibyte per Second GiB/s
gigahertz Gigahertz GHz
gigajoule Gigajoule GJ
gigawatt Gigawatt GW
gram Gram g
gram_per_cubic_metre Gram per Cubic Metre g/m³
gram_per_hour Gram per Hour g/h
gram_per_second Gram per Second g/s
hectare Hectare ha
henry Henry H
hertz Hertz Hz
horsepower Horsepower hp
hour Hour h
inch Inch in
inches_of_mercury Inches of Mercury inHg
inches_of_water Inches of Water inH2O
joule Joule J
kelvin Kelvin K
kibibit Kibibit Kibit
kibibit_per_second Kibibit per Second Kibit/s
kibibyte Kibibyte KiB
kibibyte_per_second Kibibyte per Second KiB/s
kilogram Kilogram kg
kilogram_per_cubic_metre Kilogram per Cubic Metre kg/m³
kilogram_per_hour Kilogram per Hour kg/h
kilogram_per_second Kilogram per Second kg/s
kilohertz Kilohertz kHz
kilojoule Kilojoule kJ
kilometre Kilometre km
kilometre_per_hour Kilometre per Hour km/h
kilometre_per_second Kilometre per Second km/s
kiloohm Kiloohm
kilopascal Kilopascal kPa
kilovolt Kilovolt kV
kilowatt Kilowatt kW
kilowatt_hour Kilowatt Hour kWh
kilowatt_hour_per_year Kilowatt Hour per Year kWh/yr
knot Knot kt
litre Litre L
litre_per_hour Litre per Hour L/h
litre_per_second Litre per Second L/s
lumen Lumen lm
lux Lux lx
maxwell Maxwell Mx
mebibit Mebibit Mibit
mebibit_per_second Mebibit per Second Mibit/s
mebibyte Mebibyte MiB
mebibyte_per_second Mebibyte per Second MiB/s
megaelectronvolt Megaelectronvolt MeV
megahertz Megahertz MHz
megajoule Megajoule MJ
megaohm Megaohm
megavolt Megavolt MV
megawatt Megawatt MW
metre Metre m
metre_per_hour Metre per Hour m/h
metre_per_second Metre per Second m/s
metre_per_second_squared Metre per Second Squared m/s²
microampere Microampere μA
microfarad Microfarad μF
microgram Microgram μg
microhenry Microhenry μH
micrometre Micrometre μm
microsecond Microsecond μs
microvolt Microvolt μV
microwatt Microwatt μW
mile Mile mi
mile_per_hour Mile per Hour mi/h
mile_per_second Mile per Second mi/s
milliampere Milliampere mA
millibar Millibar mbar
millifarad Millifarad mF
milligram Milligram mg
millihenry Millihenry mH
millilitre Millilitre mL
millilitre_per_hour Millilitre per Hour mL/h
millilitre_per_second Millilitre per Second mL/s
millimetre Millimetre mm
millimetres_of_mercury Millimetres of Mercury mmHg
milliohm Milliohm
millisecond Millisecond ms
millivolt Millivolt mV
milliwatt Milliwatt mW
minute Minute min
nanofarad Nanofarad nF
nanometre Nanometre nm
nanosecond Nanosecond ns
nautical_mile Nautical Mile nmi
newton Newton N
newton_metre Newton Metre N·m
NULL NULL NULL
ohm Ohm Ω
ounce Ounce ozf
pascal Pascal Pa
percent Percent %
picofarad Picofarad pF
pound Pound lbf
pound_per_square_inch Pound per Square Inch psi
radian Radian rad
radian_per_second Radian per Second rad/s
radian_per_second_squared Radian per Second Squared rad/s²
revolution_per_minute Revolution per Minute rpm
revolution_per_second Revolution per Second rps
second Second s
second_of_arc Second of Arc '
slug Slug slug
square_centimetre Square Centimetre cm²
square_foot Square Foot ft²
square_inch Square Inch in²
square_kilometre Square Kilometre km²
square_metre Square Metre
square_millimetre Square Millimetre mm²
tebibit Tebibit Tibit
tebibit_per_second Tebibit per Second Tibit/s
tebibyte Tebibyte TiB
tebibyte_per_second Tebibyte per Second TiB/s
tesla Tesla T
ton Ton ton
tonne Tonne t
turn Turn rev
volt Volt V
watt Watt W
weber Weber Wb
year Year yr
yobibit Yobibit Yibit
yobibit_per_second Yobibit per Second Yibit/s
yobibyte Yobibyte YiB
yobibyte_per_second Yobibyte per Second YiB/s
zebibit Zebibit Zibit
zebibit_per_second Zebibit per Second Zibit/s
zebibyte Zebibyte ZiB
zebibyte_per_second Zebibyte per Second ZiB/s

Description

You can also optionally add a description to the data stream.

The maximum length is 200 characters.