Die Daten sind nach Anlage organisiert. Diese Seite erklärt die Grundbegriffe, listet die Endpoints auf und zeigt zwei typische Responses: Momentanleistung und Energiesummen.

Grundbegriffe

  • Anlage. Die Einheit jedes Requests. Jede Anlage hat eine stabile plant_id (UUID), einen Namen, ein Land und eine IANA-Zeitzone.
  • Gateway. Das Gerät vor Ort, das die Daten der Anlage sendet, identifiziert durch die auf dem Gerät aufgedruckte Seriennummer (zum Beispiel 2527-35520819PH). Eine Anlage hat ein oder mehrere Gateways. Seriennummern erscheinen in der Konnektivität, im Ladezustand der Batterien und in den Alarmen; alle übrigen Daten beziehen sich auf die Anlage.
  • Batterien. Der Ladezustand wird pro Gateway geliefert, als Liste batteries: [{serial, soc_pct}]. Er wird nie über Gateways gemittelt: Bei Batterien unterschiedlicher Kapazität wäre ein Mittelwert irreführend.
  • Anlagen mit mehreren Gateways. PV- und Batterieleistung sind die Summe über die Gateways. Netz- und Verbrauchsleistung sind die des gemeinsamen Netzanschlusses.
  • Zeiträume. Historische Daten werden mit einem festen period abgefragt, nicht mit einem freien Datumsbereich:
Daten Zeitraum Fenster
Energie day, week, month Kalenderfenster in der Zeitzone der Anlage: ab lokaler Mitternacht (Tag), Montag (Woche) oder dem 1. (Monat) bis jetzt
Leistungsreihe hour, day gleitend: letzte 60 Minuten, letzte 24 Stunden
Alarmhistorie day, week, month gleitend: letzte 24 Stunden, 7 Tage, 30 Tage

Endpoints für mehrere Anlagen (Bulk)

Verwenden Sie diese drei Endpoints für jede periodische Abfrage mehrerer Anlagen. Sie liefern für eine Seite von bis zu 100 Anlagen genau das, was der Endpoint pro Anlage für jede einzelne liefert, und zählen als ein einziger Request.

Endpoint Scope Parameter Liefert
GET /v1/telemetry/latest read:telemetry plant_ids, limit (1–100), cursor letzte Leistung und Ladezustand
GET /v1/connectivity read:plants plant_ids, limit (1–100), cursor online / offline pro Anlage und Gateway
GET /v1/energy/totals read:energy period, plant_ids, limit (1–100), cursor Energiesummen

Ohne plant_ids umfassen sie alle für Ihren Client sichtbaren Anlagen. Nicht sichtbare Kennungen werden ohne Fehler ausgelassen. Die Ergebnisse sind nach plant_id sortiert.

Endpoints pro Anlage

Endpoint Scope Parameter Liefert
GET /v1/plants read:plants limit (1–200), cursor Anlagen, paginiert
GET /v1/plants/{plant_id} read:plants — Anlagendetails mit Adresse
GET /v1/plants/{plant_id}/connectivity read:plants — online / offline pro Anlage und Gateway
GET /v1/plants/{plant_id}/telemetry/latest read:telemetry — letzte Leistung und Ladezustand
GET /v1/plants/{plant_id}/telemetry/series read:telemetry period (hour, day), measures Leistungsreihe
GET /v1/plants/{plant_id}/energy/totals read:energy period (day, week, month) Energiesummen
GET /v1/plants/{plant_id}/energy/series read:energy period (day, month), include_previous Energie pro Teilzeitraum
GET /v1/plants/{plant_id}/alarms/active read:alarms — aktuell offene Alarme
GET /v1/plants/{plant_id}/alarms/history read:alarms period (day, week, month), severity im Fenster ausgelöste Alarme

Beispiel: Momentanleistung

GET /v1/plants/7b0728a9-853c-4b31-8446-a4eb00607566/telemetry/latest

{
  "plant_id": "7b0728a9-853c-4b31-8446-a4eb00607566",
  "timestamp": "2026-10-13T12:21:00Z",
  "measurements": {
    "grid_power_w": 0,
    "battery_power_w": 18,
    "batteries": [ { "serial": "2527-35520819PH", "soc_pct": 100.0 } ],
    "pv_power_w": 2521,
    "load_power_w": 2503
  }
}

Mittag, Batterie voll: Die PV-Anlage deckt den Verbrauch, kein Austausch mit dem Netz. telemetry/series liefert dieselben Felder als Liste von samples, jeweils mit eigenem timestamp: einen Wert pro Minute mit period=hour, einen Wert alle 15 Minuten mit period=day (angegeben in resolution_seconds). measures schränkt die Felder ein, zum Beispiel measures=pv_power_w,load_power_w.

Beispiel: Energiesummen

GET /v1/plants/7b0728a9-853c-4b31-8446-a4eb00607566/energy/totals?period=day

{
  "plant_id": "7b0728a9-853c-4b31-8446-a4eb00607566",
  "period": "day",
  "period_start": "2026-10-13T00:00:00+02:00",
  "period_end": "2026-10-13T14:23:15+02:00",
  "totals_wh": {
    "consumed": 4950, "produced": 10380,
    "imported": 100, "exported": 0,
    "charged": 8070, "discharged": 3350
  }
}
Feld Bedeutung
produced von der PV-Anlage erzeugte Energie
consumed von den Verbrauchern des Standorts genutzte Energie, aus jeder Quelle
imported / exported aus dem Netz bezogene / ins Netz eingespeiste Energie
charged / discharged in die Batterien geladene / aus ihnen entladene Energie

Ein Wert ist null, wenn die Anlage für diese Größe im Fenster keine Daten geliefert hat. energy/series teilt dasselbe Fenster in Teilzeiträume von einer Stunde (resolution_seconds); include_previous=true fügt den gesamten vorherigen Tag oder Monat hinzu. Die Summe einer Reihe entspricht den Summen über dasselbe Fenster.

Konnektivität und Alarme

Ein Gateway ist online, wenn es in den letzten 5 Minuten Daten gesendet hat, sonst offline; die Anlage ist online, wenn mindestens ein Gateway online ist. unknown bedeutet, dass der Status nicht bestimmt werden konnte, zum Beispiel bei einer Anlage ohne Gateway. last_seen_at deckt die letzten 7 Tage ab und ist darüber hinaus null.

Jeder Alarm enthält code und message des Geräts, raised_at, cleared_at und source, die auslösende Komponente (Gateway, Wechselrichter, Zähler). Der Schweregrad steht in severity:

severity Bedeutung
W warning (Warnung)
A alarm (Alarm)
F fault (Störung)

Behandeln Sie jeden anderen Wert als relevant. Der Parameter severity filtert ohne Unterscheidung von Groß- und Kleinschreibung (severity=F). alarms/active liefert die noch offenen Alarme, ohne cleared_at; in der Historie ist cleared_at bei einem noch offenen Alarm null.