# Photovoltaik-Daten



# getInverters

**Beschreibung:** Ruft eine Liste der Wechselrichter (Inverters) für das angegebene SmartDog-Gerät ab.  
**Endpunkt:** `/api`  
**Methode:** `POST`  

#### Parameter:
- `apikey` (string) – API-Schlüssel des Benutzers
- `PowerDogID` (number) – Eindeutige Kennung des SmartDog-Geräts

#### Beispielanfrage:
```json
{
    "action": "getInverters",
    "apikey": "6641d282073d76b625987af5141d3e2a",
    "PowerDogID": "36789"
}
```

#### Beispielantwort:
```json
{
    "valid": 1,
    "inverters": {
        "B1_A2": {
            "BUS": 1,
            "ADDRESS": 2,
            "Manufactor": "sma",
            "Modulfield": "1",
            "Modulfield_Name": "Haus1",
            "Monitoring": "on",
            "Capacity": "3000",
            "SerialNo": "2000049568",
            "Type": "WR25-014",
            "Strings": "1",
            "desc": "SMA",
            "StringList": {
                "1": {
                    "STRING": 1,
                    "Capacity": "3000"
                }
            },
            "id": "551902"
        },
        "B8_A1": {
            "BUS": 8,
            "ADDRESS": 1,
            "Manufactor": "sma",
            "Modulfield": "2",
            "Modulfield_Name": "Garage",
            "Monitoring": "on",
            "Capacity": "2000",
            "SerialNo": "1930203053",
            "Type": "SB2.0",
            "Strings": "1",
            "desc": "SMA Bus8",
            "StringList": {
                "1": {
                    "STRING": 1,
                    "Capacity": "2000"
                }
            },
            "id": "551903"
        }
    },
    "id": 36789
}
```

#### Beschreibung der Antwortparameter:

- **valid** (number):  
  Status der API-Anfrage. Ein Wert von `1` signalisiert, dass der Aufruf erfolgreich war.

- **inverters** (object):  
  Ein Objekt, das die Wechselrichter (Inverters) enthält. Jeder Schlüssel in diesem Objekt (z. B. `B1_A2`, `B8_A1`) repräsentiert einen spezifischen Wechselrichter.

  Für jeden Wechselrichter gelten folgende Parameter:
  - **BUS** (number):  
    Die Busnummer, die dem Wechselrichter zugeordnet ist.
  
  - **ADDRESS** (number):  
    Die Adresse des Wechselrichters im jeweiligen Bus.
  
  - **Manufactor** (string):  
    Der Hersteller des Wechselrichters (z. B. "sma").
  
  - **Modulfield** (string):  
    Eine Kennzeichnung oder Identifikation des Modulfelds.
  
  - **Modulfield_Name** (string):  
    Der Name des Modulfelds, beispielsweise "Haus1" oder "Garage".
  
  - **Monitoring** (string):  
    Der Überwachungsstatus des Wechselrichters (z. B. "on").
  
  - **Capacity** (string):  
    Die Kapazität des Wechselrichters, in Watt angegeben.
  
  - **SerialNo** (string):  
    Die Seriennummer des Wechselrichters.
  
  - **Type** (string):  
    Die Modellbezeichnung oder der Typ des Wechselrichters.
  
  - **Strings** (string):  
    Die Anzahl der zugeordneten Strings (Photovoltaik-Stränge).
  
  - **desc** (string):  
    Eine zusätzliche Beschreibung oder ein Hinweis zum Wechselrichter.
  
  - **StringList** (object):  
    Ein Objekt, das detaillierte Informationen zu den einzelnen Strings enthält. Jeder Schlüssel repräsentiert eine String-Nummer.
    - **STRING** (number):  
      Die Nummer des Strings.
    - **Capacity** (string):  
      Die Kapazität des jeweiligen Strings in Watt.
  
  - **id** (string):  
    Die eindeutige Kennung des Wechselrichters.

- **id** (number):  
  Die eindeutige Kennung des übergeordneten Geräts (z. B. des SmartDog-Geräts), zu dem die Wechselrichter gehören.
 
#### Nähere Informationen zu Antwortformat und Fehlermeldungen:
[Antwortformat und Fehler](https://anleitung.smart-dog.eu/books/api-dokumentation/chapter/antwortformat-und-fehler)

# getStringData

**Beschreibung:** Ruft Daten eines spezifischen Strings (Photovoltaik-Daten) für einen Sensor im angegebenen Zeitraum ab.  
**Endpunkt:** `/api`  
**Methode:** `POST`  

#### Parameter:
- `apikey` (string) – API-Schlüssel des Benutzers
- `SensorID` (number) – Eindeutige Kennung des Sensors
- `StringNum` (number) – Nummer des Strings (Photovoltaik-String)
- `UTC_TIMESTAMP_FROM` (number) – Startzeitpunkt im UTC-Timestamp-Format
- `UTC_TIMESTAMP_TO` (number) – Endzeitpunkt im UTC-Timestamp-Format

#### Beispielanfrage:
```json
{
  "action": "getStringData",
  "apikey": "6641d282073d76b625987af5141d3e2a",
  "SensorID": "551902",
  "StringNum": "1",
  "UTC_TIMESTAMP_FROM": "1739867939",
  "UTC_TIMESTAMP_TO": "1739877939"
}
```

#### Beispielantwort:
```json
{
    "sensor_id": 551902,
    "string_num": 1,
    "valid": 1,
    "test": "bcde",
    "datasets": {
        "1739868002.000000": {
            "PAC": "844",
            "PDC": "907",
            "UDC": "358",
            "TEMPERATURE": "29",
            "TIMESTAMP_LOCAL": 1739871602,
            "TIMESTAMP_UTC": "1739868002.000000"
        },
        "1739868302.000000": {
            "PAC": "878",
            "PDC": "944",
            "UDC": "359",
            "TEMPERATURE": "31",
            "TIMESTAMP_LOCAL": 1739871902,
            "TIMESTAMP_UTC": "1739868302.000000"
        }
    }
}
```

#### Beschreibung der Antwortparameter:
- **sensor_id** (number):  
  Die eindeutige ID des Sensors, für den die Daten abgefragt wurden.
  
- **string_num** (number):  
  Die Nummer des angeforderten Photovoltaik-Strings.
  
- **valid** (number):  
  Gibt an, ob die Anfrage erfolgreich war (`1` = Erfolg, `0` = Fehler).
  
- **test** (string):  
  Testwert oder Debug-Information (kann variieren).
  
- **datasets** (object):  
  Ein Objekt mit den Zeitstempeln als Schlüssel, das Messwerte zu jedem Zeitpunkt enthält.
  
  - **PAC** (string):  
    Wechselstromleistung (AC) in Watt.
  
  - **PDC** (string):  
    Gleichstromleistung (DC) in Watt.
  
  - **UDC** (string):  
    Gleichspannung in Volt.
  
  - **TEMPERATURE** (string):  
    Temperatur in Grad Celsius.
  
  - **TIMESTAMP_LOCAL** (number):  
    Zeitstempel in der lokalen Zeitzone.
  
  - **TIMESTAMP_UTC** (string):  
    Zeitstempel im UTC-Format.

---

#### Nähere Informationen zu Antwortformat und Fehlermeldungen:
[Antwortformat und Fehler](https://anleitung.smart-dog.eu/books/api-dokumentation/chapter/antwortformat-und-fehler)

# getPhotovoltaicBorders

**Beschreibung:**  
Ruft die früheste und späteste Erzeugungszeit eines bestimmten Wechselrichter-Strings für einen angegebenen Monat und ein Jahr ab.  
Diese Funktion wird verwendet, um die Start- und Endzeiten des Tagesdiagramms zu bestimmen.  
Es werden alle verwendeten Wechselrichter analysiert, um die kleinste und größte Zeit zu finden.  

**Endpunkt:** `/api`  
**Methode:** `POST`  

#### Parameter:
- `apikey` (string) – API-Schlüssel des Benutzers, aus `getApiKey()`
- `PowerDogID` (number) – Eindeutige Kennung des PowerDog-Geräts, aus `getPowerDogs()`
- `month` (number) – Angeforderter Monat als Ganzzahl (1-12)
- `year` (number) – Angefordertes Jahr als Ganzzahl

#### Beispielanfrage:
```json
{
    "action": "getPhotovoltaicBorders",
    "apikey": "90f47b75edc159ba8333a16ef37bd431",
    "PowerDogID": 11,
    "month": 1,
    "year": 2013
}
```

#### Beispielantwort:
```json
{
    "valid": 1,
    "borders": {
        "min": "7",
        "max": "17"
    }
}
```

#### Beschreibung der Antwortparameter:
- **valid** (number):  
  Gibt an, ob die Anfrage erfolgreich war (`1` = Erfolg, `0` = Fehler).
  
- **borders** (object):  
  Enthält die früheste und späteste Erzeugungszeit in Stunden (24h-Format) für den angefragten Monat.
  
  - **min** (string):  
    Die früheste Startzeit (Stunde), zu der im angegebenen Monat Strom erzeugt wurde.
  
  - **max** (string):  
    Die späteste Endzeit (Stunde), zu der im angegebenen Monat Strom erzeugt wurde.

---

#### Nähere Informationen zu Antwortformat und Fehlermeldungen:
[Antwortformat und Fehler](https://anleitung.smart-dog.eu/books/api-dokumentation/chapter/antwortformat-und-fehler)

# getStringDayData

**Beschreibung:**  
Ruft die Tageserzeugungsdaten eines spezifischen Strings für einen Sensor über einen angegebenen Zeitraum ab.  
Diese Funktion liefert tägliche Verbrauchs- und Leistungswerte für einen bestimmten Wechselrichter-String.  

**Endpunkt:** `/api`  
**Methode:** `POST`  

#### Parameter:
- `apikey` (string) – API-Schlüssel des Benutzers, aus `getApiKey()`
- `SensorID` (number) – Eindeutige Kennung des Sensors (Wechselrichter-ID), aus `getInverters()`
- `StringNum` (number) – String-ID (normalerweise 1-3), MMP-Tracker-ID, aus `StringList` in `getInverters()`
- `day_from` (number) – Starttag der Abfrage (1-31)
- `day_to` (number) – Endtag der Abfrage (1-31)
- `month` (number) – Angefragter Monat als Ganzzahl (1-12)
- `year` (number) – Angefragtes Jahr als Ganzzahl

#### Beispielanfrage:
```json
{
  "action": "getStringDayData",
  "apikey": "6641d282073d76b625987af5141d3e2a",
  "SensorID": "551902",
  "StringNum": "1",
  "day_from": "1",
  "day_to": "12",
  "month": "1",
  "year": "2024"
}
```

#### Beispielantwort:
```json
{
    "sensor_id": 551902,
    "string_num": 1,
    "valid": 1,
    "datasets": {
        "2024-1-01": {
            "WH": "4160",
            "PAC_MAX": "1189",
            "DAY": "01",
            "MONTH": 1,
            "YEAR": 2024
        },
        "2024-1-02": {
            "WH": "348",
            "PAC_MAX": "173",
            "DAY": "02",
            "MONTH": 1,
            "YEAR": 2024
        },
        "2024-1-03": {
            "WH": "2204",
            "PAC_MAX": "897",
            "DAY": "03",
            "MONTH": 1,
            "YEAR": 2024
        }
    }
}
```

#### Beschreibung der Antwortparameter:
- **sensor_id** (number):  
  Eindeutige Kennung des Sensors, für den die Daten abgefragt wurden.

- **string_num** (number):  
  Die Nummer des Photovoltaik-Strings.

- **valid** (number):  
  Gibt an, ob die Anfrage erfolgreich war (`1` = Erfolg, `0` = Fehler).

- **datasets** (object):  
  Enthält Tageswerte für den angeforderten Zeitraum.  
  Jeder Schlüssel repräsentiert ein Datum (`YYYY-MM-DD`).

  - **WH** (string):  
    Gesamtenergieerzeugung des Tages in Wattstunden (Wh).

  - **PAC_MAX** (string):  
    Maximale Wechselstromleistung (AC) des Tages in Watt.

  - **DAY** (string):  
    Der Tag innerhalb des abgefragten Zeitraums.

  - **MONTH** (number):  
    Der Monat der Messung.

  - **YEAR** (number):  
    Das Jahr der Messung.

---
#### Nähere Informationen zu Antwortformat und Fehlermeldungen:
[Antwortformat und Fehler](https://anleitung.smart-dog.eu/books/api-dokumentation/chapter/antwortformat-und-fehler)

# getStringMonthData

**Beschreibung:**  
Ruft die monatlichen Erzeugungsdaten eines bestimmten Wechselrichter-Strings für einen angegebenen Zeitraum ab.  
Diese Funktion liefert monatliche Verbrauchs- und Leistungswerte für einen bestimmten Wechselrichter-String.  

**Endpunkt:** `/api`  
**Methode:** `POST`  

#### Parameter:
- `apikey` (string) – API-Schlüssel des Benutzers, aus `getApiKey()`
- `SensorID` (number) – Eindeutige Kennung des Sensors (Wechselrichter-ID), aus `getInverters()`
- `StringNum` (number) – String-ID (normalerweise 1-3), MMP-Tracker-ID, aus `StringList` in `getInverters()`
- `month_from` (number) – Startmonat der Abfrage (1-12)
- `month_to` (number) – Endmonat der Abfrage (1-12)
- `year` (number) – Angefragtes Jahr als Ganzzahl

#### Beispielanfrage:
```json
{
    "action": "getStringMonthData",
    "apikey": "6641d282073d76b625987af5141d3e2a",
    "SensorID": "551902",
    "StringNum": "1",
    "month_from": "1",
    "month_to": "12",
    "year": "2023"
}
```

#### Beispielantwort:
```json
{
    "sensor_id": 551902,
    "string_num": 1,
    "valid": 1,
    "datasets": {
        "2023-01": {
            "WH": "55147",
            "MONTH": "01",
            "YEAR": 2023
        },
        "2023-02": {
            "WH": "146404",
            "MONTH": "02",
            "YEAR": 2023
        },
        "2023-03": {
            "WH": "233747",
            "MONTH": "03",
            "YEAR": 2023
        }
    }
}
```

#### Beschreibung der Antwortparameter:
- **sensor_id** (number):  
  Eindeutige Kennung des Sensors, für den die Daten abgefragt wurden.

- **string_num** (number):  
  Die Nummer des Photovoltaik-Strings.

- **valid** (number):  
  Gibt an, ob die Anfrage erfolgreich war (`1` = Erfolg, `0` = Fehler).

- **datasets** (object):  
  Enthält monatliche Erzeugungswerte für den angeforderten Zeitraum.  
  Jeder Schlüssel repräsentiert ein Monat (`YYYY-MM`).

  - **WH** (string):  
    Gesamtenergieerzeugung des Monats in Wattstunden (Wh).

  - **MONTH** (string):  
    Der Monat der Messung.

  - **YEAR** (number):  
    Das Jahr der Messung.

---
#### Nähere Informationen zu Antwortformat und Fehlermeldungen:
[Antwortformat und Fehler](https://anleitung.smart-dog.eu/books/api-dokumentation/chapter/antwortformat-und-fehler)

# getStringYearData

**Beschreibung:**  
Ruft die jährlichen Erzeugungsdaten eines bestimmten Wechselrichter-Strings für einen angegebenen Zeitraum ab.  
Diese Funktion liefert Jahresverbrauchs- und Leistungswerte für einen bestimmten Wechselrichter-String.  

**Endpunkt:** `/api`  
**Methode:** `POST`  

#### Parameter:
- `apikey` (string) – API-Schlüssel des Benutzers, aus `getApiKey()`
- `SensorID` (number) – Eindeutige Kennung des Sensors (Wechselrichter-ID), aus `getInverters()`
- `StringNum` (number) – String-ID (normalerweise 1-3), MMP-Tracker-ID, aus `StringList` in `getInverters()`
- `year_from` (number) – Startjahr der Abfrage (z. B. 2010)
- `year_to` (number) – Endjahr der Abfrage (z. B. aktuelles Jahr)

#### Beispielanfrage:
```json
{
    "action": "getStringYearData",
    "apikey": "6641d282073d76b625987af5141d3e2a",
    "SensorID": "551902",
    "StringNum": "1",
    "year_from": "2022",
    "year_to": "2023"
}
```

#### Beispielantwort:
```json
{
    "sensor_id": 551902,
    "string_num": 1,
    "valid": 1,
    "datasets": {
        "2022": {
            "WH": "3205440",
            "YEAR": "2022"
        },
        "2023": {
            "WH": "3066610",
            "YEAR": "2023"
        }
    }
}
```

#### Beschreibung der Antwortparameter:
- **sensor_id** (number):  
  Eindeutige Kennung des Sensors, für den die Daten abgefragt wurden.

- **string_num** (number):  
  Die Nummer des Photovoltaik-Strings.

- **valid** (number):  
  Gibt an, ob die Anfrage erfolgreich war (`1` = Erfolg, `0` = Fehler).

- **datasets** (object):  
  Enthält jährliche Erzeugungswerte für den angeforderten Zeitraum.  
  Jeder Schlüssel repräsentiert ein Jahr (`YYYY`).

  - **WH** (string):  
    Gesamtenergieerzeugung des Jahres in Wattstunden (Wh).

  - **YEAR** (string):  
    Das Jahr der Messung.



#### Nähere Informationen zu Antwortformat und Fehlermeldungen:
[Antwortformat und Fehler](https://anleitung.smart-dog.eu/books/api-dokumentation/chapter/antwortformat-und-fehler)