{"id":6890,"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-31T10:30:19","modified_gmt":"2022-05-31T09:30:19","slug":"telemetries-data","status":"publish","type":"page","link":"http:\/\/documentation-wp.hub.av.priv\/pt-pt\/aurora-vision-apis\/user-guide\/telemetries-data\/","title":{"rendered":"Dados de Telemetria"},"content":{"rendered":"\n<div style=\"height:20px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<p>Os conjuntos <code>Telemetry <\/code>e <code>KPIs<\/code> permitem a explora\u00e7\u00e3o de v\u00e1rias chamadas para recuperar os dados de telemetria de interesse, tanto no n\u00edvel da planta quanto do dispositivo \u00fanico.<\/p>\n\n\n\n<p>As APIs desses pacotes s\u00e3o divididas, com base na modelagem e apresenta\u00e7\u00e3o de dados, em dois tipos principais:<\/p>\n\n\n\n<ul><li><code>AGGREGATED<\/code>: permite chamar o tipo de dado desejado (<code>dataType<\/code>) com um crit\u00e9rio de agrega\u00e7\u00e3o (<code>valueType<\/code>) dentro de um janela de tempo (<code>startDate <\/code>&amp; <code>endDate<\/code>). Chamadas desse tipo sempre retornam um \u00fanico valor, agregado de acordo com os <code>queryParameters<\/code>;<br><\/li><li><code>TIMESERIES<\/code>: permite chamar o tipo de dados (<code>dataType<\/code>) com um crit\u00e9rio de agrega\u00e7\u00e3o (<code>valueType<\/code>) dentro de uma janela de tempo definida (<code>startDate<\/code> &amp; <code>endDate<\/code>) e de acordo com uma frequ\u00eancia de amostragem definida (<code>sampleTime<\/code>). Chamadas desse tipo sempre retornam um array de valores, cujo comprimento varia de acordo com os <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>Para o desenvolvimento de uma l\u00f3gica de neg\u00f3cios de terceiros transparente e totalmente integrada, \u00e9 importante levar em considera\u00e7\u00e3o alguns princ\u00edpios fundamentais sobre a manipula\u00e7\u00e3o e apresenta\u00e7\u00e3o de dados da 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 realiza um <strong>armazenamento de amostras enviadas no m\u00ednimo a cada 5 minutos<\/strong><em>,<\/em> portanto, n\u00e3o \u00e9 poss\u00edvel solicitar dados abaixo de uma taxa de amostragem de 5 minutos.<\/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>Todas as <strong>power telemetries<\/strong> (<em>para qualquer dispositivo compat\u00edvel<\/em>) s\u00e3o <strong>fornecidas como um \u00fanico valor de pontualidade<\/strong>, que muda de um instante de amostragem para outro.<\/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>Todas as <strong>energy telemetries<\/strong> (<em>para qualquer dispositivo compat\u00edvel<\/em>) s\u00e3o <strong>fornecidas como cumulativas ao longo do tempo<\/strong>, desde o primeiro momento em que o dispositivo compat\u00edvel come\u00e7ou para trabalhar de forma eficaz.<\/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>Com esses conceitos, \u00e9 poss\u00edvel analisar detalhadamente os dois principais tipos de chamadas de telemetria:<\/p>\n\n\n\n<ul><li>Na <strong>P\u00e1gina 2<\/strong> voc\u00ea encontrar uma an\u00e1lise detalhada das <code>Aggregated<\/code> APIs;<\/li><li>Na <strong>P\u00e1gina<\/strong> <strong>3<\/strong> voc\u00ea encontrar uma an\u00e1lise detalhada das <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>Como os conjuntos <code>Telemetry <\/code>e <code>KPIs <\/code>fornecem muitos <code>dataTypes <\/code>que podem ser chamados, uma tabela completa com a descri\u00e7\u00e3o de cada um deles est\u00e1 dispon\u00edvel em <strong>P\u00e1gina<\/strong> <strong>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>As Aggregated APIs s\u00e3o usadas principalmente quando se deseja obter, para um determinado tipo de dados, um \u00fanico valor de resposta, que permite resumir uma determinada tend\u00eancia e\/ou resultado, para uma janela de tempo personalizada.<\/p>\n\n\n\n<p>Esse tipo de APIs \u00e9 sempre estruturado da seguinte forma:<\/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>As <code>path<\/code>, que permite apontar para os recursos desejados, sempre requer os seguintes par\u00e2metros:<\/p>\n\n\n\n<ul><li><code>{power,frequency,wind,temperature,voltage,current,energy,kpis}<\/code>: o tipo de recurso para apontar. Este par\u00e2metro n\u00e3o especifica os dados reais que voc\u00ea deseja obter, mas a categoria geral \u00e0 qual os dados desejados pertencem (<em>observe que uma chamada de API s\u00f3 aceita uma categoria por vez, atualmente n\u00e3o \u00e9 poss\u00edvel fazer chamadas BULK<\/em>);<\/li><li><code>{entityID}<\/code>: pode ser uma planta ou um dispositivo EID. No primeiro caso, o valor obtido leva em considera\u00e7\u00e3o a agrega\u00e7\u00e3o de todos os dispositivos, para os quais esse valor existe, em n\u00edvel de planta; no segundo caso, o valor obtido refere-se ao \u00fanico dispositivo de interesse;<\/li><li><code>{dataType}<\/code>: representa os dados reais a serem obtidos. Os <code>dataTypes <\/code>dispon\u00edveis variam de acordo com os recursos apontados, uma descri\u00e7\u00e3o detalhada est\u00e1 dispon\u00edvel diretamente no <a rel=\"noreferrer noopener\" href=\"http:\/\/documentation-wp.hub.av.priv\/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>: representa o tipo de crit\u00e9rio de agrega\u00e7\u00e3o com o qual os dados solicitados s\u00e3o a ser obtido.<\/li><\/ul>\n\n\n\n<div style=\"height:10px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<p>As queries, que permitem filtrar os dados solicitados, sempre requerem os seguintes par\u00e2metros:<\/p>\n\n\n\n<ul><li><code>{startDate}<\/code>: o limite inferior que permite definir o in\u00edcio da janela de tempo de interesse. Seu formato \u00e9 sempre <code>YYYYMMGG <\/code>(<em>eg: 20220321<\/em>);<\/li><li><code>{endDate}<\/code>: o limite superior que permite definir o fim da janela de tempo de interesse. Seu formato \u00e9 sempre <code>YYYYMMGG <\/code>(<em>eg: 20220322<\/em>) e deve ser temporalmente posterior ao <code>{startDate}<\/code>;<\/li><li><code>{timezone}<\/code>: permite orientar a chamada da API para uma correta recupera\u00e7\u00e3o dos dados de acordo com o fuso hor\u00e1rio solicitado.<\/li><\/ul>\n\n\n\n<div style=\"height:20px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<p>Uma chamada agregada sempre fornece um \u00fanico valor como resposta, que \u00e9 manipulado de acordo com a janela de tempo e o fuso hor\u00e1rio indicados. Nesse contexto, o par\u00e2metro <code>{valuetype}<\/code> \u00e9 de grande import\u00e2ncia, pois varia de acordo com a categoria de recursos, portanto de <code>{dataType}<\/code>, a ser obtido.<\/p>\n\n\n\n<p>Para um <code>{dataType}<\/code> pertencente \u00e0 categoria <code>{power,frequency,wind,temperature,voltage,current,kpis}<\/code>, o <code>{valueType}<\/code> pode assumir tr\u00eas valores diferentes:<\/p>\n\n\n\n<ul><li><code>Maximum<\/code>: retorna o valor m\u00e1ximo encontrado entre todas as amostras presentes na janela de tempo <code>{startDate} <\/code>e <code>{endDate}<\/code> definida, para o <code>{dataType}<\/code> solicitado;<\/li><li><code>Minimum<\/code>: retorna o valor m\u00ednimo encontrado entre todas as amostras presentes na janela de tempo <code>{startDate} <\/code>e <code>{endDate}<\/code> definida, para o <code>{dataType}<\/code> solicitado;<\/li><li><code>Average<\/code>: retorna o valor m\u00e9dio de todas as amostras presentes na janela de tempo <code>{startDate} <\/code>e <code>{endDate}<\/code> definida, para o <code>{dataType}<\/code> solicitado;<\/li><\/ul>\n\n\n\n<hr class=\"wp-block-separator is-style-wide\"\/>\n\n\n\n<p><strong>OBSERVA\u00c7\u00c3O:<\/strong>\u00a0<em>para a categoria<\/em><code> kpis<\/code><em> , as considera\u00e7\u00f5es acima s\u00e3o v\u00e1lidas somente se <strong>Power-Based KPIs<\/strong> s\u00e3o chamados. Para obter mais detalhes, consulte<\/em> <a rel=\"noreferrer noopener\" href=\"http:\/\/documentation-wp.hub.av.priv\/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>Vamos dar uma olhada em alguns casos de uso, onde consideramcom um \u00fanico dispositivo inversor registrado ( <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\">Caso de Uso 1<\/h2>\n\n\n\n<p>Quero obter o valor m\u00e1ximo, encontrado no dia do equin\u00f3cio da primavera, da energia gerada pela usina.<\/p>\n\n\n\n<hr class=\"wp-block-separator is-style-wide\"\/>\n\n\n\n<p><strong>An\u00e1lise de Problemas<\/strong><\/p>\n\n\n\n<p>Considerando que a rela\u00e7\u00e3o entre a planta e os dispositivos registrados \u00e9 1:1, posso inserir indiferentemente o <code>entityID<\/code> de um dos dois. Eu quero a energia produzida, ent\u00e3o vou apontar os recursos da categoria <code>power <\/code>e solicitar o <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\">Caso de Uso 2<\/h2>\n\n\n\n<p>Quero obter o valor m\u00e9dio, no dia do equin\u00f3cio da primavera, de toda a tens\u00e3o medida pelo inversor.<\/p>\n\n\n\n<hr class=\"wp-block-separator is-style-wide\"\/>\n\n\n\n<p><strong><strong>An\u00e1lise de Problemas<\/strong><\/strong><\/p>\n\n\n\n<p>Considerando que a rela\u00e7\u00e3o entre a planta e os dispositivos registrados \u00e9 1:1, posso inserir indiferentemente o <code>entityID<\/code> de um dos dois. Eu quero a voltagem, ent\u00e3o vou apontar o recursos da categoria <code>voltage <\/code>e solicite a <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>Para um <code>{dataType}<\/code> pertencente \u00e0 categoria <code>{energy,kpis}<\/code>, o <code>{valueType}<\/code> pode assumir dois valores diferentes:<\/p>\n\n\n\n<ul><li><code>Cumulative<\/code>:retorna o \u00faltimo valor cumulativo dispon\u00edvel na janela de tempo definida <code>{startDate} <\/code>e <code>{endDate}<\/code>, para o solicitado <code>{dataType}<\/code>;<\/li><li><code>Delta<\/code>: retorna a diferen\u00e7a entre o \u00faltimo e o primeiro valor cumulativo dispon\u00edvel na janela de tempo definida <code>{startDate} <\/code>e <code>{endDate}<\/code>, para o solicitado <code>{dataType}<\/code>;<\/li><\/ul>\n\n\n\n<hr class=\"wp-block-separator is-style-wide\"\/>\n\n\n\n<p><em><strong>OBSERVA\u00c7\u00c3O:<\/strong>\u00a0<em>para a categoria<\/em><code> kpis<\/code><em> , as considera\u00e7\u00f5es acima s\u00e3o v\u00e1lidas somente se <strong>Energy-Based KPIs<\/strong> s\u00e3o chamados. Para obter mais detalhes, consulte<\/em> <a rel=\"noreferrer noopener\" href=\"http:\/\/documentation-wp.hub.av.priv\/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>Vamos dar uma olhada em alguns casos de uso, onde consideramcom um \u00fanico dispositivo inversor registrado ( <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\">Caso de Uso 1<\/h2>\n\n\n\n<p>Quero obter a energia gerada pela usina desde o in\u00edcio da produ\u00e7\u00e3o at\u00e9 o dia do equin\u00f3cio da primavera.<\/p>\n\n\n\n<hr class=\"wp-block-separator is-style-wide\"\/>\n\n\n\n<p><strong><strong>An\u00e1lise de Problemas<\/strong><\/strong><\/p>\n\n\n\n<p>Considerando que a rela\u00e7\u00e3o entre a planta e os dispositivos registrados \u00e9 1:1, posso inserir indiferentemente o <code>entityID<\/code> de um dos dois. Eu quero a energia produzida at\u00e9 agora pela usina, ent\u00e3o vou apontar os recursos da categoria <code>energy <\/code>e solicitar o <code>cumulative <\/code>do <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\">Caso de Uso 2<\/h2>\n\n\n\n<p>Quero obter a energia gerada no dia do equin\u00f3cio da primavera, pelo inversor.<\/p>\n\n\n\n<hr class=\"wp-block-separator is-style-wide\"\/>\n\n\n\n<p><strong><strong>An\u00e1lise de Problemas<\/strong><\/strong><\/p>\n\n\n\n<p>Considerando que a rela\u00e7\u00e3o entre a planta e os dispositivos registrados \u00e9 1:1, posso inserir indiferentemente o <code>entityID<\/code> de um dos dois. Eu quero a energia gerada apenas no dia do equin\u00f3cio de primavera, ent\u00e3o vou apontar os recursos da categoria <code>energy <\/code>e solicitar o <code>delta <\/code>do <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>As Timeseries APIs s\u00e3o usadas principalmente quando voc\u00ea deseja obter, para um determinado tipo de dados, uma tend\u00eancia detalhada, que permite realizar an\u00e1lises e representa\u00e7\u00f5es em tempo real, para uma janela de tempo personalizada.<\/p>\n\n\n\n<p>Esse tipo de APIs \u00e9 sempre estruturado da seguinte forma:<\/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>As <code>path<\/code>, que permite apontar para os recursos desejados, sempre requer os seguintes par\u00e2metros:<\/p>\n\n\n\n<ul><li><code>{power,frequency,wind,temperature,voltage,current,energy,kpis}<\/code>: o tipo de recurso para apontar. Este par\u00e2metro n\u00e3o especifica os dados reais que voc\u00ea deseja obter, mas a categoria geral \u00e0 qual os dados desejados pertencem (<em>observe que uma chamada de API s\u00f3 aceita uma categoria por vez, atualmente n\u00e3o \u00e9 poss\u00edvel fazer chamadas BULK<\/em>);<\/li><li><code>{entityID}<\/code>: pode ser uma planta ou um dispositivo EID. No primeiro caso, o valor obtido leva em considera\u00e7\u00e3o a agrega\u00e7\u00e3o de todos os dispositivos, para os quais esse valor existe, em n\u00edvel de planta; no segundo caso, o valor obtido refere-se ao \u00fanico dispositivo de interesse;<\/li><li><code>{dataType}<\/code>: representa os dados reais a serem obtidos. Os <code>dataTypes <\/code>dispon\u00edveis variam de acordo com os recursos apontados, uma descri\u00e7\u00e3o detalhada est\u00e1 dispon\u00edvel diretamente no <a rel=\"noreferrer noopener\" href=\"http:\/\/documentation-wp.hub.av.priv\/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>: representa o tipo de crit\u00e9rio de agrega\u00e7\u00e3o com o qual os dados solicitados s\u00e3o a ser obtido.<\/li><\/ul>\n\n\n\n<div style=\"height:10px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<p>As queries, que permitem filtrar os dados solicitados, sempre requerem os seguintes par\u00e2metros:<\/p>\n\n\n\n<ul><li><code>{sampleSize}<\/code>: define a taxa de amostragem com a qual obter dados. Quanto maior a taxa de amostragem, menor o comprimento do array de dados obtido em resposta (<em>a <\/em><code> sampleTime<\/code><em> igual a<\/em><code> Min5<\/code><em> ter\u00e1 mais amostras na matriz de resposta do que um<\/em><code> sampleTime<\/code> <em>igual a<\/em><code> Min15<\/code>);<\/li><li><code>{startDate}<\/code>: o limite inferior que permite definir o in\u00edcio da janela de tempo de interesse. Seu formato \u00e9 sempre <code>YYYYMMGG <\/code>(<em>eg: 20220321<\/em>);<\/li><li><code>{endDate}<\/code>: o limite superior que permite definir o fim da janela de tempo de interesse. Seu formato \u00e9 sempre <code>YYYYMMGG <\/code>(<em>eg: 20220322<\/em>) e deve ser temporalmente posterior ao <code>{startDate}<\/code>;<\/li><li><code>{timezone}<\/code>: permite orientar a chamada da API para uma correta recupera\u00e7\u00e3o dos dados de acordo com o fuso hor\u00e1rio solicitado. A escolha do fuso hor\u00e1rio afeta as \u00e9pocas retornadas no array de resposta.<\/li><\/ul>\n\n\n\n<div style=\"height:20px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<p>Uma chamada de s\u00e9rie temporal geralmente fornece um array de valores como resposta.<br>O comprimento da array depende diretamente do valor de <code>{sampleSize}<\/code> e da janela de tempo definida pelo <code>{startDate}<\/code> e <code>{endDate}<\/code>. Depois que uma janela de tempo de refer\u00eancia for definida, o valor <code>{sampleSize}<\/code> cortar\u00e1 essa janela com mais ou menos frequ\u00eancia, consequentemente, modificando o comprimento da matriz em resposta: quanto maior for <code>{sampleSize}<\/code>, quanto mais esparsa a janela de tempo for dividida, resultando em menos elementos na matriz de resposta.<br>Vale a pena ver um exemplo direto para explicar melhor esses conceitos.<\/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\">Exemplo<\/h2>\n\n\n\n<p>Vamos supor que queremos representar a tend\u00eancia em tempo real da pot\u00eancia produzida por um inversor, durante o dia atual (<em>suponha que estamos no equin\u00f3cio da primavera<\/em>). A melhor solu\u00e7\u00e3o \u00e9 usar uma Timeseries API, que ter\u00e1 a seguinte estrutura geraleneral structure:<\/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>Dentro da estrutura gen\u00e9rica acima, sabemos que:<\/p>\n\n\n\n<ol><li>A categoria de recursos a ser visada \u00e9 <code>{power}<\/code> e, dentro dessa categoria, o <code>{dataType}<\/code> a ser chamado \u00e9 o <code>GenerationPower<\/code>;<\/li><li>O <code><code>{valueType} <\/code><\/code>a ser chamado \u00e9 um de<code> Maximum<\/code>, <code>Minimum<\/code> e <code>Average<\/code> <em>(consulte a an\u00e1lise detalhada mais abaixo<\/em>);<\/li><li>A janela de tempo \u00e9 o dia do equin\u00f3cio da primavera, portanto <code>{startDate}<\/code> ser\u00e1 20220321 e <code>{endDate}<\/code> ser\u00e1 20220322;<\/li><\/ol>\n\n\n\n<p>Isso leva nossa chamada a assumir o seguinte formato:<\/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>O par\u00e2metro <code>{sampleSize}<\/code> pode ter os seguintes valores:<\/p>\n\n\n\n<ul><li><code>Min5<\/code>: a janela de tempo \u00e9 dividida a cada 5 minutos, tomando todas as amostras salvas no Aurora Vision (<em>consulte a P\u00e1gina 1<\/em>);<\/li><li><code>Min15<\/code>: a janela de tempo \u00e9 fatiada a cada 15 minutos, 3 amostras do Aurora Vision s\u00e3o inclu\u00eddas para cada fatia;<\/li><li><code>Min30<\/code>: a janela de tempo \u00e9 fatiada a cada 30 minutos, 6 amostras do Aurora Vision s\u00e3o inclu\u00eddas para cada fatia;<\/li><li><code>Hour<\/code>: a janela de tempo \u00e9 fatiada a cada 60 minutos, 12 amostras do Aurora Vision s\u00e3o inclu\u00eddas para cada fatia;<\/li><li><code>Day<\/code>: a janela de tempo \u00e9 fatiada todos os dias, 288 amostras do Aurora Vision s\u00e3o inclu\u00eddas para cada fatia;<\/li><li><code>Month<\/code>: a janela de tempo \u00e9 dividida a cada m\u00eas;<\/li><li><code>Year<\/code>: a janela de tempo \u00e9 dividida a cada ano.<\/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>Como estamos interessados \u200b\u200bem representar a tend\u00eancia de energia em tempo real, com a maior frequ\u00eancia poss\u00edvel, optamos por definir <code>{sampleSize}<\/code> como <code>Min5<\/code> (<em>n\u00e3o faria sentido inserir um valor maior que o da janela de tempo escolhida<\/em>) e definir o par\u00e2metro <code>{timeZone}<\/code> para <code>Europe\/Rome<\/code>:<\/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>A resposta ser\u00e1 um array de um determinado tamanho em que cada elemento ser\u00e1 sempre composto pela seguinte estrutura:<\/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>Como podemos ver, a resposta \u00e9 composta por:<\/p>\n\n\n\n<ul><li><code>Start<\/code>: representa a \u00e9poca, que \u00e9 o valor da hora em UTC; muda de acordo com o <code>timeZone <\/code>(<em>diferentes fusos hor\u00e1rios ter\u00e3o diferentes \u00e9pocas para o mesmo valor de pot\u00eancia<\/em>) e segue as fatias temporais definidas pelo <code>sampleSize<\/code>;<\/li><li><code>Units<\/code>: representa a unidade de medida;<\/li><li><code>Value<\/code>: representa o valor.<\/li><\/ul>\n\n\n\n<p>Vamos extrapolar um extrato maior da resposta:<\/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>O campo<code>start <\/code>aumenta de elemento para elemento, passando de um valor de <code>1647875700<\/code> para um valor de <code>1647876000<\/code>; se fizermos a diferen\u00e7a entre as duas \u00e9pocas, obteremos exatamente 5 minutos ou, em outras palavras, o valor que definimos para o par\u00e2metro <code>sampleSize<\/code>.<br>De epoch <code>1647876000<\/code> os par\u00e2metro <code>start <\/code>e <code>value <\/code>n\u00e3o existem mais; isso porque, supondo que a chamada tenha sido feita antes das 16:20 (<em>Europe\/Rome<\/em>), a amostra referida com aquela \u00e9poca est\u00e1 no futuro e, portanto, ainda n\u00e3o existe. Como tal, o Aurora Vision n\u00e3o fornece o campo dentro do elemento; no entanto, em uma nova chamada feita ap\u00f3s as 16:20, ele a fornecer\u00e1 porque foi preenchida.<\/p>\n<\/div>\n<\/div>\n\n\n\n<p>O princ\u00edpio da presen\u00e7a\/aus\u00eancia de determinados campos nos elementos de resposta de uma API de s\u00e9rie temporal (<em>expresso nas \u00faltimas linhas do exemplo acima<\/em>) \u00e9 de fundamental import\u00e2ncia: n\u00e3o se aplica apenas em no caso de amostras futuras, mas tamb\u00e9m e sobretudo no caso de completa aus\u00eancia de dados sobre Aurora Vision. Isso permite dar coer\u00eancia \u00e0s respostas obtidas das APIs de telemetrias, pois quando o <code>value <\/code>arquivado est\u00e1 presente, significa que esse valor realmente existe no Aurora Vision, caso contr\u00e1rio n\u00e3o estaria presente.<\/p>\n\n\n\n<div style=\"height:20px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<p>Assim como para chamadas agregadas, tamb\u00e9m para chamadas de s\u00e9rie temporal o par\u00e2metro <code>{valuetype}<\/code> \u00e9 de grande import\u00e2ncia, pois varia de acordo com a categoria dos recursos, portanto de <code>{dataType}<\/code>, a ser obtido e tamb\u00e9m \u00e9 afetado pelo <code>{sampleSize}<\/code>.<\/p>\n\n\n\n<p>Para um <code>{dataType}<\/code> pertencente \u00e0 categoria <code>{power,frequency,wind,temperature,voltage,current,kpis}<\/code>, o <code>{valueType}<\/code> pode assumir tr\u00eas valores diferentes:<\/p>\n\n\n\n<ul><li><code>Maximum<\/code>: retorna o valor m\u00e1ximo encontrado entre todas as amostras dentro de cada fatia de tempo, determinado pelo valor <code>{sampleSize}<\/code>, na janela de tempo definida <code>{startDate} <\/code>e <code>{endDate}<\/code>, para o solicitado <code>{dataType}<\/code>;<\/li><li><code>Minimum<\/code>: retorna o valor m\u00ednimo encontrado entre todas as amostras dentro de cada fatia de tempo, determinado pelo valor <code>{sampleSize}<\/code>, no janela de tempo definida <code>{startDate} <\/code>e <code>{endDate}<\/code>, para o solicitado <code>{dataType}<\/code>;<\/li><li><code>Average<\/code>: retorna o valor m\u00e9dio de todas as amostras dentro de cada fatia de tempo, determinado pelo valor <code>{sampleSize}<\/code>, no janela de tempo definida <code>{startDate} <\/code>e <code>{endDate}<\/code>, para o solicitado <code>{dataType}<\/code>;<\/li><\/ul>\n\n\n\n<hr class=\"wp-block-separator is-style-wide\"\/>\n\n\n\n<p><em><strong>OBSERVA\u00c7\u00c3O:<\/strong>\u00a0<em>para a categoria<\/em><code> kpis<\/code><em> , as considera\u00e7\u00f5es acima s\u00e3o v\u00e1lidas somente se <strong>Power-Based KPIs<\/strong> s\u00e3o chamados. Para obter mais detalhes, consulte<\/em> <a rel=\"noreferrer noopener\" href=\"http:\/\/documentation-wp.hub.av.priv\/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>Vamos dar uma olhada em alguns casos de uso, onde consideramcom um \u00fanico dispositivo inversor registrado ( <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\">Caso de Uso 1<\/h2>\n\n\n\n<p>Quero obter a energia gerada pelo inversor em tempo real, a cada 5 minutos, no dia do equin\u00f3cio da primavera. Dessa forma, posso tra\u00e7ar a tend\u00eancia e realizar an\u00e1lises espec\u00edficas sobre ela.<\/p>\n\n\n\n<hr class=\"wp-block-separator is-style-wide\"\/>\n\n\n\n<p><strong><strong>An\u00e1lise de Problemas<\/strong><\/strong><\/p>\n\n\n\n<p>Considerando que a rela\u00e7\u00e3o entre a planta e os dispositivos registrados \u00e9 1:1, posso inserir indiferentemente o <code>entityID<\/code> de um dos dois. Eu quero a energia produzida, ent\u00e3o vou apontar os recursos da categoria <code>power <\/code>e solicitar o <code>GenerationPower<\/code>. O par\u00e2metro <code>sampleSize<\/code> ser\u00e1 igual a <code>Min5 <\/code>, porque eu quero obter todas as amostras. O par\u00e2metro <code>valueType <\/code>pode ser, somente neste caso, definido indiferentemente como <code>Maximum<\/code>, <code>Minimum <\/code>ou <code>Average <\/code>porque o tempo janela \u00e9 cortada de forma a ter uma \u00fanica amostra para cada fatia e, portanto, nenhuma opera\u00e7\u00e3o real faz a diferen\u00e7a se houver uma \u00fanica amostra como refer\u00eancia.<\/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\">Caso de Uso 2<\/h2>\n\n\n\n<p>Quero obter a pot\u00eancia m\u00e9dia gerada pelo inversor a cada 15 minutos, no dia do equin\u00f3cio da primavera. Dessa forma, posso tra\u00e7ar a tend\u00eancia e realizar an\u00e1lises espec\u00edficas sobre ela.<\/p>\n\n\n\n<hr class=\"wp-block-separator is-style-wide\"\/>\n\n\n\n<p><strong><strong>An\u00e1lise de Problemas<\/strong><\/strong><\/p>\n\n\n\n<p>Considerando que a rela\u00e7\u00e3o entre a planta e os dispositivos registrados \u00e9 1:1, posso inserir indiferentemente o <code>entityID<\/code> de um dos dois. Eu quero a energia produzida, ent\u00e3o vou apontar os recursos da categoria <code>power <\/code>e solicitar o <code>GenerationPower<\/code>. Neste caso, o par\u00e2metro <code>sampleSize <\/code>ser\u00e1 igual a <code>Min15<\/code>. O par\u00e2metro <code>valueType <\/code>deve ser <code>Average <\/code>porque a janela de tempo \u00e9 fatiada de forma a ter 3 amostras para cada fatia e, portanto, a m\u00e9dia \u00e9 realizada nas 3 amostras pertencente a cada fatia.<\/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>Para um <code>{dataType}<\/code> pertencente \u00e0 categoria <code>{energy,kpis}<\/code>, o <code>{valueType}<\/code> pode assumir dois valores diferentes:<\/p>\n\n\n\n<ul><li><code>Cumulative<\/code>: retorna o \u00faltimo valor cumulativo dispon\u00edvel dentro de cada fatia de tempo, determinado pelo valor <code>{sampleSize}<\/code>, no definido <code>{startDate} <\/code>e <code>{endDate}<\/code> janela de tempo, para o <code>{dataType}<\/code>;<\/li><li><code>Delta<\/code>: retorna o diferen\u00e7a entre o \u00faltimo e o primeiro valor cumulativo dispon\u00edvel dentro de cada fatia de tempo, determinado pelo valor <code>{sampleSize}<\/code>, no definido <code>{startDate} <\/code>e <code>{endDate}<\/code> janela de tempo, para o <code>{dataType}<\/code>;<\/li><\/ul>\n\n\n\n<hr class=\"wp-block-separator is-style-wide\"\/>\n\n\n\n<p><strong>OBSERVA\u00c7\u00c3O:<\/strong>\u00a0<em>para a categoria<\/em><code> kpis<\/code><em> , as considera\u00e7\u00f5es acima s\u00e3o v\u00e1lidas somente se <strong>Energy-Based KPIs<\/strong> s\u00e3o chamados. Para obter mais detalhes, consulte<\/em> <a rel=\"noreferrer noopener\" href=\"http:\/\/documentation-wp.hub.av.priv\/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>Vamos dar uma olhada em alguns casos de uso, onde consideramcom um \u00fanico dispositivo inversor registrado ( <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\">Caso de Uso 1<\/h2>\n\n\n\n<p>Quero obter a energia gerada pelo inversor em tempo real, a cada 5 minutos, no dia do equin\u00f3cio de primavera; para tra\u00e7ar a tend\u00eancia de energia.<\/p>\n\n\n\n<hr class=\"wp-block-separator is-style-wide\"\/>\n\n\n\n<p><strong><strong>An\u00e1lise de Problemas<\/strong><\/strong><\/p>\n\n\n\n<p>Considerando que a rela\u00e7\u00e3o entre a planta e os dispositivos registrados \u00e9 1:1, posso inserir indiferentemente o <code>entityID<\/code> de um dos dois. Eu quero a energia produzida, ent\u00e3o vou apontar os recursos da categoria <code>energy <\/code>e solicitar a <code>GenerationEnergy<\/code>. O par\u00e2metro <code>sampleSize <\/code>ser\u00e1 igual a <code>Min5 <\/code>, porque eu quero obter todas as amostras. O par\u00e2metro <code>valueType <\/code>ser\u00e1 igual a <code>delta<\/code> porque a janela de tempo \u00e9 fatiada de forma a ter uma \u00fanica amostra para cada fatia e, portanto, a diferen\u00e7a entre as amostras fornecer\u00e1 a energia realmente produzida nos 5 minutos.<\/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\">Caso de Uso 2<\/h2>\n\n\n\n<p>Quero obter a energia gerada pelo inversor para todos os dias da semana do equin\u00f3cio da primavera, a fim de tra\u00e7ar a tend\u00eancia de energia semanal.<\/p>\n\n\n\n<hr class=\"wp-block-separator is-style-wide\"\/>\n\n\n\n<p><strong><strong>An\u00e1lise de Problemas<\/strong><\/strong><\/p>\n\n\n\n<p>Considerando que a rela\u00e7\u00e3o entre a planta e os dispositivos registrados \u00e9 1:1, posso inserir indiferentemente o <code>entityID<\/code> de um dos dois. Eu quero a energia gerada todos os dias da semana do equin\u00f3cio da primavera, ent\u00e3o vou apontar os recursos da categoria <code>energy <\/code>e solicitar a <code>GenerationEnergy<\/code>. O par\u00e2metro <code>sampleSize<\/code> ser\u00e1 igual a <code>Day<\/code>, porque quero dividir a janela de tempo todos os dias da semana. O par\u00e2metro <code>valueType <\/code>ser\u00e1 igual a <code>delta<\/code> porque a janela de tempo \u00e9 fatiada de forma a ter a diferen\u00e7a entre a primeira e a \u00faltima amostra de cada dia da semana (<em>janela de tempo<\/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>Tabela de Descri\u00e7\u00e3o de Data Types<\/h2>\n\n\n\n<div style=\"height:10px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<p>Para entender melhor o tipo de medi\u00e7\u00e3o associado ao <code>dataType <\/code>disponibilizado, \u00e9 poss\u00edvel consultar a figura (<em>que oferece um esquema de alto n\u00edvel de uma planta completa<\/em>) e a tabela abaixo (<em>dispon\u00edvel apenas em Ingl\u00eas<\/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>Os conjuntos Telemetry e KPIs permitem a explora\u00e7\u00e3o de v\u00e1rias chamadas para recuperar os dados de telemetria de interesse, tanto no n\u00edvel da planta quanto do dispositivo \u00fanico. As APIs desses pacotes s\u00e3o divididas, com base na modelagem e apresenta\u00e7\u00e3o de dados, em dois tipos principais: AGGREGATED: permite chamar o tipo de dado desejado (dataType) [&hellip;]<\/p>\n","protected":false},"author":4,"featured_media":0,"parent":1796,"menu_order":7,"comment_status":"closed","ping_status":"closed","template":"","meta":[],"_links":{"self":[{"href":"http:\/\/documentation-wp.hub.av.priv\/pt-pt\/wp-json\/wp\/v2\/pages\/6890"}],"collection":[{"href":"http:\/\/documentation-wp.hub.av.priv\/pt-pt\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"http:\/\/documentation-wp.hub.av.priv\/pt-pt\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"http:\/\/documentation-wp.hub.av.priv\/pt-pt\/wp-json\/wp\/v2\/users\/4"}],"replies":[{"embeddable":true,"href":"http:\/\/documentation-wp.hub.av.priv\/pt-pt\/wp-json\/wp\/v2\/comments?post=6890"}],"version-history":[{"count":125,"href":"http:\/\/documentation-wp.hub.av.priv\/pt-pt\/wp-json\/wp\/v2\/pages\/6890\/revisions"}],"predecessor-version":[{"id":9299,"href":"http:\/\/documentation-wp.hub.av.priv\/pt-pt\/wp-json\/wp\/v2\/pages\/6890\/revisions\/9299"}],"up":[{"embeddable":true,"href":"http:\/\/documentation-wp.hub.av.priv\/pt-pt\/wp-json\/wp\/v2\/pages\/1796"}],"wp:attachment":[{"href":"http:\/\/documentation-wp.hub.av.priv\/pt-pt\/wp-json\/wp\/v2\/media?parent=6890"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}