Was war jetzt eigentlich genau der Fehler? 🙈
ähhm es stand nie in der Console dass ich den Button in der Bridge drücken soll und den User einfügen soll, kp warum
Hallo, bräuchte hilfe beim umsetzen, und zwar der Code läuft soweit die ausgabe kommt im serielen monitor an, aber nicht bei HomeKit. Bin mir bewusst das ich irgendetwas übersehe
ESP verbindet sich aber irgendwann kommt ein “HTTP-Error:”
http-webhooks-homebridge funktioniert auch schon alles wurde auch mit dem Port angelegt.
Zeigt nur 0° an
WiFi anmeldedaten und IP sind bewusst gelöscht worden
Verwendet wird der ESP8622 12E und der Sensor DHT22.
Danke schonmal für die hilfe
#include <Arduino.h>
#include <ESP8266HTTPClient.h>
#include <DHT.h>
#include <ESP8266WiFi.h>
#define DHTPIN D1 // Digital pin connected to the DHT sensor
#define DHTTYPE DHT22 // DHT 22 (AM2302)
DHT dht(DHTPIN, DHTTYPE);
WiFiClient client;
HTTPClient sender;
// WLAN-Daten
const char* ssid = "";
const char* password = "";
// Temperatur
float temperature;
int wait = 5;
void push() {
//Hier wird der Wert an die Smarthome-Umgebung übertragen
if (sender.begin(client, "http://:51828/?accessoryId=temperatur&value=" + String(temperature))) {
// HTTP-Code der Response speichern
int httpCode = sender.GET();
if (httpCode > 0) {
// Anfrage wurde gesendet und Server hat geantwortet
// Info: Der HTTP-Code für 'OK' ist 200
if (httpCode == HTTP_CODE_OK) {
// Hier wurden die Daten vom Server empfangen
// String vom Webseiteninhalt speichern
String payload = sender.getString();
// Hier kann mit dem Wert weitergearbeitet werden
// ist aber nicht unbedingt notwendig
Serial.println(payload);
}
} else {
// Falls HTTP-Error
Serial.printf("HTTP-Error: ", sender.errorToString(httpCode).c_str());
}
// Wenn alles abgeschlossen ist, wird die Verbindung wieder beendet
sender.end();
} else {
Serial.printf("HTTP-Verbindung konnte nicht hergestellt werden!");
}
}
void setup() {
Serial.begin(115200);
WiFi.begin(ssid, password);
while (WiFi.status() != WL_CONNECTED) {
delay(200);
Serial.print(".");
}
Serial.println("Verbunden!");
wait = wait * 1000;
dht.begin();
}
void loop() {
Serial.println(dht.readTemperature());
temperature = dht.readTemperature();
push();
delay(wait);
}
Übernimmt er die Temperatur, wenn du die Request manuell über den Browser sendest?
http://ip-adresse-homebridge-server:51828/?accessoryId=temperatur&value=22
Anderenfalls kann ich mir nur vorstellen, dass die Adresse die falsche ist, weil der HTTP-Error spricht dafür.
Hi @cooper
Danke für die Antwort!
Hab die letzten Wochen nichts daran gemacht,
und mir ist jetzt durch deinen Kommentar aufgefallen das die accessories-Id falsch war ♂️d