Hoppa till huvudinnehåll

Tidsseriedata

Tidsseriedata finns tillgängliga för översatta iotnodes. När en översatt iotnode uppdateras sparar Yggio numerisk och sträng data i en tidsseriedatabas.

Med hjälp av REST API:et kan du hämta tidsseriedata för ett specifikt attribut från en iotnode.

Följande är formatet för tidsseriedata för ett attribut av en iotnode:

[
{
"time": String,
"value": Number || String
},
...
]

time är ett ISO 8601-tidsstämpel. T.ex.: 2019-08-07T12:30:00.00Z. value är det sparade värdet.

Ställ in tidsintervall

Man kan välja att hämta data med ett fast tidsintervall mellan varje datapunkt. Detta kan vara önskvärt om en hög dataupplösning inte behövs. Det kan förbättra laddningstider och prestanda. Databasen använder då interpolation för att ställa in värdena för datapunkterna.

Om ett fast tidsintervall används kommer data att ha följande format:

[
{
"time": String,
"value": Number,
"min": Number,
"max": Number,
"stddev": Number
},
...
]

time är ett ISO 8601-tidsstämpel. T.ex.: 2019-08-07T12:30:00.00Z. value är det interpolerade värdet. min är värdet av den minsta punkten i interpolationsområdet. max är värdet av den största punkten i interpolationsområdet. stddev är standardavvikelsen för punkterna i interpolationsområdet.

Sampla ner data med ValueFunction

Funktionen valueFunction låter dig utföra operationer på data grupperade inom specifika tidsfönster. Detta kan vara användbart för att analysera datatrender över tid genom att sammanfatta datapunkterna inom varje fönster.

Stödda operationer

Följande operationer kan utföras med valueFunction:

  • mean: Beräknar medelvärdet av alla värden inom fönstret.
  • max: Hittar det högsta värdet inom fönstret.
  • min: Hittar det lägsta värdet inom fönstret.
  • first: Använder det första värdet inom fönstret.
  • last: Använder det sista värdet inom fönstret.
  • sum: Beräknar summan av alla värden inom fönstret.
  • count: Räknar antalet värden inom fönstret.
  • difference: Beräknar skillnaden mellan det första värdet i efterföljande fönster.

Definiera tidsfönstret

Tidsfönstret för valueFunction bestäms av alternativet "distance". Detta anger längden på varje fönster i antal sekunder. Svarformat

När du använder funktionen valueFunction kommer svaret att ha följande JSON-format:

[
{
"time": String,
"value": Number
},
...
]

time: En ISO 8601-tidsstämpel (t.ex. 2019-08-07T12:30:00.00Z) som anger början av tidsfönstret. value: Resultatet av den specificerade valueFunction-operationen för tidsfönstret.

Hantering av tomma fönster

Om det inte finns några datapunkter inom ett specificerat tidsfönster kommer det fönstret att hoppas över i svaret. Exempel

Här är ett exempel på svar för en API-förfrågan med valueFunction=mean och distance=3600 (1 timme):


[
{
"time": "2019-08-07T12:00:00.00Z",
"value": 23.5
},
{
"time": "2019-08-07T13:00:00.00Z",
"value": 19.8
},
...
]

I detta exempel är value vid varje tidsstämpel medelvärdet av alla värden inom det motsvarande en-timmes fönstret.