Hinweis: Bitte spenden Sie an Dr. Amy Proal damit die nur unzureichend erforschte, aber häufige Krankheit Myalgische Enzephalomyelitis bald besser verstanden wird und es Hilfe für die Betroffenen gibt. Hier klicken

API - Application Program Interface Description

Diese Solarprognosen API basiert auf HTTP-Anfragen. Die Antworten erfolgen in JSON (JavaScript Object Notation) oder XML.
Wichtig: Um den Datenverkehr und die Serverlast zu reduzieren benützen Sie bitte einen lokalen Zwischenspeicher. Ich empfehle, das Ergebnis mindestens eine Stunde lang zwischenzuspeichern (das Wetter ändert sich ja nicht so schnell).

Solarprognose API

Die HTTP-Anfragen für tägliche oder stündliche Prognose der Erzeugung müssen im folgenden Format erfolgen:
http://www.solarprognose.de/web/solarprediction/api/v1?
access-token=ACCESS-TOKEN
&item=ITEM&id=ID
Alternativ: &item=ITEM&token=TOKEN
&type=hourly|daily &_format=json|xml &algorithm=mosmix|own-v1|clearsky
&day=DAY
&start_epoch_time=START_EPOCH_TIME&end_epoch_time=END_EPOCH_TIME
&start_day=START_DAY&end_day=END_DAY
&snomminixml=true # für snom VoIP Telefone

ACCESS-TOKEN

Ihr API Zugriffsschlüssel

ITEM und ID

ITEM
location oder plant oder inverter oder module_field
ID
Die ID ist die eindeutige Nummer von diesem Element.

ITEM und TOKEN

ITEM und TOKEN wird benötigt um auf Elemente zuzugreifen welche nicht öffentlich sind: &item=inverter&token=
Wenn Sie per access-token zugreifen können Sie auf ihre privaten (nicht öffentliche) Elemente zugreifen.

Datums und Intervalle

DAY

Erlaubte Werte: von -2 bis 6
Dann erhalten Sie die Daten vom Tag relativ zu heute. Achtung: Dies kann durch ihren Tarif eingeschränkt sein! Der Fehler "STATUS_ERROR_INVALID_END_DAY" kann auftreten wenn der Wert größer ist als in ihrem Tarif enthalten.

START_DAY

Erlaubte Werte: von -2 bis 6
Zur Abfrage von Daten einer bestimmten Periode. Dies definiert den Start-Tag relativ zu heute. Achtung: Dies kann durch ihren Tarif eingeschränkt sein! Der Fehler "STATUS_ERROR_INVALID_END_DAY" kann auftreten wenn der Wert größer ist als in ihrem Tarif enthalten.

END_DAY

Erlaubte Werte: von -2 bis 6
Zur Abfrage von Daten einer bestimmten Periode. Dies definiert den End-Tag relativ zu heute. Achtung: Dies kann durch ihren Tarif eingeschränkt sein! Der Fehler "STATUS_ERROR_INVALID_END_DAY" kann auftreten wenn der Wert größer ist als in ihrem Tarif enthalten.

START_EPOCH_TIME

zum Beispiel: 1439650241 Zur Abfrage von Daten einer bestimmten Periode. Dies definiert den Start mit der Unixtimestamp. Achtung: Dies kann durch ihren Tarif eingeschränkt sein! Der Fehler "STATUS_ERROR_INVALID_END_DAY" kann auftreten wenn der Wert größer ist als in ihrem Tarif enthalten.

END_EPOCH_TIME

zum Beispiel: 1439650241 Zur Abfrage von Daten einer bestimmten Periode. Dies definiert das Ende mit der Unixtimestamp. Achtung: Dies kann durch ihren Tarif eingeschränkt sein! Der Fehler "STATUS_ERROR_INVALID_END_DAY" kann auftreten wenn der Wert größer ist als in ihrem Tarif enthalten.

Status Codes

Bei Verwendung eines ungültigen API-Schlüssels erscheint der HTTP Status Code 401 Unauthorized.
STATUS_OK = 0;
STATUS_ERROR_INVALID_ACCESS_TOKEN = -2;
STATUS_ERROR_MISSING_PARAMETER_ACCESS_TOKEN = -3;
STATUS_ERROR_EMPTY_PARAMETER_ACCESS_TOKEN = -4;
STATUS_ERROR_INVALID_TYPE = -5;
STATUS_ERROR_MISSING_TYPE = -6;
STATUS_ERROR_INVALID_ID = -7;
STATUS_ERROR_ACCESS_DENIED = -8;
STATUS_ERROR_INVALID_ITEM = -9;
STATUS_ERROR_INVALID_TOKEN = -10;
STATUS_ERROR_NO_SOLAR_DATA_AVAILABLE = -11;
STATUS_ERROR_NO_DATA = -12;
STATUS_ERROR_INTERNAL_ERROR = -13;
STATUS_ERROR_UNKNOWN_ERROR = -14;
STATUS_ERROR_INVALID_START_DAY = -15;
STATUS_ERROR_INVALID_END_DAY = -16;
STATUS_ERROR_INVALID_DAY = -17;
STATUS_ERROR_INVALID_WEATHER_SERVICE_ID = -18;
STATUS_ERROR_DAILY_QUOTA_EXCEEDED = -19;
STATUS_ERROR_INVALID_OR_MISSING_ELEMENT_ITEM = -20;
STATUS_ERROR_NO_PARAMETER = -21;
STATUS_ERROR_INVALID_PERIOD = -22;
STATUS_ERROR_INVALID_START_EPOCH_TIME = -23;
STATUS_ERROR_INVALID_END_EPOCH_TIME = -24;
STATUS_ERROR_ACCESS_DENIED_TO_ITEM_DUE_TO_LIMIT = -25;
STATUS_ERROR_NO_CLEARSKY_VALUES = -26;
STATUS_ERROR_MISSING_INPUT_ID_AND_TOKEN = -27;

Beispiele

Anfrage:
http://www.solarprognose.de/web/solarprediction/api/v1?access-token=454jelfd&item=inverter&id=2&type=hourly

Ergebnis:
{
    "status":0,
    "iLastPredictionGenerationEpochTime":1576681137,
    "datalinename":"Süd",
    "data":{
        "1576735200":[0,0], // timestamp: kilowatt/kw, accumulated kwh
        "1576738800":[0.064,0.064],
        "1576742400":[0.606,0.67],
        "1576746000":[1.148,1.818],
        "1576749600":[1.647,3.465],
        "1576753200":[0.295,3.76],
        "1576756800":[0.273,4.033],
        "1576760400":[1.3,5.333],
        "1576764000":[0.305,5.638],
        "1576767600":[0.014,5.652],
        "1576771200":[0,5.652],
        ... the other days follow
    }
}

Anfrage:
http://www.solarprognose.de/web/solarprediction/api/v1?access-token=454jelfd&item=inverter&id=2&type=daily

Ergebnis:
{
    "iLastPredictionGenerationEpochTime":1576686390,
    "status": 0,
    "datalinename": "SMASB2000TL"
    "data": {
        "20151212": 1.978, // yyymmdd: kwh per day
        "20151213": 1.999,
        "20151214": 4.049,
        "20151215": 5.567,
        "20151216": 1.948,
        "20151217": 1.925
    },
}

Anfrage:
http://www.solarprognose.de/web/solarprediction/api/v1?_format=json&access-token=454jelfd&item=inverter&id=2&type=hourly&day=1

Ergebnis:
{
    "status":0,
    "iLastPredictionGenerationEpochTime":1576681137,
    "datalinename":"Süd",
    "data":{
        "1576735200":[0,0],
        "1576738800":[0.064,0.064],
        "1576742400":[0.606,0.67],
        "1576746000":[1.148,1.818],
        "1576749600":[1.647,3.465],
        "1576753200":[0.295,3.76],
        "1576756800":[0.273,4.033],
        "1576760400":[1.3,5.333],
        "1576764000":[0.305,5.638],
        "1576767600":[0.014,5.652],
        "1576771200":[0,5.652]
    }
}
http://www.solarprognose.de/web/solarprediction/api/v1?access-token=454jelfd&item=inverter&token=DEF&type=hourly
http://www.solarprognose.de/web/solarprediction/api/v1?access-token=454jelfd&item=inverter&token=DEF&type=daily
http://www.solarprognose.de/web/solarprediction/api/v1?access-token=454jelfd&item=inverter&token=DEF&type=hourly&day=-1