Dati di Telemetria
Aggregated APIs
Aggregated APIs vengono utilizzate principalmente quando si desidera ottenere, per un determinato tipo di dati, un unico valore in risposta, che consenta di sintetizzare un determinato trend e/o risultato, per una finestra temporale personalizzata.
Questa tipologia di APIs è sempre strutturata come segue:
Il path
, che permette di puntare alle risorse desiderate, richiede sempre i seguenti parametri:
{power,frequency,wind,temperature,voltage,current,energy,kpis}
: il tipo di risorsa a cui puntare. Questo parametro non specifica i dati effettivi che si vuole ottenere, ma la categoria generale a cui appartengono i dati desiderati (per favore si noti che una chiamata API accetta solo una categoria alla volta, al momento non è possibile effettuare chiamate BULK);{entityID}
: può essere un EID di impianto o dispositivo. Nel primo caso, il valore ottenuto tiene conto dell’aggregazione di tutti i dispositivi, per i quali tale valore esiste, a livello di impianto; nel secondo caso, il valore ottenuto riferito al singolo dispositivo di interesse;{dataType}
: rappresenta i dati effettivi da ottenere. IdataTypes
disponibili variano in base alle risorse indicate, una descrizione dettagliata è disponibile direttamente su OpenAPIs Swagger;{valuetype}
: rappresenta il tipo di criterio di aggregazione con cui vengono richiesti i dati da ottenere.
Le queries, che consentono di filtrare i dati di interesse, richiedono sempre i seguenti parametri:
{startDate}
: il limite inferiore che permette di definire l’inizio della finestra temporale di interesse. Il suo formato è sempreYYYYMMGG
(eg: 20220321);{endDate}
: il limite superiore che permette di definire l’inizio della finestra temporale di interesse. Il suo formato è sempreYYYYMMGG
(eg: 20220322) e deve essere temporalmente successivo alla{startDate}
;{timezone}
: permette di guidare la chiamata API ad un corretto recupero dei dati in base al fuso orario richiesto.
Una chiamata aggregata fornisce sempre un unico valore come risposta, che viene manipolato in base alla finestra temporale ed al fuso orario indicati. In questo contesto il parametro {valuetype}
è di grande importanza perché varia a seconda della categoria di risorse, quindi di {dataType}
, che si vuole ottenere.
Per un {dataType}
appartenente alla categoria {power,frequency,wind,temperature,voltage,current,kpis}
, il {valueType}
può assumere 3 differenti valori:
Maximum
: restituisce il valore massimo trovato tra tutti i campioni presenti nella finestra temporale definita da{startDate}
ed{endDate}
, per il{dataType}
richiesto;Minimum
: restituisce il valore minimo trovato tra tutti i campioni presenti nella finestra temporale definita da{startDate}
ed{endDate}
, per il{dataType}
richiesto;Average
: restituisce il valore medio di tutti i campioni presenti nella finestra temporale definita da{startDate}
ed{endDate}
, per il{dataType}
richiesto;
NOTA: per la categoria kpis
, le considerazioni di cui sopra sono valide solo se vengono chiamati Power-Based KPIs. Per maggiori informazioni, fare riferimento ad OpenAPIs Swagger.
Diamo uno sguardo ad alcuni casi d’uso, in cui consideriamo un impianto ( entityID
: 12345678 ) con un unico dispositivo inverter registrato ( entityID
: 87654321 ):
Caso d’Uso 1
Voglio ottenere il valore massimo, riscontrato nel giorno dell’equinozio di primavera, della potenza generata dall’impianto.
Analisi del Problema
Considerando che il rapporto tra impianto e dispositivi registrati è 1:1, posso inserire indifferentemente l’ entityID
di uno dei due. Voglio la potenza prodotta, quindi punterò le risorse della categoria power
e richiederò GenerationPower
.
Request
GET https://api.auroravision.net/api/rest/v1/stats/power/aggregated/12345678/GenerationPower/maximum?startDate=20220321&endDate=20220322&timeZone=Europe/Rome
Response
Caso d’Uso 2
Voglio ottenere il valore medio, nel giorno dell’equinozio di primavera, di tutta la tensione misurata dall’inverter.
Analisi del Problema
Considerando che il rapporto tra impianto e dispositivi registrati è 1:1, posso inserire indifferentemente l’ entityID
di uno dei due. Voglio la tensione, quindi punterò le risorse della categoria voltage
e richiederò Voltage
.
Request
GET https://api.auroravision.net/api/rest/v1/stats/voltage/aggregated/87654321/Voltage/average?startDate=20220321&endDate=20220322&timeZone=Europe/Rome
Response
Per un {dataType}
appartenente alla categorie {energy,kpis}
, il {valueType}
può assumere due differenti valori:
Cumulative
: restituisce l’ultimo valore cumulativo disponibile nella finestra temporale definita da{startDate}
ed{endDate}
, per il{dataType}
richiesto;Delta
: restituisce la differenza tra l’ultimo e il primo valore cumulativo disponibile nella finestra temporale definita da{startDate}
ed{endDate}
, per il{dataType}
richiesto;
NOTA: per la categoria kpis
, le considerazioni di cui sopra sono valide solo se vengono chiamati Energy-Based KPIs. Per maggiori informazioni, fare riferimento ad OpenAPIs Swagger.
Diamo uno sguardo ad alcuni casi d’uso, in cui consideriamo un impianto ( entityID
: 12345678 ) con un unico dispositivo inverter registrato ( entityID
: 87654321 ):
Caso d’Uso 1
Voglio ottenere l’energia generata dall’impianto da quando ha iniziato a produrre fino al giorno dell’equinozio di primavera.
Analisi del Problema
Considerando che il rapporto tra impianto e dispositivi registrati è 1:1, posso inserire indifferentemente l’ entityID
di uno dei due. Voglio l’energia prodotta finora dall’impianto, quindi punterò le risorse della categoria energy
e richiederò il cumulative
di GenerationEnergy
.
Request
GET https://api.auroravision.net/api/rest/v1/stats/energy/aggregated/12345678/GenerationEnergy/cumulative?startDate=20220321&endDate=20220322&timeZone=Europe/Rome
Response
Caso d’Uso 2
Voglio ottenere l’energia generata il giorno dell’equinozio di primavera dall’inverter.
Analisi del Problema
Considerando che il rapporto tra impianto e dispositivi registrati è 1:1, posso inserire indifferentemente l’ entityID
di uno dei due. Voglio l’energia generata solo nel giorno dell’equinozio di primavera, quindi punterò le risorse della categoria energy
e richiederò il delta
di GenerationEnergy
.
Request
GET https://api.auroravision.net/api/rest/v1/stats/energy/aggregated/87654321/GenerationEnergy/delta?startDate=20220321&endDate=20220322&timeZone=Europe/Rome