• 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

Ähnliche Themen

  • 36
  • 13
  • 1
  • 4
  • 9