MiroxQL-Formeln (API-Referenz)
Eine MiroxQL-Formel verbindet Tagesmetriken des Legacy-Exports zu einer berechneten Spalte, zum Beispiel eine Performance Ratio aus einer Energie und einem Zielwert.
Der Formel-Editor wurde aus der App entfernt
Formeln werden nicht mehr in Mirox selbst erstellt oder bearbeitet. Diese Seite ist die Referenz der API, die vollständig nutzbar bleibt:
- Bestehende Formeln werden weiterhin überall ausgewertet, wo sie verwendet werden: in Legacy-Exportvorlagen und auf den Legacy-Export-Links.
- Formeln lassen sich weiterhin über die hier beschriebene API listen, erstellen, ändern und löschen.
- Der Nachfolger für Größen, die Sie selbst definieren, sind die Metriken. Eine Metrik wird auf den 15-Minuten-Werten einer Anlage ausgewertet, kann je Komponente ausgegeben werden, erscheint in Berichten und lässt sich mit dem Metric Export in jeder Schrittweite exportieren.
In Mirox öffnen
Daten-Export ▸ Glossar — definieren Sie eine neue Größe als Metrik Ihrer Organisation.
MiroxQL oder Metriken?
| MiroxQL-Formel | Metrik | |
|---|---|---|
| Arbeitet auf | Tageswerten einer Anlage | den 15-Minuten-Werten einer Anlage |
| Ausgabe je Komponente | nein | ja |
| Verwendet in | Legacy-Exportvorlagen | Berichten, dem Metric Export und seinen Vorlagen |
| Feinste Schrittweite | Tag | 15 Minuten |
| Bearbeitet in | der API | der App, mit laufender Prüfung und einem Assistenten, und der API |
Formel-Routen
Alle Pfade folgen auf https://service.mirox.io/api/v1/export/metric/formula. Die Routen brauchen eine Anmeldung oder ein API-Token der Gruppe Voller Zugriff; ein Token Metric Export erreicht sie nicht. Das Lesen steht den Mitgliedern der Organisation offen, das Schreiben den Organisationsrollen Admin, Moderator, Asset Manager (Technisch) und Asset Manager (Kaufmännisch).
| Anfrage | Zweck |
|---|---|
GET (ohne weiteren Pfad) | Die Formeln Ihrer Organisation und die Formeln, die Mirox mitliefert, listen. Parameter: page, limit, include_system (Standard true), only_active (Standard false), search. |
GET /{org_uid}/{metric_id} | Eine Formel lesen. org_uid ist system für eine Formel, die Mirox mitliefert. |
GET /{org_uid}/{metric_id}/references | Die Vorlagen und Formeln, die die Formel verwenden. |
GET /config-fields | Die Werte der Anlagenkonfiguration, die eine Formel lesen kann. |
POST /validate | Den Text einer Formel prüfen. Die Antwort listet die Metriken und Konfigurationswerte, die sie liest. |
POST /test | Eine Formel auf Werten auswerten, die Sie senden. |
POST /preview | Eine Formel auf den Daten von Anlagen auswerten, mit park oder portfolio, year und quarter, month, week oder day, und resolution. |
POST /{org_uid} | Eine Formel in Ihrer Organisation erstellen. |
PUT /{org_uid}/{metric_id} | Eine Formel ändern. |
DELETE /{org_uid}/{metric_id} | Eine Formel löschen. |
Formeln, die Mirox mitliefert, lassen sich weder ändern noch löschen.
Felder einer Formel
| Feld | Werte | Standard | Bedeutung |
|---|---|---|---|
metric_id | Kleinbuchstaben, Ziffern und Unterstriche, beginnend mit einem Buchstaben; bis zu 100 Zeichen | erforderlich | Die ID, die andere Formeln und Vorlagen verwenden. |
name | bis zu 100 Zeichen | erforderlich | Der Spaltenname. |
description | bis zu 1000 Zeichen | leer | Was die Formel berechnet. |
unit | bis zu 50 Zeichen | erforderlich | Die Einheit des Ergebnisses, zum Beispiel kWh oder %. |
formula | Text | erforderlich | Der Ausdruck. Er muss mindestens eine Metrik lesen. |
scale | Zahl | 1.0 | Das Ergebnis wird beim Export mit diesem Faktor multipliziert. |
digits | 0 bis 10 | 2 | Die Nachkommastellen des exportierten Werts. |
calculation_level | daily, period | period | Wann die Formel läuft. Siehe Berechnungsebene. |
aggregation_method | sum, average | average | Wie aus Tagesergebnissen ein Periodenwert wird, bei calculation_level=daily. |
active | true, false | true | Nur beim Ändern einer Formel. Eine inaktive Formel wird nicht ausgewertet. |
{
"metric_id": "energy_total_incl_losses",
"name": "Total Energy Including Losses",
"description": "Sum of grid energy and all shutdown losses",
"unit": "kWh",
"scale": 0.001,
"digits": 2,
"formula": "@energy_grid_daily + @energy_shutdown_grid_daily + @energy_shutdown_external_daily",
"calculation_level": "daily",
"aggregation_method": "sum"
}
IDs
Eine ID muss frei sein. 409 metric_id_taken bedeutet, dass eine Formel oder eine Metrik Ihrer Organisation oder eine Metrik von Mirox die ID bereits trägt. Das gilt auch, wenn Sie eine bestehende Formel ändern, deren ID inzwischen vergeben ist; das Deaktivieren mit active=false bleibt möglich.
Skalierung und Nachkommastellen
Rechnen Sie in Basiseinheiten und rechnen Sie mit scale um. Die Tagesmetriken werden in Basiseinheiten ausgewertet (Wh, W, Wh/m²), eine Summe von Energien mit scale=0.001 wird also in kWh exportiert. scale und digits gelten nur für den exportierten Wert. Eine Formel, die eine andere Formel liest, erhält deren unskaliertes, ungerundetes Ergebnis.
Berechnungsebene
calculation_level | Wie ein Monatswert entsteht | Verwenden Sie es für |
|---|---|---|
daily | Die Formel läuft für jeden Tag. Die Tagesergebnisse werden addiert (sum) oder gemittelt (average). | Summen von Energie |
period | Die Metriken werden zuerst zum Monat verdichtet. Die Formel läuft einmal auf den Monatswerten. | Verhältnisse wie eine Performance Ratio |
Syntax
Referenzen
Eine Metrik wird mit @ und ihrer ID gelesen. Die IDs sind die Legacy-Metrik-IDs und die IDs anderer Formeln.
@energy_grid_daily
@gti_sensor_daily
Ein Wert der Anlagenkonfiguration wird mit $ und seinem Pfad gelesen:
| Referenz | Beschreibung | Einheit |
|---|---|---|
$park.peak_production_w | Gesamte Spitzenleistung | W |
$park.latitude | Geografische Breite | ° |
$park.longitude | Geografische Länge | ° |
$park.self_consumption | Eigenverbrauchsfaktor (0.0 bis 1.0) | Verhältnis |
$park.information.string_peak_power_w | Gesamte Spitzenleistung aller Strings | W |
$park.information.inverter_max_power_w | Maximale Wechselrichterleistung | W |
$park.information.inverter_total | Anzahl der Wechselrichter | — |
$park.information.gak_total | Anzahl der Generatoranschlusskästen | — |
$park.information.strings_total | Anzahl der Strings | — |
$park.information.modules_total | Anzahl der Module | — |
GET /config-fields beantwortet die aktuelle Liste.
Operatoren
| Art | Operatoren | Beispiel |
|---|---|---|
| Arithmetik | + - * / % | @energy_grid_daily / $park.peak_production_w |
| Vergleich | == != < <= > >= | @gti_sensor_daily > 0 |
| Logik | && || ! | @gti_sensor_daily > 0 && @energy_grid_daily > 0 |
| Bedingung | condition ? a : b | @gti_sensor_daily > 0 ? @gti_sensor_daily : @gti_weather_daily |
| Funktionen | max(a, b), min(a, b) | max(@energy_grid_daily, 0) |
Ein Vergleich antwortet mit 1 oder 0. Eine Division durch null antwortet mit 0. Eine Metrik ohne Daten zählt als 0.
Operationen werden in dieser Reihenfolge ausgewertet, die höchste zuerst: Klammern, Funktionen, * / %, + -, < <= > >=, == !=, &&, ||.
Beispiele
Spezifischer Ertrag:
@energy_grid_daily / $park.peak_production_w
Einstrahlung vom Sensor, oder aus dem Wettermodell, wo der Sensor keinen Wert hat:
@gti_sensor_daily > 0 ? @gti_sensor_daily : @gti_weather_daily
Anteil der Abschaltverluste:
(@energy_shutdown_grid_daily + @energy_shutdown_external_daily) / (@energy_grid_daily + @energy_shutdown_grid_daily + @energy_shutdown_external_daily) * 100
Regeln
- Eine Formel liest mindestens eine Metrik.
- Klammern sind ausgeglichen, und zwei Operatoren folgen nicht aufeinander, außer
!. - Eine Formel darf nicht von sich selbst abhängen, weder direkt noch über andere Formeln.
- Eine Formel arbeitet auf Tageswerten. Sie kann keine Werte innerhalb eines Tages lesen, und sie kann nicht auf frühere Zeilen zurückblicken.
Eine Formel auf Metriken umstellen
Eine Formel und eine Metrik sind in verschiedenen Sprachen geschrieben, eine Formel wird also neu geschrieben, nicht umgewandelt. In den meisten Fällen ist die Metrik kürzer, weil sie angibt, was in einem 15-Minuten-Intervall geschieht, und den Rest ihrer Verdichtung überlässt.
- Öffnen Sie Daten-Export ▸ Glossar und klicken Sie auf Neue Metrik.
- Beschreiben Sie die Größe dem Assistenten im Editor oder schreiben Sie den Ausdruck selbst. Die Seitenleiste listet die Serien, aus denen Sie aufbauen können.
- Wählen Sie die Verdichtung, die zur Formel passt:
| Formel | Verdichtung der Metrik |
|---|---|
Eine Summe von Energien, calculation_level=daily mit sum | Summe |
| Ein Mittelwert | Mittelwert |
Ein Verhältnis zweier Summen, calculation_level=period | Verhältnis oder Gewichteter Mittelwert |
| Ein Zeitanteil, in dem eine Bedingung gilt | Verhältnis mit einem Ausdruck, der mit 1 oder 0 antwortet |
- Prüfen Sie die Vorschau an einer Anlage und verwenden Sie die Metrik danach in einem Bericht oder exportieren Sie sie.
Die Performance Ratio, die erwartete Erzeugung und der spezifische Ertrag brauchen keine eigene Metrik. Die Sammlung hat sie: plant.pr_weather, plant.pr_pyranometer, plant.expected_weather, plant.expected_pyranometer, plant.specific_yield.
Verwandte Funktionen
- Metriken — der Nachfolger: Größen, die Ihre Organisation selbst definiert
- Metric Export — Metriken in jeder Schrittweite exportieren
- Legacy-Export-API — die Vorlagen und Links, die Formeln auswerten
- Umstieg auf den Metric Export — die berechneten Spalten und ihre Entsprechungen
- API-Tokens — ein Token Voller Zugriff für die Formel-Routen