Wir bieten eine Möglichkeit, selbst über einen HTTP-Request Stromzähler, Wechselrichter und Batteriespeicher Daten zu senden. Somit hat man die Möglichkeit, Geräte intelligent zu steuern, bei denen die Energiedaten nicht über das Internet abgerufen werden können.
Ein Szenario wäre z.B., wenn man auf einem Gerät im lokalen Netzwerk ein Script laufen lässt, welches periodisch den Wechselrichter abfragt und die Daten anschließend zu uns sendet.
Vorbereitung
- Gehe auf "Gerät hinzufügen"
- Wähle "Messsystem" aus
- Wähle "Solaranlage > 1kW"
- Wähle "Push API"
- Zustimmen und auf "Weiter" drücken
- Generiere einen API-Key durch drücken auf die zwei Pfeile
- gehe einen Schritt zurück
- gehe wieder auf "Weiter"
- kopiere die API URL um diese in deinem Zielsystem zu verwenden
Einbindung
Mit der angezeigten URL kannst du per HTTP-POST-Request Daten senden. Da du nun eine gültige URL erstellt hast, kannst du deine Energiedaten an uns senden. Der Content-Type ist immer application/json. Die Zahlenwerte sind als ganze Zahl (integer) zu übertragen. Die Beispiele entsprechen dem Body des POST-Requests.
Beispiele
Netzbezug (Minus = Einspeisung)
{
"watt": -1000
}Damit wird nur dein Hausverbrauch übermittelt. Negativer Wert bedeutet, es wird in das öffentliche Netz eingespeist (Überschuss). Positiver Wert bedeutet Netzbezug (Verbrauch).
Netzbezug und PV-Produktion
{
"watt": -1000,
"producingWatt": 1500
}Im Feld "producingWatt" wird die aktuelle PV-Produktion übermittelt. Der Wert ist immer positiv.
Netzbezug, PV-Produktion und Batteriespeicher
{
"watt": -1000,
"producingWatt": 1500,
"soc": 75,"chargingPower": 500,
"powerStorageState": 1
}batteryControlEnabled = true{
"watt": -1000,
"producingWatt": 1500,
"soc": 75,"chargingPower": 500,
"powerStorageState": 1
"batteryControlEnabled": true
}Im Feld "soc" wird die der aktuelle State of Charge in Prozent deiner Batterie übermittelt. Im Feld "chargingPower" wird die Lade-/Entladeleistung deiner Batterie übermittelt. Der Wert ist immer positiv.
Je nachdem, ob deine Batterie gerade lädt, entlädt oder einen anderen Status hat, wird diese Information in "powerStorageState" übermittelt. Folgende Werte sind zulässig:
Idle : 0 Charging : 1 Disabled : 2 Discharging : 3
{
"batteryControlState":1,
"batteryForcePowerWatt":null
}
Wobei folgendes mapping für batteryControlState gilt:
# Battery control state mapping (API value -> display string)
BATTERY_CONTROL_STATES = {
0: "Normal",
1: "Idle",
2: "Force Charge",
3: "Force Discharge",
4: "Limit Charge Power",
}Bei erfolgreichem Übersenden wird mit Status Code 202 (Accepted) geantwortet.
Hinweis: Die gesendeten Daten werden nicht sofort im Frontend aktualisiert. Stattdessen werden diese zur weiteren Verarbeitung vorerst zwischengespeichert. Ca. alle 15 Sekunden aktualisiert sich der Wert in der Anzeige. Die API hat ein Rate-Limit von 180 Requests pro Minute.