Données de Télémétrie

Timeseries APIs

Les API Timeseries sont principalement utilisées lorsque vous souhaitez obtenir, pour un certain type de données, une tendance détaillée, ce qui vous permet d’effectuer des analyses et des représentations en temps réel, pour une fenêtre de temps personnalisée.

Ces types d’API sont toujours structurés comme suit:

Le path, qui permet de pointer vers les ressources souhaitées, nécessite toujours les paramètres suivants:

  • {power,frequency,wind,temperature,voltage,current,energy,kpis}: le type de ressource vers laquelle pointer. Ce paramètre ne précise pas les données réelles que vous souhaitez obtenir, mais la catégorie générale à laquelle appartiennent les données souhaitées (veuillez noter qu’un appel API n’accepte qu’une seule catégorie à la fois, il n’est actuellement pas possible de faire des appels BULK);
  • {entityID}: il peut s’agir d’un EID d’usine ou d’un appareil. Dans le premier cas, la valeur obtenue tient compte de l’agrégation de tous les appareils, pour lesquels cette valeur existe, au niveau de l’usine ; dans le second cas, la valeur obtenue fait référence à l’appareil unique d’intérêt;
  • {dataType}: représente les données réelles à obtenir. Les dataTypes disponibles varient selon les ressources pointées, une description détaillée est disponible directement dans la OpenAPIs Swagger;
  • {valuetype}: représente le type de critère d’agrégation avec lequel les données demandées sont à obtenir.

Les requêtes, qui permettent de filtrer les données demandées, nécessitent toujours les paramètres suivants:

  • {sampleSize}: définit le taux d’échantillonnage avec lequel obtenir les données. Plus le taux d’échantillonnage est long, il raccourcit la longueur du tableau de données obtenu en réponse (un sampleTime égal à Min5 aura plus d’échantillons dans le tableau de réponse qu’un sampleTime égal à Min15);
  • {startDate}: la borne inférieure qui permet de définir le début de la fenêtre temporelle d’intérêt. Son format est YYYYMMGG (eg: 20220321);
  • {endDate}: la borne supérieure qui permet de définir la fin de la fenêtre temporelle d’intérêt. Son format est YYYYMMGG (eg: 20220322) et il doit être temporellement postérieur au {startDate};
  • {timezone}: permet de guider l’appel de l’API vers une récupération correcte des données en fonction du fuseau horaire demandé.

Un appel timeseries fournit généralement un tableau de valeurs en réponses an array of values as response.
La longueur du tableau dépend directement de la valeur {sampleSize} et de la fenêtre temporelle définie par le {startDate} et {endDate} paramètres. Une fois qu’une fenêtre temporelle de référence a été définie, la valeur {sampleSize} tranchera cette fenêtre plus ou moins fréquemment modifiant ainsi par conséquent la longueur du tableau en réponse: plus le {sampleSize} moins la fenêtre temporelle sera découpée, ce qui entraînera moins d’éléments dans le tableau de réponse.
Il vaut la peine de regarder un exemple direct pour mieux expliquer ces concepts.

Le principe sur la présence/absence de certains champs dans les éléments de réponse d’une API timeseries (exprimé dans les dernières lignes de l’exemple ci-dessus) est d’une importance fondamentale : il ne s’applique pas uniquement dans le cas des futurs prélèvements, mais aussi et surtout en cas d’absence totale de données sur Aurora Vision. Cela permet d’apporter de la cohérence aux réponses obtenues des API de télémétries, car lorsque la valeur déposée est présente, cela signifie que cette valeur existe réellement sur Aurora Vision sinon elle ne serait pas présente.

Comme c’était le cas pour les appels agrégés, également pour les appels de séries chronologiques, le paramètre {valuetype} est d’une grande importance car il varie en fonction de la catégorie de ressources, donc de {dataType}, à obtenir et est également affecté par le {sampleSize}.

Pour un {dataType} appartenant à la catégorie {power,frequency,wind,temperature,voltage,current,kpis}, the {valueType} peut prendre trois valeurs différentes:

  • Maximum: renvoie la valeur maximale trouvée parmi tous les échantillons présents dans le temps {startDate} et {endDate} défini fenêtre, pour le {dataType};
  • Minimum: renvoie la valeur minimale trouvée parmi tous les échantillons présents dans le temps {startDate} et {endDate} défini fenêtre, pour le {dataType};
  • Average: renvoie la valeur moyenne de tous les échantillons présents dans la fenêtre temporelle {startDate} et {endDate} défini fenêtre, pour le {dataType};

REMARQUE: pour la catégorie kpis , les considérations ci-dessus ne sont valables que si les Power-Based KPIs sont appelés. Pour plus de détails, veuillez consulter OpenAPIs Swagger.


Regardons quelques cas d’utilisation, où nous considérons une installation ( entityID: 12345678 ) avec un seul onduleur enregistré ( entityID : 87654321 ):

Pour un {dataType} appartenant à la catégorie {energy,kpis}, le {valueType} peut prendre deux valeurs différentes:

  • Cumulative: renvoie la dernière valeur cumulée disponible dans la fenêtre temporelle {startDate} et {endDate} défini fenêtre, pour le {dataType};
  • Delta: renvoie la différence entre la dernière et la première valeur cumulée disponible dans le {startDate} et {endDate} défini fenêtre, pour le {dataType};

REMARQUE: pour la catégorie kpis , les considérations ci-dessus ne sont valables que si les Energy-Based KPIs sont appelés. Pour plus de détails, veuillez consulter OpenAPIs Swagger.


Regardons quelques cas d’utilisation, où nous considérons une installation ( entityID: 12345678 ) avec un seul onduleur enregistré ( entityID : 87654321 ):