Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

Introduction :

A time series  is a series of numerical values ​​representing the evolution of a specific quantity over time. this API allows easy management of these data.

Usage :

To use the spinalTimeSeries API, you must :

  • Install :


Code Block
languagebash
titleInstallation
npm install --save https://github.com/spinalcom/spinal-models-timeSeries.git

...

AttributesTypeDefault ValueDescription
idStrGenerate an uuida unique identifier of the timeSeries
nameStrTimeSeriesThe Name of the Time Series, its default value is "TimeSeries"
dataLstLstA list of TimeSeriesData , contains the dates and Values of the time series.
frequencyVal5the frequency of creating a new value of the time series, its in seconds
archiveTimeVal24Frequency of archiving all timeSeries data, its in hours
archivePtrLstA pointer to all archived data of the timeSeries

Methods :

addToTimeSeries(value)

takes as parameter a number (data to save ) and saves an object of type {date: saveDate, value: dataToSave} in timeSeries data.

ParamTypeDescriptionMandatory
ValuenumberValue To save yes

...

getTimeSeriesBetweenDates(argBeginDate, argEndDate)

Takes as parameters two dates (in millisecond or a date string in a valid format, preferably "year-month-day hours:minutes:seconds" for example : 2018-10-25 16:26:30 ) and returns a Array of all timeSeries between the two dates.

It returns an array of all timeSeries between argBeginDate and argEndDate

ParamTypeDescriptionMandatory
argBeginDateDateMust be a date in milisecond or in year-month-day hours:minutes:seconds formyes
argEndDateDatethe last date in milisecond or in year-month-day hours:minutes:seconds formatyes


Code Block
languagejs
titleExample

getDateValue(argDate) 

It Takes a date as params and return the data corresponding to this date, it returns an empty object if no data is associated with the date.

returns an object that contains the date and data corresponding to argDate.

ParamTypeDescriptionMandatory
argDateDateMust be a date in milisecond or in year-month-day hours:minutes:seconds formatyes

removeDate(dateToRemove) 

It takes a date as a params and remove and returns the data corresponding to this date. It returns the data corresponding to this date, returns undefined if no data found. 

ParamTypeDescriptionMandatory
dateToRemoveDateMust be a date in milisecond or in year-month-day hours:minutes:seconds formatyes

archiveDate(beginDate, [endDate])

this function takes as parameters two date (one optional), if both dates are given it archives all date between both (they even included) else it archives the date given.

ParamTypeDescriptionMandatory
beginDateDateMust be a date in milisecond or in year-month-day hours:minutes:seconds formatyes
[endDate]DateOptional, must be a date in milisecond or in year-month-day hours:minutes:seconds formatNo

getDateArchived()

this function allows to get all data archived, it returns a Promise.

archiveDataPerDay()

this function allows to archive the data of the timeSeries, by changing the attribute archiveTime you change the archiving frequency.