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.
    • eumats
      eumats last edited by

      Hallo zusammen,

      nach dem ich an einem Rolladen erfolgreich einen Versuchsballon gestartet haben, möchte ich nun mein Haus komplett mit den Fibaro roller shutter 2 (FGR-222) ausrüsten.

      Dabei soll es neben der Möglichkeit der HomeKit und Alexa Steuerung, die (dank iobroker und der Hilfe hier im Forum) perfekt funktionieren, auch pro Geschoss je einen Taster zum hoch- und runterfahren sämtlicher Rolläden pro Ebene geben.

      Der erste Ansatz dabei wäre:

      1x klick/drücken am Taster: alle Rollläden pro Ebene fahren runter

      2x klick/drücken am Taster: alle Rollläden pro Ebene fahren hoch

      An den bereits vorhandenen Tastern ist je ein Fibaro Double Switch 2 FGS-223 verbaut.

      Nun zu meinem eigentlichen Problem: Wie fange ich bei dem Fibaro Double Switch 2 FGS-223 oder per Skript ein Doppel-Drücken am Taster ab und damit eine Aktion auszulösen?

      Ich hoffe jemand kann mir helfen?! Denn nach intensiver Suche hier im Forum und generell im I-Net habe ich keine Lösung gefunden…

      Gruß

      Björn

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

                                            Support us

                                            ioBroker
                                            Community Adapters
                                            Donate

                                            697
                                            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