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.
    • 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

                              495
                              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