Hallo,
Ich möchte Daten vom meinem Solar Edge Wechselrichter über eine API abrufen. Dafür wird das Format XML verwendet.
Vom Browser bekomme ich diese Antwort:
2020-05-04 16:24:28
120879.0
97846.0
97846.0
21385.0
985.0
INVERTER
Die Adresse wäre:
https://monitoringapi.solaredge.com/%20site/1600020/overview?api_key=XXXXXXXXXXXX
Hat wer ein Sketch um diese Daten auf einen Arduino auszugeben? Ich habe viele Beispiele aus dem Netz schon ausprobiert, die alle nicht funktioniert haben.
Vielen Dank!!
Grüße Onnschi
Da wissen wir weder, was Du gemacht hast, noch was genau nicht funktioniert hat.
Wie stellst Du Dir da Hilfe vor? (außer es hat zufällig jemand genau dieses Problem gelöst)
Gruß Tommy
Guten Abend,
Erstmal vorweg, ich habe mich schon länger mit dem Arduino beschäftigt, habe aber in diesem Bereich wenig Kenntnissen. Deshalb wollte ich fragen, ob jemand zu meinem Problem, ein Sketch schon parat hat.
Hier ein Sketch:
#include <Arduino.h>
#include <ESP8266WiFi.h>
#include <ESP8266WiFiMulti.h>
#include <ESP8266HTTPClient.h>
ESP8266WiFiMulti WiFiMulti;
const char* SSID = "XXXXXX";
const char* PW = "XXXXXXX";
const String url ="monitoringapi.solaredge.com/%20site/1600020/overview?api_key=xxxxxxxx";
void setup() {
Serial.begin(115200);
Serial.println();
delay(500);
WiFiMulti.addAP(SSID, PW);
}
void loop() {
if((WiFiMulti.run() == WL_CONNECTED)) {
HTTPClient http;
Serial.println("[HTTP] begin...");
http.begin(url);
Serial.println("[HTTP] GET...");
int httpCode = http.GET();
if(httpCode > 0) {
Serial.printf("[HTTP] GET... code: %d\n", httpCode);
if(httpCode == HTTP_CODE_OK) {
String response = http.getString();
Serial.println(response);
}
} else {
Serial.printf("[HTTP] GET... failed, error: %s\n", http.errorToString(httpCode).c_str());
}
http.end();
}
delay(999000);
}
Auch hier bekomme ich keine Antwort
Das ist nur einer von vielen die ich schon getestet habe.
Hi
Durch das schicke delay(999000); wirst Du auch ziemlich lange auf den 2.ten versuch warten können ...
MfG