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

    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

                      392

                      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