Get started
API Endpoint https://novartis-metrics.iart.ch/
Diese API stellt Metrics zur Novartis Pavillon Fassade bereit. Um diese API zu nutzen ist ein API Token notwendig. Kontaktiere raphael.andres@iart.ch um einen solchen API Token zu erhalten.
API Token an Request anfügen
Fetch Example:
await fetch('https://novartis-metrics.iart.ch/pac?from=now-5h&to=now', {
method: 'GET',
headers: {
Accept: 'application/json',
Authorization: 'Bearer eyJrIjoiUWtzMVBDbXI2Z25rWXVjUXFUMLsZXcmUiLCJpZCI6MX0='
}
})
Um dich bei der API zu autorisieren musst du bei jeder Anfrage deinen API Token mitsenden. Dies kannst du, indem du bei jedem Request ein HTTP Header names "Authorization" anfügst.
Der Wert dieses Headers lautet "Bearer" gefolgt von deiner Zeichenkette. Ein fiktives Beispiel:
Bearer eyJrIjoiUWtzMVBDbXI2Z25rWXVjUXFUMLsZXcmUiLCJpZCI6MX0=
Parameters
Query URL example: https://novartis-metrics.iart.ch/pac?from=now-5h&to=now
Es gibt gewisse Parameter, die mit jeder Anfrage versendet werden können, um die Datenausgabe zu beeinflussen. Da serverseitig jeweils Standardwerte für diese Parameter gesetzt werden, sind diese Angaben optional.
Finde eine genauere Erklärung zum Time Range Filter in der Grafana Dokumentation.
Query Parameters
Feld | Typ | Beispiel | Standard | Beschreibung |
---|---|---|---|---|
from | String | from=now-5h | now-2h | Ab welchem Zeitpunkt die Daten abgefragt werden sollen |
to | String | to=now | now | Bis zu welchem Zeitpunkt die Daten abgefragt werden sollen |
maxDataPoints | String | maxDataPoints=6000 | 1000 | Was ist das Maximum an Datenpunkte, die zurückgegeben werden sollen. Dieser Wert hat Einfluss auf die Granularität des Datensatzes. Das serverseitige Maximum von 11'000 Datenpunkte darf nicht überschritten werden |
Get PAC
PAC steht für Power AC (Wechselstrom) und beschreibt wie viel Leistung in der
Einheit Voltampere (VA) die Fassade gerade bezieht (negativer Wert) oder
produziert (positiver Wert). Dieser Wert wird in jedem der 60 Wechselrichter gemessen.
Die URL lautet:
https://novartis-metrics.iart.ch/pac
Get UDC
UDC steht für die Spannung in Gleichstrom die von den Photovoltaik-Zellen ausgeht.
Dieser Wert wird in jedem der 60 Wechselrichter gemessen.
Die URL dazu lautet:
https://novartis-metrics.iart.ch/udc
Get Temperature
Die Umgebungstemperatur in Basel wird von MeteoSwiss in einem Interval von 10 Minuten abgefragt
und kann über folgende URL abgefragt werden:
https://novartis-metrics.iart.ch/temperature
Get Pressure
Auch der Luftdruck wird über MeteoSwiss abgefragt und kann über folgende URL abgefragt werden:
https://novartis-metrics.iart.ch/pressure
Get Radiation
Auf dem Dach des Pavillon ist ein Sensor verbaut, der die Sonnenstrahlung misst.
Die Werte sind in der Einheit Watt pro Quadratmeter (W/m²) angegeben.
https://novartis-metrics.iart.ch/radiation
Get Sessions
Um die Anzahl Sessions über einen gewissen Zeitraum abzufragen, verwende folgende URL:
https://novartis-metrics.iart.ch/sessions
Query Parameters
Feld | Typ | Beispiel | Standard | Beschreibung |
---|---|---|---|---|
from | String | from=now/d+10h | now-2h | Ab heute 10:00 Uhr (URL-Encoding beachten!) |
to | String | to=now/d-6h | now | Bis heute 18:00 Uhr (URL-Encoding beachten!) |
Get Session Duration
Um die durchschnittliche Dauer einer Session in Minuten zu erhalten, kann diese URL verwendet werden:
https://novartis-metrics.iart.ch/session-duration
Query Parameters
Feld | Typ | Beispiel | Standard | Beschreibung |
---|---|---|---|---|
from | String | from=now/d+10h | now-2h | Ab heute 10:00 Uhr (URL-Encoding beachten!) |
to | String | to=now/d-6h | now | Bis heute 18:00 Uhr (URL-Encoding beachten!) |
Get Energy Production
Möchte man wissen, wieviel Energie die Fassade über einen bestimmten Zeitraum erzeugt oder verbraucht hat,
kann man folgende URL abfragen. Als Antwort erhält man eine Zeitserie im Minutentakt.
Die Werte versteht sich in Wattstunden (Wh). Um ein Gesamttotal zu erhalten, müssen alle Werte der Zeitserie kumuliert werden.
https://novartis-metrics.iart.ch/energy-production
Query Parameters
Feld | Typ | Beispiel | Standard | Beschreibung |
---|---|---|---|---|
from | String | from=now-1d/d | now-2h | Gesamter gestriger Tag (URL-Encoding beachten!) |
to | String | to=now-1d/d | now | Gesamter gestriger Tag (URL-Encoding beachten!) |
Errors
Die API antwortet mit folgenden Fehlermeldungen:
Error Code | Error Message | Meaning |
---|---|---|
400 | Bad Request | Die Abfrage konnte nicht durchgeführt werden, da sie einen fehlerhaften Payload enthält. Überprüfe, ob dein JSON korrekt formatiert und encodiert ist. Vielleicht überschreitet die Query das Datenpunkte-Limit von 11'000 Punkten. Verkleinere die Time Range oder maxDataPoints. |
401 | Authorization Token missing | Die Anfrage wurde ohne API Token durchgeführt. Stelle sicher, dass in der Anfrage den Authorization Header mit deinem API Token definiert ist. |
403 | Invalid Authorization Token | Ein Authorization Token ist vorhanden, ist jedoch fehlerhaft. Stelle sicher, dass der Token richtig geschrieben ist und dass es keine Leerzeichen davor und danach gibt. |
403 | Metric {metric} doesn't exists or isn't accessable | Die von dir abgefragte Metrik existiert nicht oder kann nicht abgefragt werden. Sie dir die oben aufgeführten, verfügbaren Metriken an. |
500 | Unexpected Error / Internal Server Error | Der Server, welche die Anfragen entgegen nimmt hat ein Problem. Kontaktiere raphael.andres@iart.ch mit einem ausführlichem Fehlerbeschrieb um Hilfe zu erhalten. |