gelöst _ httpget probleme beim lesen oder schreiben

hallo - bitte um mithilfe: ich habe einen sketch mit einer funktion, welche daten von einem webserver via httpget abholt und in einem MatrixDisplay anzeigt. nun wollte ich die selbe funktion (ausser beim senden kein return wert und daher void) benutzen um etwas abzusenden.

(habe iobroker als webserver(smarthomeserver) und das sind die kommandos. versuche ich das selbe mit tasker oder einem browser funktioniert es. )

holt wert http.begin("http://192.168.178.59:8087/controll-own.0.AlarmModeMatrix"); - funktioniert !!! schreibt wert http.begin("http://192.168.178.59:8087/set/controll-own.0.AlarmModeMatrix?value=1"); - ABSTURZ !!!

das ist der einzige unterschied - die zweite zeile kann nicht ausgeführt werden - fehler:

http://192.168.178.59:8087/set/controll-own.0.MATRIX.MatrixMode?value=1
19:18:50.999 -> 200
ets Jan  8 2013,rst cause:2, boot mode:(1,6)
ets Jan  8 2013,rst cause:4, boot mode:(1,6)
wdt reset

es kommt zu einem absturz

der code der funktion:

void setModeToURL(int modeOut) {
  if (Wivoid setModeToURL(String modeOut) {
  if (WiFi.status() == WL_CONNECTED) {


    Serial.println("ModeOut: " + modeOut);
    String url1 = url;
    url1 = url1 + "Mode?value=";
    url1.replace("getPlainValue", "set");
    url1 = url1 + (String)modeOut;

    Serial.println(url1);
    HTTPClient http;
    http.setTimeout(3000);
   
    http.begin("http://192.168.178.59:8087/set/controll-own.0.MATRIX.AlarmModeMatrix?value=1");
    int httpCode = http.GET();
//
//    Serial.println(httpCode);
//     String payload = "error";
//       if (httpCode > 200) {
//         Serial.println("RESTART MODEOUT");
//         ESP.reset();
//       }
//       if (httpCode != 200) {
//        Serial.println("Matrix ModeLoad " + String(url) + " fail");
//          payload = " HTTP ERROR ";
//        }
       
        http.end();
    
  } else Serial.println("RESTART MODEOUT");
  ESP.restart();
}

hat jmd dazu eine idee ?

Ich vermute, Dein Webserver gibt keine standardkonforme Antwort und der ESP wartet sich tot, bis der Wachhund (wdt) zuschlägt und neu bootet.

Gruß Tommy

hallo tommy, erstmal danke für deine antwort

das habe ich mir auch schon gedacht - aber warum funktionert es dann mit chrome oder tasker?

kann ich beim warten auf die antwort etwas im sketch ändern - gebe ich folgendes in chrome ein:

http://192.168.178.59:8087/set/controll-own.0.MATRIX.AlarmModeMatrix?value=1

kommt als antwort:

{"id":"controll-own.0.MATRIX.AlarmModeMatrix","value":1,"val":1}

ist das ein standard ? hab da echt wenig ahnung davon

gruß

hab mal was probiert

   http.begin("http://192.168.178.59:8087/set/controll-own.0.MATRIX.AlarmModeMatrix?value=1");
    
    int httpCode = http.GET();
     http.end();

in dieser reihen folge schreibt er den wert in die datenbank - stürtzt aber trotzdem mit dem selben fehler ab

nach einem weiteren test hat es jetzt funktioniert

ich hatte kein httpget problem, sondern ein funktionsproblem - nachdem ich

void setModeToURL(int modeOut)

mit

string setModeToURL(int modeOut)

ersetzt und einen return wert hinzugefügt habe funktioniert es - ich weiß nicht was falsch war