Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Entwicklung
    4. HM-RPC Tasterschnittstelle HM-PBI-4-FM langer Tastendruck

    NEWS

    • Neuer Blog: Fotos und Eindrücke aus Solingen

    • ioBroker@Smart Living Forum Solingen, 14.06. - Agenda added

    • ioBroker goes Matter ... Matter Adapter in Stable

    HM-RPC Tasterschnittstelle HM-PBI-4-FM langer Tastendruck

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

      Ja wahnsinn...wieder etwas gelernt. Vielen Dank! Zeitstempel aktualisieren sich.

      Aber welchen Wert nutze ich denn jetzt am schlausten als Trigger für lange/kurze Tastendrücke? Klar ich kann auf "press_long"/"press_short" abfragen und erhalte bei Druck ein true zurück - aber ein Zeitstempel wäre schon schicker, da ich prüfen kann ob der alte Wert ungleich dem neuen Wert ist, sprich ob es tatsächlich einen erneuten Tastendruck gab.

      paul53 1 Reply Last reply Reply Quote 0
      • paul53
        paul53 @gammler2003 last edited by paul53

        @gammler2003 sagte:

        Trigger für lange/kurze Tastendrücke?

        Ein Trigger, der keine Wertänderung voraussetzt, triggert bei Aktualisierung des Zeitstempels:

        on({id: 'xxx.PRESS_SHORT'}, function() {});
        // oder
        on({id: 'xxx.PRESS_SHORT', val: true}, function() {});
        

        Der Zeitstempel wird nur bei Tastendruck aktualisiert.

        1 Reply Last reply Reply Quote 0
        • G
          gammler2003 last edited by gammler2003

          Du hast mir wirklich sehr geholfen - herzlichen Dank.
          Nur mal noch so aus Neugier, in wiefern unterscheiden sich diese beiden Varianten?

          Die Hilfe aus dem Forum ist allgemein sehr wertvoll und ich würde mich gerne revanchieren - weiß nur noch nicht genau wie 🙂

          paul53 1 Reply Last reply Reply Quote 0
          • paul53
            paul53 @gammler2003 last edited by

            @gammler2003 sagte:

            in wiefern unterscheiden sich diese beiden Varianten?

            Bezogen auf den HM-Taster: In der Wirkung kein Unterschied.
            Ansonsten: Im ersten Fall wird bei jeder Zustandsänderung getriggert, im 2. Fall nur, wenn der Wert true ist.

            1 Reply Last reply Reply Quote 0
            • G
              gammler2003 last edited by

              Prima, vielen Dank dir.

              Ich habe festgestellt, dass der Trigger "Press_Cont" bei gedrückter Taste so häufig triggert, dass mein Hue-Adapter bzw. die Bridge nicht mitkommt und so das Dimmen nicht zuverlässig funktioniert.

              Gibt es die Möglichkeit, den Trigger

              on({id: 'xxx.PRESS_SHORT', val: true}, function() {});
              
              

              so zu erweitern, dass er beispielsweise pro Sekunde nur einmal triggert oder auch nur bei jedem 5. Trigger tatsächlich auslöst?

              paul53 1 Reply Last reply Reply Quote 0
              • paul53
                paul53 @gammler2003 last edited by paul53

                @gammler2003 sagte:

                Trigger "Press_Cont" bei gedrückter Taste so häufig triggert

                Ja, er triggert alle 250 ms.

                @gammler2003 sagte in HM-RPC Tasterschnittstelle HM-PBI-4-FM langer Tastendruck:

                pro Sekunde nur einmal triggert oder auch nur bei jedem 5. Trigger tatsächlich auslöst?

                Das ist nicht möglich. Aber man kann eine Zähl-Variable verwenden, mit der nur bei jedem 4. Trigger-Ereignis der Dimm-Wert verändert wird.
                Alternative: Intervall, das mit PRESS_LONG gestartet und mit PRESS_LONG_RELEASE gestoppt wird.

                1 Reply Last reply Reply Quote 0
                • G
                  gammler2003 last edited by

                  Hallo zusammen,

                  anderes HM-Gerät - ähnliche Problematik.

                  Bei meinem neuen HmIP-FCI1 kann ich in den Objekten die Trigger "PRESS_LONG" und "PRESS_SHORT" auslesen. Kann das Gerät auch, analog dem HM-PBI-4-FM", die Trigger "PRESS_LONG_RELEASE" und "PRESS_CONT" auslesen? Falls ja, wie bringe ich es dazu 😉

                  Vielen Dank euch vorab!

                  paul53 1 Reply Last reply Reply Quote 0
                  • paul53
                    paul53 @gammler2003 last edited by

                    @gammler2003 sagte:

                    HmIP-FCI1 kann ich in den Objekten die Trigger "PRESS_LONG" und "PRESS_SHORT" auslesen

                    HmIP-Taster funktionieren anders als HM-Taster.

                    G 1 Reply Last reply Reply Quote 0
                    • G
                      gammler2003 @paul53 last edited by

                      @paul53 genial, danke!

                      Hast du zufällig eine Idee, wie ich den Press_Long_Release erzeugen/simulieren kann? Das habe ich an meinem HM-Taster genutzt, um die Dimmrichtung (heller/dunkler) zu ändern.

                      paul53 1 Reply Last reply Reply Quote 0
                      • paul53
                        paul53 @gammler2003 last edited by paul53

                        @gammler2003 sagte:

                        Press_Long_Release erzeugen/simulieren kann?

                        Timeout von 300...400 ms, der vorher bei jedem Trigger-Ereignis gestoppt wird. Wenn der Timer dann abläuft, ist PRESS_LONG_RELEASED erreicht.

                        1 Reply Last reply Reply Quote 0
                        • G
                          gammler2003 last edited by

                          Klingt logisch, aber so ganz bekomme ich es von der Reihenfolge nicht hin. Vielleicht verstehe ich dann die Timer endlich mal 😉

                          on({id: '<<trigger>>"}, function() {
                          
                          clearTimeout(timer);
                          
                          var timer = setTimeout (
                             function () {
                               console.log("Feuer");
                             }, 
                             400
                          );
                          });
                          
                          paul53 1 Reply Last reply Reply Quote 0
                          • paul53
                            paul53 @gammler2003 last edited by

                            @gammler2003
                            Deklariere die Timer-Variable mal global.

                            const trigger = '...PRESS_LONG';
                            var timer = null;
                            
                            on({id: trigger}, function() {
                               clearTimeout(timer);
                               timer = setTimeout (function () {
                                  log("Feuer");
                               }, 400);
                            });
                            
                            1 Reply Last reply Reply Quote 0
                            • First post
                              Last post

                            Support us

                            ioBroker
                            Community Adapters
                            Donate

                            906
                            Online

                            31.9k
                            Users

                            80.2k
                            Topics

                            1.3m
                            Posts

                            hm-pbi-4-fm hm-rpc
                            2
                            16
                            763
                            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