Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. ioBroker Allgemein
    4. Hilfe!! Keymatic in Yakha einbinden

    NEWS

    • [erledigt] 15. 05. Wartungsarbeiten am ioBroker Forum

    • ioBroker goes Matter ... Matter Adapter in Stable

    • Monatsrückblick - April 2025

    Hilfe!! Keymatic in Yakha einbinden

    This topic has been deleted. Only users with topic management privileges can see it.
    • D
      dan11hh last edited by

      @Bischof

      Hast Du es inzwischen am laufen? Probiere auch gerade rum…

      1 Reply Last reply Reply Quote 0
      • Asgothian
        Asgothian Developer last edited by

        Hallo,

        ich habe kein Keymatic Schloss, habe ich mich aber mit der Funktionalität des Yahka "Lockmechanism" Dienstes beschäftigt weil überlege mir ein Schloss zu besorgen das ich sowohl im IoBroker als auch im HomeKit steuern kann.

        Dieser funktioniert eigentlich ganz einfach:

        im LockStatus muss ein Int stehen - 0 = unlocked, 1 = locked, 2 = jammed, 3 = unknown

        im LockTarget muss auch ein int stehen - 0 : Schloss soll Oeffnen, 1 : Schloss soll Schliessen

        Wie die Datenpunkte in Keymatic aussehen weiss nicht.

        Mit 1 oder 2 Scripten und 2 manuell angelegten Datenpunkten für Yahka sollte das aber recht problemlos ansprechbar sein.

        Script 1: Trigger of LockTarget geändert, Wenn auf 0, dann Keymatic Aufschliessen setzen, Wenn auf 1 Keymatic zuschliessen setzen.

        Wenn das Keymatic Schloss nur ein "State" Objekt hat (Wie z.Bsp. ein Licht, bei dem "on" gleichzeitig das schalten als auch den Status liefert), dann muss der LockStatus (ggf. mit etwas Verzögerung) auf den entsprechenden Status gesetzt werden (Wichtig: Wenn Wert Anpassung acknowledged, dann LockStatus = LockTarget, ansonsten LockStatus = 2)

        Wenn es getrennte Datenpunkte sind, dann sollte das 2. Script Trigger auf den Statusdatenpunkt vom Keymatik haben. Auch hier wieder Trigger auf Veränderung. Wenn dabei ein Sollzustand erreicht wird (Auf oder zu), dann muss sowohl LockTarget als auch LockStatus auf den entsprechenden Wert gesetzt werden. Beide sind wichtig, damit der Status im HomeKit richtig umgesetzt wird.

        Wichtig ist: Nur eine Lösung zur Anzeige des Status geht auch, allerdings muss dann die Verbindung vom HomeKit zum Schliessen des Schlosses entfernt werden, und über das Script das die mit Yahka verbundenen Datenpunkte überwacht muss ein Schliessvorgang simuliert werden, da HomeKit ansonsten immer "unlocking…" oder "locking..." als Status anzeigt !

        Ich hoffe damit kommst Du erst einmal weiter ?

        A

        1 Reply Last reply Reply Quote 0
        • B
          Bischof last edited by

          @Asgothian:

          Hallo,

          ich habe kein Keymatic Schloss, habe ich mich aber mit der Funktionalität des Yahka "Lockmechanism" Dienstes beschäftigt weil überlege mir ein Schloss zu besorgen das ich sowohl im IoBroker als auch im HomeKit steuern kann.

          Dieser funktioniert eigentlich ganz einfach:

          im LockStatus muss ein Int stehen - 0 = unlocked, 1 = locked, 2 = jammed, 3 = unknown

          im LockTarget muss auch ein int stehen - 0 : Schloss soll Oeffnen, 1 : Schloss soll Schliessen

          Wie die Datenpunkte in Keymatic aussehen weiss nicht.

          Mit 1 oder 2 Scripten und 2 manuell angelegten Datenpunkten für Yahka sollte das aber recht problemlos ansprechbar sein.

          Script 1: Trigger of LockTarget geändert, Wenn auf 0, dann Keymatic Aufschliessen setzen, Wenn auf 1 Keymatic zuschliessen setzen.

          Wenn das Keymatic Schloss nur ein "State" Objekt hat (Wie z.Bsp. ein Licht, bei dem "on" gleichzeitig das schalten als auch den Status liefert), dann muss der LockStatus (ggf. mit etwas Verzögerung) auf den entsprechenden Status gesetzt werden (Wichtig: Wenn Wert Anpassung acknowledged, dann LockStatus = LockTarget, ansonsten LockStatus = 2)

          Wenn es getrennte Datenpunkte sind, dann sollte das 2. Script Trigger auf den Statusdatenpunkt vom Keymatik haben. Auch hier wieder Trigger auf Veränderung. Wenn dabei ein Sollzustand erreicht wird (Auf oder zu), dann muss sowohl LockTarget als auch LockStatus auf den entsprechenden Wert gesetzt werden. Beide sind wichtig, damit der Status im HomeKit richtig umgesetzt wird.

          Wichtig ist: Nur eine Lösung zur Anzeige des Status geht auch, allerdings muss dann die Verbindung vom HomeKit zum Schliessen des Schlosses entfernt werden, und über das Script das die mit Yahka verbundenen Datenpunkte überwacht muss ein Schliessvorgang simuliert werden, da HomeKit ansonsten immer "unlocking…" oder "locking..." als Status anzeigt !

          Ich hoffe damit kommst Du erst einmal weiter ?

          A `

          Hallo Asgothian,

          vielen Dank für das tolle Feedback.

          Ohne es jetzt genau zu wissen, glaube ich, gibt es irgendwo solche Status auch in der keymatic…. aber wie du ja auch schon schreibst, mit Script bestimmt umsetzbar....

          Ich bin derzeit leider noch unterwegs und komme erst nächste Woche zum testen....

          Danach werd ich mal Feedback geben!

          Vielen Dank

          Gruß

          Bischof

          Gesendet von iPhone mit Tapatalk

          1 Reply Last reply Reply Quote 0
          • D
            dan11hh last edited by

            Bist Du weitergekommen? Wollte auch Keymatic in Yakha einbinden und kriege es auch nicht hin…

            Wir wird zwar der State angezeigt (leider umgekehrt, also zu ist auf und andersherum), aber ich kann das Schloß leider nicht bedienen.

            1 Reply Last reply Reply Quote 0
            • Asgothian
              Asgothian Developer last edited by

              Zeig doch mal Screenshots des Objektbaums vom keymatik schloss und schreib welche Datenpunkte was bewirken und wie sie sich ändern wenn du das Schloss manuell schließt, bzw. wie du das Schloss durch setzen der Datenpunkte schließt, dann Kaninchen dir ein paar Hinweise geben.

              A.

              1 Reply Last reply Reply Quote 0
              • D
                dan11hh last edited by

                Hallo Asgothian,

                danke für Dein Hilfe.

                Anbei der Screenshot. Ich weiß leider selbst nicht zu 100% was welcher Datenpunkt bewirkt. Etwas eindeutiges gibt es nicht wirklich…

                Der einzige State der sich verändert ist Schloss Waschküche.state von auf (true) auf geschlossen (false). Setze ich die Werte in ioBroker, öffnet oder schließt sich auch das Schloss.Während des Schließvorganges gibt es noch weitere Bewegung bei den "Error" Werten, aber das ist für das Schließen und öffnen egal, denke ich. Diese Werte werden ja auch zu Yahka übernommen, aber invertiert, also in Yahka steht Tür geschlossen, obwohl sie auf ist. Irgendeine Aktion kann ich aber leider nicht damit auslösen.

                Schloss offen:
                17266_bildschirmfoto_2019-02-09_um_09.35.36.png

                Schloss geschlosse:
                17266_bildschirmfoto_2019-02-09_um_10.36.42.png

                So es funktioniert offenbar als Switch. Nicht als Lock. Das ist natürlich nicht soo schön, wegen des falschen Symbols. Der State ist nun bei ON eingetragen. Gibt es da eine Chance das hinzubekommen?

                1 Reply Last reply Reply Quote 0
                • Asgothian
                  Asgothian Developer last edited by

                  Hin zu bekommen ist das auf jeden Fall.

                  am Einfachsten mit Yahka 0.9.1, siehe Screenshot. An Stelle von javascript.0.SwitchObject muss bei dir das HEQ0407235.1.STATE Objekt drin stehen.

                  bei älterer Version von Yahka müsstest du dir 2 Scripte und 2 temp-Objekte machen:

                  1. Script:

                  on({id: <heq0407235.1.state>}, function(obj) {

                  if (obj.newState.val) setState( <scriptobjekt1>, 0,true); else setState(<scriptobjekt1>,1,true);

                  }

                  });

                  on({id: <scriptobjekt1>}, function(obj) {

                  setState( <heq0407235.1.state>, obj.newState.val == 0);

                  }

                  });

                  <scriptobjekt1>ist dann für Yahka lockkurrentstate, <scriptobjekt2>ist dann fuer Yahka locktargetstate

                  Wichtig: du musst die Namen der Objekte in <> korrigieren, so das sie bei dir passen.</scriptobjekt2></scriptobjekt1></heq0407235.1.state></scriptobjekt1></scriptobjekt1></scriptobjekt1></heq0407235.1.state>
                  16286_screen_shot_2019-02-09_at_11.51.20_.png

                  1 Reply Last reply Reply Quote 0
                  • D
                    dan11hh last edited by

                    Yes!!! Du bist mein Held!!! 😉

                    Danke Dir. Hab das Skript aus dem Screenshot genommen, habe auch die neuste Yahka Version.

                    Eine Sache noch:

                    Wenn ich sperre oder aufschließe bekomme ich drei Push Nachrichten. Schloss abgeschlossen. Schloss aufgeschlossen. Schloss abgeschlossen. Und anderesherum. Auch das Symbol, zeigt erst abgeschlossen, dann aufgeschlossen um letztlich zum Endzustand abgeschlossen zu wechseln. Noch eine Idee woran das liegt?

                    1 Reply Last reply Reply Quote 0
                    • Asgothian
                      Asgothian Developer last edited by

                      Das kann ich so genau leider nicht sagen. Ich gehe davon aus das es damit zu tun hat das das Schloss etwas zeit braucht den Wert per Ack auch zu bestätigen. Umgehen kannst du das nur wenn du fuer den "status" einen eigenen Script-gesteuerten Datenpunkt einfügst, den du dann selber aktualisierst, so das ist und soll nicht auf den gleichen Datenpunkt zeigen.

                      So z.Bsp.

                      im locktargetstate to Homekit

                      setTimeout(function() { setState(<name eines/von/hand/gebauten/states="">, value, true); }, 100);

                      if (value) return 0;

                      return 1;

                      im locktargetstate from Homekit

                      setTimeout(function() { setState(<name eines/von/hand/gebauten/states="">, (value===0), true); }, 100);

                      return (value===0);

                      Dann kannst du den LockCurrentState auf das oben angegebene Objekt linken.

                      A.</name></name>

                      1 Reply Last reply Reply Quote 0
                      • D
                        dtp last edited by

                        So ganz zufrieden bin ich mit der hier vorgestellten Lösung ehrlich gesagt noch nicht.

                        Ich habe einen HmIP-DLD (quasi die HMIP-Keymatic), der ja die Kommandos "entriegeln", "verriegeln" und "öffnen" kennt. Ich möchte also, dass ich z.B. per Siri den DLD in diese drei unterschiedlichen Stellungen bringen kann. Als Zustände gibt es "entriegelt", "verriegelt" und "unbekannt".

                        Hat das schon jemand entsprechend umgesetzt?

                        D 1 Reply Last reply Reply Quote 0
                        • D
                          dtp @dtp last edited by dtp

                          Also soweit habe ich es mit den Services "LockMechanism" und "Switch" ganz gut ohne Skript hinbekommen.

                          2022-05-20_18h51_56.jpg

                          Für das Öffnen habe ich mir noch einen zusätzlichen Schalter definiert (da hätte ich aber gerne, dass er wieder automatisch ausschaltet, um eine Taster-Funktion zu realisieren).

                          2022-05-20 18-53-39.jpg

                          2022-05-20 18-53-31.jpg

                          2022-05-20 18-54-20.jpg

                          2022-05-20 18-54-13.jpg

                          Der Zustand "UNKNOWN" wird dann in Homekit als "Klemmt" angezeigt.

                          2022-05-20 18-03-17.jpg

                          Auch per Siri über die Watch funktioniert es ganz gut.

                          2022-05-20 18-54-04.png

                          Das Öffnen per Siri will aber noch nicht. Jemand eine Ahnung, wie ich den Schalter konfigurieren muss, damit ich ihn auch direkt per Siri ansprechen kann?

                          UweRLP D 2 Replies Last reply Reply Quote 0
                          • UweRLP
                            UweRLP @dtp last edited by UweRLP

                            Hallo.
                            Auch ich habe einen HmIP-DLD aber nicht den Yahka Adapter.
                            Für den HmIP-DLD habe ich einen Alias erstellt. Um das Händling zu vereinfachen habe ich den Alias um zwei Datenpunkte LOCK & UNLOCK erweitert. Diese Datenpunkte können einfach auf true/false gesetzt werden und lösen entsprechen die Aktion am DLD aus.
                            Vermutlich wird dies auch den Umgang mit Assisten und andern Adaptern erleichtern.

                            Hier mal ein paar Bilder.

                            01. Alias DLD Übersicht.png
                            02. Übersicht Devicemanager.png
                            03. Lese Schreib LOCK.png
                            04. Lese Schreib UNLOCK.png

                            1 Reply Last reply Reply Quote 0
                            • D
                              dtp @dtp last edited by dtp

                              Kurz noch was zu meinem vorherigen Posting.

                              Ihr müsst unbedingt überall den Haken bei "is simple value" entfernen. Leider kommt der automatisch jedes Mal wieder, wenn man die Einstellungen aufruft. Das scheint mir ein Bug des yahka-Adapters zu sein. Vergisst man vor dem Abspeichern, den Haken zu entfernen, klappt es nicht mit dem Öffnen und Schließen des DLD.

                              2022-08-08_17h07_02.jpg

                              Das hat mich eben fast zur Verzweiflung gebracht.

                              1 Reply Last reply Reply Quote 0
                              • D
                                DeAspi88 last edited by

                                Hallo ich habe mal eine Frage an die Experten,

                                es geht um ein Schloss welches im KNX System hängt und nun per HomeKit gesteuert werden soll.

                                Folgende Ausgangssituation.

                                Türschloss ist im KNX System mit einem normalen Relaisausgang angesteuert. Heißt ich steuere den Ausgang an, dann gibt dieser für 3 Sekunden 230Volt aus und das Türschloss geht auf. Nach den 3 Sekunden geht das Schloss wieder zu und die Tür ist in der Zwischenzeit aufgemacht worden.

                                Nun versuche ich das ganze über Yahka mit HomeKit zu verbinden.
                                Das funktioniert auch soweit aber bei HomeKit gibt es ja mehrere Zustände... abgeschlossen, Aufgeschlossen usw...
                                Ich habe das Problem dass wenn ich die Tür anwähle dann aufgeschlossen kommt aber nicht automatisch auf abgeschlossen zurückspringt.
                                Heißt ich drücke auf Türe öffnen, dann öffnet sich die Türe. Im Display steht dann aufgeschlossen. Hier sollte dann automatisch nach 3 Sekunden wieder abgeschlossen stehen.

                                Hat hier jemand Erfahrung und kann mir einen Tipp geben wie ich das lösen könnte?
                                Hier noch meine Momentane Konfiguration

                                Bildschirmfoto 2024-08-11 um 20.15.56.png

                                S 1 Reply Last reply Reply Quote 0
                                • S
                                  superbraz @DeAspi88 last edited by

                                  Gruß,
                                  hab nun auch das DLD im Einsatz und es via Yahka + Blockly im Homekit eingebunden.
                                  Gehe hierbei über eigen angelegte Datenpunkte im Userdata...(Alias?)

                                  Öffnen und schließen funktioniert einwandfrei...aber den Status "klemmt" bekomm ich nicht gelöst...

                                  ich frage den LOCK STATE vom DLD ab...
                                  locked(1) > geschlossen
                                  unlocked(2) > offen
                                  unknown(0) > klemmt

                                  während des Schließvorgangs wechselt er jedoch auf 0 und sobald ich dies abfrage, erhalte ich "klemmt",
                                  auch wenn es gar nicht klemmt...
                                  müsste also verzögert prüfen, ob es auf 0 bleibt/wechselt...

                                  hab auch verschiedene "Timeouts" probiert, vermutlich aber nicht korrekt.

                                  Hat vielleicht jemand einen Tipp?

                                  Screenshot 2025-01-02 105104.png

                                  black.falcon87 1 Reply Last reply Reply Quote 0
                                  • black.falcon87
                                    black.falcon87 @superbraz last edited by

                                    @superbraz
                                    So auf die Schnelle würde ich bei der dritten Variante eine Pause von ein paar Sekunden einbauen und dann den Wert nochmal vom Datenpunkt abfragen statt über den Trigger Wert.

                                    a583d8f0-c870-42d9-ab86-8aa852098a97-image.png

                                    Bestimmt lässt es sich aber auch eleganter Lösen, indem man beim Wert Baustein irgendwie weitere Bedingungen einbaut und z.B. den Zeitstempel der Änderung abfragt. Aber das übersteigt jetzt glaube ich meine Kenntnis 🙂

                                    6bce74e9-3d5b-4188-a52e-de050fe27985-image.png

                                    black.falcon87 S 2 Replies Last reply Reply Quote 0
                                    • black.falcon87
                                      black.falcon87 @black.falcon87 last edited by

                                      Oder versuchs mit einem Timeout bei dem Wert 0.
                                      Diesen halt verzögert um x Sekunden schreiben.

                                      Sollte der Wert zwischenzeitlich aber auf 1 oder 2 springen dann wird der Timeout gestoppt

                                      1b9d837b-2a13-4742-aa1a-ad692faa54c2-image.png

                                      S 1 Reply Last reply Reply Quote 0
                                      • S
                                        superbraz @black.falcon87 last edited by

                                        @black-falcon87 said in Hilfe!! Keymatic in Yakha einbinden:

                                        @superbraz
                                        So auf die Schnelle würde ich bei der dritten Variante eine Pause von ein paar Sekunden einbauen und dann den Wert nochmal vom Datenpunkt abfragen statt über den Trigger Wert.

                                        a583d8f0-c870-42d9-ab86-8aa852098a97-image.png

                                        da springt er nach 5 Sek wieder auf "klemmt"

                                        1 Reply Last reply Reply Quote 0
                                        • S
                                          superbraz @black.falcon87 last edited by superbraz

                                          @black-falcon87 said in Hilfe!! Keymatic in Yakha einbinden:

                                          Oder versuchs mit einem Timeout bei dem Wert 0.
                                          Diesen halt verzögert um x Sekunden schreiben.

                                          Sollte der Wert zwischenzeitlich aber auf 1 oder 2 springen dann wird der Timeout gestoppt

                                          1b9d837b-2a13-4742-aa1a-ad692faa54c2-image.png

                                          Damit scheint es zu funktionieren! Vielen Dank!

                                          musste noch etwas in der Abfrage ändern, damit es sich auch wieder zurück setzt, wenn es "klemmt" und man wieder auf oder zu sperrt...

                                          hier für alle, die es noch benötigen:

                                          das sind die Datenpunkte, die ich mir angelegt habe:

                                          hmip_dld_yahka_iobroker userdata.png

                                          das ist das blockly skript:

                                          hmip_dld_yahka_iobroker.png

                                          1 Reply Last reply Reply Quote 0
                                          • First post
                                            Last post

                                          Support us

                                          ioBroker
                                          Community Adapters
                                          Donate
                                          FAQ Cloud / IOT
                                          HowTo: Node.js-Update
                                          HowTo: Backup/Restore
                                          Downloads
                                          BLOG

                                          762
                                          Online

                                          31.6k
                                          Users

                                          79.5k
                                          Topics

                                          1.3m
                                          Posts

                                          10
                                          28
                                          4356
                                          Loading More Posts
                                          • Oldest to Newest
                                          • Newest to Oldest
                                          • Most Votes
                                          Reply
                                          • Reply as topic
                                          Log in to reply
                                          Community
                                          Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen
                                          The ioBroker Community 2014-2023
                                          logo