REST-API Beispiele
Inhaltsverzeichnis
Beispiel für den Abruf von Verbrauchsdaten
Um auf einfache Weise Daten aus EnergieMonitor abzufragen kann man über Excel die REST-API ansprechen.
Hierfür kann man über die Registerkarte Daten in der Gruppe Daten abrufen und transformieren den Menüpunkt Daten abrufen auswählen, danach Aus anderen Quellen eine Leere Abfrage anklicken.

Jetzt öffnet sich die der Power Query-Editor in diesem kann man in der Gruppe Abfrage den Erweiterten Editor öffnen um die REST-API Schnittstellen ansprechen.

Excel Beispiel Code mit Kommentare
Um die den genauen Aufruf abzufragen kann über OpenAPI die Aufruf Parameter abfragen, das unten dargestellte Beispiel kann vom tatsächlichen Aufruf abweichen.
Dieses Beispiel wurde mit der Excel Version 2608 erzeugt.
// Url der EnergieMonitor Instanz
BaseUrl = "http://interwatt:9050",
ApiKey = "API-KEY",
Response = Web.Contents(
BaseUrl,
[
// GUID der Organisationseinheit kann man über die
// Webschnittstelle ermitteln
RelativePath = "v1/orgUnit/574B6CA9-8BF2-4EFB-8672-034E7FEE200A/units/consumption",
Query = [
startLocal = "1999-12-31T23:00:00Z",
endLocal = "2001-12-31T23:00:00Z"
],
Headers = [
#"X-API-KEY" = ApiKey,
Accept = "application/x-ndjson"
],
Timeout = #duration(0, 0, 5, 0)
]
),
Lines = Lines.FromBinary(
Response,
QuoteStyle.None,
false,
65001
),
NonEmptyLines = List.Select(
Lines,
each Text.Trim(_) <> ""
),
JsonObjects = List.Transform(
NonEmptyLines,
each Json.Document(Text.ToBinary(_, TextEncoding.Utf8))
),
ColumnNames = {
"grandparentOrgUnitName",
"parentOrgUnitName",
"orgUnitName",
"energySiteName",
"energySiteForeignKey",
"energySiteIdentPrefix",
"unitName",
"unitForeignKey",
"unitIdentPrefix",
"unitUuid",
"consumptionType",
"consumptionTypeId",
"periodStartLocal",
"period",
"value",
"measurementStatus",
"measurementUnit",
"isWeatherNormalized"
},
Output = Table.FromRecords(
JsonObjects,
ColumnNames,
MissingField.UseNull
)
in
Output