Du hast mir die Antworten schon gegeben 🙂 . Ich meinte die Animation für den Aufbau und die Funkion deiner geilen Maschinska …
Thx.
ESP8622 12E & DHT22 für HomeKit
-
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° anWiFi 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