Telemetriedaten
Aggregated APIs
Aggregated APIs werden hauptsächlich verwendet, wenn sie für einen bestimmten datentyp einen einzelnen wert als antwort erhalten möchten, der es ermöglicht, einen bestimmten trend und/oder ein bestimmtes ergebnis für ein benutzerdefiniertes zeitfenster zusammenzufassen.
Diese Art von APIs sind immer wie folgt strukturiert:
Der path, mit dem sie auf die gewünschten ressourcen zeigen können, erfordert immer die folgenden parameter:
{power,frequency,wind,temperature,voltage,current,energy,kpis}
: der ressourcentyp, auf den verwiesen werden soll. Dieser parameter gibt nicht die eigentlichen daten an, die sie erhalten möchten, sondern die allgemeine kategorie, zu der die gewünschten daten gehören (bitte beachten sie, dass ein API-Aufruf jeweils nur eine kategorie akzeptiert, es ist derzeit nicht möglich, BULK-Aufrufe durchzuführen);{entityID}
: es kann sich um eine anlagen-oder Geräte-EID handeln. Im ersten fall berücksichtigt der erhaltene wert die aggregation aller geräte, für die dieser wert existiert, auf anlagenebene; im zweiten fall bezieht sich der erhaltene wert auf das einzelne interessierende gerät;{dataType}
: stellt die tatsächlich zu erhaltenden daten dar. Die verfügbarendataTypes
variieren je nach ressource, auf die verwiesen wird, eine detaillierte beschreibung ist direkt in der OpenAPIs Swagger;{valuetype}
: stellt die art des aggregationskriteriums dar, mit dem die angeforderten daten vorliegen zu erhalten.
Die queries, mit denen sie die angeforderten daten filtern können, erfordern immer die folgenden parameter:
{startDate}
: die untere grenze, die es ermöglicht, den beginn des interessierenden zeitfensters zu definieren. Sein Format ist immerYYYYMMGG
(eg: 20220321);{endDate}
: die obergrenze, die es erlaubt definieren sie das ende des interessierenden zeitfensters. Sein format ist immerYYYYMMGG
(eg: 20220322) und muss zeitlich nach dem{startDate}
liegen;{timezone}
: ermöglicht es, den API-Aufruf zu einer korrekten datenwiederherstellung gemäß der angeforderten zeitzone zu leiten.
Ein aggregataufruf liefert als antwort immer einen einzelwert, der entsprechend dem angegebenen zeitfenster und der angegebenen zeitzone manipuliert wird. In diesem zusammenhang ist der parameter {valuetype}
von großer bedeutung, da er je nach kategorie der zu erhaltenden ressourcen, also {dataType}
variiert.
Für einen {dataType}
der zur kategorie {power,frequency,wind,temperature,voltage,current,kpis}
gehört, wird der{valueType}
kann drei verschiedene werte annehmen:
Maximum
: gibt den maximalen wert zurück, der unter allen in der def vorhandenen proben gefunden wurde{startDate}
und{endDate}
zeitfenster, für den angeforderten{dataType}
;Minimum
: returns the minimum value found among all the samples present in the defined{startDate}
und{endDate}
zeitfenster, für den angeforderten{dataType}
;Average
: gibt den durchschnittswert aller stichproben zurück, die im definierten{startDate}
und{endDate}
tzeitfenster, für den angeforderten{dataType}
;
HINWEIS: für die kategorie kpis
, gelten die obigen Überlegungen nur, wenn Power-Based KPIs genannt werden. Weitere einzelheiten finden sie unter OpenAPIs Swagger.
Werfen wir einen blick auf einige anwendungsfälle, in denen wir eine anlage ( entityID
: 12345678 ) mit einem einzelnen registrierten wechselrichtergerät ( entityID
: 87654321 ):
Anwendungsfall 1
Ich möchte den am tag der Frühlings-Tagundnachtgleiche ermittelten maximalwert der von der anlage erzeugten energie erhalten.
Problemanalyse
Wenn man bedenkt, dass das verhältnis zwischen anlage und registrierten geräten 1:1 ist, kann ich gleichgültig die entityID
von einem der beiden eingeben. Ich möchte, dass der strom produziert wird, also werde ich auf die ressourcen der kategorie power
verweisen und die GenerationPower
anfordern.
Request
GET https://api.auroravision.net/api/rest/v1/stats/power/aggregated/12345678/GenerationPower/maximum?startDate=20220321&endDate=20220322&timeZone=Europe/Rome
Response
Anwendungsfall 2
Ich möchte den durchschnittswert aller vom wechselrichter gemessenen spannungen am tag der Frühlings-Tagundnachtgleiche erhalten.
Problemanalyse
Wenn man bedenkt, dass das verhältnis zwischen anlage und registrierten geräten 1:1 ist, kann ich gleichgültig die entityID
von einem der beiden eingeben. Ich will die spannung, also zeige ich die ressourcen der kategorie voltage
und fordern die Voltage
.
Request
GET https://api.auroravision.net/api/rest/v1/stats/voltage/aggregated/87654321/Voltage/average?startDate=20220321&endDate=20220322&timeZone=Europe/Rome
Response
Für einen {dataType}
der zur kategorie {energy,kpis}
, gehört, kann der {valueType}
zwei unterschiedliche werte annehmen:
Cumulative
: gibt den letzten kumulativen wert zurück, der im definierten zeitfenster{startDate}
und{endDate}
, für die verfügbar ist angeforderter{dataType}
;Delta
: gibt die differenz zwischen dem letzten und dem ersten kumulativen wert zurück, der im definierten{startDate}
und{endDate}
zeitfenster, für den angeforderten{dataType}
;
HINWEIS: für die kategorie kpis
, gelten die obigen Überlegungen nur, wenn Energy-Based KPIs genannt werden. Weitere einzelheiten finden sie unter OpenAPIs Swagger.
Werfen wir einen blick auf einige anwendungsfälle, in denen wir eine anlage ( entityID
: 12345678 ) mit einem einzelnen registrierten wechselrichtergerät ( entityID
: 87654321 ):
Anwendungsfall 1
Ich möchte die von der pflanze erzeugte Energie vom beginn der produktion bis zum tag der Frühlings-Tagundnachtgleiche erhalten.
Problemanalyse
Wenn man bedenkt, dass das verhältnis zwischen anlage und registrierten geräten 1:1 ist, kann ich gleichgültig die entityID
von einem der beiden eingeben. Ich möchte die bisher von der anlage produzierte energie, also zeige ich die ressourcen der kategorie energy
und fordere die cumulative
der GenerationEnergy
.
Request
GET https://api.auroravision.net/api/rest/v1/stats/energy/aggregated/12345678/GenerationEnergy/cumulative?startDate=20220321&endDate=20220322&timeZone=Europe/Rome
Response
Anwendungsfall 2
Ich möchte die am tag der Frühlings-Tagundnachtgleiche vom wechselrichter erzeugte energie beziehen.
Problemanalyse
Wenn man bedenkt, dass das verhältnis zwischen anlage und registrierten geräten 1:1 ist, kann ich gleichgültig die entityID
von einem der beiden eingeben. Ich möchte nur die energie, die am tag der Frühlings-Tagundnachtgleiche erzeugt wird, also werde ich auf die ressourcen der kategorie energy
und fordere die delta
der GenerationEnergy
.
Request
GET https://api.auroravision.net/api/rest/v1/stats/energy/aggregated/87654321/GenerationEnergy/delta?startDate=20220321&endDate=20220322&timeZone=Europe/Rome