Apple HomeKit Schalter erstellen

Der Hersteller Apple hat auch für seine Geräte eine eigene Smarthome Lösung mit dem Namen HomeKit.
Die Nutzer erkennen die dafür infrage kommenden Geräte an dem gelben Haussymbol. Zum leichten Einrichten ist ein einscanbarer Konfigurationscode auf der Verpackung zu finden.
Der Hersteller lässt aber auch nicht zertifizierte Geräte (ohne Konfigurationscode) in die zu findenden Sensoren und Aktoren Auswahl mit auftauchen.

Hier wird mit einem ESP8266 Board an dem ein Relay angeschlossen ist, gezeigt, wie ohne großen Aufwand ein smarter Schalter erstellt werden kann. Das dann mit HomeKit gesteuert wird.

Hardware:
ESP8266 Board NodeMCU V2
Relay 1fach Steuersignal von 3,3V bis 5V DC
Relay mit Optokoppler 4fach

Library: Arduino-HomeKit-ESP8266

, ,
9 Kommentare zu “Apple HomeKit Schalter erstellen”
  1. Prilchen, vielen Dank für die interessante, detailierte „HomeKit Schalter“ Beschreibung!
    Das habe ich gesucht.

    Mit einem ESP8266 (ESP01, 12E nodeMCU) und dem „simplest_LED“ Code habe ich versucht eine Verbindung zu meinem iPhone (iOS 15.3) herzustellen um die LED_BUITIN ein und auszuschalten.

    Leider erhalte ich nach der Eingabe des Passwortes am iPhone immer einen Abbruch,
    mit dem folgendem Kommentar:

    „Gerät kann nicht hinzugefügt werden –
    Vorgang wurde abgebrochen“

    Im „Serial Monitor“ ist auch keine Meldung vom iPhone zu sehen.

    Für einen Hinweis, wo sich ein Fehler befinden könnte bin ich sehr dankbar.
    Muss beim iPhone etwa noch eine bestimmte Sicherheitseinstellung getätigt werden ?

    Freundliche Grüsse Martin

    • Hallo Martin,

      So ohne dein Quellcode und deine Netzwerkumgebung zu kennen, ist das wie ein Blick in die Glaskugel 🙂
      Versuch zu deiner NodeMCU das passende Datenblatt zu finden und schau über welchen Pin die LED angesprochen werden kann. Es gibt verschiedene Versionen, da sind sogar 2 LED verbaut.
      Dann statt Variablenname LED_BUILTIN direkt die Pin-Nr eintragen.

      Des weiteren mal kontrollieren, ob dein Router das ESP-Modul akzeptiert hat und ihm auch eine IP-Adresse vergeben hat. Auch sollten die WLAN Geräte miteinander kommunizieren dürfen.

      VG Prilchen

  2. Hallo Prilchen, besten Dank für deine Anregungen !!

    Nun habe ich noch ein paar Tests mit dem ESP8266 nodeMCU 12E Board durchgeführt:
    * Mein Code ist praktisch identisch zu deinem code (simplest_LED) – ausser der Pin-Schalterangabe,
    den Wlan Angaben und offenbar unwichtigen #define ACCESSORY_ Angaben

    * LED_BUILTIN oder die Pin-Nr Angabe (D4, GPIO2) funktionieren in einem Blink Program bestens
    * eine Ueberprüfung des Boards zeigte, dass leider nur eine LED (neben dem Espressif 8266MOD Chip) verbaut ist
    * im Wlan wird das ESP-Modul erkannt (inkl. IP und MAC Adresse)
    * habe auch einen Web-Server Code gefunden und zum Laufen gebracht und kann die LED mit dem iPhone schalten

    Tests mit simplest_LED code:
    * Serial monitor: am Anfang der Uebermittlung entsprechen die Daten vom ESP genau denjenigen die du siehst
    * bevor ich am iPhone das Gerät auswähle ist das ESP Modul mit halber MAC Nummer aufgelistet (wie bei dir),
    wenn ich diese Wahl nun anklicke, das Passwort eingebe bricht er ab …
    am Serial monitor ist nichts vom iPhone zu sehen

    * Wenn dir noch was einfällt, teste ich sehr gerne weiter
    * Könnte es an ungünstigen Einstellungen an meinem iPhone liegen ?
    (ich war ja schon erstaunt, dass Apple mit Homekit eine ESP-Kommunikation überhaupt zulässt)

    Herzlicher Gruss Martin

    • Hallo Martin,
      ja das gehört natürlich immer wieder zu diesen Basteleien. Analyse und Fehlersuche.
      Wenn man jetzt in die Logfiles des Apple Gerätes schauen könnte, das könnte aufschlussreich sein.
      Ich hatte mal bei den ESP32-Cam Boards das Problem, das bei bestimmten Tätigkeiten die Spannungsanforderungen deutlich anstiegen und da war ich nicht schlecht am Staunen, das ein kräftigeres Netzteil die Lösung war.
      Solltest du noch zu einer Lösung kommen, würde ich mich freuen, wenn du es hier kurz beschreibst.

      VG Prilchen

  3. Hallo Prilchen,

    inzwischen habe ich den Fehler gefunden.

    Es lag an der Home App:
    * nach Gerät hinzufügen wird das Fenster geöffnet
    „Nicht zertifiziertes Gerät“ mit den Optionen
    „Abbrechen“ und „Trotzdem weiterfahren“
    * bei meinem iPhone befindet sich die Option
    „Trotzdem weiterfahren“ dummerweise
    (unglücklich programmiert) unter der Zahlentastatur,
    ist nicht erreichbar – also habe ich abbrechen
    gedrückt,
    * das Passwort konnte ich immer noch eingeben –
    aber dann kam der Abbruch

    Nun habe ich Wege gefunden die unglücklich gestaffelten Fenster so zu schieben,
    dass ich „Trotzdem weiterfahren“ wählen konnte und es gab keinen Abbruch mehr.

    Vielen Dank noch mal für Deine Illustrationen und Kommentaren.

    Freundliche Grüsse Martin

  4. Hallo Super tolle Sache!!!
    Ich habe noch zwei Fragen. Wäre es möglich einen Temperatursensor mit ein zubauen (BMP280, DS18B20) würde bei mir im Außenbereich liegen.
    Wie wäre der Sketch kann man das dazu fügen wenn ja wo, Pin D1 und D2?
    Weiters könnte man nach diesem Prinzip den Meross MSG100 mit Siri Funktion nachbauen, ebenso mit Temperatursensor. Was für Teile würde ich benötigen, bzw. wie würde der Sketch dafür aussehen? Wäre echt toll wenn du mir weiter helfen könntest da wir einige Tore zum öffnen haben und die Handsender oft kaputt gehen.
    Danke!!!
    Freundliche Grüße
    Tom

  5. Hallo, super Video … sehr gut erklärt …hat soweit auch alles geklappt, ich über Home app das relais steuern. ich bin begeistert ! es tritt nur ein problem auf , nach einigen stunden .. mal sind es 2 oder 3 mal 12 stunden fliegt der esp8266 aus dem wlan …ich kann dann nicht mehr darauf zugreifen, er meldet dann in der app „keine antwort“ ! woran könnte das liegen ..ich habe schon viel versucht ihn bsw. nähe zum router gebracht aber es nützt nicht nach ein paar stunden ist er nicht mehr erreichbar. könnte man es so programmieren das der esp der beispielsweise jede stunde neu startet. für einen tip wäre ich sehr dankbar… vielen dank

    • Hallo Wolfgang, freut mich das dir das Video gefällt.
      Denke mal ein immer wieder kehrender Reboot, wäre nur ein umgehen des Problems.
      Hier auf den Seiten wird immer nur die Entwicklungsumgebung gezeigt. Für eine dauerhafte Lösung sollte der Aufbau ohne Steckbrett mit fest verlöteten Verbindungen sein.
      Auch sind immer zu schwache oder veraltete Netzteile, Grund für so ein Verhalten.

      VG Prilchen

Kommentare sind geschlossen.