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.
    • paul53
      paul53 @gammler2003 last edited by paul53

      @gammler2003 sagte:

      hat es bereits jemand geschafft, den HM-PBI-4-FM sauber über ioBroker einzubinden und sowohl lange als auch kurze Tasterbetätigungen auszulesen?

      Ja, einen ähnlichen Taster: siehe hier. Wird der Zeitstempel von PRESS_SHORT aktualisiert, wenn die Taste kurz gedrückt wird ? Falls nicht, sollte sich die Taste eines Kanals über das folgende Script aktivieren lassen.

      const inst = 'hm-rpc.0';
      const channel = 'XEQ1234567:1';
      const dp = 'PRESS_SHORT';
       
      sendTo(inst, 'reportValueUsage', {ID: channel, paramType: dp, params: 1}, res => {
          log(JSON.stringify(res));
      });
      
      1 Reply Last reply Reply Quote 0
      • G
        gammler2003 last edited by gammler2003

        Vielen Dank für deine schnelle Rückmeldung.
        Was genau meinst du mit Zeitstempel? In meinen Objekten sehe ich unter "Press_Short" lediglich einen Button zum triggern.

        Das Script habe ich ausgeführt. Es führt zu folgendem Ergebnis:

        hm-rpc.0	2020-07-02 19:47:42.884	warn	(9369) xmlrpc <- undefined method updateDevice with parameters ["hm-rpc.0","QEQ1859022:1",1]
        javascript.0	2020-07-02 19:47:42.883	info	(1994) script.js.Entwicklung.hmte: {"result":false,"error":null}
        

        Wie im verlinkten Thread beschrieben habe ich den Taster von "gesichert" auf "standard" umgestellt.

        Drücke ich jetzt eine Taste, reagieren je nach Dauer des Drucks die bool Werte bei "Install_Test" und wenn ich länger drücke auch "Press_Cont" und beim Loslassen "Press_Long_Release".

        Damit kann ich fast schon arbeiten, vielen Dank 🙂 Jetzt wäre es noch klasse, wenn ich Zeitstempel für die Tastendrücke hätte. Sprich warum werden unter "press_long" und "press_short" keine Zeitstempel sondern diese Trigger angezeigt? Bekomme ich das noch geändert?

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

          @gammler2003 sagte:

          "press_long" und "press_short" keine Zeitstempel

          Wechsle mal im Tab "Objekte" in die Statusansicht (5. Button oben).

          1 Reply Last reply Reply Quote 0
          • 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

                                  907
                                  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