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.9k

  • 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 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 Online
    mickymM Online
    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

                        625

                        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