{"id":6891,"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-31T14:17:48","modified_gmt":"2022-05-31T13:17:48","slug":"telemetries-data","status":"publish","type":"page","link":"http:\/\/documentation-wp.hub.av.priv\/es\/aurora-vision-apis\/user-guide\/telemetries-data\/","title":{"rendered":"Datos de Telemetr\u00edas"},"content":{"rendered":"\n<div style=\"height:20px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<p>Las suites <code>Telemetry <\/code>y <code>KPIs <\/code>permiten la explotaci\u00f3n de m\u00faltiples llamadas para recuperar los datos de telemetr\u00eda de inter\u00e9s, tanto a nivel de planta como de dispositivo \u00fanico.<\/p>\n\n\n\n<p>Las APIs dentro de estas suites se dividen, seg\u00fan el modelo y la presentaci\u00f3n de datos, en dos tipos principales:<\/p>\n\n\n\n<ul><li><code>AGGREGATED<\/code>: permite llamar al tipo de datos deseado (<code>dataType<\/code>) con un criterio de agregaci\u00f3n (<code>valueType<\/code>) dentro de un definido ventana de tiempo (<code>startDate <\/code>&amp; <code>endDate<\/code>). Las llamadas de este tipo siempre devuelven un \u00fanico valor, agregado seg\u00fan los <code>queryParameters<\/code>;<br><\/li><li><code>TIMESERIES<\/code>: permite llamar al tipo deseado de datos (<code>dataType<\/code>) con un criterio de agregaci\u00f3n (<code>valueType<\/code>) dentro de una ventana de tiempo definida (<code>startDate<\/code> &amp; <code>endDate<\/code>) y seg\u00fan una frecuencia de muestreo definida (<code>sampleTime<\/code>). Las llamadas de este tipo siempre devuelven un array de valores, cuya longitud var\u00eda seg\u00fan los <code>queryParameters<\/code> definidos.<\/li><\/ul>\n\n\n\n<div style=\"height:10px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<p>Para el desarrollo de una l\u00f3gica de negocios de terceros transparente y totalmente integrada, es importante tener en cuenta algunos principios clave sobre la manipulaci\u00f3n y presentaci\u00f3n de datos de 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 un <strong>almacenamiento de muestras enviadas como m\u00ednimo cada 5 minutos<\/strong><em>,<\/em> por lo que no es posible solicitar datos por debajo de una frecuencia de muestreo 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 las <strong>power telemetries<\/strong> (<em>para cualquier dispositivo compatible<\/em>) se <strong>proporcionan como un \u00fanico valor puntual<\/strong>, que cambia de un instante de muestreo a otro.<\/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>All <strong>energy telemetries<\/strong> (<em>para cualquier dispositivo compatible<\/em>) se <strong>proporcionan acumuladas en el tiempo<\/strong>, desde el primer momento en que se puso en marcha el dispositivo compatible para trabajar con eficacia.<\/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>Con estos conceptos, es posible analizar en detalle los dos tipos principales de llamadas de telemetr\u00eda:<\/p>\n\n\n\n<ul><li>En <strong>P\u00e1gina<\/strong> <strong>2<\/strong> puede encontrar un an\u00e1lisis detallado de las <code>Aggregated<\/code> APIs;<\/li><li>En <strong>P\u00e1gina<\/strong> <strong>3<\/strong> puede encontrar un an\u00e1lisis detallado de las <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>Dado que las suites <code>Telemetry <\/code>y <code>KPIs <\/code>proporcionan muchos <code>dataTypes <\/code>a los que se puede llamar, una tabla completa con la descripci\u00f3n de cada uno de ellos est\u00e1 disponible en <strong><strong>P\u00e1gina<\/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>Las Aggregated APIs se utilizan principalmente cuando se desea obtener, para un determinado tipo de datos, un \u00fanico valor de respuesta, que permite resumir una determinada tendencia y\/o resultado, para una ventana de tiempo personalizada.<\/p>\n\n\n\n<p>Este tipo de APIs siempre se estructuran de la siguiente manera:<\/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>El <code>path<\/code>, que le permite apuntar a los recursos deseados, siempre requiere los siguientes par\u00e1metros:<\/p>\n\n\n\n<ul><li><code>{power,frequency,wind,temperature,voltage,current,energy,kpis}<\/code>: el tipo de recurso al que apuntar. Este par\u00e1metro no especifica los datos reales que desea obtener, sino la categor\u00eda general a la que pertenecen los datos deseados (<em>tenga en cuenta que una llamada API solo acepta una categor\u00eda a la vez, actualmente no es posible realizar llamadas BULK<\/em>);<\/li><li><code>{entityID}<\/code>: puede ser un EID de planta o de dispositivo. En el primer caso, el valor obtenido tiene en cuenta la agregaci\u00f3n de todos los dispositivos, para los que existe ese valor, a nivel de planta; en el segundo caso, el valor obtenido se refiere al \u00fanico dispositivo de inter\u00e9s;<\/li><li><code>{dataType}<\/code>: representa los datos reales que se obtendr\u00e1n. Los <code>dataTypes <\/code>disponibles var\u00edan seg\u00fan los recursos se\u00f1alados, una descripci\u00f3n detallada est\u00e1 disponible directamente en <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 el tipo de criterio de agregaci\u00f3n con el que se solicitan los datos a obtener.<\/li><\/ul>\n\n\n\n<div style=\"height:10px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<p>Las queries, que permiten filtrar los datos solicitados, requieren siempre los siguientes par\u00e1metros:<\/p>\n\n\n\n<ul><li><code>{startDate}<\/code>: el l\u00edmite inferior que permite definir el comienzo de la ventana de tiempo de inter\u00e9s. Su formato siempre es <code>YYYYMMGG <\/code>(<em>eg: 20220321<\/em>);<\/li><li><code>{endDate}<\/code>: el l\u00edmite superior que permite definir el final de la ventana de tiempo de inter\u00e9s. Su formato es siempre <code>YYYYMMGG <\/code>(<em>eg: 20220322<\/em>) y debe ser temporalmente posterior a <code>{startDate}<\/code>;<\/li><li><code>{timezone}<\/code>: permite guiar la llamada API a una correcta recuperaci\u00f3n de datos seg\u00fan la zona horaria solicitada.<\/li><\/ul>\n\n\n\n<div style=\"height:20px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<p>Una llamada agregada siempre proporciona un \u00fanico valor como respuesta, que se manipula de acuerdo con la ventana de tiempo y la zona horaria indicada. En este contexto, el par\u00e1metro <code>{valuetype}<\/code> es de gran importancia porque var\u00eda seg\u00fan la categor\u00eda de recursos, por lo tanto de <code>{dataType}<\/code>, a obtener.<\/p>\n\n\n\n<p>Para un <code>{dataType}<\/code> perteneciente a la categor\u00eda <code>{power,frequency,wind,temperature,voltage,current,kpis}<\/code>, el <code>{valueType}<\/code> puede asumir tres valores diferentes:<\/p>\n\n\n\n<ul><li><code>Maximum<\/code>: devuelve el valor m\u00e1ximo encontrado entre todas las muestras presentes en el definido <code>{startDate} <\/code>y <code>{endDate}<\/code> ventana de tiempo, para el <code>{dataType}<\/code>;<\/li><li><code>Minimum<\/code>: devuelve el valor m\u00ednimo encontrado entre todas las muestras presentes en el definido <code>{startDate} <\/code>y <code>{endDate}<\/code> ventana de tiempo, para el <code>{dataType}<\/code>;<\/li><li><code>Average<\/code>: devuelve el valor promedio de todas las muestras presentes en el <code>{startDate} <\/code>y <code>{endDate}<\/code>, ventana de tiempo, para el <code>{dataType}<\/code>;<\/li><\/ul>\n\n\n\n<hr class=\"wp-block-separator is-style-wide\"\/>\n\n\n\n<p><strong>NOTA:<\/strong>\u00a0<em>para la categor\u00eda<\/em><code> kpis<\/code><em> , las consideraciones anteriores son v\u00e1lidas solo si se denominan <strong>Power-Based KPIs<\/strong>. Para obtener m\u00e1s detalles, 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>Echemos un vistazo a algunos casos de uso, donde consideramos una planta ( <code>entityID<\/code>: <em>12345678 <\/em>) con un solo 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>Quiero obtener el valor m\u00e1ximo, encontrado el d\u00eda del equinoccio de primavera, de la energ\u00eda generada por la planta.<\/p>\n\n\n\n<hr class=\"wp-block-separator is-style-wide\"\/>\n\n\n\n<p><strong>An\u00e1lisis de Problemas<\/strong><\/p>\n\n\n\n<p>Teniendo en cuenta que la relaci\u00f3n entre planta y dispositivos registrados es de 1:1, puedo ingresar indistintamente el <code>entityID<\/code> de uno de los dos. Quiero que se produzca la energ\u00eda, as\u00ed que se\u00f1alar\u00e9 los recursos de la categor\u00eda <code>power <\/code>y solicitar\u00e9 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\">Caso de Uso 2<\/h2>\n\n\n\n<p>Quiero obtener el valor medio, en el d\u00eda del equinoccio de primavera, de toda la tensi\u00f3n medida por el inversor.<\/p>\n\n\n\n<hr class=\"wp-block-separator is-style-wide\"\/>\n\n\n\n<p><strong><strong>An\u00e1lisis de Problemas<\/strong><\/strong><\/p>\n\n\n\n<p>Teniendo en cuenta que la relaci\u00f3n entre planta y dispositivos registrados es de 1:1, puedo ingresar indistintamente el <code>entityID<\/code> de uno de los dos. Quiero el voltaje, as\u00ed que apuntar\u00e9 el recursos de la categor\u00eda <code>voltage <\/code>y solicitar\u00e9 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>Para un <code>{dataType}<\/code> perteneciente a la categor\u00eda <code>{energy,kpis}<\/code>, el <code>{valueType}<\/code> puede asumir dos valores diferentes:<\/p>\n\n\n\n<ul><li><code>Cumulative<\/code>: devuelve el \u00faltimo valor acumulativo disponible en la ventana de tiempo definida <code>{startDate} <\/code>y <code>{endDate}<\/code> para el <code>{dataType}<\/code>;<\/li><li><code>Delta<\/code>: devuelve la diferencia entre el \u00faltimo y el primer valor acumulativo disponible en el <code>{startDate} <\/code>y <code>{endDate}<\/code> para el <code>{dataType}<\/code>;<\/li><\/ul>\n\n\n\n<hr class=\"wp-block-separator is-style-wide\"\/>\n\n\n\n<p><em><strong>NOTA:<\/strong>\u00a0<em>para la categor\u00eda<\/em><code> kpis<\/code><em> , las consideraciones anteriores son v\u00e1lidas solo si se denominan <strong>Energy-Based KPIs<\/strong>. Para obtener m\u00e1s detalles, 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>Echemos un vistazo a algunos casos de uso, donde consideramos una planta ( <code>entityID<\/code>: <em>12345678 <\/em>) con un solo 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>Quiero obtener la energ\u00eda que genera la planta desde que empez\u00f3 a producir hasta el d\u00eda del equinoccio de primavera.<\/p>\n\n\n\n<hr class=\"wp-block-separator is-style-wide\"\/>\n\n\n\n<p><strong><strong>An\u00e1lisis de Problemas<\/strong><\/strong><\/p>\n\n\n\n<p>Teniendo en cuenta que la relaci\u00f3n entre planta y dispositivos registrados es de 1:1, puedo ingresar indistintamente el <code>entityID<\/code> de uno de los dos. Quiero la energ\u00eda producida hasta ahora por la planta, por lo que apuntar\u00e9 los recursos de la categor\u00eda <code>energy<\/code> y solicitar\u00e9 el <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\">Caso de Uso 2<\/h2>\n\n\n\n<p>Quiero obtener la energ\u00eda generada el d\u00eda del equinoccio de primavera, por el inversor.<\/p>\n\n\n\n<hr class=\"wp-block-separator is-style-wide\"\/>\n\n\n\n<p><strong><strong>An\u00e1lisis de Problemas<\/strong><\/strong><\/p>\n\n\n\n<p>Teniendo en cuenta que la relaci\u00f3n entre planta y dispositivos registrados es de 1:1, puedo ingresar indistintamente el <code>entityID<\/code> de uno de los dos. Quiero la energ\u00eda generada solo el d\u00eda del equinoccio de primavera, por lo que se\u00f1alar\u00e9 los recursos de la categor\u00eda <code>energy <\/code>solicitar\u00e9 el <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>Las Timeseries APIs se utilizan principalmente cuando desea obtener, para un determinado tipo de datos, una tendencia detallada, que le permite realizar an\u00e1lisis y representaciones en tiempo real, para una ventana de tiempo personalizada.<\/p>\n\n\n\n<p>Este tipo de APIs siempre se estructuran de la siguiente manera:<\/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>El <code>path<\/code>, que le permite apuntar a los recursos deseados, siempre requiere los siguientes par\u00e1metros:<\/p>\n\n\n\n<ul><li><code>{power,frequency,wind,temperature,voltage,current,energy,kpis}<\/code>: el tipo de recurso al que apuntar. Este par\u00e1metro no especifica los datos reales que desea obtener, sino la categor\u00eda general a la que pertenecen los datos deseados (<em>tenga en cuenta que una llamada API solo acepta una categor\u00eda a la vez, actualmente no es posible realizar llamadas BULK<\/em>);<\/li><li><code>{entityID}<\/code>: puede ser un EID de planta o de dispositivo. En el primer caso, el valor obtenido tiene en cuenta la agregaci\u00f3n de todos los dispositivos, para los que existe ese valor, a nivel de planta; en el segundo caso, el valor obtenido se refiere al \u00fanico dispositivo de inter\u00e9s;<\/li><li><code>{dataType}<\/code>: representa los datos reales que se obtendr\u00e1n. Los <code>dataTypes <\/code>disponibles var\u00edan seg\u00fan los recursos se\u00f1alados, una descripci\u00f3n detallada est\u00e1 disponible directamente en <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>: <code>{power,frequency,wind,temperature,voltage,current,energy,kpis}<\/code>: el tipo de recurso al que apuntar. Este par\u00e1metro no especifica los datos reales que desea obtener, sino la categor\u00eda general a la que pertenecen los datos deseados (<em>tenga en cuenta que una llamada API solo acepta una categor\u00eda a la vez, actualmente no es posible realizar llamadas BULK<\/em>);<\/li><li><code>{entityID}<\/code>: puede ser un EID de planta o de dispositivo. En el primer caso, el valor obtenido tiene en cuenta la agregaci\u00f3n de todos los dispositivos, para los que existe ese valor, a nivel de planta; en el segundo caso, el valor obtenido se refiere al \u00fanico dispositivo de inter\u00e9s;<\/li><li><code>{dataType}<\/code>: representa los datos reales que se obtendr\u00e1n. Los <code>dataTypes <\/code>disponibles var\u00edan seg\u00fan los recursos se\u00f1alados, una descripci\u00f3n detallada est\u00e1 disponible directamente en <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 el tipo de criterio de agregaci\u00f3n con el que se solicitan los datos a obtener.<\/li><\/ul>\n\n\n\n<div style=\"height:10px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<p>Las queries, que permiten filtrar los datos solicitados, requieren siempre los siguientes par\u00e1metros:<\/p>\n\n\n\n<ul><li><code>{sampleSize}<\/code>: define la frecuencia de muestreo con la que se obtienen los datos. Cuanto mayor sea la frecuencia de muestreo, menor ser\u00e1 la longitud de la matriz de datos obtenida en respuesta (<em>a <\/em><code> sampleTime<\/code><em> igual a<\/em><code> Min5<\/code><em> tendr\u00e1 m\u00e1s muestras en la matriz de respuesta que un<\/em><code> sampleTime<\/code> <em>igual a<\/em><code> Min15<\/code>);<\/li><li><code>{startDate}<\/code>: el l\u00edmite inferior que permite definir el comienzo de la ventana de tiempo de inter\u00e9s. Su formato siempre es <code>YYYYMMGG <\/code>(<em>eg: 20220321<\/em>);<\/li><li><code>{endDate}<\/code>: el l\u00edmite superior que permite definir el final de la ventana de tiempo de inter\u00e9s. Su formato es siempre <code>YYYYMMGG <\/code>(<em>eg: 20220322<\/em>) y debe ser temporalmente posterior a <code>{startDate}<\/code>;<\/li><li><code>{timezone}<\/code>: <code>{startDate}<\/code>: el l\u00edmite inferior que permite definir el comienzo de la ventana de tiempo de inter\u00e9s. Su formato siempre es <code>YYYYMMGG <\/code>(<em>eg: 20220321<\/em>);<\/li><li><code>{endDate}<\/code>: el l\u00edmite superior que permite definir el final de la ventana de tiempo de inter\u00e9s. Su formato es siempre <code>YYYYMMGG <\/code>(<em>eg: 20220322<\/em>) y debe ser temporalmente posterior a <code>{startDate}<\/code>;<\/li><li><code>{timezone}<\/code>: permite guiar la llamada API a una correcta recuperaci\u00f3n de datos seg\u00fan la zona horaria solicitada. La elecci\u00f3n de la zona horaria afecta las \u00e9pocas devueltas dentro de l&#8217;array de respuesta.<\/li><\/ul>\n\n\n\n<div style=\"height:20px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<p>Una llamada de serie temporal generalmente proporciona un array de valores como respuesta.<br>La longitud de l&#8217;array depende directamente del valor <code>{sampleSize}<\/code> y de la ventana de tiempo definida por el par\u00e1metros <code>{startDate}<\/code> y <code>{endDate}<\/code> parameters. Una vez que se ha definido una ventana de tiempo de referencia, el valor <code>{sampleSize}<\/code> dividir\u00e1 esa ventana con m\u00e1s o menos frecuencia, modificando as\u00ed la longitud de l&#8217;array en respuesta: cuanto mayor sea <code>{sampleSize}<\/code> valor, la ventana de tiempo se dividir\u00e1 escasamente, lo que dar\u00e1 como resultado menos elementos en la matriz de respuesta.<br>Vale la pena mirar un ejemplo directo para explicar mejor estos conceptos.<\/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\">Ejemplo<\/h2>\n\n\n\n<p>Supongamos que queremos representar la tendencia en tiempo real de la energ\u00eda producida por un inversor, durante el d\u00eda actual (<em>supongamos que estamos en el equinoccio de primavera<\/em>). La mejor soluci\u00f3n es utilizar una API de Timeseries, que tendr\u00e1 la siguiente estructura general:<\/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 de la estructura gen\u00e9rica anterior sabemos que:<\/p>\n\n\n\n<ol><li>La categor\u00eda de recursos a la que apuntar es <code>{power}<\/code> y, dentro de esta categor\u00eda, el <code>{dataType}<\/code> a llamar es <code>GenerationPower<\/code>;<\/li><li>El <code><code>{valueType} <\/code><\/code>para llamar es uno de<code>  Maximum<\/code>, <code>Minimum<\/code> y <code>Average<\/code> <em>(consulte el an\u00e1lisis detallado m\u00e1s adelante<\/em>);<\/li><li>La ventana de tiempo es el d\u00eda del equinoccio de primavera, por lo tanto <code>{startDate}<\/code> ser\u00e1 20220321 y <code>{endDate}<\/code> ser\u00e1 20220322;<\/li><\/ol>\n\n\n\n<p>Esto lleva a que nuestro llamado tome la siguiente forma:<\/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>El par\u00e1metro <code>{sampleSize}<\/code> puede tener los siguientes valores:<\/p>\n\n\n\n<ul><li><code>Min5<\/code>: la ventana de tiempo se divide cada 5 minutos, tomando cada muestra guardada en Aurora Vision (<em>ver P\u00e1gina 1<\/em>);<\/li><li><code>Min15<\/code>: la ventana de tiempo se divide cada 15 minutos, se incluyen 3 muestras de Aurora Vision para cada segmento;<\/li><li><code>Min30<\/code>: la ventana de tiempo se divide cada 30 minutos, se incluyen 6 muestras de Aurora Vision para cada segmento;<\/li><li><code>Hour<\/code>: la ventana de tiempo se divide cada 60 minutos, se incluyen 12 muestras de Aurora Vision para cada segmento;<\/li><li><code>Day<\/code>: la ventana de tiempo se corta todos los d\u00edas, se incluyen 288 muestras de Aurora Vision para cada segmento;<\/li><li><code>Month<\/code>: la ventana de tiempo se divide cada mes;<\/li><li><code>Year<\/code>: la ventana de tiempo se divide cada a\u00f1o.<\/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>Dado que estamos interesados \u200b\u200ben representar la tendencia de energ\u00eda en tiempo real, con la mayor frecuencia posible, elegimos establecer el <code>{sampleSize}<\/code> en <code>Min5<\/code> (<em>no tendr\u00eda sentido introducir un valor superior al de la ventana de tiempo elegida<\/em>) y establecer el par\u00e1metro <code>{timeZone}<\/code> en <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>La respuesta ser\u00e1 un array de cierta longitud en el que cada elemento estar\u00e1 siempre compuesto por la siguiente estructura:<\/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, la respuesta se compone de:<\/p>\n\n\n\n<ul><li><code>Start<\/code>: representa la \u00e9poca, que es el valor de tiempo en UTC; cambia de acuerdo con <code>timeZone <\/code>(<em>diferentes zonas horarias tendr\u00e1n diferentes \u00e9pocas para el mismo valor de potencia<\/em>) y sigue los segmentos temporales definidos por <code>sampleSize<\/code>;<\/li><li><code>Units<\/code>: representa la unidad de medida;<\/li><li><code>Value<\/code>: representa el valor.<\/li><\/ul>\n\n\n\n<p>Extrapolemos un extracto m\u00e1s grande de la respuesta:<\/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>El par\u00e1metro <code>start <\/code>aumenta de elemento a elemento, pasando de un valor de <code>1647875700<\/code> a un valor de <code>1647876000<\/code>; si hacemos la diferencia entre las dos \u00e9pocas, lo que obtenemos son exactamente 5 minutos o, dicho de otro modo, el valor que hemos establecido para el par\u00e1metro <code>sampleSize<\/code>.<br>From epoch <code>1647876000<\/code> los campos <code>start <\/code>y <code>value <\/code>ya no existen; esto se debe a que, suponiendo que la llamada se haya realizado antes de las 16:20 (<em>Europe\/Rome<\/em>), la muestra a la que se hace referencia con esa \u00e9poca es futura y, por tanto, a\u00fan no existente. Como tal, Aurora Vision no proporciona el campo dentro del elemento; sin embargo, en una nueva llamada realizada despu\u00e9s de las 16:20, lo proporcionar\u00e1 porque se ha rellenado.<\/p>\n<\/div>\n<\/div>\n\n\n\n<p>El principio sobre la presencia\/ausencia de ciertos campos en los elementos de respuesta de una timeseries API (<em>expresado en las \u00faltimas l\u00edneas del ejemplo anterior<\/em>) es de fundamental importancia: no se aplica solo en el caso de futuras muestras, pero tambi\u00e9n y sobre todo en el caso de ausencia total de datos sobre Aurora Vision. Esto permite dar coherencia a las respuestas obtenidas de las API de telemetr\u00eda, ya que cuando el <code>value <\/code>rchivado est\u00e1 presente, significa que ese valor realmente existe en Aurora Vision, de lo contrario no estar\u00eda presente.<\/p>\n\n\n\n<div style=\"height:20px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<p>Como fue el caso de las llamadas agregadas, tambi\u00e9n para las llamadas de series temporales el par\u00e1mees de gran importancia porque var\u00eda seg\u00fan la categor\u00eda de recursos, por lo tanto de <code>{dataType}<\/code>, que se obtendr\u00e1 y tambi\u00e9n se ve afectado por el <code>{sampleSize}<\/code>.<\/p>\n\n\n\n<p>Para un <code>{dataType}<\/code> perteneciente a la categor\u00eda <code>{power,frequency,wind,temperature,voltage,current,kpis}<\/code>, el <code>{valueType}<\/code> puede asumir tres valores diferentes:<\/p>\n\n\n\n<ul><li><code>Maximum<\/code>: devuelve el valor m\u00e1ximo encontrado entre todas las muestras dentro de cada intervalo de tiempo, determinado por el valor <code>{sampleSize}<\/code>, en el definido <code>{startDate} <\/code>y <code>{endDate}<\/code> ventana de tiempo, para el <code>{dataType}<\/code>;<\/li><li><code>Minimum<\/code>: devuelve el valor m\u00ednimo encontrado entre todas las muestras dentro de cada intervalo de tiempo, determinado por el valor <code>{sampleSize}<\/code>, en el definido <code>{startDate} <\/code>y <code>{endDate}<\/code> ventana de tiempo, para el <code>{dataType}<\/code>;<\/li><li><code>Average<\/code>: devuelve el valor promedio de todas las muestras dentro de cada intervalo de tiempo, determinado por el valor <code>{sampleSize}<\/code>, en el definido <code>{startDate} <\/code>y <code>{endDate}<\/code> ventana de tiempo, para el <code>{dataType}<\/code>;<\/li><\/ul>\n\n\n\n<hr class=\"wp-block-separator is-style-wide\"\/>\n\n\n\n<p><strong>NOTA:<\/strong>\u00a0<em>para la categor\u00eda<\/em><code> kpis<\/code><em> , las consideraciones anteriores son v\u00e1lidas solo si se denominan <strong>Power-Based KPIs<\/strong>. Para obtener m\u00e1s detalles, 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>Echemos un vistazo a algunos casos de uso, donde consideramos una planta ( <code>entityID<\/code>: <em>12345678 <\/em>) con un solo 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>Quiero obtener la energ\u00eda generada por el inversor en tiempo real, cada 5 minutos, el d\u00eda del equinoccio de primavera. De esta forma puedo trazar la tendencia y realizar an\u00e1lisis espec\u00edficos sobre ella.<\/p>\n\n\n\n<hr class=\"wp-block-separator is-style-wide\"\/>\n\n\n\n<p><strong><strong>An\u00e1lisis de Problemas<\/strong><\/strong><\/p>\n\n\n\n<p>Teniendo en cuenta que la relaci\u00f3n entre planta y dispositivos registrados es de 1:1, puedo ingresar indistintamente el <code>entityID<\/code> de uno de los dos. Quiero que se produzca la energ\u00eda, as\u00ed que se\u00f1alar\u00e9 los recursos de la categor\u00eda <code>power <\/code>y solicitar\u00e9 <code>GenerationPower<\/code>. El par\u00e1metro <code>sampleSize <\/code>ser\u00e1 igual a <code>Min5<\/code>, porque quiero obtener todas las muestras. El par\u00e1metro <code>valueType <\/code>puede ser, s\u00f3lo en este caso, configurado indistintamente como <code>Maximum<\/code>, <code>Minimum <\/code>ou <code>Average <\/code>porque el tiempo la ventana est\u00e1 dividida de tal manera que tiene una sola muestra para cada porci\u00f3n y, por lo tanto, ninguna operaci\u00f3n real hace la diferencia si hay una sola muestra como referencia.<\/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>Quiero obtener la potencia promedio generada por el inversor cada 15 minutos, en el d\u00eda del equinoccio de primavera. De esta forma puedo trazar la tendencia y realizar an\u00e1lisis espec\u00edficos sobre ella.<\/p>\n\n\n\n<hr class=\"wp-block-separator is-style-wide\"\/>\n\n\n\n<p><strong><strong>An\u00e1lisis de Problemas<\/strong><\/strong><\/p>\n\n\n\n<p>Teniendo en cuenta que la relaci\u00f3n entre planta y dispositivos registrados es de 1:1, puedo ingresar indistintamente el <code>entityID<\/code> de uno de los dos.Quiero que se produzca la energ\u00eda, as\u00ed que se\u00f1alar\u00e9 los recursos de la categor\u00eda <code>power <\/code>y solicitar\u00e9 <code>GenerationPower<\/code>. En este caso, el par\u00e1metro <code>sampleSize <\/code>ser\u00e1 igual a <code>Min15<\/code>. El par\u00e1metro <code>valueType <\/code>debe ser <code>Average <\/code>porque la ventana de tiempo se divide de tal manera que tiene 3 muestras para cada segmento y, por lo tanto, el promedio se realiza en las 3 muestras pertenecientes a cada sector.<\/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 un <code>{dataType}<\/code> perteneciente a la categor\u00eda <code>{energy,kpis}<\/code>, el <code>{valueType}<\/code> puede asumir dos valores diferentes:<\/p>\n\n\n\n<ul><li><code>Cumulative<\/code>: devuelve el \u00faltimo valor acumulativo disponible dentro de cada segmento de tiempo, determinado por el valor <code>{sampleSize}<\/code>, en el definido <code>{startDate} <\/code>y <code>{endDate}<\/code> ventana de tiempo, para el <code>{dataType}<\/code>;<\/li><li><code>Delta<\/code>: devuelve el diferencia entre el \u00faltimo y el primer valor acumulativo disponible dentro de cada segmento de tiempo, determinado por el valor <code>{sampleSize}<\/code>, en el definido <code>{startDate} <\/code>y <code>{endDate}<\/code> ventana de tiempo, para el <code>{dataType}<\/code>;<\/li><\/ul>\n\n\n\n<hr class=\"wp-block-separator is-style-wide\"\/>\n\n\n\n<p><em><strong>NOTA:<\/strong>\u00a0<em>para la categor\u00eda<\/em><code> kpis<\/code><em> , las consideraciones anteriores son v\u00e1lidas solo si se denominan <strong>Energy-Based KPIs<\/strong>. Para obtener m\u00e1s detalles, 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>Echemos un vistazo a algunos casos de uso, donde consideramos una planta ( <code>entityID<\/code>: <em>12345678 <\/em>) con un solo 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>Quiero obtener la energ\u00eda generada por el inversor en tiempo real, cada 5 minutos, el d\u00eda del equinoccio de primavera; para trazar la tendencia energ\u00e9tica.<\/p>\n\n\n\n<hr class=\"wp-block-separator is-style-wide\"\/>\n\n\n\n<p><strong><strong>An\u00e1lisis de Problemas<\/strong><\/strong><\/p>\n\n\n\n<p>Teniendo en cuenta que la relaci\u00f3n entre planta y dispositivos registrados es de 1:1, puedo ingresar indistintamente el <code>entityID<\/code> de uno de los dos. Quiero la energ\u00eda producida, as\u00ed que apuntar\u00e9 los recursos de la categor\u00eda <code>energy <\/code>y solicitar\u00e9 la <code>GenerationEnergy<\/code>. El par\u00e1metro <code>sampleSize <\/code>ser\u00e1 igual a <code>Min5 <\/code>, porque quiero obtener todas las muestras. El par\u00e1metro <code>valueType <\/code>ser\u00e1 igual a <code>delta<\/code> porque la ventana de tiempo se rebana de tal manera que tiene una sola muestra para cada rebanada y, por lo tanto, la diferencia entre las muestras proporcionar\u00e1 la energ\u00eda realmente producida en los 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>Quiero obtener la energ\u00eda generada por el inversor para cada d\u00eda de la semana del equinoccio de primavera, para trazar la tendencia energ\u00e9tica semanal.<\/p>\n\n\n\n<hr class=\"wp-block-separator is-style-wide\"\/>\n\n\n\n<p><strong><strong>An\u00e1lisis de Problemas<\/strong><\/strong><\/p>\n\n\n\n<p>Teniendo en cuenta que la relaci\u00f3n entre planta y dispositivos registrados es de 1:1, puedo ingresar indistintamente el <code>entityID<\/code> de uno de los dos. Quiero que la energ\u00eda se genere todos los d\u00edas de la semana del equinoccio de primavera, as\u00ed que se\u00f1alar\u00e9 los recursos de la categor\u00eda <code>energy <\/code>y solicitar\u00e9 la <code>GenerationEnergy<\/code>. El par\u00e1metro <code>sampleSize <\/code>ser\u00e1 igual a <code>Day<\/code>, porque quiero dividir la ventana de tiempo todos los d\u00edas de la semana. El par\u00e1metro <code>valueType <\/code>ser\u00e1 igual a <code>delta<\/code> porque la ventana de tiempo se divide de tal manera que tiene la diferencia entre la primera y la \u00faltima muestra de cada d\u00eda de la semana (<em>ventana de tiempo<\/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>Tabla de Descripci\u00f3n 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 comprender mejor el tipo de medici\u00f3n asociado con el <code>dataType <\/code>disponible, es posible consultar la figura (<em>que ofrece un esquema de alto nivel de una planta completa<\/em>) y la tabla a continuaci\u00f3n (<em>disponible solo en Ingl\u00e9s<\/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>Las suites Telemetry y KPIs permiten la explotaci\u00f3n de m\u00faltiples llamadas para recuperar los datos de telemetr\u00eda de inter\u00e9s, tanto a nivel de planta como de dispositivo \u00fanico. Las APIs dentro de estas suites se dividen, seg\u00fan el modelo y la presentaci\u00f3n de datos, en dos tipos principales: AGGREGATED: permite llamar al tipo de datos [&hellip;]<\/p>\n","protected":false},"author":4,"featured_media":0,"parent":1797,"menu_order":7,"comment_status":"closed","ping_status":"closed","template":"","meta":[],"_links":{"self":[{"href":"http:\/\/documentation-wp.hub.av.priv\/es\/wp-json\/wp\/v2\/pages\/6891"}],"collection":[{"href":"http:\/\/documentation-wp.hub.av.priv\/es\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"http:\/\/documentation-wp.hub.av.priv\/es\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"http:\/\/documentation-wp.hub.av.priv\/es\/wp-json\/wp\/v2\/users\/4"}],"replies":[{"embeddable":true,"href":"http:\/\/documentation-wp.hub.av.priv\/es\/wp-json\/wp\/v2\/comments?post=6891"}],"version-history":[{"count":135,"href":"http:\/\/documentation-wp.hub.av.priv\/es\/wp-json\/wp\/v2\/pages\/6891\/revisions"}],"predecessor-version":[{"id":9468,"href":"http:\/\/documentation-wp.hub.av.priv\/es\/wp-json\/wp\/v2\/pages\/6891\/revisions\/9468"}],"up":[{"embeddable":true,"href":"http:\/\/documentation-wp.hub.av.priv\/es\/wp-json\/wp\/v2\/pages\/1797"}],"wp:attachment":[{"href":"http:\/\/documentation-wp.hub.av.priv\/es\/wp-json\/wp\/v2\/media?parent=6891"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}