Skip to content
  • Home
  • Aktuell
  • Tags
  • 0 Ungelesen 0
  • Kategorien
  • Unreplied
  • Beliebt
  • GitHub
  • Docu
  • Hilfe
Skins
  • Light
  • Brite
  • Cerulean
  • Cosmo
  • Flatly
  • Journal
  • Litera
  • Lumen
  • Lux
  • Materia
  • Minty
  • Morph
  • Pulse
  • Sandstone
  • Simplex
  • Sketchy
  • Spacelab
  • United
  • Yeti
  • Zephyr
  • Dark
  • Cyborg
  • Darkly
  • Quartz
  • Slate
  • Solar
  • Superhero
  • Vapor

  • Standard: (Kein Skin)
  • Kein Skin
Einklappen
ioBroker Logo

Community Forum

donate donate
  1. ioBroker Community Home
  2. Deutsch
  3. Skripten / Logik
  4. Blockly
  5. Konzeptfrage: Tastendruck-sequenz prüfen

NEWS

  • Jahresrückblick 2025 – unser neuer Blogbeitrag ist online! ✨
    BluefoxB
    Bluefox
    17
    1
    3.8k

  • Neuer Blogbeitrag: Monatsrückblick - Dezember 2025 🎄
    BluefoxB
    Bluefox
    13
    1
    1.2k

  • Weihnachtsangebot 2025! 🎄
    BluefoxB
    Bluefox
    25
    1
    2.5k

Konzeptfrage: Tastendruck-sequenz prüfen

Geplant Angeheftet Gesperrt Verschoben Blockly
12 Beiträge 5 Kommentatoren 744 Aufrufe 2 Watching
  • Älteste zuerst
  • Neuste zuerst
  • Meiste Stimmen
Antworten
  • In einem neuen Thema antworten
Anmelden zum Antworten
Dieses Thema wurde gelöscht. Nur Nutzer mit entsprechenden Rechten können es sehen.
  • C Offline
    C Offline
    chris299
    schrieb am zuletzt editiert von
    #1

    Hallo zusammen,

    ich habe eine konzeptionelle Frage:
    Ich möchte einen einfachen Taster dazu benutzen, Sequenzen einzugeben, sowas wie doppel-Tastung oder auch komplexer wie kurz-kurz-lang gedrückt.

    Wie macht man das am besten mit einem Blockly?
    Wie definiert man die Sequenzen flexibel?
    und wie prüft man dann, wenn man ja jeweils sein script bei einem Tastendruck getriggert bekommt?
    schlimmstenfalls läuft dann das Scipt ja zweimal parallel gleichzeitig ab, oder?

    Viele Grüße
    Christoph

    mickymM paul53P 2 Antworten Letzte Antwort
    0
    • C chris299

      Hallo zusammen,

      ich habe eine konzeptionelle Frage:
      Ich möchte einen einfachen Taster dazu benutzen, Sequenzen einzugeben, sowas wie doppel-Tastung oder auch komplexer wie kurz-kurz-lang gedrückt.

      Wie macht man das am besten mit einem Blockly?
      Wie definiert man die Sequenzen flexibel?
      und wie prüft man dann, wenn man ja jeweils sein script bei einem Tastendruck getriggert bekommt?
      schlimmstenfalls läuft dann das Scipt ja zweimal parallel gleichzeitig ab, oder?

      Viele Grüße
      Christoph

      mickymM Offline
      mickymM Offline
      mickym
      Most Active
      schrieb am zuletzt editiert von
      #2

      @chris299 Da ich kein Blockly Freund bin, sondern meine Logik grundsätzlich über NodeRed abwickle, hier mal ein paar Grundsatzüberlegungen, die Du brauchst.

      1. Liefert Dir Dein Taster ein false Signal beim loslassen bzw. wie erkennst Du kurze oder langes Drücken. Beim Shelly gibts da soweit ich weiß Parameter, sodass Du das unterscheiden kannst.
      2. Wenn Du keine Datenpunkte für lang oder kurz bekommst, dann musst Du (false benötigst Du für das Loslassen) - einen definierten Zeitraum, um kurz oder lang zu unterscheiden.
      3. Sequenzen kannst Du über einen String definieren, in dem Du kurz mit 0 und lang mit 1 kodierst.
      4. Du kannst ja in jedem Skript ein "aktiv" Datenpunkt definieren und damit vor erneutem Abarbeiten diesen Datenpunkt abfragen.

      Wie gesagt - meines Erachtens solltest Du die Fragen erst mal klären, bevor Du puzzelst.

      Jeder Flow bzw. jedes Script, das ich hier poste implementiert jeder auf eigene Gefahr. Flows und Scripts können Fehler aufweisen und weder der Seitenbetreiber noch ich persönlich können hierfür haftbar gemacht werden. Das gleiche gilt für Empfehlungen aller Art.

      C 1 Antwort Letzte Antwort
      1
      • C chris299

        Hallo zusammen,

        ich habe eine konzeptionelle Frage:
        Ich möchte einen einfachen Taster dazu benutzen, Sequenzen einzugeben, sowas wie doppel-Tastung oder auch komplexer wie kurz-kurz-lang gedrückt.

        Wie macht man das am besten mit einem Blockly?
        Wie definiert man die Sequenzen flexibel?
        und wie prüft man dann, wenn man ja jeweils sein script bei einem Tastendruck getriggert bekommt?
        schlimmstenfalls läuft dann das Scipt ja zweimal parallel gleichzeitig ab, oder?

        Viele Grüße
        Christoph

        paul53P Offline
        paul53P Offline
        paul53
        schrieb am zuletzt editiert von paul53
        #3

        @chris299 sagte: kurz-kurz-lang gedrückt.

        Blockly-Beispiel (HomeMatic-Taster):

        Blockly_temp.JPG

        Bitte verzichtet auf Chat-Nachrichten, denn die Handhabung ist grauenhaft !
        Produktiv: RPi 2 mit S.USV, HM-MOD-RPI und SLC-USB-Stick mit root fs

        C 1 Antwort Letzte Antwort
        0
        • mickymM mickym

          @chris299 Da ich kein Blockly Freund bin, sondern meine Logik grundsätzlich über NodeRed abwickle, hier mal ein paar Grundsatzüberlegungen, die Du brauchst.

          1. Liefert Dir Dein Taster ein false Signal beim loslassen bzw. wie erkennst Du kurze oder langes Drücken. Beim Shelly gibts da soweit ich weiß Parameter, sodass Du das unterscheiden kannst.
          2. Wenn Du keine Datenpunkte für lang oder kurz bekommst, dann musst Du (false benötigst Du für das Loslassen) - einen definierten Zeitraum, um kurz oder lang zu unterscheiden.
          3. Sequenzen kannst Du über einen String definieren, in dem Du kurz mit 0 und lang mit 1 kodierst.
          4. Du kannst ja in jedem Skript ein "aktiv" Datenpunkt definieren und damit vor erneutem Abarbeiten diesen Datenpunkt abfragen.

          Wie gesagt - meines Erachtens solltest Du die Fragen erst mal klären, bevor Du puzzelst.

          C Offline
          C Offline
          chris299
          schrieb am zuletzt editiert von
          #4

          @mickym danke für die Hinweise. ja, das soll ein shelly liefern, insofern sollte ich einen wechsel true-false sehen, wenn er gedrückt und wieder losgelassen wird.

          paul53P 2 Antworten Letzte Antwort
          0
          • paul53P paul53

            @chris299 sagte: kurz-kurz-lang gedrückt.

            Blockly-Beispiel (HomeMatic-Taster):

            Blockly_temp.JPG

            C Offline
            C Offline
            chris299
            schrieb am zuletzt editiert von
            #5

            @paul53 danke für das Muster. Was genau macht denn dieses falls-nicht-timeout?
            wenn ich z.b. 3 mal kurz möchte müsste ich bei jedem kurz-drücken prüfen, ob ich schon genügend im zähler zusammen habe, oder?

            paul53P 2 Antworten Letzte Antwort
            0
            • OliverIOO Offline
              OliverIOO Offline
              OliverIO
              schrieb am zuletzt editiert von
              #6

              @chris299

              auch sollte man beachten, blockly läuft auf dem server,
              der tastendruck wird auf dem client wahr genommen.
              daher wird es mit einer zeitmessung auf dem server schwierig.
              hier scheint es eine lösung für die unterscheidung normal oder long press mit blockly zu geben
              https://forum.iobroker.net/topic/36817/vis-button-long-press

              ich persönlich würde da eher eine lösung für den browser umsetzen, also etwas was in das script fenster von vis kommt.

              man könnte dann in einem html widget einen knopf mit einem eindeutigen id erzeugen
              und mit dem javascript dann auf die verschiedenen button down/button up events horchen.
              auf basis der zeit könnte man dann zeiten definieren, woran short press/long press, evtl mindest pausen dawischen definieren könnte, diese sammelt und wenn dann soundsolang nix gedrückt wird erst einen datenpunkt mit der gesammelten sequenz beschreiben.
              dadrauf könnte man dann wieder mit einem serverskript (js,blockly,node-red) reagieren und die aktionen ausführen.

              Meine Adapter und Widgets
              TVProgram, SqueezeboxRPC, OpenLiga, RSSFeed, MyTime,, pi-hole2, vis-json-template, skiinfo, vis-mapwidgets, vis-2-widgets-rssfeed
              Links im Profil

              HomoranH 1 Antwort Letzte Antwort
              0
              • C chris299

                @paul53 danke für das Muster. Was genau macht denn dieses falls-nicht-timeout?
                wenn ich z.b. 3 mal kurz möchte müsste ich bei jedem kurz-drücken prüfen, ob ich schon genügend im zähler zusammen habe, oder?

                paul53P Offline
                paul53P Offline
                paul53
                schrieb am zuletzt editiert von
                #7

                @chris299 sagte: Was genau macht denn dieses falls-nicht-timeout?

                Es sperrt den Timeout für die Timer-Dauer nach dem ersten kurzen Tastendruck, um die Zeit für die Tasten-Folge zu begrenzen. Es soll kein zweiter Timer nach dem ersten Tastendruck loslaufen.

                Bitte verzichtet auf Chat-Nachrichten, denn die Handhabung ist grauenhaft !
                Produktiv: RPi 2 mit S.USV, HM-MOD-RPI und SLC-USB-Stick mit root fs

                1 Antwort Letzte Antwort
                0
                • OliverIOO OliverIO

                  @chris299

                  auch sollte man beachten, blockly läuft auf dem server,
                  der tastendruck wird auf dem client wahr genommen.
                  daher wird es mit einer zeitmessung auf dem server schwierig.
                  hier scheint es eine lösung für die unterscheidung normal oder long press mit blockly zu geben
                  https://forum.iobroker.net/topic/36817/vis-button-long-press

                  ich persönlich würde da eher eine lösung für den browser umsetzen, also etwas was in das script fenster von vis kommt.

                  man könnte dann in einem html widget einen knopf mit einem eindeutigen id erzeugen
                  und mit dem javascript dann auf die verschiedenen button down/button up events horchen.
                  auf basis der zeit könnte man dann zeiten definieren, woran short press/long press, evtl mindest pausen dawischen definieren könnte, diese sammelt und wenn dann soundsolang nix gedrückt wird erst einen datenpunkt mit der gesammelten sequenz beschreiben.
                  dadrauf könnte man dann wieder mit einem serverskript (js,blockly,node-red) reagieren und die aktionen ausführen.

                  HomoranH Nicht stören
                  HomoranH Nicht stören
                  Homoran
                  Global Moderator Administrators
                  schrieb am zuletzt editiert von
                  #8

                  @oliverio sagte in Konzeptfrage: Tastendruck-sequenz prüfen:

                  der tastendruck wird auf dem client wahr genommen.

                  es geht nach meinem Verständnis um Taster in der Elektroinstallation und nicht in der vis (z.b.)

                  kein Support per PN! - Fragen im Forum stellen - es gibt fast nichts, was nicht auch für andere interessant ist.

                  Benutzt das Voting rechts unten im Beitrag wenn er euch geholfen hat.

                  der Installationsfixer: curl -fsL https://iobroker.net/fix.sh | bash -

                  OliverIOO 1 Antwort Letzte Antwort
                  0
                  • C chris299

                    @paul53 danke für das Muster. Was genau macht denn dieses falls-nicht-timeout?
                    wenn ich z.b. 3 mal kurz möchte müsste ich bei jedem kurz-drücken prüfen, ob ich schon genügend im zähler zusammen habe, oder?

                    paul53P Offline
                    paul53P Offline
                    paul53
                    schrieb am zuletzt editiert von paul53
                    #9

                    @chris299 sagte: wenn ich z.b. 3 mal kurz möchte

                    Ich habe es mal um mehrere "kurz" erweitert:

                    Blockly_temp.JPG

                    Bitte verzichtet auf Chat-Nachrichten, denn die Handhabung ist grauenhaft !
                    Produktiv: RPi 2 mit S.USV, HM-MOD-RPI und SLC-USB-Stick mit root fs

                    1 Antwort Letzte Antwort
                    0
                    • C chris299

                      @mickym danke für die Hinweise. ja, das soll ein shelly liefern, insofern sollte ich einen wechsel true-false sehen, wenn er gedrückt und wieder losgelassen wird.

                      paul53P Offline
                      paul53P Offline
                      paul53
                      schrieb am zuletzt editiert von
                      #10

                      @chris299 sagte: wechsel true-false sehen, wenn er gedrückt und wieder losgelassen wird.

                      Dann kann man so HomeMatic-Tasten emulieren:

                      Blockly_HM_Tastenemulation.JPG

                      Bitte verzichtet auf Chat-Nachrichten, denn die Handhabung ist grauenhaft !
                      Produktiv: RPi 2 mit S.USV, HM-MOD-RPI und SLC-USB-Stick mit root fs

                      1 Antwort Letzte Antwort
                      0
                      • HomoranH Homoran

                        @oliverio sagte in Konzeptfrage: Tastendruck-sequenz prüfen:

                        der tastendruck wird auf dem client wahr genommen.

                        es geht nach meinem Verständnis um Taster in der Elektroinstallation und nicht in der vis (z.b.)

                        OliverIOO Offline
                        OliverIOO Offline
                        OliverIO
                        schrieb am zuletzt editiert von
                        #11

                        @homoran sagte in Konzeptfrage: Tastendruck-sequenz prüfen:

                        Taster in der Elektroinstallation

                        ah ok,
                        das latenz problem bleibt, aber in dem beispiel scheint es ja zu funktionieren
                        muss er halt erst mal tests machen ob das immer so funktioniert (besonders wenn man gerade mal videos über netzt/wlan schaut und das netz/router etwas mehr belastet ist wie normal.

                        Meine Adapter und Widgets
                        TVProgram, SqueezeboxRPC, OpenLiga, RSSFeed, MyTime,, pi-hole2, vis-json-template, skiinfo, vis-mapwidgets, vis-2-widgets-rssfeed
                        Links im Profil

                        1 Antwort Letzte Antwort
                        0
                        • C chris299

                          @mickym danke für die Hinweise. ja, das soll ein shelly liefern, insofern sollte ich einen wechsel true-false sehen, wenn er gedrückt und wieder losgelassen wird.

                          paul53P Offline
                          paul53P Offline
                          paul53
                          schrieb am zuletzt editiert von paul53
                          #12

                          @chris299 sagte: wechsel true-false sehen, wenn er gedrückt und wieder losgelassen wird.

                          Ohne HomeMatic-Emulation
                          drücken - true, loslassen - false:

                          Blockly_temp.JPG

                          Bitte verzichtet auf Chat-Nachrichten, denn die Handhabung ist grauenhaft !
                          Produktiv: RPi 2 mit S.USV, HM-MOD-RPI und SLC-USB-Stick mit root fs

                          1 Antwort Letzte Antwort
                          0
                          Antworten
                          • In einem neuen Thema antworten
                          Anmelden zum Antworten
                          • Älteste zuerst
                          • Neuste zuerst
                          • Meiste Stimmen


                          Support us

                          ioBroker
                          Community Adapters
                          Donate

                          450

                          Online

                          32.7k

                          Benutzer

                          82.4k

                          Themen

                          1.3m

                          Beiträge
                          Community
                          Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen | Einwilligungseinstellungen
                          ioBroker Community 2014-2025
                          logo
                          • Anmelden

                          • Du hast noch kein Konto? Registrieren

                          • Anmelden oder registrieren, um zu suchen
                          • Erster Beitrag
                            Letzter Beitrag
                          0
                          • Home
                          • Aktuell
                          • Tags
                          • Ungelesen 0
                          • Kategorien
                          • Unreplied
                          • Beliebt
                          • GitHub
                          • Docu
                          • Hilfe