Probleme bei WiFi Türklingel Projekt ESP82 GET

Begonnen von jutil, 08 Dezember 2023, 18:16:47

Vorheriges Thema - Nächstes Thema

jutil

Hallo zusammen,
Mein Winterprojekt will endlich mal fertiggestellt werden :)
Folgender Aufbau,
ESP8266 mini greift über einen Transistor das Lautsprechersignal ab um aus dem DeepSleep aufzuwachen.
Im Anschluß wird ein HTTP Get Befehl an Fehm abgesetzt der eine Leuchte in meinem Wohnzimmer aufblinken lassen soll.
Das funktioniert soweit tadellos, solange ich nicht den Befehl an Fehm absetze.

Ich habe es alternativ schon an einen anderen Webserver abgesetzt und die Kommunikation lief problemlos, daher denke ich da irgendein sicherheitsfeature von Fehm mir dazwischen funkt, Token ist es nicht, dass ist gesetzt und wird mit übergeben.

Setze ich den Befehl in einem Web-Browser ab, so funktioniert es tadellos..... bin da etwas ratlos gerade.

Auf dem ESP habe ich folgenden Code laufen.
Den Pfad habe ich auch schon um "&XHR=1" ergänzt, ohne Erfolg.
Ist gerade alles etwas try and error und wenig zielführend was ich hier mache :D
Vllt ist es ja für jemanden sofort ersichtlich, danke euch!

#include <ESP8266WiFi.h>
#include <ESP8266HTTPClient.h>
#include <WiFiClient.h>

const char* ssid = "XX";
const char* pass = "XX";

void setup(){

  Serial.begin(115200);
  Serial.print("Verbindung herstellen:");
  Serial.println(ssid);

    WiFi.begin(ssid, pass);
   
    while(WiFi.status() != WL_CONNECTED){
      delay(500);
      Serial.println(".");
    }

    Serial.println("");
    Serial.println("WiFi verbunden");
    Serial.print("IP-Address von TürklingelESP:");
    Serial.println(WiFi.localIP());

      while (!Serial);
      Serial.println("Con");
 
}
 
void loop(){

WiFiClient client;
HTTPClient http;

  String serverPath = "http://192.168.188.29:8083/fhem?cmd=set%20Elch_Leuchte%20on&fwcsrf=XX";

  http.begin(client, serverPath.c_str());
    int httpResponseCode = http.GET();
      Serial.println(serverPath);
      Serial.println("Klingel Trigger");
        delay(2000);

  startDeepSleep();

}


void startDeepSleep() {
    Serial.println("Gute Nacht...");
    ESP.deepSleep(0);
}

betateilchen

Zitat von: jutil am 08 Dezember 2023, 18:16:47HTTP Get Befehl an Fehm abgesetzt
...
den Befehl an Fehm absetze
...
sicherheitsfeature von Fehm

Es heißt FHEM...

Zitat von: jutil am 08 Dezember 2023, 18:16:47Ist gerade alles etwas try and error und wenig zielführend was ich hier mache

Dieser Selbsterkenntnis kann nicht widersprochen werden.

Zitat von: jutil am 08 Dezember 2023, 18:16:47Vllt ist es ja für jemanden sofort ersichtlich

Dafür hast Du zu wenige Informationen geliefert.

  • Was steht denn im FHEM Log, wenn Du versuchst, den Befehl auszuführen?
  • Hast Du allowed-Instanzen laufen, die den Zugriff auf bestimmte IP begrenzen?
  • Funktioniert der http-Aufruf, wenn Du ihn von der Systemkonsole, z.B. per wget, ausführst?
-----------------------
Formuliere die Aufgabe möglichst einfach und
setze die Lösung richtig um - dann wird es auch funktionieren.
-----------------------
Lesen gefährdet die Unwissenheit!