{"id":6885,"date":"2022-02-21T08:12:59","date_gmt":"2022-02-21T07:12:59","guid":{"rendered":"http:\/\/documentation-wp.hub.av.priv\/aurora-vision-apis\/user-guide\/telemetries-data\/"},"modified":"2022-05-23T12:52:19","modified_gmt":"2022-05-23T11:52:19","slug":"telemetries-data","status":"publish","type":"page","link":"http:\/\/documentation-wp.hub.av.priv\/fr\/aurora-vision-apis\/user-guide\/telemetries-data\/","title":{"rendered":"Donn\u00e9es de T\u00e9l\u00e9m\u00e9trie"},"content":{"rendered":"\n<div style=\"height:20px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<p>Le <code>Telemetry <\/code>et <code>KPIs <\/code>suites permettre l&rsquo;exploitation de plusieurs appels pour r\u00e9cup\u00e9rer les donn\u00e9es de t\u00e9l\u00e9m\u00e9trie d&rsquo;int\u00e9r\u00eat, \u00e0 la fois au niveau de l&rsquo;usine et\/ou de l&rsquo;appareil unique.<\/p>\n\n\n\n<p>Les API de ces suites sont divis\u00e9es, en fonction de la mod\u00e9lisation et de la pr\u00e9sentation des donn\u00e9es, en deux types principaux:<\/p>\n\n\n\n<ul><li><code>AGGREGATED<\/code>: permet d&rsquo;appeler le type de donn\u00e9es souhait\u00e9 (<code>dataType<\/code>) avec un crit\u00e8re d&rsquo;agr\u00e9gation (<code>valueType<\/code>) dans une fen\u00eatre temporelle d\u00e9finie (<code>startDate <\/code>&amp; <code>endDate<\/code>). Les appels de ce type renvoient toujours une valeur unique, agr\u00e9g\u00e9e en fonction de la <code>queryParameters<\/code>;<br><\/li><li><code>TIMESERIES<\/code>: permet d&rsquo;appeler le type souhait\u00e9 de donn\u00e9es (<code>dataType<\/code>) avec un crit\u00e8re d&rsquo;agr\u00e9gation (<code>valueType<\/code>) dans une fen\u00eatre temporelle d\u00e9finie (<code>startDate<\/code> &amp; <code>endDate<\/code>) et selon une fr\u00e9quence d&rsquo;\u00e9chantillonnage d\u00e9finie (<code>sampleTime<\/code>). Les appels de ce type renvoient toujours un tableau de valeurs, dont la longueur varie en fonction des <code>queryParameters<\/code>.<\/li><\/ul>\n\n\n\n<div style=\"height:10px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<p>Pour le d\u00e9veloppement d&rsquo;une logique m\u00e9tier tierce transparente et enti\u00e8rement int\u00e9gr\u00e9e, il est important de prendre en compte certains principes cl\u00e9s sur la manipulation et la pr\u00e9sentation des donn\u00e9es d&rsquo;Aurora Vision:<\/p>\n\n\n\n<div class=\"wp-block-columns\">\n<div class=\"wp-block-column\">\n<div class=\"wp-block-media-text alignwide is-stacked-on-mobile\" style=\"grid-template-columns:30% auto\"><figure class=\"wp-block-media-text__media\"><img loading=\"lazy\" width=\"276\" height=\"277\" src=\"http:\/\/documentation-wp.hub.av.priv\/wp-content\/uploads\/2022\/02\/puzzle_missing.png\" alt=\"\" class=\"wp-image-1132 size-full\" srcset=\"http:\/\/documentation-wp.hub.av.priv\/wp-content\/uploads\/2022\/02\/puzzle_missing.png 276w, http:\/\/documentation-wp.hub.av.priv\/wp-content\/uploads\/2022\/02\/puzzle_missing-150x150.png 150w\" sizes=\"(max-width: 276px) 100vw, 276px\" \/><\/figure><div class=\"wp-block-media-text__content\">\n<h2 class=\"has-medium-font-size\">Sampling<br>Time<\/h2>\n<\/div><\/div>\n\n\n\n<p>Aurora Vision effectue un <strong>stockage d&rsquo;\u00e9chantillons envoy\u00e9s au minimum toutes les 5 minutes<\/strong><em>,<\/em> il n&rsquo;est donc pas possible de demander des donn\u00e9es en dessous d&rsquo;un taux d&rsquo;\u00e9chantillonnage de 5 minutes.<\/p>\n<\/div>\n\n\n\n<div class=\"wp-block-column\">\n<div class=\"wp-block-media-text alignwide is-stacked-on-mobile\" style=\"grid-template-columns:30% auto\"><figure class=\"wp-block-media-text__media\"><img loading=\"lazy\" width=\"217\" height=\"217\" src=\"http:\/\/documentation-wp.hub.av.priv\/wp-content\/uploads\/2022\/03\/export.png\" alt=\"\" class=\"wp-image-5885 size-full\" srcset=\"http:\/\/documentation-wp.hub.av.priv\/wp-content\/uploads\/2022\/03\/export.png 217w, http:\/\/documentation-wp.hub.av.priv\/wp-content\/uploads\/2022\/03\/export-150x150.png 150w\" sizes=\"(max-width: 217px) 100vw, 217px\" \/><\/figure><div class=\"wp-block-media-text__content\">\n<h2 class=\"has-medium-font-size\">Power<br>Data<\/h2>\n<\/div><\/div>\n\n\n\n<p>Toutes les <strong>t\u00e9l\u00e9m\u00e9tries de puissance<\/strong> (<em>pour tout appareil compatible<\/em>) sont <strong>fournies sous la forme d&rsquo;une seule valeur dans les temps<\/strong>, qui change d&rsquo;un instant d&rsquo;\u00e9chantillonnage \u00e0 un autre.<\/p>\n<\/div>\n\n\n\n<div class=\"wp-block-column\">\n<div class=\"wp-block-media-text alignwide is-stacked-on-mobile\" style=\"grid-template-columns:38% auto\"><figure class=\"wp-block-media-text__media\"><img loading=\"lazy\" width=\"312\" height=\"245\" src=\"http:\/\/documentation-wp.hub.av.priv\/wp-content\/uploads\/2022\/03\/export-Copy.png\" alt=\"\" class=\"wp-image-5896 size-full\" srcset=\"http:\/\/documentation-wp.hub.av.priv\/wp-content\/uploads\/2022\/03\/export-Copy.png 312w, http:\/\/documentation-wp.hub.av.priv\/wp-content\/uploads\/2022\/03\/export-Copy-300x236.png 300w\" sizes=\"(max-width: 312px) 100vw, 312px\" \/><\/figure><div class=\"wp-block-media-text__content\">\n<h2 class=\"has-medium-font-size\">Energy<br>Data<\/h2>\n<\/div><\/div>\n\n\n\n<p>Toutes les <strong>t\u00e9l\u00e9m\u00e9tries d&rsquo;\u00e9nergie<\/strong> (<em><em>pour tout appareil compatible<\/em><\/em>) sont <strong>fournies de mani\u00e8re cumulative dans le temps<\/strong>, \u00e0 partir du premier instant o\u00f9 l&rsquo;appareil compatible a d\u00e9marr\u00e9 pour travailler efficacement.<\/p>\n<\/div>\n<\/div>\n\n\n\n<div style=\"height:10px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<p>Avec ces concepts, il est possible d&rsquo;analyser en d\u00e9tail les deux principaux types d&rsquo;appels de t\u00e9l\u00e9m\u00e9trie:<\/p>\n\n\n\n<ul><li>Sur la<strong>Page 2<\/strong> vous trouverez une analyse d\u00e9taill\u00e9e des API <code>Aggregated<\/code> APIs;<\/li><li>Sur la <strong>Page 3<\/strong> vous trouverez une analyse d\u00e9taill\u00e9e des API <code>Timeseries<\/code> APIs.<\/li><\/ul>\n\n\n\n<div style=\"height:10px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<p>Puisque le <code>Telemetry <\/code>et <code>KPIs <\/code>suites fournissent de nombreux <code>dataTypes <\/code>qui peuvent \u00eatre appel\u00e9s, un tableau complet avec une description pour chacun d&rsquo;eux est disponible \u00e0 la <strong>Page 4<\/strong>.<\/p>\n\n\n\n<div style=\"height:20px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<!--nextpage-->\n\n\n\n<div style=\"height:10px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<h2>Aggregated APIs<\/h2>\n\n\n\n<div style=\"height:10px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<p>Les API agr\u00e9g\u00e9es sont principalement utilis\u00e9es lorsque vous souhaitez obtenir, pour un certain type de donn\u00e9es, une seule valeur en r\u00e9ponse, qui permet de r\u00e9sumer une certaine tendance et\/ou r\u00e9sultat, pour une fen\u00eatre temporelle personnalis\u00e9e.<\/p>\n\n\n\n<p>Ces types d&rsquo;API sont toujours structur\u00e9s comme suit:<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" width=\"1024\" height=\"62\" src=\"http:\/\/documentation-wp.hub.av.priv\/wp-content\/uploads\/2022\/03\/agregated_api_block-1024x62.png\" alt=\"\" class=\"wp-image-6345\" srcset=\"http:\/\/documentation-wp.hub.av.priv\/wp-content\/uploads\/2022\/03\/agregated_api_block-1024x62.png 1024w, http:\/\/documentation-wp.hub.av.priv\/wp-content\/uploads\/2022\/03\/agregated_api_block-300x18.png 300w, http:\/\/documentation-wp.hub.av.priv\/wp-content\/uploads\/2022\/03\/agregated_api_block-768x47.png 768w, http:\/\/documentation-wp.hub.av.priv\/wp-content\/uploads\/2022\/03\/agregated_api_block-1536x93.png 1536w, http:\/\/documentation-wp.hub.av.priv\/wp-content\/uploads\/2022\/03\/agregated_api_block-2048x124.png 2048w\" sizes=\"(max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<p>Le path, qui permet de pointer vers les ressources souhait\u00e9es, n\u00e9cessite toujours les param\u00e8tres suivants:<\/p>\n\n\n\n<ul><li><code>{power,frequency,wind,temperature,voltage,current,energy,kpis}<\/code>: le type de ressource vers laquelle pointer. Ce param\u00e8tre ne pr\u00e9cise pas les donn\u00e9es r\u00e9elles que vous souhaitez obtenir, mais la cat\u00e9gorie g\u00e9n\u00e9rale \u00e0 laquelle appartiennent les donn\u00e9es souhait\u00e9es (<em>veuillez noter qu&rsquo;un appel API n&rsquo;accepte qu&rsquo;une seule cat\u00e9gorie \u00e0 la fois, il n&rsquo;est actuellement pas possible de faire des appels BULK<\/em>);<\/li><li><code>{entityID}<\/code>: il peut s&rsquo;agir d&rsquo;un EID d&rsquo;usine ou d&rsquo;un appareil. Dans le premier cas, la valeur obtenue tient compte de l&rsquo;agr\u00e9gation de tous les appareils, pour lesquels cette valeur existe, au niveau de l&rsquo;usine ; dans le second cas, la valeur obtenue fait r\u00e9f\u00e9rence \u00e0 l&rsquo;appareil unique d&rsquo;int\u00e9r\u00eat;<\/li><li><code>{dataType}<\/code>: repr\u00e9sente les donn\u00e9es r\u00e9elles \u00e0 obtenir. Les <code>dataTypes <\/code>disponibles varient selon les ressources point\u00e9es, une description d\u00e9taill\u00e9e est disponible directement dans la <a rel=\"noreferrer noopener\" href=\"http:\/\/documentation-wp.hub.av.priv\/fr\/aurora-vision-apis\/openapi-preview\/\" data-type=\"page\" data-id=\"74\" target=\"_blank\"><mark style=\"background-color:rgba(0, 0, 0, 0)\" class=\"has-inline-color has-vivid-cyan-blue-color\">OpenAPIs Swagger<\/mark><\/a>;<\/li><li><code>{valuetype}<\/code>: repr\u00e9sente le type de crit\u00e8re d&rsquo;agr\u00e9gation avec lequel les donn\u00e9es demand\u00e9es sont \u00e0 obtenir.<\/li><\/ul>\n\n\n\n<div style=\"height:10px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<p>Les requ\u00eates, qui permettent de filtrer les donn\u00e9es demand\u00e9es, n\u00e9cessitent toujours les param\u00e8tres suivants:<\/p>\n\n\n\n<ul><li><code>{startDate}<\/code>: la borne inf\u00e9rieure qui permet de d\u00e9finir le d\u00e9but de la fen\u00eatre temporelle d&rsquo;int\u00e9r\u00eat. Son format est <code>YYYYMMGG <\/code>(<em>eg: 20220321<\/em>);<\/li><li><code>{endDate}<\/code>: la borne sup\u00e9rieure qui permet de d\u00e9finir la fin de la fen\u00eatre temporelle d&rsquo;int\u00e9r\u00eat. Son format est <code>YYYYMMGG <\/code>(<em>eg: 20220322<\/em>) et il doit \u00eatre temporellement post\u00e9rieur au <code>{startDate}<\/code>;<\/li><li><code>{timezone}<\/code>: permet de guider l&rsquo;appel de l&rsquo;API vers une r\u00e9cup\u00e9ration correcte des donn\u00e9es en fonction du fuseau horaire demand\u00e9.<\/li><\/ul>\n\n\n\n<div style=\"height:20px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<p>Un appel agr\u00e9g\u00e9 fournit toujours une seule valeur comme r\u00e9ponse, qui est manipul\u00e9e en fonction de la fen\u00eatre horaire et du fuseau horaire indiqu\u00e9s. Dans ce contexte, le param\u00e8tre <code>{valuetype}<\/code> a une grande importance car il varie selon la cat\u00e9gorie de ressources, donc de <code>{dataType}<\/code>, \u00e0 obtenir.<\/p>\n\n\n\n<p>Pour un <code>{dataType}<\/code> appartenant \u00e0 la cat\u00e9gorie <code>{power,frequency,wind,temperature,voltage,current,kpis}<\/code>, le <code>{valueType}<\/code> peut prendre trois valeurs diff\u00e9rentes:<\/p>\n\n\n\n<ul><li><code>Maximum<\/code>: renvoie la valeur maximale trouv\u00e9e parmi tous les \u00e9chantillons pr\u00e9sents dans le temps <code>{startDate} <\/code>et<code> {endDate}<\/code> d\u00e9fini fen\u00eatre, pour le <code>{dataType}<\/code>;<\/li><li><code>Minimum<\/code>: renvoie la valeur minimale trouv\u00e9e parmi tous les \u00e9chantillons pr\u00e9sents dans le temps <code>{startDate} <\/code>et <code>{endDate}<\/code> d\u00e9fini fen\u00eatre, pour le <code>{dataType}<\/code>;<\/li><li><code>Average<\/code>: renvoie la valeur moyenne de tous les \u00e9chantillons pr\u00e9sents dans la fen\u00eatre temporelle <code>{startDate} <\/code>et <code>{endDate}<\/code> d\u00e9fini fen\u00eatre, pour le <code>{dataType}<\/code>;<\/li><\/ul>\n\n\n\n<hr class=\"wp-block-separator is-style-wide\"\/>\n\n\n\n<p><strong>REMARQUE:<\/strong>&nbsp;<em>pour la cat\u00e9gorie<\/em><code> kpis<\/code><em> , les consid\u00e9rations ci-dessus ne sont valables que si les <strong>Power-Based KPIs<\/strong> sont appel\u00e9s. Pour plus de d\u00e9tails, veuillez consulter<\/em> <a rel=\"noreferrer noopener\" href=\"http:\/\/documentation-wp.hub.av.priv\/fr\/aurora-vision-apis\/openapi-preview\/\" data-type=\"page\" data-id=\"74\" target=\"_blank\"><em><mark style=\"background-color:rgba(0, 0, 0, 0)\" class=\"has-inline-color has-vivid-cyan-blue-color\">OpenAPIs Swagger<\/mark><\/em><\/a>.<\/p>\n\n\n\n<hr class=\"wp-block-separator is-style-wide\"\/>\n\n\n\n<p>Regardons quelques cas d&rsquo;utilisation, o\u00f9 nous consid\u00e9rons une installation ( <code>entityID<\/code>: <em>12345678 <\/em>) avec un seul onduleur enregistr\u00e9 ( <code>entityID<\/code> : <em>87654321 <\/em>):<\/p>\n\n\n\n<div class=\"wp-block-columns alignwide\">\n<div class=\"wp-elements-1 wp-block-column has-text-color has-background has-link-color\" style=\"background-color:#eeeeee;color:#000000;padding-top:2em;padding-right:2em;padding-bottom:2em;padding-left:2em\">\n<h2 style=\"font-size:40px\">Use Case 1<\/h2>\n\n\n\n<p>Je veux obtenir la valeur maximale, trouv\u00e9e le jour de l&rsquo;\u00e9quinoxe de printemps, de la puissance g\u00e9n\u00e9r\u00e9e par l&rsquo;usine.<\/p>\n\n\n\n<hr class=\"wp-block-separator is-style-wide\"\/>\n\n\n\n<p><strong>Analyse des Probl\u00e8mes<\/strong><\/p>\n\n\n\n<p>Consid\u00e9rant que le rapport entre l&rsquo;usine et les appareils enregistr\u00e9s est de 1:1, je peux indiff\u00e9remment saisir l&rsquo; <code>entityID<\/code> de l&rsquo;un des deux. Je veux la puissance produite, je vais donc pointer les ressources de la cat\u00e9gorie <code>power <\/code>et demander la <code>GenerationPower<\/code>.<\/p>\n\n\n\n<hr class=\"wp-block-separator is-style-wide\"\/>\n\n\n\n<h2 class=\"has-text-align-center has-medium-font-size\">Request<\/h2>\n\n\n\n<p><code>GET&nbsp;&nbsp;&nbsp;https:\/\/api.auroravision.net\/api\/rest\/v1\/stats\/power\/aggregated\/12345678\/GenerationPower\/maximum?startDate=20220321&amp;endDate=20220322&amp;timeZone=Europe\/Rome<\/code><\/p>\n\n\n\n<hr class=\"wp-block-separator is-style-wide\"\/>\n\n\n\n<h2 class=\"has-text-align-center has-medium-font-size\">Response<\/h2>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" width=\"1024\" height=\"164\" src=\"http:\/\/documentation-wp.hub.av.priv\/wp-content\/uploads\/2022\/03\/aggregated_usecase1-1024x164.png\" alt=\"\" class=\"wp-image-6364\" srcset=\"http:\/\/documentation-wp.hub.av.priv\/wp-content\/uploads\/2022\/03\/aggregated_usecase1-1024x164.png 1024w, http:\/\/documentation-wp.hub.av.priv\/wp-content\/uploads\/2022\/03\/aggregated_usecase1-300x48.png 300w, http:\/\/documentation-wp.hub.av.priv\/wp-content\/uploads\/2022\/03\/aggregated_usecase1-768x123.png 768w, http:\/\/documentation-wp.hub.av.priv\/wp-content\/uploads\/2022\/03\/aggregated_usecase1.png 1147w\" sizes=\"(max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n<\/div>\n\n\n\n<div class=\"wp-elements-2 wp-block-column has-text-color has-background has-link-color\" style=\"background-color:#eeeeee;color:#000000;padding-top:2em;padding-right:2em;padding-bottom:2em;padding-left:2em\">\n<h2 style=\"font-size:40px\">Use Case 2<\/h2>\n\n\n\n<p>Je veux obtenir la valeur moyenne, le jour de l&rsquo;\u00e9quinoxe de printemps, de toute la tension mesur\u00e9e par l&rsquo;onduleur.<\/p>\n\n\n\n<hr class=\"wp-block-separator is-style-wide\"\/>\n\n\n\n<p><strong>ProAnalyse des Probl\u00e8mes<\/strong><\/p>\n\n\n\n<p>Consid\u00e9rant que le rapport entre l&rsquo;usine et les appareils enregistr\u00e9s est de 1:1, je peux indiff\u00e9remment saisir l&rsquo; <code>entityID<\/code> de l&rsquo;un des deux. Je veux la tension, je vais donc pointer les ressources de la cat\u00e9gorie <code>voltage <\/code>and et demander la <code>Voltage<\/code>.<\/p>\n\n\n\n<hr class=\"wp-block-separator is-style-wide\"\/>\n\n\n\n<h2 class=\"has-text-align-center has-medium-font-size\">Request<\/h2>\n\n\n\n<p><code>GET&nbsp;&nbsp;&nbsp;https:\/\/api.auroravision.net\/api\/rest\/v1\/stats\/voltage\/aggregated\/87654321\/Voltage\/average?startDate=20220321&amp;endDate=20220322&amp;timeZone=Europe\/Rome<\/code><\/p>\n\n\n\n<hr class=\"wp-block-separator is-style-wide\"\/>\n\n\n\n<h2 class=\"has-text-align-center has-medium-font-size\">Response<\/h2>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" width=\"1024\" height=\"160\" src=\"http:\/\/documentation-wp.hub.av.priv\/wp-content\/uploads\/2022\/03\/aggregated_usecase2-1024x160.png\" alt=\"\" class=\"wp-image-6372\" srcset=\"http:\/\/documentation-wp.hub.av.priv\/wp-content\/uploads\/2022\/03\/aggregated_usecase2-1024x160.png 1024w, http:\/\/documentation-wp.hub.av.priv\/wp-content\/uploads\/2022\/03\/aggregated_usecase2-300x47.png 300w, http:\/\/documentation-wp.hub.av.priv\/wp-content\/uploads\/2022\/03\/aggregated_usecase2-768x120.png 768w, http:\/\/documentation-wp.hub.av.priv\/wp-content\/uploads\/2022\/03\/aggregated_usecase2.png 1150w\" sizes=\"(max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n<\/div>\n<\/div>\n\n\n\n<div style=\"height:21px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<p>Pour un <code>{dataType}<\/code> appartenant \u00e0 la cat\u00e9gorie <code>{energy,kpis}<\/code>, le <code>{valueType}<\/code> peut prendre deux valeurs diff\u00e9rentes:<\/p>\n\n\n\n<ul><li><code>Cumulative<\/code>: renvoie la derni\u00e8re valeur cumul\u00e9e disponible dans la fen\u00eatre temporelle <code>{startDate} <\/code>et <code>{endDate}<\/code> d\u00e9fini fen\u00eatre, pour le <code>{dataType}<\/code>;<\/li><li><code>Delta<\/code>: renvoie la diff\u00e9rence entre la derni\u00e8re et la premi\u00e8re valeur cumul\u00e9e disponible dans le <code>{startDate} <\/code>et <code>{endDate}<\/code> d\u00e9fini fen\u00eatre, pour le <code>{dataType}<\/code>;<\/li><\/ul>\n\n\n\n<hr class=\"wp-block-separator is-style-wide\"\/>\n\n\n\n<p><strong>REMARQUE:<\/strong>&nbsp;<em><em>pour la cat\u00e9gorie<\/em><code> kpis<\/code><em> , les consid\u00e9rations ci-dessus ne sont valables que si les<\/em> <strong>Energy-Based KPIs<\/strong> <em>sont appel\u00e9s. Pour plus de d\u00e9tails, veuillez consulter<\/em> <a rel=\"noreferrer noopener\" href=\"http:\/\/documentation-wp.hub.av.priv\/fr\/aurora-vision-apis\/openapi-preview\/\" data-type=\"page\" data-id=\"74\" target=\"_blank\"><em><mark style=\"background-color:rgba(0, 0, 0, 0)\" class=\"has-inline-color has-vivid-cyan-blue-color\">OpenAPIs Swagger<\/mark><\/em><\/a><\/em>.<\/p>\n\n\n\n<hr class=\"wp-block-separator is-style-wide\"\/>\n\n\n\n<p>Regardons quelques cas d&rsquo;utilisation, o\u00f9 nous consid\u00e9rons une installation ( <code>entityID<\/code>: <em>12345678 <\/em>) avec un seul onduleur enregistr\u00e9 ( <code>entityID<\/code> : <em>87654321 <\/em>):<\/p>\n\n\n\n<div class=\"wp-block-columns alignwide\">\n<div class=\"wp-elements-3 wp-block-column has-text-color has-background has-link-color\" style=\"background-color:#eeeeee;color:#000000;padding-top:2em;padding-right:2em;padding-bottom:2em;padding-left:2em\">\n<h2 style=\"font-size:40px\">Use Case 1<\/h2>\n\n\n\n<p>Je souhaite obtenir l&rsquo;\u00e9nergie g\u00e9n\u00e9r\u00e9e par l&rsquo;usine depuis le d\u00e9but de sa production jusqu&rsquo;au jour de l&rsquo;\u00e9quinoxe de printemps..<\/p>\n\n\n\n<hr class=\"wp-block-separator is-style-wide\"\/>\n\n\n\n<p><strong><strong>Analyse des Probl\u00e8mes<\/strong><\/strong><\/p>\n\n\n\n<p>Consid\u00e9rant que le rapport entre l&rsquo;usine et les appareils enregistr\u00e9s est de 1:1, je peux indiff\u00e9remment saisir l&rsquo; <code>entityID<\/code> de l&rsquo;un des deux. Je veux l&rsquo;\u00e9nergie produite jusqu&rsquo;\u00e0 pr\u00e9sent par la centrale, je vais donc pointer les ressources de la cat\u00e9gorie <code>energy <\/code>et demander le <code>cumulative <\/code>de la <code>GenerationEnergy<\/code>.<\/p>\n\n\n\n<hr class=\"wp-block-separator is-style-wide\"\/>\n\n\n\n<h2 class=\"has-text-align-center has-medium-font-size\">Request<\/h2>\n\n\n\n<p><code>GET&nbsp;&nbsp;&nbsp;https:\/\/api.auroravision.net\/api\/rest\/v1\/stats\/energy\/aggregated\/12345678\/GenerationEnergy\/cumulative?startDate=20220321&amp;endDate=20220322&amp;timeZone=Europe\/Rome<\/code><\/p>\n\n\n\n<hr class=\"wp-block-separator is-style-wide\"\/>\n\n\n\n<h2 class=\"has-text-align-center has-medium-font-size\">Response<\/h2>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" width=\"1024\" height=\"161\" src=\"http:\/\/documentation-wp.hub.av.priv\/wp-content\/uploads\/2022\/03\/aggregated_usecase3-1024x161.png\" alt=\"\" class=\"wp-image-6381\" srcset=\"http:\/\/documentation-wp.hub.av.priv\/wp-content\/uploads\/2022\/03\/aggregated_usecase3-1024x161.png 1024w, http:\/\/documentation-wp.hub.av.priv\/wp-content\/uploads\/2022\/03\/aggregated_usecase3-300x47.png 300w, http:\/\/documentation-wp.hub.av.priv\/wp-content\/uploads\/2022\/03\/aggregated_usecase3-768x121.png 768w, http:\/\/documentation-wp.hub.av.priv\/wp-content\/uploads\/2022\/03\/aggregated_usecase3.png 1146w\" sizes=\"(max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n<\/div>\n\n\n\n<div class=\"wp-elements-4 wp-block-column has-text-color has-background has-link-color\" style=\"background-color:#eeeeee;color:#000000;padding-top:2em;padding-right:2em;padding-bottom:2em;padding-left:2em\">\n<h2 style=\"font-size:40px\">Use Case 2<\/h2>\n\n\n\n<p>I want to obtain the energy generated on the day of the spring equinox, by the inverter.<\/p>\n\n\n\n<hr class=\"wp-block-separator is-style-wide\"\/>\n\n\n\n<p><strong><strong>Analyse des Probl\u00e8mes<\/strong><\/strong><\/p>\n\n\n\n<p>Consid\u00e9rant que le rapport entre l&rsquo;usine et les appareils enregistr\u00e9s est de 1:1, je peux indiff\u00e9remment saisir l&rsquo; <code>entityID<\/code> de l&rsquo;un des deux. Je veux l&rsquo;\u00e9nergie g\u00e9n\u00e9r\u00e9e le jour de l&rsquo;\u00e9quinoxe de printemps uniquement, je vais donc pointer les ressources de la cat\u00e9gorie <code>energy <\/code>et demander le <code>delta <\/code>de la <code>GenerationEnergy<\/code>.<\/p>\n\n\n\n<hr class=\"wp-block-separator is-style-wide\"\/>\n\n\n\n<h2 class=\"has-text-align-center has-medium-font-size\">Request<\/h2>\n\n\n\n<p><code>GET&nbsp;&nbsp;&nbsp;https:\/\/api.auroravision.net\/api\/rest\/v1\/stats\/energy\/aggregated\/87654321\/GenerationEnergy\/delta?startDate=20220321&amp;endDate=20220322&amp;timeZone=Europe\/Rome<\/code><\/p>\n\n\n\n<hr class=\"wp-block-separator is-style-wide\"\/>\n\n\n\n<h2 class=\"has-text-align-center has-medium-font-size\">Response<\/h2>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" width=\"1024\" height=\"156\" src=\"http:\/\/documentation-wp.hub.av.priv\/wp-content\/uploads\/2022\/03\/aggregated_usecase4-1024x156.png\" alt=\"\" class=\"wp-image-6389\" srcset=\"http:\/\/documentation-wp.hub.av.priv\/wp-content\/uploads\/2022\/03\/aggregated_usecase4-1024x156.png 1024w, http:\/\/documentation-wp.hub.av.priv\/wp-content\/uploads\/2022\/03\/aggregated_usecase4-300x46.png 300w, http:\/\/documentation-wp.hub.av.priv\/wp-content\/uploads\/2022\/03\/aggregated_usecase4-768x117.png 768w, http:\/\/documentation-wp.hub.av.priv\/wp-content\/uploads\/2022\/03\/aggregated_usecase4.png 1150w\" sizes=\"(max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n<\/div>\n<\/div>\n\n\n\n<!--nextpage-->\n\n\n\n<h2>Timeseries APIs<\/h2>\n\n\n\n<div style=\"height:10px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<p>Les API Timeseries sont principalement utilis\u00e9es lorsque vous souhaitez obtenir, pour un certain type de donn\u00e9es, une tendance d\u00e9taill\u00e9e, ce qui vous permet d&rsquo;effectuer des analyses et des repr\u00e9sentations en temps r\u00e9el, pour une fen\u00eatre de temps personnalis\u00e9e.<\/p>\n\n\n\n<p>Ces types d&rsquo;API sont toujours structur\u00e9s comme suit:<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" width=\"1024\" height=\"61\" src=\"http:\/\/documentation-wp.hub.av.priv\/wp-content\/uploads\/2022\/03\/timeseries_api_block-1024x61.png\" alt=\"\" class=\"wp-image-6353\" srcset=\"http:\/\/documentation-wp.hub.av.priv\/wp-content\/uploads\/2022\/03\/timeseries_api_block-1024x61.png 1024w, http:\/\/documentation-wp.hub.av.priv\/wp-content\/uploads\/2022\/03\/timeseries_api_block-300x18.png 300w, http:\/\/documentation-wp.hub.av.priv\/wp-content\/uploads\/2022\/03\/timeseries_api_block-768x46.png 768w, http:\/\/documentation-wp.hub.av.priv\/wp-content\/uploads\/2022\/03\/timeseries_api_block-1536x92.png 1536w, http:\/\/documentation-wp.hub.av.priv\/wp-content\/uploads\/2022\/03\/timeseries_api_block-2048x123.png 2048w\" sizes=\"(max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<p>Le path, qui permet de pointer vers les ressources souhait\u00e9es, n\u00e9cessite toujours les param\u00e8tres suivants:<\/p>\n\n\n\n<ul><li><code><code>{power,frequency,wind,temperature,voltage,current,energy,kpis}<\/code>: <\/code>le type de ressource vers laquelle pointer. Ce param\u00e8tre ne pr\u00e9cise pas les donn\u00e9es r\u00e9elles que vous souhaitez obtenir, mais la cat\u00e9gorie g\u00e9n\u00e9rale \u00e0 laquelle appartiennent les donn\u00e9es souhait\u00e9es (<em>veuillez noter qu&rsquo;un appel API n&rsquo;accepte qu&rsquo;une seule cat\u00e9gorie \u00e0 la fois, il n&rsquo;est actuellement pas possible de faire des appels BULK<\/em>);<\/li><li><code><code>{entityID}<\/code>: <\/code>il peut s&rsquo;agir d&rsquo;un EID d&rsquo;usine ou d&rsquo;un appareil. Dans le premier cas, la valeur obtenue tient compte de l&rsquo;agr\u00e9gation de tous les appareils, pour lesquels cette valeur existe, au niveau de l&rsquo;usine ; dans le second cas, la valeur obtenue fait r\u00e9f\u00e9rence \u00e0 l&rsquo;appareil unique d&rsquo;int\u00e9r\u00eat<code>;<\/code><\/li><li><code><code>{dataType}<\/code>: <\/code>repr\u00e9sente les donn\u00e9es r\u00e9elles \u00e0 obtenir. Les<code> <code>dataTypes <\/code><\/code>disponibles varient selon les ressources point\u00e9es, une description d\u00e9taill\u00e9e est disponible directement dans la<code> <a rel=\"noreferrer noopener\" href=\"http:\/\/documentation-wp.hub.av.priv\/fr\/aurora-vision-apis\/openapi-preview\/\" data-type=\"page\" data-id=\"74\" target=\"_blank\"><mark style=\"background-color:rgba(0, 0, 0, 0)\" class=\"has-inline-color has-vivid-cyan-blue-color\">OpenAPIs Swagger<\/mark><\/a>;<\/code><\/li><li><code><code>{valuetype}<\/code>: <\/code>repr\u00e9sente le type de crit\u00e8re d&rsquo;agr\u00e9gation avec lequel les donn\u00e9es demand\u00e9es sont \u00e0 obtenir<code>.<\/code><\/li><\/ul>\n\n\n\n<div style=\"height:10px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<p>Les requ\u00eates, qui permettent de filtrer les donn\u00e9es demand\u00e9es, n\u00e9cessitent toujours les param\u00e8tres suivants:<\/p>\n\n\n\n<ul><li><code>{sampleSize}<\/code>: d\u00e9finit le taux d&rsquo;\u00e9chantillonnage avec lequel obtenir les donn\u00e9es. Plus le taux d&rsquo;\u00e9chantillonnage est long, il raccourcit la longueur du tableau de donn\u00e9es obtenu en r\u00e9ponse (<em>un <\/em><code> sampleTime<\/code><em> \u00e9gal \u00e0<\/em><code> Min5<\/code><em> aura plus d&rsquo;\u00e9chantillons dans le tableau de r\u00e9ponse qu&rsquo;un<\/em><code>  sampleTime<\/code> <em><em>\u00e9gal \u00e0<\/em><\/em><code> Min15<\/code>);<\/li><li><code><code>{startDate}<\/code>: <\/code>la borne inf\u00e9rieure qui permet de d\u00e9finir le d\u00e9but de la fen\u00eatre temporelle d&rsquo;int\u00e9r\u00eat. Son format est<code> <code>YYYYMMGG <\/code>(<em>eg: 20220321<\/em>);<\/code><\/li><li><code><code>{endDate}<\/code>: <\/code>la borne sup\u00e9rieure qui permet de d\u00e9finir la fin de la fen\u00eatre temporelle d&rsquo;int\u00e9r\u00eat. Son format est<code> <code>YYYYMMGG <\/code>(<em>eg: 20220322<\/em>) et il doit \u00eatre temporellement post\u00e9rieur au <code>{startDate}<\/code>;<\/code><\/li><li><code><code>{timezone}<\/code>: <\/code>permet de guider l&rsquo;appel de l&rsquo;API vers une r\u00e9cup\u00e9ration correcte des donn\u00e9es en fonction du fuseau horaire demand\u00e9.<\/li><\/ul>\n\n\n\n<div style=\"height:20px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<p>Un appel timeseries fournit g\u00e9n\u00e9ralement un tableau de valeurs en r\u00e9ponses an array of values as response.<br>La longueur du tableau d\u00e9pend directement de la valeur <code>{sampleSize}<\/code> et de la fen\u00eatre temporelle d\u00e9finie par le <code>{startDate}<\/code> et <code>{endDate}<\/code> param\u00e8tres. Une fois qu&rsquo;une fen\u00eatre temporelle de r\u00e9f\u00e9rence a \u00e9t\u00e9 d\u00e9finie, la valeur <code>{sampleSize}<\/code> tranchera cette fen\u00eatre plus ou moins fr\u00e9quemment modifiant ainsi par cons\u00e9quent la longueur du tableau en r\u00e9ponse: plus le <code>{sampleSize}<\/code> moins la fen\u00eatre temporelle sera d\u00e9coup\u00e9e, ce qui entra\u00eenera moins d&rsquo;\u00e9l\u00e9ments dans le tableau de r\u00e9ponse.<br>Il vaut la peine de regarder un exemple direct pour mieux expliquer ces concepts.<\/p>\n\n\n\n<div class=\"wp-block-columns alignwide\">\n<div class=\"wp-elements-5 wp-block-column has-text-color has-background has-link-color\" style=\"background-color:#eeeeee;color:#000000;padding-top:2em;padding-right:2em;padding-bottom:2em;padding-left:2em\">\n<h2 class=\"has-medium-font-size\">Example<\/h2>\n\n\n\n<p>Supposons que nous voulons repr\u00e9senter la tendance en temps r\u00e9el de la puissance produite par un onduleur, au cours de la journ\u00e9e en cours (<em>supposons que nous sommes \u00e0 l&rsquo;\u00e9quinoxe de printemps<\/em>). La meilleure solution est d&rsquo;utiliser une API Timeseries, qui aura la structure g\u00e9n\u00e9rale suivante:<\/p>\n\n\n\n<p><code>https:\/\/api.auroravision.net\/api\/rest\/v1\/stats\/{power,frequency,wind,temperature,voltage,current,energy,kpis}\/timeseries\/12345678\/{dataType}\/{valueType}?{sampleSize}&amp;{startDate}&amp;{endDate}&amp;{timeZone}<\/code><\/p>\n\n\n\n<p>Dans la structure g\u00e9n\u00e9rique ci-dessus, nous savons que:<\/p>\n\n\n\n<ol><li>La cat\u00e9gorie de ressources \u00e0 viser est <code>{power}<\/code> et, dans cette cat\u00e9gorie, le <code>{dataType}<\/code> \u00e0 appeler est le;<\/li><li>Le <code>{valueType} <\/code>\u00e0 appeler est l&rsquo;un des <code>Maximum<\/code>, <code>Minimum<\/code> et <code>Moyenne<\/code> <em>(veuillez vous r\u00e9f\u00e9rer \u00e0 l&rsquo;analyse d\u00e9taill\u00e9e plus bas<\/em>)&nbsp;;<\/li><li>La fen\u00eatre horaire est le jour de l&rsquo;\u00e9quinoxe de printemps, donc <code>{startDate}<\/code> sera 20220321 et <code>{endDate}<\/code> sera 20220322&nbsp;;<\/li><\/ol>\n\n\n\n<p>Cela am\u00e8ne notre appel \u00e0 prendre la forme suivante:<\/p>\n\n\n\n<p><code>https:\/\/api.auroravision.net\/api\/rest\/v1\/stats\/power\/timeseries\/12345678\/GenerationPower\/average?{sampleSize}&amp;startDate=20220321&amp;endDate=20220322&amp;{timeZone}<\/code><\/p>\n\n\n\n<p>Le param\u00e8tre <code>{sampleSize}<\/code> peut avoir les valeurs suivantes:<\/p>\n\n\n\n<ul><li><code>Min5<\/code>: la fen\u00eatre de temps est d\u00e9coup\u00e9e toutes les 5 minutes, en prenant chaque \u00e9chantillon enregistr\u00e9 sur Aurora Vision (<em>voir page 1<\/em>) ;<\/li><li><code>Min15<\/code>: la fen\u00eatre temporelle est d\u00e9coup\u00e9e toutes les 15&nbsp;minutes, 3 \u00e9chantillons Aurora Vision sont inclus pour chaque tranche&nbsp;;<\/li><li><code>Min30<\/code>: la fen\u00eatre temporelle est d\u00e9coup\u00e9 toutes les 30&nbsp;minutes, 6&nbsp;\u00e9chantillons Aurora&nbsp;Vision sont inclus pour chaque tranche&nbsp;;<\/li><li><code>Hour<\/code>: la fen\u00eatre temporelle est d\u00e9coup\u00e9e toutes les 60&nbsp;minutes, 12&nbsp;\u00e9chantillons Aurora&nbsp;Vision sont inclus pour chaque tranche&nbsp;;<\/li><li><code>Day<\/code>: la fen\u00eatre horaire est d\u00e9coup\u00e9e chaque jour, 288&nbsp;\u00e9chantillons Aurora Vision sont inclus pour chaque tranche&nbsp;;<\/li><li><code>Month<\/code>: la fen\u00eatre temporelle est d\u00e9coup\u00e9e chaque mois&nbsp;;<\/li><li><code>Year<\/code>: la fen\u00eatre temporelle est d\u00e9coup\u00e9e chaque ann\u00e9e.<\/li><\/ul>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" width=\"1024\" height=\"576\" src=\"http:\/\/documentation-wp.hub.av.priv\/wp-content\/uploads\/2022\/03\/sampling_chart-1-1024x576.jpg\" alt=\"\" class=\"wp-image-6465\" srcset=\"http:\/\/documentation-wp.hub.av.priv\/wp-content\/uploads\/2022\/03\/sampling_chart-1-1024x576.jpg 1024w, http:\/\/documentation-wp.hub.av.priv\/wp-content\/uploads\/2022\/03\/sampling_chart-1-300x169.jpg 300w, http:\/\/documentation-wp.hub.av.priv\/wp-content\/uploads\/2022\/03\/sampling_chart-1-768x432.jpg 768w, http:\/\/documentation-wp.hub.av.priv\/wp-content\/uploads\/2022\/03\/sampling_chart-1.jpg 1280w\" sizes=\"(max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<p>Puisque nous souhaitons repr\u00e9senter la tendance de puissance en temps r\u00e9el, aussi souvent que possible, nous choisissons de d\u00e9finir <code>{sampleSize}<\/code> sur <code>Min5<\/code> (<em> cela n&rsquo;aurait aucun sens de saisir une valeur sup\u00e9rieure \u00e0 celle de la fen\u00eatre horaire choisie<\/em>) et de d\u00e9finir le param\u00e8tre <code>{timeZone}<\/code> sur <code>Europe\/Rome<\/code>&nbsp;:<!-- p--><\/p>\n\n\n\n<p><code>https:\/\/api.auroravision.net\/api\/rest\/v1\/stats\/<code>power<\/code>\/timeseries\/12345678\/GenerationPower\/average?<code>sampleSize=Min5<\/code>&amp;startDate=20220321&amp;<code>endDate=20220322<\/code>&amp;timeZone=Europe\/Rome<\/code><\/p>\n\n\n\n<p>La r\u00e9ponse sera un tableau d&rsquo;une certaine longueur dans lequel chaque \u00e9l\u00e9ment sera toujours compos\u00e9 de la structure suivante&nbsp;:<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" width=\"1024\" height=\"93\" src=\"http:\/\/documentation-wp.hub.av.priv\/wp-content\/uploads\/2022\/03\/array_element-1024x93.png\" alt=\"\" class=\"wp-image-6288\" srcset=\"http:\/\/documentation-wp.hub.av.priv\/wp-content\/uploads\/2022\/03\/array_element-1024x93.png 1024w, http:\/\/documentation-wp.hub.av.priv\/wp-content\/uploads\/2022\/03\/array_element-300x27.png 300w, http:\/\/documentation-wp.hub.av.priv\/wp-content\/uploads\/2022\/03\/array_element-768x70.png 768w, http:\/\/documentation-wp.hub.av.priv\/wp-content\/uploads\/2022\/03\/array_element-1536x140.png 1536w, http:\/\/documentation-wp.hub.av.priv\/wp-content\/uploads\/2022\/03\/array_element.png 2024w\" sizes=\"(max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<p>Comme nous pouvons le voir, la r\u00e9ponse est compos\u00e9e de&nbsp;:<\/p>\n\n\n\n<ul><li><code>Start<\/code>&nbsp;: repr\u00e9sente l&rsquo;\u00e9poque, qui est la valeur de l&rsquo;heure en UTC&nbsp;; change selon le <code>timeZone <\/code>(<em>diff\u00e9rents fuseaux horaires auront des \u00e9poques diff\u00e9rentes pour la m\u00eame valeur de puissance<\/em>) et suit les tranches temporelles d\u00e9finies par le <code>sampleSize<\/code>&nbsp;; <\/li><li><code>Unit\u00e9s<\/code>&nbsp;: repr\u00e9sente l&rsquo;unit\u00e9 de mesure&nbsp;;<\/li><li><code>Valeur<\/code>&nbsp;: repr\u00e9sente la valeur.<\/li><\/ul>\n\n\n\n<p>Extrapolons un extrait plus large de la r\u00e9ponse&nbsp;:<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" width=\"1024\" height=\"218\" src=\"http:\/\/documentation-wp.hub.av.priv\/wp-content\/uploads\/2022\/03\/array_elements_-1024x218.png\" alt=\"\" class=\"wp-image-6303\" srcset=\"http:\/\/documentation-wp.hub.av.priv\/wp-content\/uploads\/2022\/03\/array_elements_-1024x218.png 1024w, http:\/\/documentation-wp.hub.av.priv\/wp-content\/uploads\/2022\/03\/array_elements_-300x64.png 300w, http:\/\/documentation-wp.hub.av.priv\/wp-content\/uploads\/2022\/03\/array_elements_-768x164.png 768w, http:\/\/documentation-wp.hub.av.priv\/wp-content\/uploads\/2022\/03\/array_elements_-1536x328.png 1536w, http:\/\/documentation-wp.hub.av.priv\/wp-content\/uploads\/2022\/03\/array_elements_-2048x437.png 2048w\" sizes=\"(max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<p>Le champ <code>start <\/code> augmente d&rsquo;\u00e9l\u00e9ment en \u00e9l\u00e9ment, passant d&rsquo;une valeur de <code>1647875700<\/code> \u00e0 une valeur de <code>1647876000<\/code>&nbsp;; si nous faisons la diff\u00e9rence entre les deux \u00e9poques, nous obtenons exactement 5 minutes ou, en d&rsquo;autres termes, la valeur que nous avons d\u00e9finie pour le param\u00e8tre <code>sampleSize <\/code>.<br>De l&rsquo;\u00e9poque <code>1647876000 <\/code>les champs<code> <code>start <\/code> <\/code>et <code><code>value <\/code> <\/code>n&rsquo;existent plus; en effet, en supposant que l&rsquo;appel a \u00e9t\u00e9 pass\u00e9 avant 16h20 (<code><em>Europe\/Rome<\/em><\/code>), l&rsquo;\u00e9chantillon auquel il est fait r\u00e9f\u00e9rence avec cette \u00e9poque est dans le futur et, par cons\u00e9quent, n&rsquo;existe pas encore. En tant que tel, Aurora Vision ne fournit pas le champ au sein de l&rsquo;\u00e9l\u00e9ment ; cependant, sur un nouvel appel effectu\u00e9 apr\u00e8s 16h20, il le fournira car il a \u00e9t\u00e9 renseign\u00e9.<\/p>\n<\/div>\n<\/div>\n\n\n\n<p>Le principe sur la pr\u00e9sence\/absence de certains champs dans les \u00e9l\u00e9ments de r\u00e9ponse d&rsquo;une API timeseries (<em>exprim\u00e9 dans les derni\u00e8res lignes de l&rsquo;exemple ci-dessus<\/em>) est d&rsquo;une importance fondamentale&nbsp;: il ne s&rsquo;applique pas uniquement dans le cas des futurs pr\u00e9l\u00e8vements, mais aussi et surtout en cas d&rsquo;absence totale de donn\u00e9es sur Aurora Vision. Cela permet d&rsquo;apporter de la coh\u00e9rence aux r\u00e9ponses obtenues des API de t\u00e9l\u00e9m\u00e9tries, car lorsque la <code>valeur <\/code>d\u00e9pos\u00e9e est pr\u00e9sente, cela signifie que cette valeur existe r\u00e9ellement sur Aurora Vision sinon elle ne serait pas pr\u00e9sente.<\/p>\n\n\n\n<div style=\"height:20px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<p>Comme c&rsquo;\u00e9tait le cas pour les appels agr\u00e9g\u00e9s, \u00e9galement pour les appels de s\u00e9ries chronologiques, le param\u00e8tre <code>{valuetype}<\/code> est d&rsquo;une grande importance car il varie en fonction de la cat\u00e9gorie de ressources, donc de <code>{dataType}<\/code>, \u00e0 obtenir et est \u00e9galement affect\u00e9 par le <code>{sampleSize}<\/code>.<\/p>\n\n\n\n<p>Pour un <code>{dataType}<\/code> appartenant \u00e0 la cat\u00e9gorie <code>{power,frequency,wind,temperature,voltage,current,kpis}<\/code>, the <code>{valueType}<\/code> peut prendre trois valeurs diff\u00e9rentes:<\/p>\n\n\n\n<ul><li><code>Maximum<\/code>: renvoie la valeur maximale trouv\u00e9e parmi tous les \u00e9chantillons pr\u00e9sents dans le temps <code>{startDate} <\/code>et<code> {endDate}<\/code> d\u00e9fini fen\u00eatre, pour le <code>{dataType}<\/code>;<\/li><li><code>Minimum<\/code>: renvoie la valeur minimale trouv\u00e9e parmi tous les \u00e9chantillons pr\u00e9sents dans le temps <code>{startDate} <\/code>et <code>{endDate}<\/code> d\u00e9fini fen\u00eatre, pour le <code>{dataType}<\/code>;<\/li><li><code>Average<\/code>: renvoie la valeur moyenne de tous les \u00e9chantillons pr\u00e9sents dans la fen\u00eatre temporelle <code>{startDate} <\/code>et <code>{endDate}<\/code> d\u00e9fini fen\u00eatre, pour le <code>{dataType}<\/code>;<\/li><\/ul>\n\n\n\n<hr class=\"wp-block-separator is-style-wide\"\/>\n\n\n\n<p><strong>REMARQUE:<\/strong>&nbsp;<em>pour la cat\u00e9gorie<\/em><code> kpis<\/code><em> , les consid\u00e9rations ci-dessus ne sont valables que si les <strong>Power-Based KPIs<\/strong> sont appel\u00e9s. Pour plus de d\u00e9tails, veuillez consulter<\/em> <a rel=\"noreferrer noopener\" href=\"http:\/\/documentation-wp.hub.av.priv\/fr\/aurora-vision-apis\/openapi-preview\/\" data-type=\"page\" data-id=\"74\" target=\"_blank\"><em><mark style=\"background-color:rgba(0, 0, 0, 0)\" class=\"has-inline-color has-vivid-cyan-blue-color\">OpenAPIs Swagger<\/mark><\/em><\/a>.<\/p>\n\n\n\n<hr class=\"wp-block-separator is-style-wide\"\/>\n\n\n\n<p>Regardons quelques cas d&rsquo;utilisation, o\u00f9 nous consid\u00e9rons une installation ( <code>entityID<\/code>: <em>12345678 <\/em>) avec un seul onduleur enregistr\u00e9 ( <code>entityID<\/code> : <em>87654321 <\/em>):<\/p>\n\n\n\n<div class=\"wp-block-columns alignwide\">\n<div class=\"wp-elements-6 wp-block-column has-text-color has-background has-link-color\" style=\"background-color:#eeeeee;color:#000000;padding-top:2em;padding-right:2em;padding-bottom:2em;padding-left:2em\">\n<h2 style=\"font-size:40px\">Use Case 1<\/h2>\n\n\n\n<p>Je souhaite obtenir la puissance g\u00e9n\u00e9r\u00e9e par l&rsquo;onduleur en temps r\u00e9el, toutes les 5 minutes, le jour de l&rsquo;\u00e9quinoxe de printemps. De cette fa\u00e7on, je peux tracer la tendance et effectuer une analyse sp\u00e9cifique dessus.<\/p>\n\n\n\n<hr class=\"wp-block-separator is-style-wide\"\/>\n\n\n\n<p><strong>Analyse des Probl\u00e8mes<\/strong><\/p>\n\n\n\n<p>Consid\u00e9rant que le rapport entre l&rsquo;usine et les appareils enregistr\u00e9s est de 1:1, je peux indiff\u00e9remment saisir l&rsquo;<code>entityID<\/code> de l&rsquo;un des deux. Je veux la puissance produite, je vais donc pointer les ressources de la cat\u00e9gorie <code>power <\/code> et demander la <code>GenerationPower<\/code>. Le param\u00e8tre <code>sampleSize <\/code> sera \u00e9gal \u00e0 <code>Min5 <\/code>, car je veux obtenir chaque \u00e9chantillon. Le param\u00e8tre <code>valueType <\/code>peut \u00eatre, dans ce cas seulement, d\u00e9fini indiff\u00e9remment comme <code>Maximum<\/code>, <code>Minimum <\/code>ou <code>Average <\/code>car le temps la fen\u00eatre est d\u00e9coup\u00e9e de mani\u00e8re \u00e0 avoir un seul \u00e9chantillon pour chaque tranche et, par cons\u00e9quent, aucune op\u00e9ration r\u00e9elle ne fait la diff\u00e9rence s&rsquo;il y a un seul \u00e9chantillon comme r\u00e9f\u00e9rence.<\/p>\n\n\n\n<hr class=\"wp-block-separator is-style-wide\"\/>\n\n\n\n<h2 class=\"has-text-align-center has-medium-font-size\">Request<\/h2>\n\n\n\n<p><code>GET&nbsp;&nbsp;&nbsp;https:\/\/api.auroravision.net\/api\/rest\/v1\/stats\/power\/timeseries\/12345678\/GenerationPower\/average?sampleSize=Min5&amp;startDate=20220321&amp;endDate=20220322&amp;timeZone=Europe\/Rome<\/code><\/p>\n\n\n\n<hr class=\"wp-block-separator is-style-wide\"\/>\n\n\n\n<h2 class=\"has-text-align-center has-medium-font-size\">Charted Response<\/h2>\n\n\n\n<div style=\"height:10px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" width=\"1024\" height=\"576\" src=\"http:\/\/documentation-wp.hub.av.priv\/wp-content\/uploads\/2022\/03\/chart_usecase1-1024x576.png\" alt=\"\" class=\"wp-image-6413\" srcset=\"http:\/\/documentation-wp.hub.av.priv\/wp-content\/uploads\/2022\/03\/chart_usecase1-1024x576.png 1024w, http:\/\/documentation-wp.hub.av.priv\/wp-content\/uploads\/2022\/03\/chart_usecase1-300x169.png 300w, http:\/\/documentation-wp.hub.av.priv\/wp-content\/uploads\/2022\/03\/chart_usecase1-768x432.png 768w, http:\/\/documentation-wp.hub.av.priv\/wp-content\/uploads\/2022\/03\/chart_usecase1.png 1280w\" sizes=\"(max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n<\/div>\n\n\n\n<div class=\"wp-elements-7 wp-block-column has-text-color has-background has-link-color\" style=\"background-color:#eeeeee;color:#000000;padding-top:2em;padding-right:2em;padding-bottom:2em;padding-left:2em\">\n<h2 style=\"font-size:40px\">Use Case 2<\/h2>\n\n\n\n<p>Je veux obtenir la puissance moyenne g\u00e9n\u00e9r\u00e9e par l&rsquo;onduleur toutes les 15 minutes, le jour de l&rsquo;\u00e9quinoxe de printemps. De cette fa\u00e7on, je peux tracer la tendance et effectuer une analyse sp\u00e9cifique dessus.<\/p>\n\n\n\n<hr class=\"wp-block-separator is-style-wide\"\/>\n\n\n\n<p><strong><strong>Analyse des Probl\u00e8mes<\/strong><\/strong><\/p>\n\n\n\n<p>Consid\u00e9rant que le rapport entre l&rsquo;usine et les appareils enregistr\u00e9s est de 1:1, je peux indiff\u00e9remment saisir l&rsquo;<code>entityID<\/code> de l&rsquo;un des deux. Je veux la puissance produite, je vais donc pointer les ressources de la cat\u00e9gorie <code>power <\/code> et demander la <code>GenerationPower<\/code>. Dans ce cas, le param\u00e8tre <code>sampleSize <\/code> sera \u00e9gal \u00e0 <code>Min15<\/code>. Le param\u00e8tre <code>valueType <\/code>doit \u00eatre <code>Average <\/code>car la fen\u00eatre temporelle est d\u00e9coup\u00e9e de mani\u00e8re \u00e0 avoir 3 \u00e9chantillons pour chaque tranche et donc la moyenne est effectu\u00e9e sur les 3 \u00e9chantillons appartenant \u00e0 chaque tranche.<\/p>\n\n\n\n<hr class=\"wp-block-separator is-style-wide\"\/>\n\n\n\n<h2 class=\"has-text-align-center has-medium-font-size\">Request<\/h2>\n\n\n\n<p><code>GET&nbsp;&nbsp;&nbsp;https:\/\/api.auroravision.net\/api\/rest\/v1\/stats\/power\/timeseries\/12345678\/GenerationPower\/average?sampleSize=Min15&amp;startDate=20220321&amp;endDate=20220322&amp;timeZone=Europe\/Rome<\/code><\/p>\n\n\n\n<hr class=\"wp-block-separator is-style-wide\"\/>\n\n\n\n<h2 class=\"has-text-align-center has-medium-font-size\">Charted Response<\/h2>\n\n\n\n<div style=\"height:10px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" width=\"1024\" height=\"576\" src=\"http:\/\/documentation-wp.hub.av.priv\/wp-content\/uploads\/2022\/03\/chart_usecase2-1024x576.png\" alt=\"\" class=\"wp-image-6433\" srcset=\"http:\/\/documentation-wp.hub.av.priv\/wp-content\/uploads\/2022\/03\/chart_usecase2-1024x576.png 1024w, http:\/\/documentation-wp.hub.av.priv\/wp-content\/uploads\/2022\/03\/chart_usecase2-300x169.png 300w, http:\/\/documentation-wp.hub.av.priv\/wp-content\/uploads\/2022\/03\/chart_usecase2-768x432.png 768w, http:\/\/documentation-wp.hub.av.priv\/wp-content\/uploads\/2022\/03\/chart_usecase2.png 1280w\" sizes=\"(max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n<\/div>\n<\/div>\n\n\n\n<div style=\"height:21px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<p>Pour un <code>{dataType}<\/code> appartenant \u00e0 la cat\u00e9gorie <code>{energy,kpis}<\/code>, le <code>{valueType}<\/code> peut prendre deux valeurs diff\u00e9rentes:<\/p>\n\n\n\n<ul><li><code>Cumulative<\/code>: renvoie la derni\u00e8re valeur cumul\u00e9e disponible dans la fen\u00eatre temporelle <code>{startDate} <\/code>et <code>{endDate}<\/code> d\u00e9fini fen\u00eatre, pour le <code>{dataType}<\/code>;<\/li><li><code>Delta<\/code>: renvoie la diff\u00e9rence entre la derni\u00e8re et la premi\u00e8re valeur cumul\u00e9e disponible dans le <code>{startDate} <\/code>et <code>{endDate}<\/code> d\u00e9fini fen\u00eatre, pour le <code>{dataType}<\/code>;<\/li><\/ul>\n\n\n\n<hr class=\"wp-block-separator is-style-wide\"\/>\n\n\n\n<p><strong>REMARQUE:<\/strong>&nbsp;<em>pour la cat\u00e9gorie<code> kpis<\/code><em> , les consid\u00e9rations ci-dessus ne sont valables que si les<\/em> <strong>Energy-Based KPIs<\/strong> <em>sont appel\u00e9s. Pour plus de d\u00e9tails, veuillez consulter<\/em> <a rel=\"noreferrer noopener\" href=\"http:\/\/documentation-wp.hub.av.priv\/fr\/aurora-vision-apis\/openapi-preview\/\" data-type=\"page\" data-id=\"74\" target=\"_blank\"><em><mark style=\"background-color:rgba(0, 0, 0, 0)\" class=\"has-inline-color has-vivid-cyan-blue-color\">OpenAPIs Swagger<\/mark><\/em><\/a><\/em>.<\/p>\n\n\n\n<hr class=\"wp-block-separator is-style-wide\"\/>\n\n\n\n<p>Regardons quelques cas d&rsquo;utilisation, o\u00f9 nous consid\u00e9rons une installation ( <code>entityID<\/code>: <em>12345678 <\/em>) avec un seul onduleur enregistr\u00e9 ( <code>entityID<\/code> : <em>87654321 <\/em>):<\/p>\n\n\n\n<div class=\"wp-block-columns alignwide\">\n<div class=\"wp-elements-8 wp-block-column has-text-color has-background has-link-color\" style=\"background-color:#eeeeee;color:#000000;padding-top:2em;padding-right:2em;padding-bottom:2em;padding-left:2em\">\n<h2 style=\"font-size:40px\">Use Case 1<\/h2>\n\n\n\n<p>Je souhaite obtenir l&rsquo;\u00e9nergie g\u00e9n\u00e9r\u00e9e par l&rsquo;onduleur en temps r\u00e9el, toutes les 5 minutes, le jour de l&rsquo;\u00e9quinoxe de printemps&nbsp;; afin de tracer la tendance \u00e9nerg\u00e9tique.<\/p>\n\n\n\n<hr class=\"wp-block-separator is-style-wide\"\/>\n\n\n\n<p><strong><strong>Analyse des Probl\u00e8mes<\/strong><\/strong><\/p>\n\n\n\n<p>Consid\u00e9rant que le rapport entre l&rsquo;usine et les appareils enregistr\u00e9s est de 1:1, je peux indiff\u00e9remment saisir l&rsquo;<code>entityID<\/code> de l&rsquo;un des deux. Je veux l&rsquo;\u00e9nergie produite, je vais donc pointer les ressources de la cat\u00e9gorie <code>energy <\/code> et demander la <code>GenerationEnergy<\/code>. Le param\u00e8tre <code>sampleSize <\/code> sera \u00e9gal \u00e0 <code>Min5 <\/code>, car je veux obtenir chaque \u00e9chantillon. Le param\u00e8tre <code>valueType <\/code> sera \u00e9gal \u00e0 <code>delta<\/code> car la fen\u00eatre temporelle est d\u00e9coup\u00e9e de mani\u00e8re \u00e0 avoir un seul \u00e9chantillon pour chaque tranche et donc la diff\u00e9rence entre les \u00e9chantillons fournira l&rsquo;\u00e9nergie r\u00e9ellement produite en 5 minutes.<\/p>\n\n\n\n<hr class=\"wp-block-separator is-style-wide\"\/>\n\n\n\n<h2 class=\"has-text-align-center has-medium-font-size\">Request<\/h2>\n\n\n\n<p><code>GET&nbsp;&nbsp;&nbsp;https:\/\/api.auroravision.net\/api\/rest\/v1\/stats\/energy\/timeseries\/12345678\/GenerationEnergy\/delta?sampleSize=Min5&amp;startDate=20220321&amp;endDate=20220322&amp;timeZone=Europe\/Rome<\/code><\/p>\n\n\n\n<hr class=\"wp-block-separator is-style-wide\"\/>\n\n\n\n<h2 class=\"has-text-align-center has-medium-font-size\">Response<\/h2>\n\n\n\n<div style=\"height:10px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" width=\"1024\" height=\"576\" src=\"http:\/\/documentation-wp.hub.av.priv\/wp-content\/uploads\/2022\/03\/energy_usecase1-1-1024x576.png\" alt=\"\" class=\"wp-image-6499\" srcset=\"http:\/\/documentation-wp.hub.av.priv\/wp-content\/uploads\/2022\/03\/energy_usecase1-1-1024x576.png 1024w, http:\/\/documentation-wp.hub.av.priv\/wp-content\/uploads\/2022\/03\/energy_usecase1-1-300x169.png 300w, http:\/\/documentation-wp.hub.av.priv\/wp-content\/uploads\/2022\/03\/energy_usecase1-1-768x432.png 768w, http:\/\/documentation-wp.hub.av.priv\/wp-content\/uploads\/2022\/03\/energy_usecase1-1.png 1280w\" sizes=\"(max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n<\/div>\n\n\n\n<div class=\"wp-elements-9 wp-block-column has-text-color has-background has-link-color\" style=\"background-color:#eeeeee;color:#000000;padding-top:2em;padding-right:2em;padding-bottom:2em;padding-left:2em\">\n<h2 style=\"font-size:40px\">Use Case 2<\/h2>\n\n\n\n<p>Je souhaite obtenir l&rsquo;\u00e9nergie g\u00e9n\u00e9r\u00e9e par l&rsquo;onduleur pour chaque jour de la semaine de l&rsquo;\u00e9quinoxe de printemps, afin de tracer la tendance \u00e9nerg\u00e9tique hebdomadaire.<\/p>\n\n\n\n<hr class=\"wp-block-separator is-style-wide\"\/>\n\n\n\n<p><strong><strong>Analyse des Probl\u00e8mes<\/strong><\/strong><\/p>\n\n\n\n<p>Consid\u00e9rant que le rapport entre l&rsquo;usine et les appareils enregistr\u00e9s est de 1:1, je peux indiff\u00e9remment saisir l&rsquo;<code>entityID<\/code> de l&rsquo;un des deux. Je veux l&rsquo;\u00e9nergie g\u00e9n\u00e9r\u00e9e chaque jour de la semaine de l&rsquo;\u00e9quinoxe de printemps, donc je vais pointer les ressources de la cat\u00e9gorie <code>energy <\/code> et demander la <code>GenerationEnergy<\/code>. Le param\u00e8tre <code>sampleSize <\/code> sera \u00e9gal \u00e0 <code>Jour<\/code>, car je souhaite d\u00e9couper la fen\u00eatre horaire chaque jour de la semaine. Le param\u00e8tre <code>valueType <\/code> sera \u00e9gal \u00e0 <code>delta<\/code> car la fen\u00eatre temporelle est d\u00e9coup\u00e9e de mani\u00e8re \u00e0 avoir la diff\u00e9rence entre le premier et le dernier \u00e9chantillon de chaque jour de la semaine (<em>fen\u00eatre horaire<\/em>).<\/p>\n\n\n\n<hr class=\"wp-block-separator is-style-wide\"\/>\n\n\n\n<h2 class=\"has-text-align-center has-medium-font-size\">Request<\/h2>\n\n\n\n<p><code>GET&nbsp;&nbsp;&nbsp;https:\/\/api.auroravision.net\/api\/rest\/v1\/stats\/energy\/timeseries\/87654321\/GenerationEnergy\/delta?sampleSize=Day?startDate=20220321&amp;endDate=20220327&amp;timeZone=Europe\/Rome<\/code><\/p>\n\n\n\n<hr class=\"wp-block-separator is-style-wide\"\/>\n\n\n\n<h2 class=\"has-text-align-center has-medium-font-size\">Response<\/h2>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" width=\"1024\" height=\"576\" src=\"http:\/\/documentation-wp.hub.av.priv\/wp-content\/uploads\/2022\/03\/energy_usecase2-1024x576.png\" alt=\"\" class=\"wp-image-6508\" srcset=\"http:\/\/documentation-wp.hub.av.priv\/wp-content\/uploads\/2022\/03\/energy_usecase2-1024x576.png 1024w, http:\/\/documentation-wp.hub.av.priv\/wp-content\/uploads\/2022\/03\/energy_usecase2-300x169.png 300w, http:\/\/documentation-wp.hub.av.priv\/wp-content\/uploads\/2022\/03\/energy_usecase2-768x432.png 768w, http:\/\/documentation-wp.hub.av.priv\/wp-content\/uploads\/2022\/03\/energy_usecase2.png 1280w\" sizes=\"(max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n<\/div>\n<\/div>\n\n\n\n<!--nextpage-->\n\n\n\n<div style=\"height:10px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<h2>Tableau de description des Data Types<\/h2>\n\n\n\n<div style=\"height:10px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<p>Pour mieux comprendre le type de mesure associ\u00e9 au <code>dataType <\/code>mis \u00e0 disposition, il est possible de se r\u00e9f\u00e9rer \u00e0 la figure (<em>qui propose un sch\u00e9ma de haut niveau d&rsquo;une installation compl\u00e8te<\/em>) et tableau ci-dessous (<em>uniquement disponible en Anglais<\/em>).<\/p>\n\n\n\n<div style=\"height:20px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<figure class=\"wp-block-image size-full is-resized is-style-default\"><img loading=\"lazy\" src=\"http:\/\/documentation-wp.hub.av.priv\/wp-content\/uploads\/2022\/04\/telemetries_diagram.jpg\" alt=\"\" class=\"wp-image-6796\" width=\"1176\" height=\"632\" srcset=\"http:\/\/documentation-wp.hub.av.priv\/wp-content\/uploads\/2022\/04\/telemetries_diagram.jpg 1176w, http:\/\/documentation-wp.hub.av.priv\/wp-content\/uploads\/2022\/04\/telemetries_diagram-300x161.jpg 300w, http:\/\/documentation-wp.hub.av.priv\/wp-content\/uploads\/2022\/04\/telemetries_diagram-1024x550.jpg 1024w, http:\/\/documentation-wp.hub.av.priv\/wp-content\/uploads\/2022\/04\/telemetries_diagram-768x413.jpg 768w\" sizes=\"(max-width: 1176px) 100vw, 1176px\" \/><\/figure>\n\n\n\n<div style=\"height:30px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<hr class=\"wp-block-separator is-style-wide\"\/>\n\n\n\n<div class=\"wp-block-columns\">\n<div class=\"wp-block-column is-vertically-aligned-center\">\n<p class=\"has-text-align-center\"><strong>Category<\/strong><\/p>\n<\/div>\n\n\n\n<div class=\"wp-block-column is-vertically-aligned-center\">\n<p class=\"has-text-align-center\"><strong>dataType Name<\/strong><\/p>\n<\/div>\n\n\n\n<div class=\"wp-block-column is-vertically-aligned-center\">\n<p class=\"has-text-align-center\"><strong>dataType Description<\/strong><\/p>\n<\/div>\n<\/div>\n\n\n\n<hr class=\"wp-block-separator is-style-wide\"\/>\n\n\n\n<div class=\"wp-block-columns\">\n<div class=\"wp-block-column is-vertically-aligned-center\">\n<p class=\"has-text-align-center\">Power (W)<\/p>\n<\/div>\n\n\n\n<div class=\"wp-block-column is-vertically-aligned-center\">\n<p class=\"has-text-align-center\"><code>GenerationPower<\/code><\/p>\n<\/div>\n\n\n\n<div class=\"wp-block-column is-vertically-aligned-center\">\n<p class=\"has-text-align-center\">Power generated by the inverter on the AC side. Includes battery discharge power contribution.<\/p>\n<\/div>\n<\/div>\n\n\n\n<hr class=\"wp-block-separator is-style-wide\"\/>\n\n\n\n<div class=\"wp-block-columns are-vertically-aligned-center\">\n<div class=\"wp-block-column is-vertically-aligned-center\">\n<p class=\"has-text-align-center\">Power (W)<\/p>\n<\/div>\n\n\n\n<div class=\"wp-block-column is-vertically-aligned-center\">\n<p class=\"has-text-align-center\"><code>DCGenerationPower<\/code><\/p>\n<\/div>\n\n\n\n<div class=\"wp-block-column is-vertically-aligned-center\">\n<p class=\"has-text-align-center\">Power generated by the inverter on the DC side. Does not include battery discharge power contribution.<\/p>\n<\/div>\n<\/div>\n\n\n\n<hr class=\"wp-block-separator is-style-wide\"\/>\n\n\n\n<div class=\"wp-block-columns\">\n<div class=\"wp-block-column\">\n<p class=\"has-text-align-center\">Power (W)<\/p>\n<\/div>\n\n\n\n<div class=\"wp-block-column\">\n<p class=\"has-text-align-center\"><code>GridPowerExport<\/code><\/p>\n<\/div>\n\n\n\n<div class=\"wp-block-column\">\n<p class=\"has-text-align-center\">Exported\/Imported power, to\/from the grid, detected by a meter. Negative value for import, positive value for export.<\/p>\n<\/div>\n<\/div>\n\n\n\n<hr class=\"wp-block-separator is-style-wide\"\/>\n\n\n\n<div class=\"wp-block-columns\">\n<div class=\"wp-block-column\">\n<p class=\"has-text-align-center\">Power (W\/m<sup>2<\/sup> )<\/p>\n<\/div>\n\n\n\n<div class=\"wp-block-column\">\n<p class=\"has-text-align-center\"><code>Irradiance<\/code><\/p>\n<\/div>\n\n\n\n<div class=\"wp-block-column\">\n<p class=\"has-text-align-center\">Irradiance detected by a sensor, standalone or integrated in a weather station, correctly installed.<\/p>\n<\/div>\n<\/div>\n\n\n\n<hr class=\"wp-block-separator is-style-wide\"\/>\n\n\n\n<div class=\"wp-block-columns\">\n<div class=\"wp-block-column\">\n<p class=\"has-text-align-center\">Power (W)<\/p>\n<\/div>\n\n\n\n<div class=\"wp-block-column\">\n<p class=\"has-text-align-center\"><code>StoredPower<\/code><\/p>\n<\/div>\n\n\n\n<div class=\"wp-block-column\">\n<p class=\"has-text-align-center\">Discharged\/Charged power detected by a battery. Negative value for charge, positive value for discharge.<\/p>\n<\/div>\n<\/div>\n\n\n\n<hr class=\"wp-block-separator is-style-wide\"\/>\n\n\n\n<div class=\"wp-block-columns\">\n<div class=\"wp-block-column\">\n<p class=\"has-text-align-center\">Frequency (Hz)<\/p>\n<\/div>\n\n\n\n<div class=\"wp-block-column\">\n<p class=\"has-text-align-center\"><code>LineFrequency<\/code><\/p>\n<\/div>\n\n\n\n<div class=\"wp-block-column\">\n<p class=\"has-text-align-center\">Frequency measured by the inverter on the AC side.<\/p>\n<\/div>\n<\/div>\n\n\n\n<hr class=\"wp-block-separator is-style-wide\"\/>\n\n\n\n<div class=\"wp-block-columns\">\n<div class=\"wp-block-column\">\n<p class=\"has-text-align-center\">Wind (\u00b0N)<\/p>\n<\/div>\n\n\n\n<div class=\"wp-block-column\">\n<p class=\"has-text-align-center\"><code>WindDirection<\/code><\/p>\n<\/div>\n\n\n\n<div class=\"wp-block-column\">\n<p class=\"has-text-align-center\">Wind direction detected by a sensor, standalone or integrated in a weather station, correctly installed.<\/p>\n<\/div>\n<\/div>\n\n\n\n<hr class=\"wp-block-separator is-style-wide\"\/>\n\n\n\n<div class=\"wp-block-columns\">\n<div class=\"wp-block-column\">\n<p class=\"has-text-align-center\">Wind (km\/h)<\/p>\n<\/div>\n\n\n\n<div class=\"wp-block-column\">\n<p class=\"has-text-align-center\"><code>WindSpeed<\/code><\/p>\n<\/div>\n\n\n\n<div class=\"wp-block-column\">\n<p class=\"has-text-align-center\">Wind speed detected by a sensor, standalone or integrated in a weather station, correctly installed.<\/p>\n<\/div>\n<\/div>\n\n\n\n<hr class=\"wp-block-separator is-style-wide\"\/>\n\n\n\n<div class=\"wp-block-columns\">\n<div class=\"wp-block-column\">\n<p class=\"has-text-align-center\">Temperature (\u00b0C)<\/p>\n<\/div>\n\n\n\n<div class=\"wp-block-column\">\n<p class=\"has-text-align-center\"><code>CellTemp<\/code><\/p>\n<\/div>\n\n\n\n<div class=\"wp-block-column\">\n<p class=\"has-text-align-center\">Cell temperature detected by a sensor, standalone or integrated in a weather station, correctly installed.<\/p>\n<\/div>\n<\/div>\n\n\n\n<hr class=\"wp-block-separator is-style-wide\"\/>\n\n\n\n<div class=\"wp-block-columns\">\n<div class=\"wp-block-column\">\n<p class=\"has-text-align-center\">Temperature (\u00b0C)<\/p>\n<\/div>\n\n\n\n<div class=\"wp-block-column\">\n<p class=\"has-text-align-center\"><code>AmbientTemp<\/code><\/p>\n<\/div>\n\n\n\n<div class=\"wp-block-column\">\n<p class=\"has-text-align-center\">Ambient temperature detected by a sensor, standalone or integrated in a weather station, correctly installed.<\/p>\n<\/div>\n<\/div>\n\n\n\n<hr class=\"wp-block-separator is-style-wide\"\/>\n\n\n\n<div class=\"wp-block-columns\">\n<div class=\"wp-block-column\">\n<p class=\"has-text-align-center\">Voltage (V)<\/p>\n<\/div>\n\n\n\n<div class=\"wp-block-column\">\n<p class=\"has-text-align-center\"><code>Voltage<\/code><\/p>\n<\/div>\n\n\n\n<div class=\"wp-block-column\">\n<p class=\"has-text-align-center\">Voltage measured by the inverter on the AC side.<\/p>\n<\/div>\n<\/div>\n\n\n\n<hr class=\"wp-block-separator is-style-wide\"\/>\n\n\n\n<div class=\"wp-block-columns\">\n<div class=\"wp-block-column\">\n<p class=\"has-text-align-center\">Voltage (V)<\/p>\n<\/div>\n\n\n\n<div class=\"wp-block-column\">\n<p class=\"has-text-align-center\"><code>DCVoltage<\/code><\/p>\n<\/div>\n\n\n\n<div class=\"wp-block-column\">\n<p class=\"has-text-align-center\">Frequency measured by the inverter on the DC side.<\/p>\n<\/div>\n<\/div>\n\n\n\n<hr class=\"wp-block-separator is-style-wide\"\/>\n\n\n\n<div class=\"wp-block-columns\">\n<div class=\"wp-block-column\">\n<p class=\"has-text-align-center\">Current (A)<\/p>\n<\/div>\n\n\n\n<div class=\"wp-block-column\">\n<p class=\"has-text-align-center\"><code>Current<\/code><\/p>\n<\/div>\n\n\n\n<div class=\"wp-block-column\">\n<p class=\"has-text-align-center\">Current measured by the inverter on the AC side.<\/p>\n<\/div>\n<\/div>\n\n\n\n<hr class=\"wp-block-separator is-style-wide\"\/>\n\n\n\n<div class=\"wp-block-columns\">\n<div class=\"wp-block-column\">\n<p class=\"has-text-align-center\">Current (A)<\/p>\n<\/div>\n\n\n\n<div class=\"wp-block-column\">\n<p class=\"has-text-align-center\"><code>DCCurrent<\/code><\/p>\n<\/div>\n\n\n\n<div class=\"wp-block-column\">\n<p class=\"has-text-align-center\">Current measured by the inverter on the AC side.<\/p>\n<\/div>\n<\/div>\n\n\n\n<hr class=\"wp-block-separator is-style-wide\"\/>\n\n\n\n<div class=\"wp-block-columns\">\n<div class=\"wp-block-column\">\n<p class=\"has-text-align-center\">Energy (Wh)<\/p>\n<\/div>\n\n\n\n<div class=\"wp-block-column\">\n<p class=\"has-text-align-center\"><code>GenerationEnergy<\/code><\/p>\n<\/div>\n\n\n\n<div class=\"wp-block-column\">\n<p class=\"has-text-align-center\">Energy generated by the inverter on the AC side. Includes battery discharge energy contribution.<\/p>\n<\/div>\n<\/div>\n\n\n\n<hr class=\"wp-block-separator is-style-wide\"\/>\n\n\n\n<div class=\"wp-block-columns\">\n<div class=\"wp-block-column\">\n<p class=\"has-text-align-center\">Energy (Wh)<\/p>\n<\/div>\n\n\n\n<div class=\"wp-block-column\">\n<p class=\"has-text-align-center\"><code>DCGenerationEnergy<\/code><\/p>\n<\/div>\n\n\n\n<div class=\"wp-block-column\">\n<p class=\"has-text-align-center\">Energy generated by the inverter on the DC side. Does not include battery discharge energy contribution.<\/p>\n<\/div>\n<\/div>\n\n\n\n<hr class=\"wp-block-separator is-style-wide\"\/>\n\n\n\n<div class=\"wp-block-columns\">\n<div class=\"wp-block-column\">\n<p class=\"has-text-align-center\">Energy (Wh\/m<sup>2<\/sup>)<\/p>\n<\/div>\n\n\n\n<div class=\"wp-block-column\">\n<p class=\"has-text-align-center\"><code>Insolation<\/code><\/p>\n<\/div>\n\n\n\n<div class=\"wp-block-column\">\n<p class=\"has-text-align-center\">Insolation detected by a sensor, standalone or integrated in a weather station, correctly installed.<\/p>\n<\/div>\n<\/div>\n\n\n\n<hr class=\"wp-block-separator is-style-wide\"\/>\n\n\n\n<div class=\"wp-block-columns\">\n<div class=\"wp-block-column\">\n<p class=\"has-text-align-center\">Energy (Wh)<\/p>\n<\/div>\n\n\n\n<div class=\"wp-block-column\">\n<p class=\"has-text-align-center\"><code>StorageInEnergy<\/code><\/p>\n<\/div>\n\n\n\n<div class=\"wp-block-column\">\n<p class=\"has-text-align-center\">Charged energy detected by a battery.<\/p>\n<\/div>\n<\/div>\n\n\n\n<hr class=\"wp-block-separator is-style-wide\"\/>\n\n\n\n<div class=\"wp-block-columns\">\n<div class=\"wp-block-column\">\n<p class=\"has-text-align-center\">Energy (Wh)<\/p>\n<\/div>\n\n\n\n<div class=\"wp-block-column\">\n<p class=\"has-text-align-center\"><code>StorageOutEnergy<\/code><\/p>\n<\/div>\n\n\n\n<div class=\"wp-block-column\">\n<p class=\"has-text-align-center\">Discharged energy detected by a battery.<\/p>\n<\/div>\n<\/div>\n\n\n\n<hr class=\"wp-block-separator is-style-wide\"\/>\n\n\n\n<div class=\"wp-block-columns\">\n<div class=\"wp-block-column\">\n<p class=\"has-text-align-center\">Energy (Wh)<\/p>\n<\/div>\n\n\n\n<div class=\"wp-block-column\">\n<p class=\"has-text-align-center\"><code>GridEnergyExport<\/code><\/p>\n<\/div>\n\n\n\n<div class=\"wp-block-column\">\n<p class=\"has-text-align-center\">Exported energy, to the grid, detected by a meter.<\/p>\n<\/div>\n<\/div>\n\n\n\n<hr class=\"wp-block-separator is-style-wide\"\/>\n\n\n\n<div class=\"wp-block-columns are-vertically-aligned-center\">\n<div class=\"wp-block-column is-vertically-aligned-center\">\n<p class=\"has-text-align-center\">Energy (Wh)<\/p>\n<\/div>\n\n\n\n<div class=\"wp-block-column is-vertically-aligned-center\">\n<p class=\"has-text-align-center\"><code>GridEnergyImport<\/code><\/p>\n<\/div>\n\n\n\n<div class=\"wp-block-column is-vertically-aligned-center\">\n<p class=\"has-text-align-center\">Imported energy, to the grid, detected by a meter.<\/p>\n<\/div>\n<\/div>\n\n\n\n<hr class=\"wp-block-separator is-style-wide\"\/>\n\n\n\n<div class=\"wp-block-columns\">\n<div class=\"wp-block-column\">\n<p class=\"has-text-align-center\">Energy (Wh)<\/p>\n<\/div>\n\n\n\n<div class=\"wp-block-column\">\n<p class=\"has-text-align-center\"><code>SelfConsumedEnergy<\/code><\/p>\n<\/div>\n\n\n\n<div class=\"wp-block-column\">\n<p class=\"has-text-align-center\">Self-Consumption of home loads, coming from renewable sources only.<\/p>\n<\/div>\n<\/div>\n\n\n\n<hr class=\"wp-block-separator is-style-wide\"\/>\n\n\n\n<div class=\"wp-block-columns\">\n<div class=\"wp-block-column\">\n<p class=\"has-text-align-center\">Power-Based KPI (%)<\/p>\n<\/div>\n\n\n\n<div class=\"wp-block-column\">\n<p class=\"has-text-align-center\"><code>StateofCharge<\/code><\/p>\n<\/div>\n\n\n\n<div class=\"wp-block-column\">\n<p class=\"has-text-align-center\">State of charge detected for a battery.<\/p>\n<\/div>\n<\/div>\n\n\n\n<hr class=\"wp-block-separator is-style-wide\"\/>\n\n\n\n<div class=\"wp-block-columns\">\n<div class=\"wp-block-column\">\n<p class=\"has-text-align-center\">Power-Based KPI (%)<\/p>\n<\/div>\n\n\n\n<div class=\"wp-block-column\">\n<p class=\"has-text-align-center\"><code>StateofHealth<\/code><\/p>\n<\/div>\n\n\n\n<div class=\"wp-block-column\">\n<p class=\"has-text-align-center\">State of health detected for a battery.<\/p>\n<\/div>\n<\/div>\n\n\n\n<hr class=\"wp-block-separator is-style-wide\"\/>\n\n\n\n<div class=\"wp-block-columns\">\n<div class=\"wp-block-column\">\n<p class=\"has-text-align-center\">Power-Based KPI (W)<\/p>\n<\/div>\n\n\n\n<div class=\"wp-block-column\">\n<p class=\"has-text-align-center\"><code>LoadsPowerConsumed<\/code><\/p>\n<\/div>\n\n\n\n<div class=\"wp-block-column\">\n<p class=\"has-text-align-center\">Consumption of home loads, coming from renewable sources and the grid.<\/p>\n<\/div>\n<\/div>\n\n\n\n<hr class=\"wp-block-separator is-style-wide\"\/>\n\n\n\n<div class=\"wp-block-columns\">\n<div class=\"wp-block-column\">\n<p class=\"has-text-align-center\">Energy-Based KPI (%)<\/p>\n<\/div>\n\n\n\n<div class=\"wp-block-column\">\n<p class=\"has-text-align-center\"><code>SelfConsumption<\/code><\/p>\n<\/div>\n\n\n\n<div class=\"wp-block-column\">\n<p class=\"has-text-align-center\">Percentage of Self-Comsumption<em> (how much energy<\/em>, co<em>ming only from renewable sources, has been exported to the grid compared to the self-consumed one<\/em>) detected.<\/p>\n<\/div>\n<\/div>\n\n\n\n<hr class=\"wp-block-separator is-style-wide\"\/>\n\n\n\n<div class=\"wp-block-columns\">\n<div class=\"wp-block-column\">\n<p class=\"has-text-align-center\">Energy-Based KPI (%)<\/p>\n<\/div>\n\n\n\n<div class=\"wp-block-column\">\n<p class=\"has-text-align-center\"><code>SelfSufficiency<\/code><\/p>\n<\/div>\n\n\n\n<div class=\"wp-block-column\">\n<p class=\"has-text-align-center\">Percentage of Self-Sufficiency <em>(how much energy<\/em> <em>has been imported from the grid compared to the self-consumed one<\/em>) detected.<\/p>\n<\/div>\n<\/div>\n\n\n\n<hr class=\"wp-block-separator is-style-wide\"\/>\n\n\n\n<div class=\"wp-block-columns\">\n<div class=\"wp-block-column\">\n<p class=\"has-text-align-center\">Energy-Based KPI (%)<\/p>\n<\/div>\n\n\n\n<div class=\"wp-block-column\">\n<p class=\"has-text-align-center\"><code>PerformanceRatio<\/code><\/p>\n<\/div>\n\n\n\n<div class=\"wp-block-column\">\n<p class=\"has-text-align-center\">Percentage of performance detected based on the algorithm set.<\/p>\n<\/div>\n<\/div>\n\n\n\n<hr class=\"wp-block-separator is-style-wide\"\/>\n\n\n\n<div class=\"wp-block-columns\">\n<div class=\"wp-block-column\">\n<p class=\"has-text-align-center\">Energy-Based KPI (Wh)<\/p>\n<\/div>\n\n\n\n<div class=\"wp-block-column\">\n<p class=\"has-text-align-center\"><code>LoadsEnergyConsumed<\/code><\/p>\n<\/div>\n\n\n\n<div class=\"wp-block-column\">\n<p class=\"has-text-align-center\">Consumption of home loads, coming from renewable sources and the grid.<\/p>\n<\/div>\n<\/div>\n\n\n\n<hr class=\"wp-block-separator is-style-wide\"\/>\n\n\n\n<div class=\"wp-block-columns\">\n<div class=\"wp-block-column\">\n<p class=\"has-text-align-center\">Power (W)<\/p>\n<\/div>\n\n\n\n<div class=\"wp-block-column\">\n<p class=\"has-text-align-center\"><code>ActivePowerEV<\/code><\/p>\n<\/div>\n\n\n\n<div class=\"wp-block-column\">\n<p class=\"has-text-align-center\">Power generated by the AC wallbox. Different from zero only during a charging session.<\/p>\n<\/div>\n<\/div>\n\n\n\n<hr class=\"wp-block-separator is-style-wide\"\/>\n\n\n\n<div class=\"wp-block-columns\">\n<div class=\"wp-block-column\">\n<p class=\"has-text-align-center\">Energy (Wh)<\/p>\n<\/div>\n\n\n\n<div class=\"wp-block-column\">\n<p class=\"has-text-align-center\"><code>SessionEnergyEV<\/code><\/p>\n<\/div>\n\n\n\n<div class=\"wp-block-column\">\n<p class=\"has-text-align-center\">Total energy flowed from the AC wallbox during a charging session.<\/p>\n<\/div>\n<\/div>\n\n\n\n<hr class=\"wp-block-separator is-style-wide\"\/>\n\n\n\n<div class=\"wp-block-columns\">\n<div class=\"wp-block-column\">\n<p class=\"has-text-align-center\">Energy (Wh)<\/p>\n<\/div>\n\n\n\n<div class=\"wp-block-column\">\n<p class=\"has-text-align-center\"><code>ActiveEnergyEV<\/code><\/p>\n<\/div>\n\n\n\n<div class=\"wp-block-column\">\n<p class=\"has-text-align-center\">Total energy flowed from the AC wallbox over the lifetime.<\/p>\n<\/div>\n<\/div>\n\n\n\n<hr class=\"wp-block-separator is-style-wide\"\/>\n","protected":false},"excerpt":{"rendered":"<p>Le Telemetry et KPIs suites permettre l&rsquo;exploitation de plusieurs appels pour r\u00e9cup\u00e9rer les donn\u00e9es de t\u00e9l\u00e9m\u00e9trie d&rsquo;int\u00e9r\u00eat, \u00e0 la fois au niveau de l&rsquo;usine et\/ou de l&rsquo;appareil unique. Les API de ces suites sont divis\u00e9es, en fonction de la mod\u00e9lisation et de la pr\u00e9sentation des donn\u00e9es, en deux types principaux: AGGREGATED: permet d&rsquo;appeler le type [&hellip;]<\/p>\n","protected":false},"author":4,"featured_media":0,"parent":1791,"menu_order":7,"comment_status":"closed","ping_status":"closed","template":"","meta":[],"_links":{"self":[{"href":"http:\/\/documentation-wp.hub.av.priv\/fr\/wp-json\/wp\/v2\/pages\/6885"}],"collection":[{"href":"http:\/\/documentation-wp.hub.av.priv\/fr\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"http:\/\/documentation-wp.hub.av.priv\/fr\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"http:\/\/documentation-wp.hub.av.priv\/fr\/wp-json\/wp\/v2\/users\/4"}],"replies":[{"embeddable":true,"href":"http:\/\/documentation-wp.hub.av.priv\/fr\/wp-json\/wp\/v2\/comments?post=6885"}],"version-history":[{"count":65,"href":"http:\/\/documentation-wp.hub.av.priv\/fr\/wp-json\/wp\/v2\/pages\/6885\/revisions"}],"predecessor-version":[{"id":7981,"href":"http:\/\/documentation-wp.hub.av.priv\/fr\/wp-json\/wp\/v2\/pages\/6885\/revisions\/7981"}],"up":[{"embeddable":true,"href":"http:\/\/documentation-wp.hub.av.priv\/fr\/wp-json\/wp\/v2\/pages\/1791"}],"wp:attachment":[{"href":"http:\/\/documentation-wp.hub.av.priv\/fr\/wp-json\/wp\/v2\/media?parent=6885"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}