NEWS
Node Red HomeKit - Garagentor
-
Hallo zusammen,
ich versuche verzweifelt mein Garagentor von Meross über Node Red in HomeKit einzubinden. Ich nutze: node-red-contrib-homekit-bridged - GarageDoorOpener
Mein Meross Garagentor hat die folgenden Optionen:
Ich weiß nicht an welcher Stelle ich was "Mappen" muss, damit es zusammenpasst.
Habe schon vergeblich nach Beispielen gesucht.
Kann mir jemand helfen? -
Nutze einfach das Wiki - das sind sogar Beispiele mit dabei, die Du importieren kannst.
Hier einfach das einfache Beispiel zum Öffnen und schließen verwenden: https://nrchkb.github.io/wiki/service/garage-door-opener/
Mit dem Beispiel kannst Du über die Inject Nodes die Steuerung simulieren und dann mit den iobroker Nodes ersezten.
Die Initialisierung würde ich gleich wegschmeissen. Im Prinzip steuerst Du über TargetDoorState und sobald CurrentDoorState = TargetDoorState hört die Animation auf. Da musst halt dann mit dem ACK Flag arbeiten. Das Speichern der States brauchst alles nicht, dafür kannst auch bei der Initialisierung ja die Datenpunkte auslesen.
In Deinem Fall brauchst also nur mit dem 0-garageDoor Datenpunkt arbeiten und einmal mit der iobroker-IN Node nur nach bestätigten ACK=False Zuständen filtern für den CurrentState, während Du bei setzen natürlich die iobroker-OUT Node als command nutzt.
Du musst halt nur noch sagen ob false zu oder auf bedeutet.
Im Prinzip sollte dieser Flow schon ausreichen mit der entsprechenden Filterung der iobroker-In Nodes:
-
@mickym vielen Dank für deine Infos. Bei den Beispielen im Wiki sind viele Nodes die er beim Import bei mir nicht erkennt. Kannst du mit evtl deinen Flow exportieren so dass ich ihn importieren kann? Die nodes an sich sind schlüssig für mich, aber mit dem Inhalt bin ich mir immer nicht sicher.
-
@minta79 Ich versteh es zwar nicht - Du musst halt die Inject Nodes in den Gruppen durch iobroker Nodes ersetzen
-
@mickym said in Node Red HomeKit - Garagentor:
Du musst halt die Inject Nodes in den Gruppen durch iobroker Nodes ersetzen
Das verstehe ich. Sorry, dass ich mich so blöd anstelle. Aber ein ersetzen reicht ja nicht, denn aus der iobroker Node kommt ein False oder True und keine 0 oder 1, die erwartet wird. Diese muss ich doch ersetzen/ändern oder nicht? Das habe ich mit einer Change Node versucht und es zumindest geschafft dass das Tor sich öffnet, nur beim Schließen kringelt sich der Kreis im HomeKit und hört nicht auf und das Tor schließt sich auch nicht. Befürchte auch dass ich es nicht richtig gemacht habe.
Zum Schluss muss ich doch auch wieder in die iobroker Node zurück oder nicht, zumindest kenne ich das so von meinen anderen Flows, um auch Änderungen mitzubekommen, wenn das Tor z.B. manuell geöffnet wird.
Und was ist mit CurrentDoorState? Kann ich den außen vor lassen? In deinem Beispiel steht der nicht drin.
Würde mich sehr freuen, wenn du mir noch helfen könntest. -
@minta79 said in Node Red HomeKit - Garagentor:
Und was ist mit CurrentDoorState? Kann ich den außen vor lassen?
Leider nein. Genau deswegen dreht sich der "Kringel".
TargetDoorState bekommt bei mir bspw. immer eine 1 (Impuls), allerdings kommt Homekit damit nicht klar. Über den CurrentDoorState weiß Homekit dann was die nächste Aktion ist bzw. wo das Tor sich gerade befindet (auf/ zu).
Dafür nutze ich einen Aqara Fensterkontakt, damit ich weiß, ob das Tor geschlossen ist und steuere dann Current wie auch Target; allerdings nutze ich dafür blockly.
Hier war das Thema auch schon:
https://213.136.68.177/topic/15996/garagentor-mit-sonoff-und-reedkontakte-in-yahka-homekit/18Hier mit node-red:
https://github.com/NRCHKB/node-red-contrib-homekit-bridged/issues/33 (nur als Beispiel!) -
Ok. Danke für die Infos. Schaue es mir an
-
@minta79 sagte in Node Red HomeKit - Garagentor:
Das verstehe ich. Sorry, dass ich mich so blöd anstelle. Aber ein ersetzen reicht ja nicht, denn aus der iobroker Node kommt ein False oder True und keine 0 oder 1, die erwartet wird. Diese muss ich doch ersetzen/ändern oder nicht? Das habe ich mit einer Change Node versucht und es zumindest geschafft dass das Tor sich öffnet, nur beim Schließen kringelt sich der Kreis im HomeKit und hört nicht auf und das Tor schließt sich auch nicht. Befürchte auch dass ich es nicht richtig gemacht habe.
Ja da bin ich von ausgegangen, dass Du das mit der Change Node hinbekommst und Du musst es natürlich in beide Richtungen übersetzen. - Ich kanns aber nochmal ändern.
Zum Schluss muss ich doch auch wieder in die iobroker Node zurück oder nicht, zumindest kenne ich das so von meinen anderen Flows, um auch Änderungen mitzubekommen, wenn das Tor z.B. manuell geöffnet wird.
Ja ich habe noch was verkehrt gemacht - Ja klar Du setzt den Datenpunkt Garage Door via Command. Ich ändere den Flow nochmal
Und was ist mit CurrentDoorState? Kann ich den außen vor lassen? In deinem Beispiel steht der nicht drin.
Würde mich sehr freuen, wenn du mir noch helfen könntest.Doch der wird berücksichtigt - das ist der Eingang. Was nicht geht - ist, dass das Steuern doppelt setzt - das hatte ich nicht durchdacht. Also falls Du das Tor nicht über Homekit steuerst bekommst Du nur den Current Door state mitgeteilt.
So ich habe Dir nun den ganzen Flow nochmal neu gemacht und auch getestet mit true und false - wobei Du das halt ggf. noch tauschen musst:
Hier mal der Import an den Du noch die iobroker Nodes hängen musst:
Ich hab die Home-Kit Nodes nicht auf der Instanz mit dem iobroker aber bei Fragen nochmal melden.
Als Beweis, dass es so funktioniert - hier mal ein kleines Video - wenn man den Flow benutzt und über die HomeApp steuert.
HomeKit-Garage Opener - klein.mp4
Achte auf jeden Fall darauf, dass Du das mit den ACK Flags sauber machst - sonst hast Du bei einem Datenpunkt ganz schnell eine Endlosschleife drin.
-
Vielen vielen Dank!
Der HomeKit Schalter funktioniert jetzt super. Wenn ich das Tor allerdings manuell öffne steht im HomeKit immer "schließen" und bleibt in dem Status hängen, bis ich es wieder schließe, dann springt es im HomeKit auf geschlossen.Mein Flow sieht jetzt so aus:
True und False bzw. 0 und 1 habe ich schon versucht zu tauschen, daran liegt es nicht, das passt. Noch einen Tipp?
-
@minta79 Nicht irgendwas tauschen. Du kannst mal versuchen ober noch den TargetDoorState mit zu setzen - allerdings musst halt wirklich aufpassen, dass in der iobroker-IN Node nur ACK=true gefiltert wird, sonst hast Du eine Endlosschleife.
-
@mickym said in Node Red HomeKit - Garagentor:
ober noch den TargetDoorState mit zu setzen
Das war des Rätsels Lösung! Noch mal vielen vielen Dank!!!!!