# Allgemeines

## Revision History

| Name         | Datum      | Grund für Änderungen       |
|-------------|-----------|---------------------------|
| Jakob Hütter | 24.02.2025 | Erstellung der Dokumentation |

---

## **Vertraulichkeitserklärung**  

Der Inhalt dieses Dokuments ist vertraulich und ausschließlich für die adressierte Person bestimmt. Eine Weitergabe an Dritte ist ohne vorherige Zustimmung des Geschäftsführers der **ecodata solutions GmbH** strengstens untersagt.  

Es ist nicht gestattet, dieses Dokument ganz oder teilweise zu reproduzieren, zu verbreiten oder dessen Inhalte offenzulegen.  

Die Informationen in diesem Dokument wurden nicht unabhängig überprüft und stellen keine umfassende oder vollständige Darstellung aller relevanten Informationen dar. **ecodata solutions GmbH** sowie der Geschäftsführer, Mitarbeiter oder Berater übernehmen keine Haftung für die Richtigkeit oder Vollständigkeit der bereitgestellten Informationen.  

Jegliche Vervielfältigung, Verbreitung, Modifikation oder Veröffentlichung dieser Materialien ist strengstens untersagt.  

---

## **Referenzen**  

- **SmartDog®**: [www.smart-dog.eu](https://www.smart-dog.eu)  
- **SmartDog API**: [apiv2.smart-dog.eu](https://apiv2.smart-dog.eu)  

- **ecodata GmbH**: [www.eco-data.de](https://www.ecodata-sl.de)  

---

## **Dokumentenspeicherort**  

Dieses Dokument kann unter folgender URL gefunden werden:  
[https://anleitung.smart-dog.eu/books/api-dokumentationn](https://anleitung.smart-dog.eu/books/api-dokumentation)  

© 2025 **ecodata solutions GmbH** 

---

## **SmartDog Web API**  

### **Die API**  

Die **SmartDog API** ist eine serverseitige API, die es Benutzern ermöglicht, direkt auf die Daten ihrer PowerDog-Geräte zuzugreifen.  

#### **JSON API-Kommunikation**  

Die **PowerDog API** nutzt das **JSON-Format** für Anfragen und Antworten. API-Aufrufe erfolgen über **HTTP-POST**-Requests mit einem **JSON-Request-Body**, der die erforderlichen Parameter enthält. Die Antwort der API wird ebenfalls im **JSON-Format** zurückgegeben.  


Die API ist unter folgender URL erreichbar:  
➡ [http://apiv2.smart-dog.eu/](http://apiv2.smart-dog.eu/)

Die API verarbeitet die JSON-Anfragen serverseitig und gibt strukturierte JSON-Daten zurück, die leicht in Anwendungen integriert werden können.  


---

## **Allgemeine Nutzung**  

Um Daten von der API abzurufen, wird ein gültiger **API-Schlüssel** benötigt.  

- Der **API-Schlüssel** ist eine eindeutige Identifikation für jeden Benutzer.  
- Dieser kann über den **API-Call** `getApiKey(email, pass)` erhalten werden.  
- Sobald der Schlüssel generiert wurde, bleibt er gültig, bis der Benutzer seine E-Mail-Adresse ändert.  
- Alle weiteren API-Aufrufe verwenden den **API-Schlüssel** zur Authentifizierung, anstelle der ursprünglichen E-Mail und des Passworts.  
- Dies bedeutet, dass einmal generierte API-Schlüssel sicher gespeichert und anstelle von Login-Daten in externen Anwendungen verwendet werden sollten.  

---
<p class="callout info">Jede Antwort die nicht valid = '1' enthält, kann als fehlerhaft gewertet werden</p>


## **Verfügbare API-Endpunkte**  

### **1. Allgemeine Funktionen**
1. [`getApiKey(email,pass)`  ](https://anleitung.smart-dog.eu/books/api-dokumentation/page/getapikey)
2. [`getSmartDogs(apikey)`](https://anleitung.smart-dog.eu/books/api-dokumentation/page/getsmartdogs)

### **2. Photovoltaik-Daten**
1. [`getInverters(apikey, PowerDogID)`](https://anleitung.smart-dog.eu/books/api-dokumentation/page/getinverters)  
2. [`getStringData(apikey,SensorID,StringNum,UTC_TIMESTAMP_FROM,UTC_TIMESTAMP_TO)`  ](https://anleitung.smart-dog.eu/books/api-dokumentation/page/getstringdata)
3. [`getPhotovoltaicBorders(apikey,PowerDogID,month,year)`  ](https://anleitung.smart-dog.eu/books/api-dokumentation/page/getphotovoltaicborders)
4. [`getStringDayData(apikey,SensorID,StringNum,day_from,day_to,month,year)`  ](https://anleitung.smart-dog.eu/books/api-dokumentation/page/getstringdaydata)
5. [`getStringMonthData(apikey,SensorID,StringNum,month_from,month_to,year)`  ](https://anleitung.smart-dog.eu/books/api-dokumentation/page/getstringmonthdata)
6. [`getStringYearData(apikey,SensorID,StringNum,year_from,year_to)`](https://anleitung.smart-dog.eu/books/api-dokumentation/page/getstringyeardata)

### **3. Sensor-Daten**
1. [`getSensors(apikey,PowerDogID)`  ](https://anleitung.smart-dog.eu/books/api-dokumentation/page/getsensors)
2. [`getSensorData(apikey,SensorID,UTC_TIMESTAMP_FROM,UTC_TIMESTAMP_TO)`](https://anleitung.smart-dog.eu/books/api-dokumentation/page/getsensordata)

### **4. Zähler-Daten**
1. [`getCounters(apikey,PowerDogID)`  ](https://anleitung.smart-dog.eu/books/api-dokumentation/page/getcounters)
2. [`getCounterData(apikey,SensorID,UTC_TIMESTAMP_FROM,UTC_TIMESTAMP_TO)`](https://anleitung.smart-dog.eu/books/api-dokumentation/page/getcounterdata)

## **Antwortformat und Fehler**

#### Nähere Informationen zu Antwortformat und Fehlermeldungen:
[Antwortformat und Fehler](https://anleitung.smart-dog.eu/books/api-dokumentation/chapter/antwortformat-und-fehler)