Metric-Export-API
Die Metric-Export-API liefert jede Metrik Ihrer Anlagen als Zeitreihe, als CSV oder JSON, mit einer einzigen GET-Anfrage. Sie liest dieselbe Metriksammlung wie die Berichte, einschließlich der Metriken, die Ihre Organisation selbst definiert hat.
Jeder Link, den die Seite Daten-Export zeigt, ist ein Aufruf dieser API. Der einfachste Weg zu einer funktionierenden Anfrage ist also, sie dort zusammenzustellen und zu kopieren.
In Mirox öffnen
Daten-Export ▸ Metriken für eine freie Auswahl, Daten-Export ▸ API-Builder für eine Vorlage. Beide zeigen den Link zu dem, was Sie gewählt haben.
Die Export-Links des bisherigen Exports funktionieren unverändert weiter. Sie sind in der Legacy-Export-API beschrieben; wie Sie vom einen zum anderen wechseln, steht im Leitfaden zum Umstieg.
Routen
Alle Pfade folgen auf https://service.mirox.io/api.
| Route | Antwort | Zweck |
|---|---|---|
GET /v1/export/series | CSV, oder JSON mit format=json | Metriken als Zeitreihe exportieren |
GET /v1/export/series/estimate | JSON | Größe und Dauer eines Exports, ohne Daten zu lesen |
GET /v1/export/series/catalog | JSON, oder ein CSV-Glossar mit format=csv | Die Metriken, die Sie exportieren können |
GET /v1/export/series/lanes | JSON | Die Komponenten einer Anlage |
GET /v1/export/series/template/{template_uid} | CSV, oder JSON mit format=json | Eine Vorlage exportieren |
POST /v1/export/template/{template_uid}/convert | JSON | Eine Legacy-Vorlage umwandeln |
Authentifizierung
Senden Sie ein API-Token der Gruppe Metric Export im Header Authorization:
Authorization: Bearer YOUR_API_TOKEN
Das Token liest jede Export-Route dieser Seite und die Legacy-Routen. Es kann nichts erstellen, ändern oder löschen. In einem Browser, in dem Sie bei Mirox angemeldet sind, funktionieren die Links ohne Token.
Sie erhalten nur Daten der Anlagen, deren Messwerte Sie lesen dürfen. Die Metriken Ihrer Organisation werden von jeder Organisationsrolle außer Extern exportiert. Siehe Wer was exportieren kann.
Metriken werden über die ID gewählt; eine Abfrage ist auf die Anlage begrenzt
Ein Export benennt Metriken über ihre ID. Mirox löst jede ID in ihre eigene Abfrage auf, begrenzt auf die Anlage. Die Metriken Ihrer Organisation sind validierte Einträge der Sammlung, die auf dieselbe Weise auf die Anlage begrenzt sind. Der einzige Abfragetext, den ein Aufrufer senden kann, ist ein MetricsQL-Ausdruck in expr: Er läuft nur auf den Anlagen der Anfrage, mit der Anlage in jedem Selektor, und wird abgelehnt, wenn er selbst eine Anlage, einen Park oder eine Organisation nennt.
Eine Zeitreihe exportieren
GET /v1/export/series
Netzeinspeisung einer Anlage über den Vormonat, je Tag:
curl --compressed "https://service.mirox.io/api/v1/export/series?park=ABC123DEF456&metrics=plant.grid_feedin&window=previous_month&step=day" \
-H "Authorization: Bearer YOUR_API_TOKEN" -o feedin.csv
Date;Grid feed-in (kWh)
2026-08-01;5321,4
2026-08-02;4980,2
...
Parameter
| Parameter | Werte | Standard | Bedeutung |
|---|---|---|---|
metrics | 1 bis 20 Metrik-IDs, durch Komma getrennt | erforderlich, sofern kein expr angegeben ist | Die Spalten, in dieser Reihenfolge. Siehe Metriken und Werte. |
expr | ein MetricsQL-Ausdruck, bis zu 5-mal wiederholbar | — | Rohe Abfragen der Zeitreihendatenbank, je ein Satz Spalten, nach den Metriken. Siehe Rohe MetricsQL-Abfragen. |
park | Anlagen-UIDs, durch Komma getrennt | — | Die Anlagen. park oder portfolio ist erforderlich. |
portfolio | Portfolio-UIDs, durch Komma getrennt | — | Alle Anlagen dieser Portfolios, zusätzlich zu park. Insgesamt höchstens 50 Anlagen. |
start, end | Datum oder Datum mit Uhrzeit | — | Ein freier Zeitraum. Siehe Zeitraum. |
year, quarter, month, week, day | Zahlen | — | Ein Kalenderzeitraum. |
window | Voreinstellung | previous_month | Ein benannter Zeitraum. |
step | auto, 1min, 5min, 15min, 1h, day, week, month, quarter, year | auto | Die Länge einer Zeile. Siehe Schrittweiten. |
mismatch | refuse, sparse | refuse | Was mit einer Metrik geschieht, die die Schrittweite nicht bedient: die Anfrage ablehnen oder sie in ihrer eigenen Schrittweite exportieren. Siehe Metriken mit verschiedenen Schrittweiten. |
values | auto, delta, cumulative, native | auto | Der Wertemodus aller Metriken. |
tz | local, utc | local | Der Kalender der Zeilen. Siehe Zeitraster. |
multi_park_agg | merge, split | merge | Mehrere Anlagen zusammengefasst oder eine Spalte je Anlage. Siehe Mehrere Anlagen. |
components | bis zu 100 Komponentenreferenzen, durch Komma getrennt | alle | Schränkt Komponenten-Metriken auf diese Komponenten ein. Siehe Komponenten. |
lane_limit | 1 bis 100 | 50 | Komponenten je Metrik und Seite. |
lane_page | 1 und größer | 1 | Die Seite der Komponenten. |
format | csv, json | csv | Das Format der Antwort. |
language | en, de, es, fr, it, pt | en | Die Sprache der Spaltennamen. |
separator_csv | , ; Tab | | ; | Das Spaltentrennzeichen. |
separator_decimal | . , | , | Das Dezimaltrennzeichen. Es muss sich von separator_csv unterscheiden. |
datetime_format | strftime-Muster, bis zu 64 Zeichen | je Schrittweite | Das Format der Zeitspalte. |
header | name, id | name | Spaltenköpfe als Namen oder als IDs. Siehe CSV-Antwort. |
empty | blank, zero | blank | Ein fehlender Wert als leere Zelle oder als 0. |
offset_column | true, false | true | Die Spalte UTC-Versatz. Sie erscheint nur bei Schrittweiten unter einem Tag in der Ortszeit der Anlage. |
precision | display, full | display | Werte auf die Stellen der Metrik gerundet oder ungerundet. |
lane_limit und lane_page außerhalb ihrer Grenzen werden auf die nächste Grenze gesetzt. Ein Parameter, den die Route nicht kennt, wird ignoriert.
Metriken und Werte
Eine Metrik-ID hat die Form <Präfix>.<Name>, zum Beispiel plant.grid_feedin, inverter.ac_power oder sensor.irradiance. Eine Metrik Ihrer Organisation lautet organization.<ID der Metrik>. Der Katalog listet sie alle.
Jede Metrik hat eine Größenart, die bestimmt, welche Wertemodi sie anbietet:
values | Eine Zeile zeigt | Gilt für |
|---|---|---|
delta | die Menge innerhalb des Intervalls | nur Energie |
cumulative | die laufende Summe seit Beginn des Zeitraums | Energie und andere gezählte Größen |
native | den Wert, wie die Metrik ihn liefert | jede Metrik |
auto | delta für Energie, native für alles andere |
Ein Suffix legt den Modus einer einzelnen Metrik fest und hat Vorrang vor values:
metrics=plant.grid_feedin:cumulative,plant.grid_power
Ein Modus, der für eine Metrik nicht gilt, ist nie ein Fehler. Die Metrik wird als native exportiert, und der Hinweis value_mode_ignored sagt das. delta wird nie auf eine Leistung angewendet.
Dieselbe Metrik in zwei Modi ergibt zwei Spalten. Dieselbe Metrik zweimal im selben Modus ergibt eine.
Energie je Intervall unter 15 Minuten
Ein Zähler zählt Energie in ganzen Schritten. Bei 1min oder 5min springt eine Energie im Modus delta daher zwischen null und einem Schritt. Der Export liefert sie und fügt den Hinweis energy_delta_fine_step hinzu, der die passende Leistungs-Metrik nennt, sofern die Sammlung eine hat. Nutzen Sie für eine Kurve die Leistungs-Metrik; für Energie 15min oder länger.
Zeitraum
Geben Sie den Zeitraum auf eine von drei Arten an. Zwei Arten in einer Anfrage antworten mit 400 window_conflict.
| Art | Parameter | Beispiel |
|---|---|---|
| Freier Zeitraum | start, end | start=2026-07-01&end=2026-07-31 |
| Kalender | year mit quarter, month, week oder day | year=2026&quarter=2 |
| Voreinstellung | window | window=previous_week |
Freier Zeitraum. start und end sind ein Datum (2026-07-01) oder ein Datum mit Uhrzeit (2026-07-01T06:00, 2026-07-01T06:00:00Z, 2026-07-01T06:00:00+02:00). Ein Wert ohne Zeitzone wird in der Zeitzone der Zeilen gelesen. Ein end, das ein Datum ist, schließt diesen Tag ein; ein end mit Uhrzeit ist der Moment, in dem der Zeitraum endet. Ohne end endet der Zeitraum jetzt. end allein, ohne start, wird abgelehnt.
Kalender. year von 2020 bis 2100, quarter 1 bis 4, month 1 bis 12, week 1 bis 53 (ISO-Woche), day 1 bis 31. day braucht month. Ohne year ist das laufende Jahr gemeint. day hat Vorrang vor week, week vor month, month vor quarter.
Voreinstellungen. today, yesterday, last_7_days, last_30_days, this_week, previous_week, this_month, previous_month, this_quarter, previous_quarter, this_year, previous_year. Die this_-Voreinstellungen laufen bis jetzt; last_7_days und last_30_days laufen bei Schrittweiten unter einem Tag rollierend bis jetzt (dieselbe Uhrzeit 7 bzw. 30 Tage zurück); ab day sind es die letzten 7 bzw. 30 Tage der Anlage einschließlich heute. Ab day wird jedes Zeitfenster auf ganze Tage (Wochen, Monate …) in der Zeitzone der Anlage erweitert; die Antwort nennt das tatsächliche Zeitfenster.
Ein Zeitraum beginnt frühestens 2020 und umfasst höchstens 1827 Tage (fünf Jahre). Ein Zeitraum, der in die Zukunft reicht, endet jetzt, mit dem Hinweis end_clamped.
Schrittweiten
step=auto wählt eine Schrittweite, die jede angefragte Metrik bedient und die in die Grenzen passt: 15min bis zu zwei Tagen, 1h bis zu 62 Tagen, day bis zu drei Jahren, darüber month. Passt diese Schrittweite nicht, wird die nächstgröbere versucht, danach die feineren. Der Hinweis step_auto und der Header X-Mirox-Step nennen die gewählte Schrittweite.
Jede Metrik bietet ihre eigenen Schrittweiten an. Der Katalog listet sie als export_steps:
| Art der Metrik | Schrittweiten |
|---|---|
| Energie aus einem Zähler, der jede Minute zählt | 1min bis year |
| Energie, die seltener gezählt wird — Windturbinen, abgerechnete Abregelung | 15min bis year |
| Leistung (W, var, VA, W/m²), Spannung, Strom, Frequenz | 1min, 5min, 15min |
| Temperatur, Ladezustand und andere gemessene Pegel | vom Messintervall bis year |
| Betriebszustände und Statuscodes | 15min |
| Performance Ratio | day, week, month, quarter, year |
| Verfügbarkeit | 15min, 1h, day, week, month, quarter, year |
| Metriken Ihrer Organisation | von ihrer feinsten Auflösung bis year, nie feiner als 15min |
Leistung wird nur bei 15 Minuten oder feiner angeboten. Eine Tages- oder Monatsleistung ist ein Mittelwert, der verbirgt, was geschehen ist; die Energie-Metrik liefert die Zahl, die gemeint ist.
Eine Schrittweite wird nie stillschweigend geändert. Mit mismatch=refuse, der Voreinstellung, antwortet eine Schrittweite, die eine der Metriken nicht bedient, mit 400 step_not_served und den Schrittweiten jeder Metrik, und mit step=auto antworten Metriken ohne gemeinsame Schrittweite mit 400 no_common_step. Mit mismatch=sparse wird eine solche Anfrage stattdessen geliefert — siehe Metriken mit verschiedenen Schrittweiten.
Schrittweiten von einem Tag oder länger umfassen ganze Intervalle. Ein Zeitraum, der innerhalb eines Intervalls beginnt oder endet, wird nach außen erweitert, mit dem Hinweis window_aligned. Wochen beginnen am Montag.
Metriken mit verschiedenen Schrittweiten
mismatch=sparse liefert eine Anfrage, deren Metriken nicht alle die Schrittweite bedienen, solange jede von ihnen irgendeine Schrittweite bedient. Das Raster der Datei ist die angeforderte Schrittweite; mit step=auto ist es die Schrittweite, die die meisten Metriken unverändert bedienen, wie üblich nach Zeitraum und Grenzen gewählt. Spaltenpositionen und die Form der CSV- und JSON-Antwort ändern sich nicht.
| Die Metrik bedient | Was der Export tut | Hinweis |
|---|---|---|
| nur feinere Schrittweiten | Liest sie in der gröbsten davon und fasst sie nach der Regel ihrer Größe auf das Raster zusammen: Eine Energie wird addiert, ein Messwert gemittelt, ein Verhältnis aus seinen Hälften neu berechnet, ein Zustand behält seinen letzten Code. | step_folded mit der gelesenen step |
| nur gröbere Schrittweiten | Liest sie in der feinsten davon und schreibt jeden Wert in die Zeile, in der sein eigenes Intervall beginnt — den Wert eines Tages in die Zeile seiner örtlichen Mitternacht, den eines Monats in die Zeile seines ersten Tages. Die Zeilen dazwischen bleiben leer. | step_sparse mit dieser step |
| eine gröbere Schrittweite, aber keines ihrer Intervalle beginnt in einer Zeile | Die Spalte ist leer, zum Beispiel ein Tageswert in einer Datei, die um 06:00 beginnt. | metric_unavailable mit reason off_grid |
Zwei Fälle werden in beiden Modi mit 400 step_not_served abgelehnt: ein Wert je Monat, Quartal oder Jahr in einer week-Datei, weil sein erster Tag kaum je ein Montag ist; und ein Monatswert wie der Marktwert in einer quarter- oder year-Datei, weil eine Summe oder ein Mittel von Monaten nicht dieser Wert ist. In einer month-Datei wird er unverändert gelesen, in einer feineren Datei ist er dünn besetzt.
Die Schätzung listet dieselben Hinweise, zählt die Lesevorgänge in der eigenen Schrittweite jeder Metrik und markiert eine Schrittweite in per_step auch dann als innerhalb der Grenzen, wenn nicht jede Metrik sie bedient. Die Seite Datenexport fragt immer mit mismatch=sparse an; eine Vorlage trägt ihr eigenes mismatch in ihrer spec.
Zeitraster
Mit tz=local folgen die Zeilen der Ortszeit der Anlage, einschließlich der Sommerzeit: Ein Tag ist ein lokaler Tag mit 23, 24 oder 25 Stunden, ein Monat ist ein lokaler Monat. Mit tz=utc folgen die Zeilen dem UTC-Kalender.
- Bei Schrittweiten unter einem Tag in Ortszeit folgt die Spalte UTC-Versatz auf die Zeitspalte (
+02:00). Am Tag, an dem die Uhren zurückgestellt werden, erscheint eine Stunde zweimal; der Versatz unterscheidet die beiden.offset_column=falselässt die Spalte weg. - Anlagen in verschiedenen Zeitzonen teilen sich eine Zeitspalte. Eine solche Anfrage wird auf dem UTC-Kalender beantwortet, mit dem Hinweis
merged_on_utc, gleich ob die Anlagen zusammengefasst oder getrennt werden. - Mit
tz=utcund einer Schrittweite von einem Tag oder länger hat eine Metrik, die es nur je lokalem Tag gibt, keinen UTC-Wert. Ihre Spalte bleibt leer, mit dem Hinweisutc_calendar_unsupported.
Der Header X-Mirox-Grid nennt den verwendeten Kalender: local:Europe/Berlin oder utc.
Mehrere Anlagen
Mit multi_park_agg=merge ist jede Metrik eine Spalte für alle Anlagen, zusammengefasst nach der Regel der Metrik. Der Katalog listet die Regel als merge:
merge | Zusammengefasster Wert | Metriken |
|---|---|---|
sum | über die Anlagen addiert | Energie, gezählte Größen, Leistung |
mean | über die Anlagen gemittelt | Einstrahlung, Temperatur, Ladezustand und andere Pegel |
pair_ratio | aus den Summen der Anlagen neu berechnet | Performance Ratio, Verfügbarkeit und andere Verhältnisse |
first | der gemeinsame Wert | Preise, wenn alle Anlagen in einer Marktzone liegen |
split_only | lässt sich nicht zusammenfassen | Zustände und Statuscodes |
Eine Metrik, die sich nicht zusammenfassen lässt, wird je Anlage exportiert, mit dem Hinweis merge_not_meaningful. Das gilt auch für ein Verhältnis in einer Schrittweite, in der seine beiden Hälften nicht verfügbar sind, und für Preise von Anlagen in verschiedenen Marktzonen.
Mit multi_park_agg=split ist jede Metrik eine Spalte je Anlage. Bei einer einzelnen Anlage ergeben beide dieselbe Datei.
Komponenten-Metriken sind immer je Anlage (Hinweis components_split_by_park).
Komponenten
Eine Metrik einer Komponentenebene ergibt eine Spalte je Komponente. Die Ebenen sind inverter, gak (Generatoranschlusskasten), string, turbine, sensor, meter, battery_box (Container), battery_storage (Rack), battery_module, battery_cell und battery_pcs (Umrichter).
Ohne components enthält der Export alle sichtbaren Komponenten der Anlagen, lane_limit je Metrik und Seite. Gibt es mehr, nennt der Hinweis lanes_truncated die Gesamtzahl; fordern Sie die nächste Seite mit lane_page an.
components schränkt den Export auf die Komponenten ein, die Sie nennen. Eine Referenz hat die Form <Ebene>:<ID>, zum Beispiel inverter:1043. Ein Sensor oder Zähler, den Mirox misst, der aber keinen Eintrag in den Komponenten der Anlage hat, hat eine Referenz der Form sensor:h3f9c2a71b04e6d5. Die Komponenten-Route listet die Referenzen einer Anlage. Eine Referenz, die zu keiner der gewählten Anlagen gehört, antwortet mit 400 unknown_lane.
metrics=inverter.ac_power&components=inverter:1043,inverter:1044
Rohe MetricsQL-Abfragen
expr fügt einem Export eine rohe Abfrage in MetricsQL hinzu, der Abfragesprache der Zeitreihendatenbank der Plattform — für eine Reihe, für die die Sammlung keine Metrik hat. Der Parameter kann bis zu fünfmal wiederholt werden; jeder Ausdruck darf bis zu 4 000 Zeichen haben. Eine Anfrage kann expr allein oder metrics und expr zusammen tragen; die Metrik-Spalten kommen zuerst.
expr=sum by (inverter_id) (powerplant_inverter_power_ac)&park=ABC123DEF456&window=yesterday&step=15min
Ein Ausdruck wird je Anlage ausgewertet, so wie ein Dashboard ihn auswertet: auf den Daten der Anlage, in der angeforderten Schrittweite, als Rohwerte — jede Schrittweite ist erlaubt, values und die Zusammenfassungsregeln der Metriken gelten nicht. Mirox fügt die Anlage in jeden Selektor des Ausdrucks ein; ein Ausdruck, der selbst ein Label park, organization oder plant nennt, wird mit 400 expr_forbidden_label abgelehnt.
| Fall | header=name | header=id |
|---|---|---|
| Eine Reihe je Anlage | MetricsQL sum by (inverter_id) (powerplant_inverter_power_ac) | expr1 |
| Mehrere Reihen an irgendeiner Anlage | der Kopf, gefolgt vom eigenen name{labels} jeder Reihe | expr1{inverter_id="INV1"} |
| Mehrere Anlagen | der Anlagenname voran, wie bei jeder Spalte | ABC123DEF456/expr1 |
Liefert ein Ausdruck an irgendeiner seiner Anlagen mehrere Reihen, tragen die Spalten dieses Ausdrucks an jeder Anlage die Reihen-Labels, sodass eine Datei je Ausdruck eine Benennung hat. Ein Kopf länger als 1 000 Zeichen wird mit … innerhalb des Ausdrucks gekürzt, nie im Reihentext. In der JSON-Antwort ist columns[].key der Text von header=id und columns[].metric die ID des Ausdrucks, expr.e1, expr.e2, …, die Hinweise und Ablehnungen verwenden. Eine Anlage, an der der Ausdruck nichts liefert, behält eine leere Spalte, mit dem Hinweis expr_no_series; bei mehreren Anlagen erhält jede Anlage ihre eigenen Spalten, mit dem Hinweis expr_split_by_park.
Ein Ausdruck darf an einer Anlage höchstens 500 Reihen liefern (400 expr_too_many_series); fassen Sie ihn zusammen, etwa mit sum by (…). Die Reihen zählen gegen dieselben 400 Spalten und 1 800 000 Werte wie jeder Export: Der erste Lesevorgang jedes Ausdrucks an jeder Anlage ist eine kurze Probe, die Breiten werden über die ganze Anfrage summiert, und eine Anfrage, die die Grenzen überschreitet, wird mit 400 over_budget und params.series abgelehnt, bevor irgendein Ausdruck vollständig gelesen wird. Ein Ausdruck, der nicht geparst werden kann, leer oder zu lang ist oder den die Datenbank ablehnt, antwortet mit 400 expr_invalid und dem reason.
Die Schätzung zählt einen Ausdruck als eine Spalte je Anlage, weil seine Reihen erst beim Lesen bekannt sind. Ausdrücke werden nicht in Vorlagen gespeichert.
CSV-Antwort
Die Antwort ist UTF-8, mit dem Dateinamen series_export_<erster Tag>_<letzter Tag>_<Schrittweite>.csv. Eine Antwort über etwa 1 MB wird komprimiert, wenn die Anfrage Accept-Encoding: gzip enthält (curl: --compressed).
Die Spalten sind, in dieser Reihenfolge: die Zeit, der UTC-Versatz, wo er zutrifft, danach die Metriken in der Reihenfolge von metrics.
| Fall | header=name | header=id |
|---|---|---|
| Zeit | Date | timestamp |
| UTC-Versatz | UTC offset | utc_offset |
| Eine Anlage, oder Anlagen zusammengefasst | Grid feed-in (kWh) | plant.grid_feedin |
| Anlagen getrennt | Sunnyside - Grid feed-in (kWh) | ABC123DEF456/plant.grid_feedin |
| Komponente | WR 01.01 - AC power per inverter (W) | ABC123DEF456/inverter:1043/inverter.ac_power |
| Komponente, mehrere Anlagen | Sunnyside - WR 01.01 - AC power per inverter (W) | ABC123DEF456/inverter:1043/inverter.ac_power |
| Metrik mit Varianten, etwa drei Phasen | der Name, gefolgt von der Variante | die ID, gefolgt von #<Variante> |
| Eine Metrik in zwei Wertemodi | derselbe Name zweimal | plant.grid_feedin:delta, plant.grid_feedin:cumulative |
| Rohe MetricsQL-Abfrage | MetricsQL <Ausdruck>, gefolgt von den Reihen-Labels, wenn es mehrere sind | expr1, expr1{inverter_id="INV1"} — siehe Rohe MetricsQL-Abfragen |
Nutzen Sie header=id in Skripten und Arbeitsmappen
Namen sind für Menschen gemacht: Sie folgen language und ändern sich, wenn eine Metrik umbenannt wird. IDs sind stabil. Ein Skript oder eine Arbeitsmappe, die ihre Spalten über den Spaltenkopf findet, sollte header=id anfordern. In einer Vorlage können Sie außerdem jeder Spalte einen eigenen Spaltennamen geben.
Die Zeitspalte wird je Schrittweite formatiert, sofern datetime_format nicht angegeben ist:
| Schrittweite | Format | Beispiel |
|---|---|---|
1min, 5min, 15min, 1h | %Y-%m-%d %H:%M | 2026-08-01 06:15 |
day, week | %Y-%m-%d | 2026-08-01 |
month, quarter, year | %Y-%m | 2026-08 |
Jede Zeile trägt den Beginn ihres Intervalls als Zeitstempel. Ein fehlender Wert ist eine leere Zelle, sodass sich „keine Daten“ und „null“ unterscheiden lassen; empty=zero schreibt stattdessen 0.
Vier Header der Antwort wiederholen, was aufgelöst wurde:
| Header | Inhalt | Beispiel |
|---|---|---|
X-Mirox-Step | die Schrittweite | day |
X-Mirox-Grid | der Kalender | local:Europe/Berlin |
X-Mirox-Window | Beginn und Ende des exportierten Zeitraums | 2026-08-01T00:00:00+02:00/2026-09-01T00:00:00+02:00 |
X-Mirox-Notes | die Hinweise, getrennt durch ; | step_auto:step=day |
JSON-Antwort
format=json beantwortet dieselbe Tabelle als strukturierte Daten:
| Feld | Inhalt |
|---|---|
window | start, end, grid, tz_name, step und aligned, wenn der Zeitraum erweitert wurde |
parks | die exportierten Anlagen mit uid, name und timezone |
buckets | die Zeilen: start als Zeit mit Versatz, ts als Unix-Sekunden |
columns | ein Eintrag je Spalte: key (der Text von header=id), metric, name, unit, digits, quantity, values_mode, merge, park_uid, lane (ref, level, title), variant und values in der Reihenfolge von buckets; ein fehlender Wert ist null |
notes | die Hinweise mit code, metric und params |
lanes_total | Komponenten je Komponenten-Metrik, vor dem Blättern |
lane_page, lane_limit | die gelieferte Seite |
totals | values, queries und duration_ms des Exports |
Hinweise
Ein Hinweis sagt Ihnen, was Mirox von sich aus getan hat. Er lässt einen Export nie scheitern. Hinweise sind Teil der JSON-Antwort und des Headers X-Mirox-Notes. Der Header enthält bis zu 1 KB an Hinweisen, geschrieben als code:key=value,key=value und getrennt durch ;. Passen nicht alle hinein, endet der Header mit notes_omitted:count=<n>; die JSON-Antwort enthält alle.
| Hinweis | Bedeutung |
|---|---|
parks_dropped | Anlagen, die Sie genannt haben, aber nicht lesen können, wurden ausgelassen. uids nennt sie. |
grant_required | Eine Geld-Metrik bleibt für eine Anlage leer, auf der Ihnen die Buchhaltungsberechtigung fehlt. |
value_mode_ignored | Der angefragte Wertemodus gilt für die Metrik nicht; sie wurde als native exportiert. |
energy_delta_fine_step | Eine Energie je Intervall in einer Schrittweite unter 15 Minuten zeigt Zählerschritte. twin nennt die passende Leistungs-Metrik. |
legacy_id_mapped | Eine ID des bisherigen Exports wurde übersetzt. from, to und exactness sagen, wie. |
merge_not_meaningful | Die Metrik lässt sich nicht über Anlagen zusammenfassen und wird je Anlage gezeigt. |
components_split_by_park | Komponenten-Metriken werden je Anlage gezeigt. |
merged_on_utc | Die Anlagen liegen in verschiedenen Zeitzonen; die Zeilen sind in UTC. |
utc_calendar_unsupported | Die Metrik hat keinen Wert im UTC-Kalender; ihre Spalte ist leer. |
window_aligned | Der Zeitraum wurde auf ganze Intervalle erweitert. start und end geben das Ergebnis an. |
end_clamped | Der Zeitraum reichte in die Zukunft und endet jetzt. |
step_auto | Die Schrittweite, die auto gewählt hat. |
step_folded | Mit mismatch=sparse: Die Metrik wurde in einer feineren step gelesen und auf das Raster zusammengefasst. |
step_sparse | Mit mismatch=sparse: Die Metrik hat einen Wert je step, in der ersten Zeile jedes ihrer Intervalle. |
lanes_truncated | Die Metrik hat mehr Komponenten, als die Seite fasst. total, page und limit sagen, wo Sie sind. |
lanes_unpaged | Gemessene Reihen ohne Eintrag in den Komponenten der Anlage wurden wie gemessen exportiert. |
metric_unavailable | Die Metrik hat für eine Anlage keine Werte; die Spalte ist leer. reason ist planned, not_applicable, no_data_source, draft, deleted, unknown_lane, off_grid oder, in einer Vorlage, not_permitted. |
expr_no_series | Eine rohe Abfrage hat an einer Anlage keine Reihe geliefert; ihre Spalte ist leer. |
expr_split_by_park | Rohe Abfragen werden je Anlage gelesen und erhalten je Anlage einen Satz Spalten. |
provider_note | Eine Anmerkung der Metrik selbst, zum Beispiel welche Quelle geantwortet hat. |
Eine leere Spalte bleibt immer erhalten. Eine Metrik, die für eine der Anlagen nicht gilt, oder eine Geld-Metrik ohne Buchhaltungsberechtigung lässt ihre Spalte an ihrem Platz, sodass sich die Positionen der übrigen Spalten nie verschieben.
Vor dem Export schätzen
GET /v1/export/series/estimate
Die Route nimmt die Parameter des Exports, ohne das Dateiformat, und beantwortet, was der Export wäre — ohne Daten zu lesen und ohne auf das stündliche Kontingent zu zählen.
| Feld | Inhalt |
|---|---|
step, grid, window | worauf sich die Anfrage auflöst |
parks, columns, rows, values, queries | die Größe |
bytes_csv, seconds_estimate | ungefähre Dateigröße und Dauer |
within_budget | ob der Export geliefert würde |
preview_ok | ob er klein genug für die Vorschau in der App ist (200 000 Werte) |
limits | die geltenden Grenzen |
per_step | für jede Schrittweite: served_by_all, values, within_budget und, falls nicht, der reason |
refusals | jeder Fehler, mit dem der Export antworten würde, mit code, params und hint |
notes | die Hinweise, die der Export tragen würde |
Eine Ablehnung lässt die Schätzung nie scheitern: Sie antwortet mit 200 und listet die Ablehnung. Die Schätzung zählt, sie rendert nichts: Zeilenbeschriftungen und Spaltenköpfe sind die des Exports. Eine rohe Abfrage zählt als eine Spalte je Anlage, und mit mismatch=sparse nennen die Hinweise die zusammengefassten und dünn besetzten Spalten.
Der Metrikkatalog
GET /v1/export/series/catalog
| Parameter | Werte | Standard | Bedeutung |
|---|---|---|---|
park, portfolio | UIDs | — | Die Anlagen, gegen die die Metriken beurteilt werden. Ohne Anlagen wird die ganze Sammlung gelistet. |
language | en, de, es, fr, it, pt | en | Die Sprache der Namen und Beschreibungen. |
level | eine Ebene | alle | Nur eine Ebene. |
quantity | energy, amount, rate, level, ratio, state, price | alle | Nur eine Größenart. |
search | Text, bis zu 100 Zeichen | — | Durchsucht Name, Beschreibung, Einheit, ID und die IDs des bisherigen Exports. |
include_unavailable | true, false | true | Listet auch Metriken, die sich für die gewählten Anlagen nicht exportieren lassen. |
page, limit | Zahlen, limit bis 100 | 1, 100 | Blättern. |
sort | order, name, id, level, mit - davor für absteigend | order | Die Reihenfolge der Liste. |
format | json, csv | json | csv beantwortet das Glossar. |
Jede Metrik trägt neben ID, Name, Beschreibung, Einheit und Ebene:
| Feld | Inhalt |
|---|---|
quantity | was die Zahl ist: energy, amount (eine andere gezählte Größe), rate (Leistung), level, ratio, state oder price |
value_modes, default_value_mode | die Wertemodi, die sie anbietet, und der, den auto wählt |
export_steps | die Schrittweiten, die sie anbietet |
native_step_seconds | wie oft sie gemessen wird |
merge | wie mehrere Anlagen zusammengefasst werden |
twin_item_id | bei einer Energie-Metrik ihre Leistungs-Metrik |
lane_level | bei einer Komponenten-Metrik die Ebene ihrer Komponenten |
legacy_ids | die IDs des bisherigen Exports, für die sie antwortet |
applies_parks | auf wie vielen der gewählten Anlagen sie gilt |
exportable, export_reason | ob sie sich exportieren lässt, und falls nicht, warum: draft, planned, grant_required, not_applicable oder no_source |
Bei bis zu 10 Anlagen wird jede Anlage auf die Ausstattung geprüft, die eine Metrik braucht. Darüber werden Anlagen nur nach ihrem Typ beurteilt; was einer einzelnen Anlage fehlt, zeigt sich beim Export als Hinweis metric_unavailable.
Glossar. format=csv beantwortet die ganze gefilterte Liste als Datei, metric_catalog_<Sprache>.csv, mit den Spalten ID, Ebene, Name, Einheit, Beschreibung, Größenart, Wertemodi, Schrittweiten, Messintervall, Zusammenfassung über Anlagen, Hinweis und bisherige IDs. page und limit gelten nicht.
curl "https://service.mirox.io/api/v1/export/series/catalog?format=csv&language=en" \
-H "Authorization: Bearer YOUR_API_TOKEN" -o metric_catalog_en.csv
Verfügbare Metriken
Die Sammlung ist nach Ebene geordnet. Das Präfix einer ID sagt, wohin eine Metrik gehört.
| Ebene | level | ID-Präfix | Was sie enthält |
|---|---|---|---|
| Anlage · gemessen | plant | plant. | Was die Anlage selbst misst: der Netzzähler, die Wechselrichtersummen, die Sensoren vor Ort, die Leistungsgrenzen, die ihr vorgegeben wurden. |
| Anlage · Referenz | plant_reference | plant. | Was die Anlage hätte leisten sollen: Einstrahlung in der Modulebene, erwartete Erzeugung, Performance Ratio, spezifischer Ertrag, Verluste. |
| Anlage · Entschädigung | plant_compensation | plant. | Abregelungs- und Abschaltverluste als Energie und Leistung, je Empfänger und Verfahren. |
| Metriken | metrics | availability., organization. | Verfügbarkeitswerte, Sonnenstunden und die Metriken Ihrer Organisation. |
| Wechselrichter | inverter | inverter. | Eine Spalte je Wechselrichter. |
| Generatoranschlusskasten | gak | gak. | Eine Spalte je Generatoranschlusskasten. |
| String | string | string. | Eine Spalte je String. |
| Batterie | battery | battery. | Der Speicher als Ganzes: Energie, Leistung, Ladezustand, Sollwerte. |
| Batteriecontainer | battery_box | battery_box. | Eine Spalte je Container. |
| Batterierack | battery_storage | battery_storage. | Eine Spalte je Rack. |
| Batteriemodul | battery_module | battery_module. | Eine Spalte je Modul. |
| Batteriezelle | battery_cell | battery_cell. | Eine Spalte je Zelle oder Messpunkt. |
| Batterie-Umrichter (PCS) | battery_pcs | battery_pcs. | Eine Spalte je Umrichter. |
| Windturbine | turbine | turbine. | Eine Spalte je Turbine. |
| Sensor | sensor | sensor. | Eine Spalte je Sensor: Einstrahlung, Einstrahlungsenergie, Temperatur, Luftfeuchtigkeit, Wind. |
| Zähler | meter | meter. | Eine Spalte je Energiezähler. |
| Infrastruktur | infrastructure | infrastructure. | Der Datenweg und der Standort: Vollständigkeit, Logger-Zustand, Netzwerk, Alarme, Steuerverbindungen. |
| Wetter | weather | weather. | Wetter am Standort, einschließlich Wind und Temperatur in 80, 120 und 180 m. |
| Markt | market | market. | Preise und Marktwerte. |
| Anlage · Finanzen | financial | financial. | Geldwerte der Anlage. Sie brauchen die Buchhaltungsberechtigung. |
Die vollständige Liste mit Namen, Einheiten und Beschreibungen in Ihrer Sprache ist der Katalog, die Glossardatei oder Erklärungen auf dem Tab Metriken. Die Wettervorhersage-Werte des bisherigen Exports sind nicht Teil der Sammlung; siehe den Leitfaden zum Umstieg.
Komponenten einer Anlage
GET /v1/export/series/lanes
| Parameter | Werte | Standard | Bedeutung |
|---|---|---|---|
park | eine Anlagen-UID | erforderlich | Die Anlage. |
level | eine Komponentenebene | erforderlich | Siehe Komponenten. |
metric | eine Metrik-ID | — | Für Sensoren und Zähler: listet diejenigen, die diese Metrik in den letzten 30 Tagen geliefert haben. |
search | Text | — | Durchsucht die Namen. |
include_hidden | true, false | false | Listet auch ausgeblendete Komponenten. |
page, limit | Zahlen, limit bis 100 | 1, 50 | Blättern. |
sort | order, name, mit - davor für absteigend | order | order ist die Reihenfolge der Spalten im Export. |
Jeder Eintrag hat die Referenz ref für den Parameter components, den name, das level, das übergeordnete Element (parent_ref, parent_name — zum Beispiel den Wechselrichter eines Strings), attributes (role eines Zählers, position eines Einstrahlungssensors, vendor), hidden und source: db für einen Eintrag der Komponenten der Anlage, store für eine Reihe, die gemessen wird, aber keinen solchen Eintrag hat.
Eine Anlage, die nicht existiert, und eine Anlage, die Sie nicht lesen können, antworten beide mit 404 park_not_found.
Vorlagensystem
Eine Vorlage ist eine gespeicherte Liste von Metriken mit Voreinstellungen für Schrittweite, Zeitraum, Werte, Zeitzone, Zusammenfassung der Anlagen, Seitengröße der Komponenten und Spaltenköpfe. Wofür Vorlagen da sind und wie Sie sie in der App verwalten, steht in der Anleitung zum Metric Export.
Eine Vorlage exportieren
GET /v1/export/series/template/{template_uid}
Die Route nimmt die Parameter des Exports außer metrics, components und values, die die Vorlage festlegt. Jeder Parameter, den Sie weglassen, nimmt die Voreinstellung der Vorlage; jeder Parameter, den Sie angeben, hat Vorrang.
curl --compressed "https://service.mirox.io/api/v1/export/series/template/CAFE1000CAFE?park=ABC123DEF456&window=previous_month&header=id" \
-H "Authorization: Bearer YOUR_API_TOKEN" -o standard.csv
- Eine Vorlage einer anderen Organisation antwortet mit
404 template_not_found. - Eine Legacy-Vorlage antwortet mit
400 template_is_legacy;params.legacy_urlist der Link, der sie exportiert. - Eine Spalte, deren Metrik nicht mehr verfügbar ist, wird leer unter ihrem Spaltenkopf exportiert, mit dem Hinweis
metric_unavailable. Dasselbe gilt für eine Metrik Ihrer Organisation, wenn Sie als Extern exportieren (reasonnot_permitted).
Systemvorlagen
| Vorlage | UID | Schrittweite | Zeitraum |
|---|---|---|---|
| Standard-Export | CAFE1000CAFE | day | previous_month |
| Erweiterter Export | CAFE1001CAFE | day | previous_month |
| Erweiterter Export (Wechselrichter-Verfügbarkeit) | CAFE1002CAFE | day | previous_month |
| Export Energieverfügbarkeit | CAFE1003CAFE | day | previous_month |
| Technischer Bericht | ABCD12340002 | day | previous_month |
| Windturbinen | CAFE1010CAFE | day | previous_month |
| Batteriespeicher | CAFE1020CAFE | day | previous_month |
| Einstrahlungssensoren | CAFE1030CAFE | 15min | yesterday |
Die ersten fünf lösen CAFE0000CAFE, CAFE0001CAFE, CAFE0002CAFE, CAFE0003CAFE und ABCD12340001 ab, die auf der Legacy-Route weiter funktionieren. Ihre Spalten stehen im Leitfaden zum Umstieg. Sie bieten die Schrittweiten day, week, month, quarter und year an; die ersten vier zusätzlich 15min und 1h.
Vorlagen verwalten
Vorlagen werden unter /v1/export/template gelistet, gelesen, erstellt, geändert und gelöscht. Das Lesen funktioniert mit einem Token Metric Export. Das Schreiben braucht die Organisationsrolle Admin, Moderator, Asset Manager (Technisch) oder Asset Manager (Kaufmännisch) und eine Anmeldung oder ein Token Voller Zugriff.
| Anfrage | Zweck |
|---|---|
GET /v1/export/template | Vorlagen listen. view=current listet die Systemvorlagen dieser Seite und die Vorlagen Ihrer Organisation; view=legacy, der Standard, listet die gespeicherten Vorlagen wie bisher; view=all listet beide. kind=series oder kind=legacy filtert. |
GET /v1/export/template/{template_uid} | Eine Vorlage lesen. |
POST /v1/export/template | Eine Vorlage mit kind=series und dem Inhalt in spec erstellen. Ohne kind erstellt die Anfrage wie bisher eine Legacy-Vorlage aus metric_ids. |
PUT /v1/export/template/{template_uid} | Name, Beschreibung oder spec ändern. Die Art lässt sich nicht ändern. |
DELETE /v1/export/template/{template_uid} | Eine Vorlage löschen. Systemvorlagen lassen sich weder ändern noch löschen. |
Die spec einer Vorlage:
| Feld | Werte | Standard |
|---|---|---|
items | 1 bis 40 Einträge, jeweils mit metric, optional values und label | erforderlich |
step | eine Schrittweite | auto |
values | ein Wertemodus | auto |
tz | local, utc | local |
window | eine Voreinstellung | previous_month |
multi_park_agg | merge, split | merge |
lane_limit | 1 bis 100 | 50 |
header | name, id | name |
mismatch | refuse, sparse | refuse |
label ist der Spaltenname der Spalte bei header=name. Eine Metrik darf einmal vorkommen, und eine Vorlage enthält keine rohen Abfragen. Beim Speichern einer Vorlage muss jede Metrik exportierbar sein, und die Metriken müssen eine gemeinsame Schrittweite haben — unter mismatch=sparse muss jede irgendeine Schrittweite bedienen; andernfalls lautet die Antwort 422 spec_invalid, und params.problems nennt die Metrik und den Grund. Eine Vorlage läuft mit ihrem eigenen mismatch (die App zeigt es als Metriken mit anderem Schritt: Strikt oder Tolerant); der Parameter im Export-Link hat Vorrang.
Eine Legacy-Vorlage umwandeln
POST /v1/export/template/{template_uid}/convert
| Feld | Werte | Bedeutung |
|---|---|---|
name | bis zu 100 Zeichen | Der Name der neuen Vorlage. Standard: der Name der Legacy-Vorlage, gefolgt von „(new)“. |
dry_run | true, false | true beantwortet die Zuordnung, ohne etwas zu erstellen. |
Die Antwort listet mapped (legacy_id, metric, values, exactness: exact oder approximate) und unmapped (legacy_id, reason: formula, no_equivalent, report_value oder instant, und bis zu drei suggestions) und, sofern es kein Probelauf war, die neue template. Ein Probelauf antwortet mit 200, eine Umwandlung mit 201.
Die neue Vorlage exportiert Tage über den Vormonat. Die Legacy-Vorlage wird nie verändert. Zwei Legacy-Spalten, die denselben Zähler lesen, werden zu einer Spalte. 422 nothing_to_convert bedeutet, dass keine Spalte eine Entsprechung hat oder dass die Vorlage keine Legacy-Vorlage ist.
Grenzen
Ein Export wird innerhalb einer Anfrage beantwortet, daher ist seine Größe begrenzt. Jede Grenze wird geprüft, bevor Daten gelesen werden; eine zu große Anfrage wird sofort abgelehnt und sagt Ihnen, was passen würde.
| Grenze | Wert |
|---|---|
| Metriken je Anfrage | 20; in einer Vorlage 40 |
| Rohe MetricsQL-Abfragen je Anfrage | 5, mit je 4 000 Zeichen und höchstens 500 Reihen je Anlage |
| Anlagen je Anfrage | 50 |
| Komponenten je Metrik und Seite | standardmäßig 50, höchstens 100 |
| Spalten | 400 |
| Werte je Spalte | 180 000 — 125 Tage bei 1min, 625 Tage bei 5min, fünf Jahre bei 15min |
| Werte insgesamt | 1 800 000 (Zeilen × Spalten) |
| Zeitraum | 1827 Tage |
| Lesezugriffe auf den Messdatenspeicher je Anfrage | 1 500 |
| Dauer | 50 Sekunden |
| Exporte je Benutzer und Stunde | 240 |
| Gleichzeitig laufende Exporte | 3 je Organisation |
Einen großen Export aufteilen
400 over_budget nennt in params, was gebraucht wurde und was erlaubt ist, und in hint den Ausweg: step, die nächstgröbere Schrittweite, die passt, und max_days, den längsten Zeitraum, der in der angefragten Schrittweite passt. Fragen Sie zuerst die Schätzung, wenn Sie Anfragen in einem Skript zusammenstellen; ihr per_step listet die Größe für jede Schrittweite.
Wenn weder eine gröbere Schrittweite noch ein kürzerer Zeitraum das ist, was Sie möchten, teilen Sie den Export auf:
| Aufteilen nach | Wie |
|---|---|
| Zeit | Eine Anfrage je Monat oder Quartal. Nutzen Sie die Kalenderparameter (year=2026&month=7) und fügen Sie die Dateien zusammen. |
| Anlage | Eine Anfrage je Anlage oder Portfolio. |
| Metrik | Komponenten-Metriken in eigenen Anfragen. Eine Komponenten-Metrik auf einer Anlage mit 200 Wechselrichtern sind 200 Spalten. |
| Seite | lane_page=1, 2, … für die Komponenten einer Metrik. |
Manche Metriken werden für jeden Tag aus mehreren Quellen ermittelt, allen voran plant.production_reported (Produktion, aufgelöst). Sie brauchen in jeder Schrittweite deutlich mehr Lesezugriffe auf den Messdatenspeicher als ein Zählerstand. Eine Anfrage oder eine Vorlage, die eine solche Metrik enthält, erreicht derzeit etwa neun Anlagenmonate: eine Anlage über neun Monate oder neun Anlagen über einen Monat. Eine Schrittweite von einer Woche oder länger weitet den Zeitraum auf ganze Intervalle aus, und der ausgeweitete Zeitraum zählt. Teilen Sie solche Exporte nach Zeit oder nach Anlage auf, oder exportieren Sie die Metrik in einer eigenen Anfrage.
429 busy und 429 rate_limited tragen den Header Retry-After mit den Sekunden, die zu warten sind.
Fehler
Ein Fehler der Routen dieser Seite hat diese Form:
{
"detail": {
"code": "step_not_served",
"message": "The step is not served by every requested metric.",
"params": {"step": "1h", "metrics": {"plant.grid_power": ["1min", "5min", "15min"]}},
"hint": {"offered_common": ["1min", "5min", "15min"]}
}
}
code ist stabil und für Programme gedacht. message ist ein englischer Text für Menschen. params sagt, was falsch war, hint, was funktionieren würde.
| Status | code | Bedeutung | params und hint |
|---|---|---|---|
| 400 | scope_required | Weder park noch portfolio wurde angegeben. | hint.example |
| 400 | unknown_metric | Eine Metrik-ID existiert nicht. | params.ids; hint.suggestions mit ähnlichen IDs |
| 400 | legacy_metric_id | Eine ID des bisherigen Exports hat keine Entsprechung in der Sammlung. | params.id, params.legacy_url; hint.reason, hint.closest, hint.pending, hint.legacy_url |
| 400 | metric_not_exportable | Die Metrik existiert, ist aber keine Zeitreihe, die Sie exportieren können. | params.id, params.reason: draft, planned, no_source, events oder master |
| 400 | window_conflict | Der Zeitraum wurde auf mehr als eine Art angegeben. | params.families |
| 400 | window_invalid | Der Zeitraum ist ungültig. | params.reason: end_before_start, start_in_future, before_2020, too_long, day_requires_month, start_required oder invalid_date |
| 400 | step_not_served | Eine Metrik bietet die angefragte Schrittweite nicht an. | params.metrics mit den Schrittweiten jeder Metrik; hint.offered_common |
| 400 | no_common_step | Die Metriken haben keine gemeinsame Schrittweite. | params.metrics; hint.split |
| 400 | over_budget | Der Export ist größer als eine Grenze. | params.values, limit, queries, query_limit, columns, column_limit, parks; bei mehr als 50 Anlagen params.parks und park_limit; bei einer rohen Abfrage params.series; hint.step, hint.max_days, hint.lane_limit, hint.reduce |
| 400 | unknown_lane | Eine Komponentenreferenz gehört zu keiner der Anlagen. | params.refs |
| 400 | expr_invalid | Eine rohe Abfrage kann nicht ausgeführt werden. | params.expr, params.reason: empty, syntax (mit detail), too_long, too_large, store (mit dem detail der Datenbank) oder parser_unavailable |
| 400 | expr_forbidden_label | Eine rohe Abfrage nennt selbst eine Anlage, einen Park oder eine Organisation. | params.expr, params.labels |
| 400 | expr_too_many_series | Eine rohe Abfrage liefert an einer Anlage mehr als 500 Reihen. | params.expr, params.park, params.series, params.limit; hint.reduce |
| 400 | separator_conflict | Spaltentrennzeichen und Dezimaltrennzeichen sind gleich. | — |
| 400 | invalid_datetime_format | datetime_format ist kein gültiges Muster. | hint.example |
| 400 | template_is_legacy | Die Vorlage ist eine Legacy-Vorlage. | params.legacy_url |
| 403 | no_accessible_parks | Sie können keine der gewählten Anlagen lesen. | — |
| 403 | metric_forbidden | Eine Metrik Ihrer Organisation wurde mit der Organisationsrolle Extern angefragt. | params.ids |
| 404 | template_not_found, park_not_found | Die Vorlage oder die Anlage existiert nicht, oder Sie können sie nicht lesen. | — |
| 409 | name_conflict | Eine Vorlage mit diesem Namen existiert bereits. | params.name |
| 422 | — | Ein Parameter hat einen Wert außerhalb seiner Liste, oder metrics enthält mehr als 20 IDs. | das Feld und der Grund |
| 422 | spec_invalid, use_spec, nothing_to_convert | Eine Vorlage lässt sich so, wie sie gesendet wurde, nicht speichern oder umwandeln. | params.problems |
| 429 | busy | Es laufen zu viele Exporte. | Header Retry-After |
| 429 | rate_limited | Das stündliche Kontingent ist aufgebraucht. | Header Retry-After |
| 502 | store_error | Der Messdatenspeicher hat mit einem Fehler geantwortet. Es wurde nichts exportiert; ein Wert wird nie durch null ersetzt. | params.metric |
| 503 | store_timeout | Der Messdatenspeicher hat nicht rechtzeitig geantwortet. | hint.step mit einer gröberen Schrittweite |
401 bedeutet, dass das Token fehlt, abgelaufen oder widerrufen ist.
IDs des bisherigen Exports
Der Parameter metrics akzeptiert auch die IDs des bisherigen Exports, etwa energy_grid_daily oder raw_grid_power. Eine ID mit Entsprechung wird in ihre Metrik übersetzt, in dem Wertemodus, der der bisherigen Zahl am nächsten kommt, und der Hinweis legacy_id_mapped sagt, welche Metrik geantwortet hat und ob die Zahl dieselbe ist (exact) oder dieselbe Größe auf bessere Weise gelesen wird (approximate).
Eine ID ohne Entsprechung antwortet mit 400 legacy_metric_id. hint.reason sagt, warum, hint.closest nennt die nächstliegende Metrik, sofern es eine gibt, hint.pending nennt die Metrik, die sie künftig tragen soll, und legacy_url ist der Link des bisherigen Exports, der die ID weiterhin liefert. Bei mehr Anlagen, als ein Link nennen kann, nennt legacy_url die erste Anlage, und params.legacy_url_scope ist first. Eine Komponenten-ID einer Batterie-Ebene hat keinen Link des bisherigen Exports; hint.legacy_route ist dann none. Der Leitfaden zum Umstieg listet jede ID.
Excel und Skripte
- Metric Export für Excel — Rezepte und die Power-Query-Verbindung mit dem Header
Authorization - Externer Berichtsgenerator — ein vollständiges Python-Beispiel
Verwandte Funktionen
- Metric Export — die Seite Daten-Export
- Umstieg auf den Metric Export — alte IDs, neue Metriken und was sich ändert
- Legacy-Export-API — die bisherigen Export-Links
- Metriken — eigene Metriken definieren und exportieren
- API-Tokens — das Token Metric Export erstellen
- API-Übersicht — die interaktive Referenz aller Routen