Hey @BetaTobi
evtl. in der Debug_Helper.h folgendes setzen, wenn du die serielle Schnittstelle für die Verbindung zwischen den 2 Arduinos statt für das Debugging über den seriellen Monitor nutzt, aber für die Webhook-Geschichte ists unerheblich:
#define DEBUG 0
Netzwerk-Zeug:
Alles richtig, .92 ist bei mir der ESP und .6 (gleiches Subnet) der homee.
URLs / Webhooks:
Ebenfalls richtig, ich hab in Befehl und Status unterteilt (das vor dem ?), dann das Geräte/Modus usw. (nach dem ? also das Argument) und am Ende den Zustand bzw Wert (nach dem =). Auf Argument und Wert kannst du, gerade für erste Tests, verzichten.
Server:
Wie von dir vermutet muss der ESP zum Senden von Webhooks (eigentlich ja aufrufen von URLs) als Client arbeiten und zum Empfangen von Webhooks als WebServer. Die entsprechenden Objekte werde am Anfang der Webhook_Methoden.cpp definiert (Zeile 9-13, sogar mit Kommentaren ):
// Server zum Empfangen von Anfragen
ESP8266WebServer HttpServer(80);
// Client zum Senden von Anfragen
HTTPClient HttpClient;
In der darauffolgenden void Webhook_m::init() werden dann die URLs definiert, auf die der WebServer reagieren soll:
void Webhook_m::init() {
// Associate the handler function to the paths
// Allgemein
HttpServer.onNotFound(this->handleNotFound);
HttpServer.on("/", this->handleRoot);
// Status-Meldungen Empfangen
HttpServer.on("/webhook-status", this->handleStatus);
// Befehle Empfangen
HttpServer.on("/webhook-befehl", this->handleBefehl);
// Direkte Server-Antwort
HttpServer.on("/inline", []() {
HttpServer.send(200, "text/plain", "hello from esp8266!");
});
HttpServer.begin();
debug_print("HTTP-Server started");
}
Wenn du in einem Webbrowser die IP deines ESP eingibst (bei mir also einfach 192.168.178.92) dann sollte auch eine weiße Seite mit dem Text “hello from esp8266!” angezeigt werden. Klappt das, dann wurde der WebServer korrekt gestartet und ist erreichbar
Hier mal noch ein Beispiel, bei dem der homee einen Webhook sendet:
Und hier empfängt der homee einen Webhook:
Probier am besten das Senden und Empfangen erstmal separat mit einfach Dingen Hab meinen ESP z.B. alle 10 Sekunden einen Test-Webhook aufrufen lassen, durch den das Licht ausging und durch einen Webhook vom homee kannst du auf dem ESP ja eine LED einschalten.