Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. ioBroker Allgemein
    4. HM Keymatic: Mehrfacher Statuswechsel

    NEWS

    • Neues Video "KI im Smart Home" - ioBroker plus n8n

    • Neues Video über Aliase, virtuelle Geräte und Kategorien

    • Wir empfehlen: Node.js 22.x

    HM Keymatic: Mehrfacher Statuswechsel

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

      Hallo,

      kennt jemad das Problem, dass das Keymatic-Schloss beim Auf- und Zuschließen den Status mehrmals zwischen true und false wechselt?

      Das bringt meine Skripte bzgl. An- und Abwesenheit mächtig durcheinander.

      3993_km-state.jpeg

      Danke!

      Frank

      1 Reply Last reply Reply Quote 0
      • apollon77
        apollon77 last edited by

        Hi,

        ja, da die Keymatic ja ne weile braucht scheint die zuerst nochmal den Status zu senden den Sie hat wenn man was steuern will und dann nachdem die Aktion ausgeführt wurde kommt der aktuelle status. Ja das ist normal.

        1 Reply Last reply Reply Quote 0
        • frank2604
          frank2604 last edited by

          Hallo,

          hat eventuell jemand eine Idee, wie ich mit Blockly einen Status-Datenpunkt setzen kann, der bei jedem Auf- und Abschließen entsprechend nur einmal seinen Status wechselt? :?

          Danke vorab.

          Frank

          1 Reply Last reply Reply Quote 0
          • Dutchman
            Dutchman Developer Most Active Administrators last edited by

            @frank2604:

            Hallo,

            hat eventuell jemand eine Idee, wie ich mit Blockly einen Status-Datenpunkt setzen kann, der bei jedem Auf- und Abschließen entsprechend nur einmal seinen Status wechselt? [emoji53]

            Danke vorab.

            Frank `

            Ehm ja,

            • du triggerst auf den Statuswechsel

            • machst einen timeout

            • erst nach dem timeout Wert auslesen und in ein object schreiben

            Weiß nicht wie lange der timeout sein muss Aber sollte halt ausreichend sein dass die keymatic fertig ist

            –-----------------------

            Send from mobile device

            1 Reply Last reply Reply Quote 0
            • frank2604
              frank2604 last edited by

              Hi,

              ok, hatte ich so schon mal probiert, glaube ich, und hatte nicht so recht funktioniert.

              Werde es aber noch einmal so aufsetzten.

              Danke.

              Frank

              1 Reply Last reply Reply Quote 0
              • Dutchman
                Dutchman Developer Most Active Administrators last edited by

                @frank2604:

                Hi,

                ok, hatte ich so schon mal probiert, glaube ich, und hatte nicht so recht funktioniert.

                Werde es aber noch einmal so aufsetzten.

                Danke.

                Frank `

                versuch mal und post was du in blockly gemacht hast dan koennen wir mal drueber schaun und dir helfen.

                En ich die logic der keymatic so sehe sollte die logic im blockly welche ich geschrieben haben das problem so loesen man kan dabei aber einige fehler machen.

                Da koennen wir uns aber gegenseitig bei helfen und wir haben auch noch unseren blocky guru @rantanplan

                1 Reply Last reply Reply Quote 0
                • frank2604
                  frank2604 last edited by

                  Mache ich am WE

                  Danke 😉

                  1 Reply Last reply Reply Quote 0
                  • frank2604
                    frank2604 last edited by

                    So, falls jemand über diesen Beitrag stolpert. Hier die Blockly-Lösung, mit es bei mir nun funktioniert.

                    Statt auf den "flatternden" Datenpunkt STATE der Keymatic zu triggern, mache ich das nun in allen weiteren Skripten mit meinem eigenen Logik-Datenpunkt "Status Türschloss ist auf", den ich wie folgt setzte:

                    3993_keymatic_skript.jpeg

                    @Dutchman: Danke nochmal für Dein Hilfeangebot.

                    Grüße

                    Frank

                    1 Reply Last reply Reply Quote 0
                    • Dutchman
                      Dutchman Developer Most Active Administrators last edited by

                      Hi Frank,

                      Hatte ich das richtig verstanden dass die keymatic den Status true | false | true gibt wegen der Verzögerung?

                      Wen ja sei dir bitte bewusst dass du jetzt 3 Mal einen timer auslöst.

                      Das kannst du umgehen durch voor de timer erst einen Reset timer hinzu zu fügen

                      –-----------------------

                      Send from mobile device

                      1 Reply Last reply Reply Quote 0
                      • frank2604
                        frank2604 last edited by

                        Ja, dessen war ich mir bewusst, aber so ist es natürlich noch eleganter.

                        Ich vermute Du meist so:

                        3993_keymatic_skript_2.jpeg

                        Bedankt!

                        1 Reply Last reply Reply Quote 0
                        • Dutchman
                          Dutchman Developer Most Active Administrators last edited by

                          @frank2604:

                          Ich vermute Du meist so: `

                          Genau 😄

                          –-----------------------

                          Send from mobile device

                          1 Reply Last reply Reply Quote 0
                          • JohGre
                            JohGre last edited by

                            Hallo,

                            könntet ihr auch den Scriptcode posten, da ich alles auf Scriptbasis habe würde ich gerne sehen was Blocky draus macht.

                            Danke 😄

                            1 Reply Last reply Reply Quote 0
                            • frank2604
                              frank2604 last edited by

                              Klar:

                              var timeout;
                              
                              on({id: 'hm-rpc.0.JEQ0082309.1.STATE', change: "ne"}, function (obj) {
                                var value = obj.state.val;
                                var oldValue = obj.oldState.val;
                                (function () {if (timeout) {clearTimeout(timeout); timeout = null;}})();
                                timeout = setTimeout(function () {
                                  if (getState("hm-rpc.0.JEQ0082309.1.STATE").val == true) {
                                    if (getState("status.0.Türschloss_auf").val == false) {
                                      setState("status.0.Türschloss_auf"/*Status Türschloss ist auf*/, true, true);
                                    }
                                  } else {
                                    if (getState("status.0.Türschloss_auf").val == true) {
                                      setState("status.0.Türschloss_auf"/*Status Türschloss ist auf*/, false, true);
                                    }
                                  }
                                }, 2000);
                              });
                              
                              1 Reply Last reply Reply Quote 0
                              • JohGre
                                JohGre last edited by

                                Danke 🙂

                                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

                                638
                                Online

                                32.1k
                                Users

                                80.7k
                                Topics

                                1.3m
                                Posts

                                4
                                14
                                1358
                                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