Navigation

    makesmart

    • Registrieren
    • Anmelden
    • Suche
    • Aktuell
    • Tags
    • Kategorien
    • Ungelesen
    • Beobachtet
    • Beliebt
    • Gespeichert

    ESP8266 D1 Mini als Schloss in HomeKit nativ einbinden?

    Fragen, Hilfe & Probleme
    d1 mini esp8266 homekit schloss smarthome
    3
    7
    99
    Lade mehr Beiträge
    • Älteste zuerst
    • Neuste zuerst
    • Meiste Stimmen
    Antworten
    • In einem neuen Thema antworten
    Anmelden zum Antworten
    Dieses Thema wurde gelöscht. Nur Nutzer mit entsprechenden Rechten können es sehen.
    • P
      PascalHaedicke zuletzt editiert von cooper

      RE: ESP8266 D1 Mini Relais als HomeKit Schalter ohne Bridge - Tutorial

      Hallo @cooper und alle anderen,

      Habe da mal eine Frage:
      Kenne mich zwar mit E-Technik aus aber nicht so gut mit der C++. Bin besser in KRL.

      Ist es möglich dieses Skript so umzuschreiben dass es so funktioniert wie in diesem Video?
      TikTok

      Möchte es als Türöffner verwenden
      Habe es schon hinbekommen das es wie ein Taster funktioniert der nach 3s aus geht anstatt ein Schalter den man manuell wieder ausschalten muss.
      Was mir aber daran noch nicht gefällt ist die Bedienung in HomeKit. Ist es möglich es als Tester dazustellen wie in dem Video mit dem Schloss Symbol (und mit FaceID). Würde es gerne ohne Homebridge lösen.

      aktuell habe ich es so:

      // Diese Funktion wird aufgerufen, wenn der Schalter in HomeKit betätigt wird
      void cha_switch_on_setter(const homekit_value_t value) {
        bool on = value.bool_value;
        cha_switch_on.value.bool_value = on;
        LOG_D("Switch: %s", on ? "ON" : "OFF");
        
        //-----------------------------------------
        // Schalterbediengung
        //-----------------------------------------
        //digitalWrite(PIN_SWITCH, on ? HIGH : LOW);
      
        //-----------------------------------------
        //Tasterbediegung 3000ms=3s
        //-----------------------------------------
        if(cha_switch_on.value.bool_value == on){
          digitalWrite(PIN_SWITCH, HIGH);
          delay(3000); 
          digitalWrite(PIN_SWITCH, LOW);  
        }else{
          digitalWrite(PIN_SWITCH, HIGH);
          delay(3000); 
          digitalWrite(PIN_SWITCH, LOW);   
        }
      }
      

      Wäre cool wenn ich zu Siri sagen könnte “öffne Haustür” und nicht “schalte Haustür ein”😁

      1 Antwort Letzte Antwort Antworten Zitieren 0
      • D
        dieterh zuletzt editiert von

        Hallo @PascalHaedicke

        Ich würde behaupten, dass es definitiv möglich ist. In der Libary finden sich jedenfalls Hinweise darauf, auch andere Aktoren mit der Libary zu verwenden.

        In der Datei Arduino-HomeKit-ESP8266/src/homekit/characteristics.h findet sich zum Beispiel folgender Abschnitt:

        /**
         Defines that the accessory constains a lock mechanism. This can be combined with Lock Management.
         
         Required Characteristics:
         - LOCK_CURRENT_STATE
         - LOCK_TARGET_STATE
         
         Optional Characteristics:
         - NAME
         */
        #define HOMEKIT_SERVICE_LOCK_MECHANISM HOMEKIT_APPLE_UUID2("45")
        

        Also ich vermute, es ist möglich. Man müsste sich dann aber mit der Libary auseinandersetzen, da die Beispiele bisher auch relativ überschaubar sind:

        Example01_TemperatureSensor
        Example02_Switch
        Example03_StatelessProgrammableSwitch
        Example04_MultipleAccessories
        Example05_WS2812_Neopixel
        

        Vielleicht schaffst du es ja wenn du dich in einer ruhigen Stunde mal damit befasst. 🙂 Ich weiß nicht, ob ich dich dabei unterstützen kann… Aber vielleicht hilft es dir bei deiner Umsetzung.

        Zur Not könntest du bis dahin ja eine Szene erstellen mit dem Namen “Haustür öffnen”, dann passt immerhin der Sprachbefehl.

        Viel Erfolg

        1 Antwort Letzte Antwort Antworten Zitieren 0
        • P
          PascalHaedicke zuletzt editiert von PascalHaedicke

          Hallo,

          also hab mich gestern mal ca. 6h eher mehr hingesetzt und hab versucht den Code zu versehen/zu ändern. Habe mir die 400 Seiten lange PDF von Apple zur HomeKit schnittstelle reingezogen und habe einige Versuche mit der “Arduino-HomeKit-ESP8266/src/homekit/characteristics.h” gehabt.

          Abschließend muss ich sagen: Ich bin kein Stück weiter gekommen. Klar an der ein oder anderen Stelle habe ich schon ein paar Sachen herausfefunden wie und was die machen aber um eine Direkte Änderung vorzunehmen hat es leider nicht gereicht.

          Vieleicht nimmt sich ja jemand die Sache mal an der Selber solche Änderungen machen möchte und teilt mir dann diese dann mit.

          @cooper eine Frage habe ich dann noch an dich. In deinem Video (oben der link) welchen “HOMEKIT_SERVICE” und “HOMEKIT_CHARACTERISTIC_” hast du für dein Türöffner verwendet?

          1 Antwort Letzte Antwort Antworten Zitieren 0
          • cooper
            cooper zuletzt editiert von

            Hey @PascalHaedicke

            weder noch, ich hab das ganze mit Homebridge umgesetzt. Da ist es total einfach.

            Aber ich denke ich werde mir die Sache mit der Libary auch mal anschauen nachdem gefühlt 30 Leute gesagt haben, sie würden für eine Anleitung bezahlen. 🤣

            Spaß bei Seite. Gab es denn irgendwas in eine Richtung, was dich weitergebracht hat? Dann könntest du da ja schon mal hier teilen. Wenn ich dazu komme, werde ich mich intensiver mit der Libary auseinandersetzen, da man da ja sogut wie alle was von Apple angeboten wird einbinden kann. Sehr vielversprechend. 💪

            1 Antwort Letzte Antwort Antworten Zitieren 0
            • P
              PascalHaedicke zuletzt editiert von

              Hallo @cooper

              wäre super wenn mal jemand mit C Erfahrung drüber schauen könnte. Eine Invention in die Kaffeekasse wäre es mir auch wert 😉

              Was ich schon rausgefunden habe:

              in wifi.info.h
              hier werden einfach nur die WLan Einstellungen vorgenommen. (denk das weiß schon jeder)

              in my_accessory.c
              wird die eigentliche HomeKit Anbindung definiert. Sprich:
              HOMEKIT_SERVICE(SWITCH… beschreibt generell mal um was es sich handelt. In diesem Fall ein Schalter
              und
              HOMEKIT_CHARACTERISTIC_(ON, …beschreibt die zustände die der Schalter haben kann. In diesem Fall EIN/AUS

              Eine Liste der Services und Charakteristiken gibt es auf der Apple Website (eine PDF zum runterladen. Im falle des Switches unter HAP 8.38) oder Link Text

              und die Einstellung des Passwortes

              in Dateiname.ino
              befindet sich die eigentliche Programierung. z.B. wie Sensoren ausgelesen werden oder wie sich Ausgang verhalten sollen.

              dann gibt es noch eine Besonderheit: Bie Programmierungen mit mehreren Sensoren wird ein Bridge angelegt. Dort werden dann sie Sensoren mit IDs vergeben. Die Bridge hat ID1 der erste Sensor/Ausgang ID2 und so weiter.

              für alles weitere fehlt mir leider das KnowHow. Aber wäre auf jeden Fall dabei wenn es ein Gemeinschaftsprojekt in der Community wird.

              Was ich jetzt auf jedenfalls mal gern hätte, wäre eine Anleitung wie man einen Temperaturfühler hinzufügt dafür gibt es schon eine Generelle Vorlage Link Text und einen Contact Sensor ohne Bridge Einbindung Link Text

              Ich denke auch das sich noch viele andere Leute dafür Interessieren weil das einfach eine günstige und noch dazu zuverlässige Lösung ist.

              Vielleicht ist es auch möglich ein Universalprogramm zu schreiben wo man dann einfach nur Auskommentiert.

              1 Antwort Letzte Antwort Antworten Zitieren 1
              • cooper
                cooper zuletzt editiert von cooper

                @PascalHaedicke sagte in ESP8266 D1 Mini als Schloss in HomeKit nativ einbinden?:

                Was ich jetzt auf jedenfalls mal gern hätte, wäre eine Anleitung wie man einen Temperaturfühler hinzufügt dafür gibt es schon eine Generelle Vorlage Link Text und einen Contact Sensor ohne Bridge Einbindung Link Text

                Was den Temperaturfühler angeht kannst du den Code in dem Thread verwenden:

                https://my.makesmart.net/topic/74/homekit-thermometer-diy-mit-dem-esp8266-d1-mini-get-request-tutorial?_=1601950804089

                Wenn du ein Shield verwendest vom DS18B20 zB nimm statt Pin D4 einfach Pin D2. Die Libary etc kannst du eigentlich 1:1 übernehmen. 👍

                PS: Wäre schon geil als Community Projekt diverse HK Accessoires. 🤨🤤

                1 Antwort Letzte Antwort Antworten Zitieren 1
                • P
                  PascalHaedicke zuletzt editiert von PascalHaedicke

                  Danke für die Schnelle Antwort @cooper

                  Ich habe mir den Code von der HomeKit Vorlage angeschaut. Zu übertragenden Wert benötige ich nur eine Zahl(sprich die eigentliche Temperatur. Das °C wird vom HomeKit Code (automatisch) hinzugefügt ). Wenn ich den Code Richtig gelesen habe wird hier noch °C hinzugefügt

                  void loop(){
                  
                    sensors.requestTemperatures();
                    Serial.print(sensors.getTempCByIndex(0));
                    Serial.println(" °C");
                    temperature = sensors.getTempCByIndex(0);
                    push();
                    delay(wait);
                  

                  Kann ich das

                  Serial.println(" °C");
                  

                  einfach rauslassen um eine normal INT Zahl zu bekommen?

                  Und des zweite wäre. Ich würde gerne Jeden Raum mit einen Temp. Sensor ausstatten. Jetzt habe ich gesehen dass es für ein paar Euro mehr eine Temp. Sensor mit Luftfeuchtigkeit gibt. Link Text. Würde sich ja anbieten und in der HomeKit Vorlage könnte man es noch einbauen.

                  Habe mich im Web ein wenig umgehen und das gefunden. Link Text
                  Dort wird der DHT22 angesprochen mit Luftfeuchtigkeit.

                  Meinst du der Code wäre dafür geeignet. Brauch ja nur eine INT Zahl die ich dann an den HomeKit übergebe. Falls ich es hinbekomme die Luftfeuchtigkeint in die HomeKit Vorlage einzubauen.

                  Würde jetzt einfach mal den DHT22 und DS18B20 Bestellen um ein wenig zu testen.

                  1 Antwort Letzte Antwort Antworten Zitieren 0
                  • 1 / 1
                  • First post
                    Last post