NEWS
Garagentor mit Homekit steuern
-
Hey,
ich habe vor mein Garagentor mit dem "Homematic IP Garage Door Module" zu steuern. Da ganze würde ich gerne dann mit Homekit steuern mit dem "Yahka Adapter"
Leider bisher ohne Erfolg.Was ich weiß ist:
Garage auf: Value -> 0
Garage zu: Value -> 2Wie kann ich das jetzt im Yahka Adapter einbinden?
-
@benjaminbuch
Also ich bin ja kein Spezialist in diesen Dingen - aber ich habe es wieder einmal mit einem Dummy-Datenpunkt versucht, aber keine Garantie, dass sich das so verhält.Im Prinzip verhält sich der Tür/Door Service wie ein Rollladen.
Wenn das EIN Datenpunkt ist mit dem man das Tor steuert, dann ist in Homekit 100% auf und 0% zu. Ich gehe jetzt mal nicht davon aus, dass man irgendwelche Zwischenstellungen deswegen muss man alle Werte die größer als 0 sind mal als komplettes Öffnen interpretieren. Wie gesagt wenn Du andere Logik hast musst halt selber bissi rumspielen. Andersherum mit alles größer 0 komplett Schließen geht nicht.Voraussetzung ist natürlich wieder, dass Deine Homematic Punkte Ausführung mit ACK bestätigen.
Aber wie gesagt keine Garantie dass das funktioniert!!!
-
@mickym Ich probiere es mal aus
-
@mickym Also. Es funktionierts nichts wirklich.
Die Garage in der Home-App ist immer Geöffnet. Egal ob die Garage unten ist oder nicht.
Wenn ich nun drücke passiert erstmal nichts. Wenn ich dann nochmal drücke schließt sich die Garage.
Also alles sehr sehr komisch.
ich benutze übrigens in Yahka den Punkt "GarageDoorOpener"
Noch zur Info:
Apple Homekit:
Garage voll auf -> Value -> 100
Garage zu -> Value -> 0HomeMatic voll auf -> Value -> 2
HomeMatic voll zu -> Value -> 0PS: HomeMatic kann nur ganz auf und ganz zu. es gibt kein zwischendrin. Also 2 oder 0
-
@benjaminbuch So habe das nun gesehen und mit dem GarageOpener Service ist das sogar noch besser da der keine 0 und 100% kennt, sondern sogar Deinen Punkten ähnlicher ist.
Da ist 0 auch offen und 1 ist geschlossen. Das heißt wir müssen nur 1 auf 2 ändern. Ich habe das nun mit einem mapping gemacht und zumindest mit einem virtuellen Datenpunkt geht das. Lösche nochmal alle Punkte aus Deinem Service und trage folgendes ein:
Ich habe nur festgestellt man muss auch 0 auf 0 mappen - da dann nicht automatisch passthrough gemacht wird. Wenn also mappen, dann alles mappen.
Die openHAB Doku stimmt hier leider nicht direkt mit der YAHKA Definition überein:
-
@mickym ich probiere es später mal aus
-
@benjaminbuch Mit meinen virtuellem Datenpunkt funktioniert es. Hab mal ein kleines Video angehängt:
-
@mickym Guten Abend,
also es funktioniert
Mega!
Leider noch ein Problem! Wenn wir das Tor mit dem Remote oder mit dem Schlüssel öffnen wird das in der HomeApp nicht übernommen. Kann man dagegen noch was machen?
-
@benjaminbuch Man kann nur vielleicht was machen, wenn Du einen Datenpunkt hast, der immer den aktuellen Zustand liefert, egal mit was das Tor geöffnet wird. Wenn das Homematic IP Garage Door Module das nicht erkennt, dann hast schlechte Karten - aber wie soll denn der Adapter irgendwas erkennen, wenn es keine Information darüber in Deinem ganzen System gibt. Du könntest versuchen über Kontaktsensoren zusätzlich den Status des Tors zu ermitteln.
-
@mickym Kann ich bei den Mapping links auch statt zahlen Wörter eintragen.
Es gibt nämlich eine Info die immer „CLOSED“ oder „OPEN“ sagt
-
@benjaminbuch Ja das geht bedingt, wenn DU noch mit einem Script den target Datenpunkt zusätzlich über ein Script setzt, falls der nicht automatisch upgedated wird.. Allerdings darfst Du das nur beim CurrentDoorState eintragen, da Du ja weiterhin über Homematic ebenfalls steuern willst.
Allerdings nur WENN Du über Deine Logikmaschine (Blockly, NodeRed oder JS) den TargetStatus nachziehst - bzw. wenn Du mal beobachtest, dass der ursprüngliche Datenpunkt als mit dem Du bislang im Homematic steuerst automatisch auf 0 oder 2 springt.
Wenn nicht müsstest Du unabhängig davon, ob Du mit Homekit oder manuell den Targetstatus auf 0 oder 2 setzen.
Also Du schließt manuell auf - Datenpunkt zeigt OPEN an, dann musst Du auch Dein Steuerungspunkt auf 0 setzen.
Die Konfig müsste so aussehen:
sieht dann quasi so aus -
Wenn Du manuell aufschließt springt ja der Zustand (door-state) (in meinem Beispiel auf OPEN), dann musst Du den target State (door) - also Dein bisheriger Homematic Datenpunkt mit Deiner Logikmaschine auf 0 setzen und umgekehrt.
Wenn ich es mir Recht überlege brauchst auch gar nichts am YAHKA ändern, sondern musst halt über Deine Logikmaschine beide Punkte ändern. Also Du wirst nicht drum rumkommen, da der target State immer mit dem current State synchronisiert werden muss, sonst steht das ewig auf schließen ... oder öffnen ..., wenn die Punkt nicht irgendwann den gleichen Zustand annehmen.
Du kommst deshalb nicht drum rum Deine Logikmaschine zu benutzen, weil Du 2 Datenpunkte hast und Du kannst mit mapping oder einem Alias nur immer den selben Datenpunkt übersetzen - wenn Du verstehst, was ich meine.Prüf einfach mal, ob wenn in dem EINEN Datenpunkt CLOSED steht, in dem bisherigen Datenpunkt automatisch eine 2 drin steht und umgekehrt wenn in dem EINEN Datenpunkt OPEN steht, in dem bisherigen Datenpunkt 0 steht.
-
@mickym @BenjaminBuch
habt ihr schon erfolgt gehabt?
Lese immer brav mit und spiele auch rum, aber ich bin immer noch am verzweifeln. -
Nun es wurde ja nicht mehr weiterverfolgt. Im Prinzip hat es ja anfangs funktioniert und auf mein letzten Post, ob das mit dem Mapping bei CurrentState funktioniert kam dann keine Rückmeldung mehr.
-
Ich steuere meine Tore mit YAHKA und HM Komponenten bzw. Raspi GPIO
Vielleicht hilft das: https://forum.iobroker.net/topic/42518/gelöst-status-garagentor
Status wird über die Hilfsobjekten in jede Richtung übertragen.
Objekte:
Beispiel Garage links auf_zu:
var timeout; on({id: 'hm-rpc.0.OEQ0678431.1.STATE', change: "ne"}, function (obj) { var value = obj.state.val; var oldValue = obj.oldState.val; timeout = setTimeout(function () { if (getState("hm-rpc.0.OEQ0678431.1.STATE").val == false) { // Definiere Tor für HK als geschlossen setState("0_userdata.0.LageGaragentor_links_HK"/*LageGaragentor_HK*/, 1, true); setState("0_userdata.0.SchalterGaragentor_links_HK"/*schalteGaragentor_HK*/, 1, true); } else { // Definiere Tor für HK als offen setState("0_userdata.0.LageGaragentor_links_HK"/*LageGaragentor_HK*/, 0, true); setState("0_userdata.0.SchalterGaragentor_links_HK"/*schalteGaragentor_HK*/, 0, true); } }, 1000); });
Konvertiere Schaltwert Garage links aus Homekit
on({id: 'hm-rpc.0.NEQ1263062.1.STATE', change: "ne"}, function (obj) { var value = obj.state.val; var oldValue = obj.oldState.val; if (getState("0_userdata.0.LageGaragentor_links_HK").val == 1) { // Tor geschlossen if (getState("hm-rpc.0.NEQ1263062.1.STATE").val == true) { // Öffne das Tor setState("0_userdata.0.SchalterGaragentor_links_HK"/*schalteGaragentor_HK*/, 0, true); } } else if (getState("0_userdata.0.LageGaragentor_links_HK").val == 0) { // Tor offen if (getState("hm-rpc.0.NEQ1263062.1.STATE").val == true) { // Schließe das Tor setState("0_userdata.0.SchalterGaragentor_links_HK"/*schalteGaragentor_HK*/, 1, true); // Tor wird geschlossen } } }); on({id: '0_userdata.0.SchalterGaragentor_links_HK', change: "ne"}, function (obj) { var value = obj.state.val; var oldValue = obj.oldState.val; if (getState("0_userdata.0.LageGaragentor_links_HK").val == 1) { // Tor geschlossen if (getState("0_userdata.0.SchalterGaragentor_links_HK").val == 0) { // Öffne das Tor setState("hm-rpc.0.NEQ1263062.1.STATE"/*Switch*/, true); setStateDelayed("hm-rpc.0.NEQ1263062.1.STATE"/*Garagentor Öffner.STATE*/, false, 1000, false); } } else if (getState("0_userdata.0.LageGaragentor_links_HK").val == 0) { // Tor offen if (getState("0_userdata.0.SchalterGaragentor_links_HK").val == 1) { // Schließe das Tor setState("hm-rpc.0.NEQ1263062.1.STATE"/*Switch*/, true); setStateDelayed("hm-rpc.0.NEQ1263062.1.STATE"/*Garagentor Öffner.STATE*/, false, 1000, false); } } });
In Yahka:
-
@mickym
Wie ist das bei meinem Garagentor .
Hab auch Homeatic ip und bei meinem garagentor beim öffnen steht Position unknow und wenn offen OPEN .
Wie funkt das bei mir ? -
@mike-eg6 Nun ich sehe nur den Door State - der bei Dir ebenfalls OPEN, CLOSED oder wie Du sagst vielleicht unknown ist.
Damit kannst Du den CurrentDoor State füttern.
https://nrchkb.github.io/wiki/characteristic/current-door-state/
Da ich nicht weiß wie Du das Teil steuerst und selbst wahrscheinlich nicht in den DoorState selbst reinschreiben darfst, würde ich halt eigene Datenpunkte für Current und Target Stellen und den Rest mit Deiner Logikmaschine steuern.
https://nrchkb.github.io/wiki/characteristic/target-door-state/
Target kennt nur 0 und 1 - Current ist der gleiche wie Target nur dass Du hier noch öffnen und schließen hast. Das kannst in meinen Augen nur mit Deiner Logikmaschine übersetzen.
-
@mickym
Ja genau ich finde keine Punkt den ich aktiviren / setzten kann damit ich das Tor selber auf oder zufahren lassen kann in den Objekten.
Momentan läuft das schon nur über die Homatic app und ich möchte das es auch im Homekit läuft .
Jetzt sieht das bei mir so aus , da ich noch ziehmlich ein Newbie in sachen IO Broker bin meine Frage wie sieht das mit den Eigenen Datenpunkten für current und Target stellen aus ? Bzw. Der Logikmaschine?Lg mike
-
@mike-eg6 Ich hab hier mal bisschen im Internet geschaut:
https://github.com/thkl/homebridge-homematic/issues/394In Deinem vorigen Screenshot hast Du ja zum Glück Deine Datenpunkte des Adapters gepostet.
Aus den GitHub Thread
könntest Du ja mal schauen, ob Du mit 1 oder 3 im doorCommand Datenpunkt Dein Garagentor steuern kannst. Oder mit anderen Werten (0-4) schauen, was passiert.
Also einfach 1 oder 3 in den Datenpunkt schreiben und beobachten, ob Du damit das Garagentor öffnen oder schließen kannst.
-
@mickym ah ja die Idee war nicht schlecht aber wenn ichs mach wie du sagst ändert sich der Punkt von Null auf 3 oder 1 aber das Tor bewegt sich leider nicht .
Hier ein Bilder von den zuständen wenn das Tor über den Taster auffährtUnd hier das zweite wenn es offen steht
-
@mike-eg6 Nun ja das mit doorState OPEN, CLOSED oder zwischendrin POSITION_UNKNOWN ist gut zu wissen, als Rückmeldung. Aber Du willst ja das Tor auch steuern. Hast Du es schon mal mit den Werten 0,2 und 4 versucht. Wie gesagt, wenn Du über den doorCommand Datenpunkt nicht weißt, wie Du das Tor steuerst bringt Dir das ja nichts oder probier es mit "Close" oder "open". Und wichtig ist, dass Du die Werte unbestätigt da rein schreibst.