HomeKit Bewegungsmelder?



  • Hallo, ich würde gerne einen Bewegungsmelder mit dem D1 Mini basteln, welchen man in HomeKit einfügen kann, hat jemand einen fertigen Sketch?

    LG



  • Ein fertigen Sketch hab ich leider nicht parat aber ich hätte zwei Ansätze für dich:

    1. Du könntest das hier verwenden
      Da müsstest du quasi den PIR einlesen und dann das Signal verarbeiten, dass der Schalter schaltet. Nachteil: Bewegungsmelder ist ein Schalter, Vorteil: direkt nativ in Homekit

    1. Alternativ gäbe es ein Plugin für die Homebridge, was ich selber schon des Öfteren verwendet habe: homebridge-http-webhooks
      Dort kannst du neben dem Bewegungsmelder irgendwie fast alles umsetzen was man in HomeKit überhaupt einbinden kann. Da hätte ich sogar schon ein Code-Snippet das du verwenden könntest: ESP8266 HTTP-GET Request

    Das heißt du verbindest deinen PIR und programmierst ihn so wie er auslösen / sich verhalten soll etc, und dann schickst du mithilfe des o.g Codes eine GET-Request an das Homebridge Plugin. Das aktiviert dann den Bewegungsmelder in der Home App.

    Falls du Hilfe brauchst kann ich dir gerne dabei helfen. 🙂



  • also die erste Version wäre natürlich super direkt in HomeKit, allerdings ist das mit dem Schalter doof, daher doch eher die Version 2, nur leider weiß ich nicht was ich beim code machen soll, ich habe mir die Vorlage nun in Arduino eingefügt und den sensor mit dem D1 mini verbunden, wie ich nun weiter machen soll weiß ich leider nicht.



  • Lies erstmal mit digitalRead das Signal aus.

    Und wenn das Signal triggert also auslöst muss die GET-Request ausgeführt werden.

    http://yourHomebridgeServerIp:webhook_port/?accessoryId=theAccessoryIdToTrigger&state=NEWSTATE
    

    Also wenn du deinem Sensor die id sensor1 gegeben hast z.B

    http://yourHomebridgeServerIp:webhook_port/?accessoryId=sensor1&state=true 
    

    bzw

    http://yourHomebridgeServerIp:webhook_port/?accessoryId=sensor1&state=false 
    


  • @cooper sagte in HomeKit Bewegungsmelder?:

    http://yourHomebridgeServerIp:webhook_port/?accessoryId=sensor1&state=true

    ich habe jetzt das:

    /*
        HTTP-GET Request
        Basic-Code für GET-Request an einen HTTP-Server
        Created by cooper, 2020
        makesmart.net
    */
    
    #include <ESP8266WiFi.h>
    #include <ESP8266HTTPClient.h>
    
    HTTPClient sender;
    
    // WLAN-Daten
    const char* ssid = "Jonas FRITZ!Box";
    const char* password = "77219665995620634484";
    
    
    void setup() {
      Serial.begin(115200);
      
      WiFi.begin(ssid, password);
    
      while (WiFi.status() != WL_CONNECTED) {
        delay(200);
        Serial.print(".");
      }
    
      Serial.println("Verbunden!");
    
    
      if (sender.begin("http://yourHomebridgeServerIp:webhook_port/?accessoryId=sensor1&state=true")) {
    
        // 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();
            String returned_data = 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 loop() {
    
    }
    

    nur ich weiß nicht wie ich die zweite Adresse einfügen soll



  • Ja dein Bewegungsmelder ist da auch nicht drin? Die Request ist abhängig von deinem Bewegungsmelder…


    Ich würde erstmal den Code für Bewegungsmelder soweit programmieren und fertig machen - standalone - und später dann das für die Homebridge hinzufügen. 🙉


    Also das erste Ziel wäre sowas wie

    Bewegung erkannt

    keine Bewegung



  • sorry, aber wie soll ich das machen? ich gucke nun schon seit mehreren tagen YouTube Videos und lese Beitrage, doch so ganz schlau werde ich aus dem programmieren leider noch nicht…



  • @JonasPies1912 sagte in HomeKit Bewegungsmelder?:

    sorry, aber wie soll ich das machen? ich gucke nun schon seit mehreren tagen YouTube Videos und lese Beitrage, doch so ganz schlau werde ich aus dem programmieren leider noch nicht…

    Achsoo hier liegt der Hund begraben. 🐕

    Naja wenn du dich bis morgen gedulden kannst, dann würde ich dir ein Tutorial schreiben 🙂 Bzw. die Tage 👍



  • @cooper das wäre sehr nett, vielen Dank