Community

Garagentor mit Homekit


#1

Da nun HomeKit Einzug gehalten hat in homee, bin ich wieder mal neugierig in diese Richtung geworden.

Viele hier werden ein Garagentor mit Hilfe eines Relais steuern und mit einen Sensor abfragen.

Ich fand es bisher nie besonders Smart ein Relais zu steuern und danach zu Prüfen anhand des Sensors wie nun das Tor steht.

Node-Red kann das besser.

Ich habe mit dem Node HomeKit den Service GarageDoorOpener erzeugt.
Dieser steuert über Siri/Home-App das Tor an und nimmt gleich den Status des Sensors als Status für die Toranzeige. So habe ich 2 Geräte in einem Service verknüpft. Nun steht das Tor solange auf “Schließen…” bis es wirklich zu ist und wird dann als zu gemeldet.


homee in Verbindung mit MQTT: homeeToMqtt
#2

Hört sich doch interessant ein… kann’s du den Flow man zur Verfügung stellen oder nochmals genauer erklären?

Grüße


#4

Nette Spielerei, dabei wäre es so einfach!


Aber Not macht bekanntlich erfinderisch!


#6

Bitteschön.

[{“id”:“61d8faec.2bc154”,“type”:“http in”,“z”:“83468c9f.e8b11”,“name”:"",“url”:"/zu",“method”:“get”,“upload”:false,“swaggerDoc”:"",“x”:90,“y”:100,“wires”:[[“9ad6be7a.b9209”,“c5db8a40.effe68”]]},{“id”:“f20e74c7.f9297”,“type”:“http in”,“z”:“83468c9f.e8b11”,“name”:"",“url”:"/auf",“method”:“get”,“upload”:false,“swaggerDoc”:"",“x”:80,“y”:180,“wires”:[[“f1b65407.0d9c08”,“c5db8a40.effe68”]]},{“id”:“f1b65407.0d9c08”,“type”:“trigger”,“z”:“83468c9f.e8b11”,“op1”:"{“CurrentDoorState”:false}",“op2”:"{“CurrentDoorState”:false}",“op1type”:“json”,“op2type”:“str”,“duration”:“250”,“extend”:false,“units”:“ms”,“reset”:"",“bytopic”:“all”,“name”:"",“x”:340,“y”:220,“wires”:[[“984e1f24.ecf758”]]},{“id”:“9ad6be7a.b9209”,“type”:“trigger”,“z”:“83468c9f.e8b11”,“op1”:"{“CurrentDoorState”:true}",“op2”:"{“CurrentDoorState”:true}",“op1type”:“json”,“op2type”:“json”,“duration”:“250”,“extend”:false,“units”:“ms”,“reset”:"",“bytopic”:“all”,“name”:"",“x”:340,“y”:80,“wires”:[[“984e1f24.ecf758”]]},{“id”:“984e1f24.ecf758”,“type”:“homekit-service”,“z”:“83468c9f.e8b11”,“accessory”:“b96109a5.682e6”,“name”:“Garagentor”,“serviceName”:“GarageDoorOpener”,“x”:550,“y”:160,“wires”:[[“41aae8.6255bd18”,“8cda6872.4332f”]]},{“id”:“41aae8.6255bd18”,“type”:“function”,“z”:“83468c9f.e8b11”,“name”:“test”,“func”:“if (msg.payload.TargetDoorState === 0) {\n msg.payload = “auf”\n return [ msg, null, null];\n}\nif (msg.payload.TargetDoorState === 1) {\n msg.payload = “zu”\n return [ null, msg, null];\n}\nelse {\n msg.payload = “Falsch”\n return [null, null, msg];\n}”,“outputs”:3,“noerr”:0,“x”:790,“y”:180,“wires”:[[“8cda6872.4332f”,“9d062711.5c8fe”,“af717e43.e60938”],[“8cda6872.4332f”,“9d062711.5c8fe”,“af717e43.e60938”],[]]},{“id”:“c5db8a40.effe68”,“type”:“http response”,“z”:“83468c9f.e8b11”,“name”:"",“statusCode”:"",“headers”:{},“x”:1030,“y”:40,“wires”:[]},{“id”:“9d062711.5c8fe”,“type”:“http request”,“z”:“83468c9f.e8b11”,“name”:“Button”,“method”:“GET”,“ret”:“txt”,“url”:“http://XXX.XXX.X.X:7681/api/v2/webhook_trigger?webhooks_key=XXXXXXXXXXXXX&event=XXXX%20",“tls”:"",“x”:1190,“y”:180,“wires”:[[“8cda6872.4332f”]]},{“id”:“b96109a5.682e6”,“type”:“homekit-accessory”,“z”:"",“accessoryName”:“Bridge”,“pinCode”:“111-11-112”,“port”:"",“manufacturer”:"Default Manufacturer”,“model”:“Default Model”,“serialNo”:“Default Serial Number”,“accessoryType”:“1”}]


Xiaomi Yeelight
#7

Hi Chris, danke für die Inspiration…!

Den Flow kann ich leider nicht importieren…

Kannst du ihn mir noch mal vielleicht als TXT zur Verfügung stellen… ich denke es liegt an der Umformatierung hier im homie Forum mit den Hyperlinks.

Danke.


#8

Sorry, habe das so leider nicht mehr im Einsatz und im nodered nicht mehr vorhanden.

Das hier habe ich gerade noch gefunden. Das sieht sehr ähnlich aus.

https://flows.nodered.org/flow/d3987e403d3b65639fe90359ac8038cd


#9

Ok, danke dir… gabs Probleme bei dir?


#10

HomeKit braucht manchmal ewig zum aktualisieren. Nutze jetzt Kurzbefehle und nen flicbutton.


#11
[{"id":"190cf91c.3d8a07","type":"homekit-service","z":"a05ccff1.9cd228","accessory":"8ac5cffa.a32a5","name":"Garagentor","serviceName":"GarageDoorOpener","x":533.5,"y":167,"wires":[["4b158a26.58c4ec"]]},{"id":"6680e786.11de3","type":"debug","z":"a05ccff1.9cd228","name":"","active":true,"tosidebar":true,"console":false,"tostatus":false,"complete":"payload","x":1096.5,"y":181,"wires":[]},{"id":"56407e59.8e74","type":"http in","z":"a05ccff1.9cd228","name":"","url":"/garage/zu","method":"get","upload":false,"swaggerDoc":"","x":85,"y":149,"wires":[["ee8db2d.134375","6dd29802.2f333"]]},{"id":"3b3f8be.b3f8c74","type":"http in","z":"a05ccff1.9cd228","name":"","url":"/garage/auf","method":"get","upload":false,"swaggerDoc":"","x":85,"y":189,"wires":[["7054afa2.bbc888","6dd29802.2f333"]]},{"id":"7054afa2.bbc888","type":"trigger","z":"a05ccff1.9cd228","op1":"{\"CurrentDoorState\": false}","op2":"{\"CurrentDoorState\": false}","op1type":"json","op2type":"json","duration":"250","extend":false,"units":"ms","reset":"","name":"","x":325,"y":189,"wires":[["190cf91c.3d8a07"]]},{"id":"ee8db2d.134375","type":"trigger","z":"a05ccff1.9cd228","op1":"{\"CurrentDoorState\": true}","op2":"{\"CurrentDoorState\": true}","op1type":"json","op2type":"json","duration":"250","extend":false,"units":"ms","reset":"","bytopic":"all","name":"","x":325,"y":149,"wires":[["190cf91c.3d8a07"]]},{"id":"6dd29802.2f333","type":"http response","z":"a05ccff1.9cd228","name":"","statusCode":"200","headers":{},"x":305,"y":229,"wires":[]},{"id":"b6131fbe.3705c8","type":"http request","z":"a05ccff1.9cd228","name":"Garage auf","method":"GET","ret":"txt","url":"https://xxxxx.hom.ee/api/v2/webhook_trigger?webhooks_key=xxxxxxxx&event=garage_auf","tls":"","x":890.5,"y":164,"wires":[["6680e786.11de3"]]},{"id":"d4344ad9.71ec78","type":"http request","z":"a05ccff1.9cd228","name":"Garage zu","method":"GET","ret":"txt","url":"https://xxxxxxxxxx.hom.ee/api/v2/webhook_trigger?webhooks_key=xxxxxxxxxxx&event=garage_zu","tls":"","x":890.5,"y":207,"wires":[["6680e786.11de3"]]},{"id":"4b158a26.58c4ec","type":"switch","z":"a05ccff1.9cd228","name":"","property":"payload.TargetDoorState","propertyType":"msg","rules":[{"t":"eq","v":"0","vt":"num"},{"t":"eq","v":"1","vt":"num"}],"checkall":"true","repair":false,"outputs":2,"x":728.5,"y":166,"wires":[["b6131fbe.3705c8"],["d4344ad9.71ec78"]]},{"id":"8ac5cffa.a32a5","type":"homekit-accessory","z":"","accessoryName":"Garagentor","pinCode":"347-11-234","port":"","manufacturer":"Novoferm","model":"Default Model","serialNo":"Default Serial Number","accessoryType":"4"}]

Sieht ein bisschen anders aus, funktioniert aber :grinning: Dazu werden vier Homeegramme benötigt:

  • Garage öffnen - öffnet die Garage und wird durch einen Webhook von Node-RED ausgelöst
  • Garage schließen - schließt die Garage und wird durch einen Webhook von Node-RED ausgelöst
  • Garage öffnet - Reagiert auf Türsensor öffnet und löst in Node-RED den Webhook aus
  • Garage schließt - Reagiert auf Türsensor schließt und löst in Node-RED den Webhook aus

Theoretisch könnte man die Webhooks noch durch mein Node-RED Plugin für homee ersetzen.


#12

Hi Stefan,

vielen Dank. Funktioniert super…
Habe ein Seitensektionaltor und momentan nur einen Sensor am Torschluss, der offen und geschlossen als Webhook signalisiert… das bringt dann Homekit durch einander, wenn man manuell zwischendrin schaltet…

Werde noch einen zweiten Sensor am Toranschlag (offen) installieren.

Aber was NodeRed angeht, alles perfekt.