The chat responses are generated using Generative AI technology for intuitive search and may not be entirely accurate. They are not intended as professional advice. For full details, including our use rights, privacy practices and potential export control restrictions, please refer to our Generative AI Service Terms of Use and Generative AI Service Privacy Information. As this is a test version, please let us know if something irritating comes up. Like you get recommended a chocolate fudge ice cream instead of an energy managing application. If that occurs, please use the feedback button in our contact form!
Skip to content

CSV

Structure

Senseye adopts a wide time series format, with a row per timestamp, and a column per measure:

example@1651147200.csv
DATETIME,temperature,current,product,run
2022-04-28T12:00:00+02:00,20,516,"A24",true
2022-04-28T12:30:15+02:00,21,489,"A24",true
2022-04-28T12:45:55+02:00,,502,"A24",false
2022-04-28T13:14:00+02:00,21,503,"A23",true

A file version of this example is available here.

The following describes the structure in further detail:

  • The first row must be a header, the first cell being DATETIME and the subsequent cells being the measures being recorded.
  • Subsequent rows collect data across the measures for a given timestamp.
  • Not every measure requires a data point per timestamp, in which case the cell should remain empty.
  • The DATETIME column should contain RFC3339 dates and times, including timezone - more details on the required format are available here.
  • Measure names must not be duplicated within the file (i.e. two columns shouldn't have the same header value).
  • Numbers must use a period (.) as the decimal separator.
  • Strings should be provided in quotation marks ("). Numeric strings, or strings containing scientific representations of numbers ("3e+00"), will be converted to numbers. However, we strongly suggest any number be sent as a number rather than in a string.
  • Boolean values should be either true or false
  • Each row must have the same number of columns as the header row.

File

Name

File names should be made up of two parts: the mapping ID for the sensor the data is for and a unique value to avoid collisions, separated by @. As an example: motorM32@1651149458.csv.

The initial section of the filename is used to route the data to the correct sensor based on the mapping ID. If a new mapping ID/filename is provided, Senseye will provision a new sensor associated with this mapping ID and route all future files using this mapping ID as the filename to the sensor. In the above example, the mapping ID would be motorM32.

The later section is included to avoid file collisions. We recommend using a unix timestamp, but any unique value is suitable. In the above example, the unix timestamp is 1651149458.

Size

Please limit CSV files to no more than 1MB each.

Encoding

The data file must use UTF-8 character encoding.