ESP8266 Homekit Arduino

  • Moin Zusmmen!

    Ich würde gerne diverse 5V Geräte bequem über die Apple Home App schalten können.

    Bei recherchen bin ich auf das Arduino-Homekit-ESP8266 gestoßen und mit Hilfe dieser Anleitung hab ich es auch problemlos hinbekommen ein Relais in Homekit einzubetten.

    Soweit so gut.

    Leider hab ich aktuell keine Ahnung, wie ich es hinbekommen kann, dass ich mehr als ein Relais mit einem ESP8266 schalten kann. Das müsste dann ja analog zu einem Doppelschalter oder einer Steckdosenleiste sein. Die gibt es ja auch in Homekit.


    Ich hab mit meinen bescheidenen Programmierkenntnissen versucht die Arduino Datei um weitere Switches zu erweitern, allerdings natürlich ohne Erfolg:

    Hat jemand von euch Erfahrungen in diesem Bereich? Oder kann mir sonst helfen?

    Ich hab auch schon ein Issue auf github eröffnet, aber ich hoffe hier gleichgesinnte zu finden, die mir helfen können.

  • In diesem Fall würde ich eher die einschlägigen Firmwares verwenden (Tasmota, Espeasy, ...) und einem MQTT Plugin in Homebridge.

    Danke für die schnelle Antwort. Ich würde gerne den Weg über die Homebridge umgehen, daher war ich von der Arduino-ESP8266-Homekit Bibliothek so gut.

  • Ich habe bisher wirklich nicht viel gesehen was eine native HomeKit Integration hatte. Und was ich gesehen habe war definitiv nicht in der Lage mehr als ein Schalter zu integrieren. Also fürchte ich musst du entweder selbst coden oder eben einen Umweg gehen.


    Die Einführung des HomePod Mini lässt ja hoffen das HomeKit weitere Verbreitung findet. Vielleicht kommen dann auch mehr Frameworks und firmwares.


    Edit: für Hobby coder hat Apple ja ein Open source Projekt. https://github.com/apple/HomeKitADK

  • Ich habe vor langem mal mit dieser Firmware gearbeitet. Ravensystem

    Damit Flashst du deinen ESP und kannst in direkt in Home einbinden. Hier kannst du über die Einstellungen auf jedenfall mehrere Relais schalten.

  • Das sieht wirklich gut aus Bananajoe86 ! Ich werde versuchen mich da die Tage mal reinzulesen und hoffe, dass ich damit weiterkomme.

  • Ich hab mich da mal reingelesen und hab mir die folgende JSON geschrieben:

    Ich hoffe, dass ich alle Klammern richtig gesetzt habe :D und dass auch die Form so stimmt. Leider bin ich gerade beruflich unterwegs und kann nicht testen, ob es funktioniert, aber vielleicht kannst du Bananajoe86 mir bereits sagen, ob das so passen würde oder ob das grober Unfug ist, den ich da geschrieben habe...


    P.S.: Die Kommentare innerhalb des Codes hab ich jetzt nur hier eingefügt und natürlich nicht im original JSON Code


    EDIT: Ich lese gerade dass ich die einzelnen Relais hintereinander schreiben muss und nicht für state 1 und state 0 zusammengefasst. Finde leider gerade den Link nicht.

    Einmal editiert, zuletzt von BenGore ()

  • Kleines Update (falls es jemanden interessiert):


    Über meinen Laptop (mit Raspian) hab ich problemlos das ESPtool laden und installieren können, auch das löschen der alten Firmware und die Installation der neuen Firmware funktionierten tadellos.


    Beim Verbinden mit mit dem AP gab es grundlegend auch keine Probleme (ohne an Power angeschlossene Relais), lediglich das Verbinden mit meinem privaten Netzwerk musste ich mehrfach ausführen, bis sich der ESP8266-D1/ESP8266 NodeMCU bei mir ins Netzwerk integriert hat.


    Auch die JSON Datei war direkt richtig, sodass ich kurze Zeit später das Device Problemlos in Apple Home integrieren konnte (ACHTUNG: Der erste Switch gilt hier als Bridge, die anderen drei als normale Schalter - effektiv funktionieren aber alle wie normale Schalter).


    Hier mal die JSON, wie sie bei mir funktionert hat (Beispiel ist für NodeMCU, bei D1 bittedie Boardeigene LED "l":16 durch "l":2 ersetzen:

    Code
    {"c":{"o":0,"l":16,"i":1},"a":[{"t":1,"s":0,"0": {"r":[{"g":14,"v":0},{"g":12,"v":0},{"g":13,"v":0},{"g":15,"v":0}]},"1":{"r":[{"g":14,"v":1},{"g":12,"v":1},{"g":13,"v":1},{"g":15,"v":1}]}}]}

    Wenn ich dann im laufenden Betrieb die Spannung an das Relais angelegt habe (über Breadboard bzw. 5V out pin vom D1) funktionierte alles hervorragend, mit der einzigen Einschränkung, dass man nicht allzu schnell schalten kann.


    Das einzige Problem, was ich jetzt habe ist der Fall, wenn man den ESP startet und das Relais komplett angeschlossen ist (also Inputs, VIN und G). In diesem Fall bekommt es der ESP (beide Modelle) nicht hin sein Programm abzuspulen und sich in Apple Home anzumelden.


    Hat jemand eine Idee woran das liegen könnte?


    Die Verkabelung ist wie folgt:

    ESP8266NodeMCU:

    5V 2,6A Netzteil an das Breadboard und dann jeweils an das G und VIN des NodeMCU und des Relais. Die Inputs des Relais sind mit den GPIOs 14, 12, 13 und 15 verbunden.

    ESP8266-D1:

    5V 2,6A Netzteil über USB an den D1, der 5V output pin vom D1 mit dem VIN des Relais, GD1 zu GRelais und die Inputs des Relais mit den GPIOs 14, 12, 13 und 15 des D1 verbunden.


    Ich teste heute nochmal zwei einzelne Stromkreise (eine 5V Quelle für ESP8266 und eine für das Relais), aber das kommt später für die Installation eigentlich nicht in Frage, da der Sinn dieser Schalter ist möglichst viele Netzteile zu sparen.

  • Danke für die schnelle Antwort. Ich würde gerne den Weg über die Homebridge umgehen, daher war ich von der Arduino-ESP8266-Homekit Bibliothek so gut.

    makesmart: ESP8266 D1 Mini - Mehrere Relais in HomeKit einbinden

    Ob du es noch brauchst, keine Ahnung aber hier kannst du deine 11 Relais mit einem D1 Mini einbinden und alles innerhalb der Arduino IDE ohne Firmware dritter.

  • Danke cooper

    Hab das mittlerweile anders gelöst.

    Aber die makesmart Lösung habe ich vor kurzem auch entdeckt!