ESP mit 8-Kanal-Relais

  • Hi,

    bin neu hier und kenne mich mit Arduino noch weitestgehend gar nicht aus.

    Bisher habe ich eine Homebridge laufen und an dem Raps ein 8-Kanal-Relais, was auch zuverlässig funktioniert. Nun wollte ich den Raps am Relais gegen den ESP8266 D1 mini austauschen. Dafür habe ich den Code von hier in Betracht gezogen


    WLAN-Relais mit dem ESP8266 und HTTP-API


    und entsprechend erweitert, mit der Absicht, die anderen Pins noch zu schalten, aber egal, was ich mache, er schaltet immer nur den ersten, die weiteren kann ich ansprechen, aber sie ändern den Status nicht. Unten mal ein gekürztes Beispiel mit zwei Pins. Wo ist der Fehler? Komme einfach nicht weiter.


    Danke schonmal für die Hilfe.



  • Hi nochmal. Jetzt läuft das ganze. Leider kommt er mit dem Status immer durcheinander. Wenn ich eine Quelle ansteuere, dann schaltet er es ein und kurz darauf in homekit wieder aus, obwohl es noch läuft. Dann ist der Status der URL auch 0. Da die Homebridge mit dem Plugin "http-switch Dafang" 3,3 V als aus- und 0 V als eingeschaltet interpretiert, habe ich unten im Arduino-sketch die Off- und On-Zustände mit High und Low vertauscht. Ich nehme an, dass das sein Problem ist. Wüsste aber gerade nicht, wie ich das anders lösen könnte. Eine Idee? Oder stelle ich mich einfach doof an?

    Danke.


    Gruß Falko


  • Ich verstehe nicht ganz... also du schaltest den Switch über HomeKit, Relais schaltet, aber der Schalter in HomeKit geht dann wieder auf aus, obwohl das Relais geschalten bleibt?


    Was ich mich dann Frage, warum der Status dann ebenfalls „0“ ist. Ich meine der Status kommt ja vom ESP und gibt den Status des Pins zurück an dem das Relais hängt. Und wenn der geschalten ist, dann ist der Status 1 - das hat auch nichts mit dem Plugin zu tun.


    Funktioniert deine Lösung jetzt, oder gibt es immer noch Probleme. Irgendwie hab ich das jetzt nicht ganz gerafft.

  • Funktioniert nicht so richtig. Unmittelbar nach dem Einschalten wechselt der Homekit-Schalter wieder auf aus, aber das Relais bleibt an. Wenn ich das Relais dann ausschalten will, muss ich in Homefit den Schalter dann immer zweimal schalten (einmal, damit Homefit merkt, dass er an ist, und das zweite mal um ihn wirklich auszuschalten). Ich dachte es läge daran, dass ich die Pins im eingeschalteten Zustand auf Low gesetzt habe und vice versa. Kann aber eigentlich ja nicht sein, weil ihn High und Low ja nicht interessiert.

    Wenn ich den Status nur übers den Link ändere, hat das auch keinerlei Auswirkungen auf den Status in Homekit, da State immer auf 0 bleibt.

    Irgendeine Idee, wieso er sich so verhält und was ich tun kann?

    Ich hoffe ich nerve nicht ?(


    Edit: Der Code auf nem zweiten ESP zeigt genau das gleiche Verhalten. Aber ich finde den Fehler einfach nicht.

  • Hm, der Code der Homebridge ist angefügt. Aber das Problem besteht ja auch, wenn ich die Homebridge gar nicht nutze, sondern allein über die URL schalte und auslese. Ich bin echt kurz vor der Verzweiflung =O


    Edit: Okay, ich habe jetzt die High- und Low-Befehle im Code wieder in die alte Reihenfolge gebracht. Jetzt behält er die States bei, allerdings alles *-1. also An ist aus und umgekehrt, weil die Homebridge, warum auch immer, bei mir 3,3V die ich brauche, um das Relais zu schalten, als ausgeschaltet interpretiert. Allerdings hätte das ja auch vorher schon alles umgekehrt sein müssen. Ich brauche ne Pause. Steige da gerade nicht durch.