esp sensor daten mit http-GET an homebridge senden

  • Hallo,

    ich bin neu hier und hoffe dass mir hier weitergeholfen werden kann.

    ich bin dabei Temperatur- und Feuchtigkeitsdaten in meine Homebridge zu implementieren.

    Ich bekomme es jedoch nicht hin die Messdaten an die Homebridge über den GET Request zu übermitteln.

    Den config file der homebridge hab ich schon mehrfach kontrolliert, dieser wird auch richtig sein.

    Jedoch glaube ich dass in dem Sketch für den esp ein Fehler ist:



    ------------------------------------------------------------


    #include <ESP8266WiFi.h>

    #include <ESP8266HTTPClient.h>

    #include <DHT.h>

    #define DHTTYPE DHT22

    #define DHTPIN 2


    HTTPClient sender;


    const char* ssid = "xxxxxxx";

    const char* password = "xxxxxxx";

    String url_a;

    String url_b;

    DHT dht(DHTPIN, DHTTYPE, 11);

    float humidity, temp_c;

    unsigned long previousMillis = 0;

    const long interval = 2000;

    int aktiv = 0;

    void setup()

    {

    Serial.begin(115200);

    Serial.println("ESP Gestartet");

    dht.begin();

    WiFi.begin(ssid, password);


    Serial.print("Verbindung wird hergestellt ...");

    while (WiFi.status() != WL_CONNECTED)

    {

    delay(500);

    Serial.print(".");

    }

    Serial.println();


    Serial.print("Verbunden! IP-Adresse: ");

    Serial.println(WiFi.localIP());


    }


    void loop() {

    unsigned long currentMillis = millis();


    if (currentMillis - previousMillis >= interval) {

    previousMillis = currentMillis;

    humidity = dht.readHumidity();

    temp_c = dht.readTemperature(false);


    if (isnan(humidity) || isnan(temp_c)) {

    Serial.println("Failed to read from DHT sensor!");

    return;

    }

    }

    url_a = "http://xxxxxx:51828/?accessoryId=feuchtigkeit&value=" + String(humidity);

    url_b = "http://xxxxxx:51828/?accessoryId=temp&value=" + String(temp_c);


    if (WiFi.status() == WL_CONNECTED) {


    sender.begin("http://xxxxxx:51828/?accessoryId=hum&value=" + String(humidity));

    delay(500);

    sender.GET();

    delay(500);

    sender.end();

    delay(500);

    sender.begin("http://xxxxxx:51828/?accessoryId=temp&value=" + String(temp_c));

    delay(500);

    sender.GET();

    //sensor_active auf 1 setzen, damit dieser Befehl hier immer nur einmal gesendet wird.

    //Auch wenn der Button 10h beätigt ist

    Serial.println("HTTP-Request gesendet!");

    Serial.println(url_a);

    Serial.println(url_b);

    delay(500);

    sender.end();


    }

    delay(2000);

    }


    ------------------------------------------------------------


    ich wäre sehr dankbar wenn mir jemand helfen könnte:)


    Gruß

    Lukas