Hi.
I’m currently working on an application where we need to check if a node (PLC/PC) have updated any timeseries within x amounts of hours.
The way we do it now is to get all timeseries recorded values in a time range, and check if any timeseries have any values. If there is an value on one timeserie, then we consider the node alive.
This can be time consuming, since each node can several hundreds/thousands of timeseries.
So my question is if there is a way to get the latest recorded value in a collection of timeseries within a timerange? Or just a recorded value in a timerange for a collection of timeseries.
In Cognite, we have an asset hierarchy, which preferably would look like this:
Rig
- Node 1
- TimeSerie1
- TimeSerie2
- ...
- Node 2
- TimeSerie1
- TimeSerie2
- ...
- Node ...
- TimeSerie1
- TimeSerie2
- …
But the hierarchy could also be completely flat, where all the timeseries are connected to the Rig.
Our externalIds for the timeseries are:
rigNumber.NodeNumber.SignalNumber
So all timeseries with the same rignumber and nodenumber are for a specific node, even though this might not be reflected in the asset structure.
Pseudo query would typically be:
SELECT * WHERE RigNumber == X AND NodeNumber == Y AND TimeStamp Between A AND B
Check the
documentation
Ask the
Community
Take a look
at
Academy
Cognite
Status
Page
Contact
Cognite Support