Schalterstellung manipulieren

  • Hallo,

    ich habe seit heute Homebridge auf meinem Raspberry installiert und auch schon die ersten Skripte bzw. Endgeräte über die Home-App steuern können.


    Nun suche ich nach einer Möglichkeit, die Zustände eines Gerätes bei einem externen Event zu ändern. Zum konkreten Beispiel:


    Über GPIO Pin 0 wird eine LED angesteuert. Diese lässt sich über die Home-App bzw. per Sprachbefehlt an -und aus schalten. Auf einen zweiten GPIO Pin hätte ich jetzt gerne einen Schalter, der die gleiche LED schaltet. Dieses Event soll allerdings von der Homebridge erfasst und die Stellung des virtuellen Schalters innerhalb der App ändern. Hat jemand eine Idee wie das funktioniert? Ich denke die Programmierung bezüglich des Schalters und dem leuchten der LED sollte kein großes Problem darstellen, allerdings frage ich mich, wie die Schalterstellung im Bezug auf die App manipuliert werden kann?


    Viele Grüße

  • Ich hätte wetten können, dass ich vor einigen Minuten erst geantwortet habe auf diese Frage......


    Aber der Beitrag ist erst 8 min. alt.


    Hast du einen neuen Beitrag eingestellt?

  • Hallo Kohle_81,

    ja ich habe vor einer Stunde ein ähnliches Thema erstellt und kurz danach einen Gedankenblitz gehabt, bei dem ich dachte, dass dieser zur Lösung führt. Ich glaube keine Minute später hatte ich das alte Thema schon wieder gelöscht. Wie sich jetzt im Nachhinein herausstellte, hat die Umsetzung leider doch nicht zum Erfolg geführt. Zwischen Erstellung und Löschung des alten Themas ist aber wirklich kaum Zeit vergangen, hatte auch noch keine Antworten sehen können. Tut mir wirklich leid wenn ich deinen Beitrag jetzt ebenfalls gelöscht haben sollte.

  • Ok, kein Thema, war dann zur gleichen Zeit vermutlich.


    Mit welchem plugin lässt du denn schalten?

  • Ursprünglich war der Gedanke ein Funksender anzuschließen, um eine Funksteckdose schalten zu können. Dafür wollte ich das RCSwitch plugin installieren, hat aber nicht funktioniert (und ich scheine nicht der Einzige zu sein, bei dem es nicht mehr klappt). Daher habe ich ein einfaches Skript geschrieben, welches den GPIO 0 des Raspberry auf high oder low schaltet. Alles wunderbar. Ausgeführt wird dieses Skript mit dem "Homebridge CMD - Plugin", es ist quasi blos ein einfacher sudo Befehl mit dem jeweiligen Übergabewert (0 oder 1) zum aus bzw. an schalten.


    Nun würde ich ganz gerne an einem zweiten GPIO einen Taster anschließen, nach dessen Betätigung ebenfalls das Skript ausgeführt wird und sich die virtuelle Schalterstellung innerhalb der App ändert.


    Das Skript habe ich inzwischen ein wenig geändert und auch den Funksender zum Laufen gebracht (ohne RCSwitch plugin für Homebridge). Dafür gab es hier im Forum ein entsprechendes Thema. Der bereits angesprochene zweite GPIO soll später als Funk-Empfänger fungieren. Natürlich macht das Setup im Moment noch nicht ganz so viel Sinn, denn warum soll ich noch etwas mit einer Funk-Fernbedienung schalten können, wenn ich doch jetzt das Smartphone dafür verwenden kann.. Zukünftig soll der Empfänger aber als Feedback dienen, um mit anderen Geräten kommunizieren zu können. Da wären wir wieder bei dem Beispiel mit dem Licht: dieses soll per App geschaltet werden können, aber auch ganz konventionell mit einem Taster. Sobald der Taster betätigt wird, soll die Homebridge die Statusänderung erfassen und die Schalterstellung innerhalb der App entsprechend anpassen.


    Ich hoffe die Problemstellung ist halbwegs verständlich? Vielleicht ist das ganze auch zu kompliziert gedacht und es gibt bessere/einfachere Vorschläge?


    Viele Grüße

  • Ich gebe offen und ehrlich zu, dass ich nicht ganz folgen kann, dies liegt jedoch eher daran, dass ich mich mit GPIO überhaupt noch nicht beschäftigt habe.


    Eventuell kann das webhooks-plugin einen Status erkennen?


    https://github.com/benzman81/homebridge-http-webhooks


    Oder mit diesem hier?


    https://github.com/Supereg/hom…tch/blob/master/README.md


    Ich habe beide nicht im Einsatz, aber vielleicht kannst du was damit anfangen.....

  • Hallo Kohle_81,

    vielen Dank für deine Antwort! Ich glaube mit dem Webhooks-Plugin könnte das tatsächlich was werden. Natürlich muss ich mich da auch erst wieder richtig einarbeiten, habe diesbezüglich aber ein ganz interessantes youtube video gefunden. In diesem werden Kontaktsensoren verwendet, dessen Zustandsänderungen live in der Home-App angezeigt werden. So in etwa geht das also schon in die richtige Richtung. Vielen Dank!

  • Hallo Kohle_81,

    vielen Dank für deine Antwort! Ich glaube mit dem Webhooks-Plugin könnte das tatsächlich was werden. Natürlich muss ich mich da auch erst wieder richtig einarbeiten, habe diesbezüglich aber ein ganz interessantes youtube video gefunden. In diesem werden Kontaktsensoren verwendet, dessen Zustandsänderungen live in der Home-App angezeigt werden. So in etwa geht das also schon in die richtige Richtung. Vielen Dank!

    Hey,


    hattest du denn mit deinen Tests Erfolg?
    Ich habe ein sehr ähnliches Problem und noch keine Lösung gefunden.


    Gruß
    Julian

  • Hallo,

    ja ich habe es hinbekommen. Nun muss ich doch allerdings mal überlegen, wie das war.. es ist ja schon ein wenig Zeit vergangen.


    Ich glaube mit dem webhooks plugin war die Änderung der Schalterstellung in Echtzeit nicht möglich. Allerdings weis ich nicht mehr warum. Vielleicht hat eine entsprechende "status" -Abfrage gefehlt oder sie war da und wurde nur beim Neustart der Home App aufgerufen. Ich möchte meinen für Kontaktsensoren ging es, allerdings nicht für Lichtschalter.


    Inzwischen habe ich mein Projekt mit Funk Sender/Empfänger, IR Sender/Empfänger, Lichtschalter, Dimmer usw.. umgesetzt. Alles kann per App/Sprache (Alexa und Siri) sowie klassisch durch einen physischen Tastendruck bedient werden. Wenn ich beispielsweise das Licht am Lichtschalter schalte, sehe ich umgehend die Änderung in der Home App. Alles im Eigenbau (Platinen selbst entwickelt), keine fertigen Lösungen.


    Ich habe die HTTP plugins für meine Anwendungen benutzt (HTTP-Lightbulb, HTTP-Outlet, HTTP-Switch ...). Die Echtzeit-Statusänderung der jeweiligen Endgeräte (geschalten durch ein externes Event) wird dann mit dem Plugin HTTP-Notification-Server erfasst und an Home weitergeleitet. Läuft jetzt seit einem halben Jahr, bisher gab es keinen einzigen Ausfall.