Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Skripten / Logik
    4. [Gelöst] Taster 2x drücken soll Aktion auslösen

    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

    [Gelöst] Taster 2x drücken soll Aktion auslösen

    This topic has been deleted. Only users with topic management privileges can see it.
    • R
      RappiRN Most Active last edited by

      Ich hätte eine Idee, wie das mit Blockly zu machen wäre. Schön wäre es noch, wenn du mal die Ojekte zu deinem Taster als Screenshot zeigst, dann wissen wir, was du genau brauchst. Hier mal ein Anfang:

      2216_doppeldruck.jpg

      Hier noch der Export:

      ! ````
      <xml xmlns="http://www.w3.org/1999/xhtml"><block id="4Y}Kw8:h34T}fh.0I1" type="comment" x="338" y="63"><field name="COMMENT">Triggern Tastendruck</field>
      <next><block id="cvy,j;|02hJ7hB?kzD`]" type="on"><field name="OID">Object ID</field>
      <field name="CONDITION">ne</field>

          <statement name="STATEMENT"><block id="8]kap%V4jkWKe.)Hfjp|" type="comment"><field name="COMMENT">prüfen ob schon einmal gedrückt wurde</field>
              <next><block id="|7MIg5b@eQM??L3KZZ2c" type="controls_if"><mutation elseif="1"></mutation>
                  <value name="IF0"><block id="KZE7mDRq|lPUbM2xqrOW" type="logic_compare"><field name="OP">EQ</field>
                      <value name="A"><block id="?8{/u%f5gwHmHp)/RRW9" type="variables_get"><field name="VAR">etwas</field></block></value> 
                      <value name="B"><block id="BiB:5{|jJ@Hh9%t7I{ck" type="math_number"><field name="NUM">0</field></block></value></block></value> 
                  <statement name="DO0"><block id="t{sAcn]5:PmHIbj,mChB" type="comment"><field name="COMMENT">Aktion für einmal drücken</field>
                      <next><block id="ujIw#@I^r8riK1m@?)J%" type="variables_set"><field name="VAR">etwas</field>
                          <value name="VALUE"><block id="^f0*cO_P;kU|HvVp_v1y" type="math_number"><field name="NUM">1</field></block></value> 
                          <next><block id="BdTjcghIRtQ~:b|kH!Q:" type="timeouts_settimeout"><field name="NAME">timeout</field>
                              <field name="DELAY">1000</field>
                              <field name="UNIT">ms</field>
                              <statement name="STATEMENT"><block id="Uto+c93`ezXp7gWkvZw9" type="control"><mutation delay_input="false"></mutation>
                                  <field name="OID">Object ID</field>
                                  <field name="WITH_DELAY">FALSE</field>
                                  <value name="VALUE"><block id="alUpOB[Ao-P]=fvRsU+m" type="logic_boolean"><field name="BOOL">TRUE</field></block></value> 
                                  <next><block id="K?qL*xhPR*tnXvnjfDW_" type="variables_set"><field name="VAR">etwas</field>
                                      <value name="VALUE"><block id="l_QR0q9%5+k.PM]/t{,A" type="math_number"><field name="NUM">0</field></block></value></block></next></block></statement></block></next></block></next></block></statement> 
                  <value name="IF1"><block id="(ma!2n%7ndNCg(1r*5qG" type="logic_compare"><field name="OP">EQ</field>
                      <value name="A"><block id="30kogsu9Y68pi0rLVu@A" type="variables_get"><field name="VAR">etwas</field></block></value> 
                      <value name="B"><block id="FOxDr~PfX[refd6{Ns]y" type="math_number"><field name="NUM">1</field></block></value></block></value> 
                  <statement name="DO1"><block id="H`KOFQf3a1dXYk*,a?MO" type="comment"><field name="COMMENT">Aktion für zweimal drücken</field>
                      <next><block id="b2;!bI;:W4TwsYczawuX" type="timeouts_cleartimeout"><field name="NAME">timeout</field>
                          <next><block id="(w@%~O4uF}6T{?@njwFY" type="control"><mutation delay_input="false"></mutation>
                              <field name="OID">Object ID</field>
                              <field name="WITH_DELAY">FALSE</field>
                              <value name="VALUE"><block id="`mCTfxW{Lk9SQYLUBOJc" type="logic_boolean"><field name="BOOL">TRUE</field></block></value> 
                              <next><block id="%/Eu_bU1i%Upj);,-slc" type="variables_set"><field name="VAR">etwas</field>
                                  <value name="VALUE"><block id="x`QR:feS=%`~21J@z~U/" type="math_number"><field name="NUM">0</field></block></value></block></next></block></next></block></next></block></statement></block></next></block></statement></block></next></block></xml> 
      
      
      Enrico
      1 Reply Last reply Reply Quote 0
      • eumats
        eumats last edited by

        Erstmal Danke für die schnelle Reaktion. Anbei die Objekte des Fibaro-Aktors der am Taster hängt.
        3610_2.jpg
        3610_3.jpg
        3610_1.jpg

        1 Reply Last reply Reply Quote 0
        • R
          RappiRN Most Active last edited by

          :shock: Und welcher von den vielen Datenpunkten reagiert auf den Taster mit dem du den Doppeltast erzeugen willst??

          Ich habe von Fibaro überhaupt keine Ahnung!

          Enrico

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

            Ach so, ich dachte du wolltest mal die Datenpunkte bzgl. der Einstellungen prüfen.

            Im Folgenden sind die beiden Schalter des Autors zu finden. Switch_2 soll für die Rolläden zuständig sein. Aber diesen kann man nur true und false schalten (auch bei mehrfach Betätigung).

            Aber dank deines Skriptes scheint es zu klappen! Danke!
            3610_4.jpg

            1 Reply Last reply Reply Quote 0
            • R
              RappiRN Most Active last edited by

              Danke für den Screenshot. Also dein Taster schaltet true/false. Hast du das mit eingebaut? Weil ich glaube, dass jetzt schon ein einfacher Tastendruck reicht, um zweimal eine Änderung zu triggern! Zeig doch mal bitte das Blockly mit deinen Änderungen.

              Enrico

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

                Danke, aber wie bereits geschrieben funktioniert Dein Blocky bereits. Ich habe nur gehofft/hoffe nur das es bei Fibaro analog zu Homatic möglich ist 1x drücken, 2x drücken und langes Drücken direkt abzugreifen.

                Falls da noch jemand eine Idee hat, wäre ich für eine kurze Rückmeldung dankbar.

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

                  @eumats:

                  Fibaro analog zu Homatic möglich ist 1x drücken, 2x drücken und langes Drücken direkt abzugreifen. `
                  Mit den einfachen CommandClasses über die ZWave kommuniziert geht das nicht. Das muss softwareseitig ausgewerte werden.

                  Es gibt neuere ZWave-Geräte, die solche Funktionalität haben, aber das kann die Library und damit der ZWave-Adapter wiederum noch nicht.

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

                    Ok. Danke für die Info. Die Skriptlösung klappt ja erstmal…

                    1 Reply Last reply Reply Quote 0
                    • S
                      stan23 last edited by

                      @eumats:

                      […] analog zu Homatic möglich ist 1x drücken, 2x drücken und langes Drücken direkt abzugreifen. `
                      Hallo,

                      wie kann man bei HomeMatic 2x drücken direkt abgreifen?

                      Kurzes und langes Drücken ist mir klar, das geht über SHORT_PRESS und LONG_PRESS.

                      1 Reply Last reply Reply Quote 0
                      • Homoran
                        Homoran Global Moderator Administrators last edited by

                        Gar nicht. Ist nicht vorgesehen.

                        Gruß

                        Rainer

                        1 Reply Last reply Reply Quote 0
                        • R
                          RappiRN Most Active last edited by

                          @stan23:

                          wie kann man bei HomeMatic 2x drücken direkt abgreifen? `

                          Direkt eben nicht, wie Homoran schon geschrieben hat, aber per Skript wäre es möglich, so ähnlich wie mein Skriptvorschlag oben, du musst dann beim Homematic-Taster auch auf die Aktualisierung triggern.

                          Enrico

                          1 Reply Last reply Reply Quote 0
                          • S
                            stan23 last edited by

                            Okay, dann habe ich eumats' Satz falsch verstanden.

                            HomeMatic kann es ja nativ auch nicht erkennen, deswegen habe ich mich gewundert und gefreut dass der Adapter da was zaubert 🙂

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

                              Hi, probier mich gerade an dem Thema mittels Homematic 6fach Taster.

                              Leider scheint es nicht zu klappen. Kann mir jemand einen Tipp geben?

                              Danke
                              1682_hm.png

                              1 Reply Last reply Reply Quote 0
                              • R
                                RappiRN Most Active last edited by

                                Kommt denn auch keine debug Ausgabe? Ist das Script gestartet?

                                Enrico

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

                                  Ändere mal „wurde aktualisiert“ in „wurde geändert“.

                                  1 Reply Last reply Reply Quote 0
                                  • R
                                    RappiRN Most Active last edited by

                                    @eumats:

                                    Ändere mal „wurde aktualisiert“ in „wurde geändert“. `

                                    Bei einem Taster dürfte sich nichts ändern, da wird "true" nur aktualisiert!

                                    Enrico

                                    1 Reply Last reply Reply Quote 0
                                    • S
                                      stan23 last edited by

                                      @RappiRN:

                                      Ich hätte eine Idee, wie das mit Blockly zu machen wäre. Schön wäre es noch, wenn du mal die Ojekte zu deinem Taster als Screenshot zeigst, dann wissen wir, was du genau brauchst. Hier mal ein Anfang:

                                      Doppeldruck.JPG `

                                      Danke für diesen Lösungsvorschlag!

                                      Ein Problem ist mir aufgefallen:

                                      die Variable "etwas" hat anfangs den Wert undefiniert und weder das erste noch das zweite falls greift.

                                      Ich bin Blockly-Anfänger und habe das erste falls etwas gleich 0 in ein ungleich 1 geändert, weil ich nicht weiß wie man Variablen sauber initialisiert und wie lange sie den Wert behalten.

                                      Viele Grüße

                                      Marco

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

                                        @stan23:

                                        Ich bin Blockly-Anfänger und habe das erste falls etwas gleich 0 in ein ungleich 1 geändert, weil ich nicht weiß wie man Variablen sauber initialisiert und wie lange sie den Wert behalten. `

                                        Hallo stan23

                                        Alles was außerhalb eines Triggers ist, wird einmalig bei Scriptstart ausgeführt.

                                        Also einfach oberhalb des Triggers ein "setze var auf Initialwert."

                                        In Deinem Fall also '0'

                                        Grüße

                                        1 Reply Last reply Reply Quote 0
                                        • S
                                          stan23 last edited by

                                          Danke rantanplan!

                                          Hier ist für alle anderen der Export mit Initialisierung:
                                          3680_zweimal_dr_cken.png

                                          ! ````
                                          <xml xmlns="http://www.w3.org/1999/xhtml"><block type="comment" id="9%#,LtcJ3[Ypi9yjAt" x="362" y="37"><field name="COMMENT">Initialisierung</field>
                                          <next><block type="variables_set" id="c1)uP|+u2k[GC!CBPH.h"><field name="VAR">etwas</field>
                                          <value name="VALUE"><block type="math_number" id="@KwpbL?u2uRu5GAjQjh"><field name="NUM">0</field></block></value> <next><block type="comment" id="4Y}Kw8:h34T}fh.0I1"><field name="COMMENT">Triggern Tastendruck</field> <next><block type="on" id="cvy,j;|02hJ7hB?kzD]"><field name="OID">Object ID</field>
                                          <field name="CONDITION">ne</field>

                                                      <statement name="STATEMENT"><block type="comment" id="8]kap%V4jkWKe.)Hfjp|"><field name="COMMENT">prüfen ob schon einmal gedrückt wurde</field>
                                                          <next><block type="controls_if" id="|7MIg5b@eQM??L3KZZ2c"><mutation elseif="1"></mutation>
                                                              <value name="IF0"><block type="logic_compare" id="KZE7mDRq|lPUbM2xqrOW"><field name="OP">EQ</field>
                                                                  <value name="A"><block type="variables_get" id="?8{/u%f5gwHmHp)/RRW9"><field name="VAR">etwas</field></block></value> 
                                                                  <value name="B"><block type="math_number" id="BiB:5{|jJ@Hh9%t7I{ck"><field name="NUM">0</field></block></value></block></value> 
                                                              <statement name="DO0"><block type="comment" id="t{sAcn]5:PmHIbj,mChB"><field name="COMMENT">Aktion für einmal drücken</field>
                                                                  <next><block type="variables_set" id="ujIw#@I^r8riK1m@?)J%"><field name="VAR">etwas</field>
                                                                      <value name="VALUE"><block type="math_number" id="^f0*cO_P;kU|HvVp_v1y"><field name="NUM">1</field></block></value> 
                                                                      <next><block type="timeouts_settimeout" id="BdTjcghIRtQ~:b|kH!Q:"><field name="NAME">timeout</field>
                                                                          <field name="DELAY">1000</field>
                                                                          <field name="UNIT">ms</field>
                                                                          <statement name="STATEMENT"><block type="control" id="Uto+c93`ezXp7gWkvZw9"><mutation delay_input="false"></mutation>
                                                                              <field name="OID">Object ID</field>
                                                                              <field name="WITH_DELAY">FALSE</field>
                                                                              <value name="VALUE"><block type="logic_boolean" id="alUpOB[Ao-P]=fvRsU+m"><field name="BOOL">TRUE</field></block></value> 
                                                                              <next><block type="variables_set" id="K?qL*xhPR*tnXvnjfDW_"><field name="VAR">etwas</field>
                                                                                  <value name="VALUE"><block type="math_number" id="l_QR0q9%5+k.PM]/t{,A"><field name="NUM">0</field></block></value></block></next></block></statement></block></next></block></next></block></statement> 
                                                              <value name="IF1"><block type="logic_compare" id="(ma!2n%7ndNCg(1r*5qG"><field name="OP">EQ</field>
                                                                  <value name="A"><block type="variables_get" id="30kogsu9Y68pi0rLVu@A"><field name="VAR">etwas</field></block></value> 
                                                                  <value name="B"><block type="math_number" id="FOxDr~PfX[refd6{Ns]y"><field name="NUM">1</field></block></value></block></value> 
                                                              <statement name="DO1"><block type="comment" id="H`KOFQf3a1dXYk*,a?MO"><field name="COMMENT">Aktion für zweimal drücken</field>
                                                                  <next><block type="timeouts_cleartimeout" id="b2;!bI;:W4TwsYczawuX"><field name="NAME">timeout</field>
                                                                      <next><block type="control" id="(w@%~O4uF}6T{?@njwFY"><mutation delay_input="false"></mutation>
                                                                          <field name="OID">Object ID</field>
                                                                          <field name="WITH_DELAY">FALSE</field>
                                                                          <value name="VALUE"><block type="logic_boolean" id="`mCTfxW{Lk9SQYLUBOJc"><field name="BOOL">TRUE</field></block></value> 
                                                                          <next><block type="variables_set" id="%/Eu_bU1i%Upj);,-slc"><field name="VAR">etwas</field>
                                                                              <value name="VALUE"><block type="math_number" id="x`QR:feS=%`~21J@z~U/"><field name="NUM">0</field></block></value></block></next></block></next></block></next></block></statement></block></next></block></statement></block></next></block></next></block></next></block></xml> 
                                          

                                          ! ````

                                          EDIT: die richtige Variable initialisiert.

                                          1 Reply Last reply Reply Quote 0
                                          • R
                                            RappiRN Most Active last edited by

                                            @stan23:

                                            Ein Problem ist mir aufgefallen:

                                            die Variable "etwas" hat anfangs den Wert undefiniert und weder das erste noch das zweite falls greift.

                                            Ich bin Blockly-Anfänger und habe das erste falls etwas gleich 0 in ein ungleich 1 geändert, weil ich nicht weiß wie man Variablen sauber initialisiert und wie lange sie den Wert behalten. `

                                            Das habe ich selbst erst vor ein paar Tagen gelernt, dass man diese Variablen "initialisieren" muss. 😄

                                            Enrico

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

                                            Support us

                                            ioBroker
                                            Community Adapters
                                            Donate

                                            832
                                            Online

                                            31.9k
                                            Users

                                            80.2k
                                            Topics

                                            1.3m
                                            Posts

                                            8
                                            24
                                            3870
                                            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