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. Schnelle Änderungen am Triggerobjekt auswerten?

NEWS

  • Neuer Blogbeitrag: Monatsrückblick - Dezember 2025 🎄
    BluefoxB
    Bluefox
    11
    1
    506

  • Weihnachtsangebot 2025! 🎄
    BluefoxB
    Bluefox
    24
    1
    1.7k

  • UPDATE 31.10.: Amazon Alexa - ioBroker Skill läuft aus ?
    apollon77A
    apollon77
    48
    3
    9.6k

Schnelle Änderungen am Triggerobjekt auswerten?

Geplant Angeheftet Gesperrt Verschoben Blockly
18 Beiträge 4 Kommentatoren 1.2k Aufrufe 3 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.
  • Dark AngelD Offline
    Dark AngelD Offline
    Dark Angel
    schrieb am zuletzt editiert von Dark Angel
    #1

    Da sich die Logic beim Shelly Gen.2 gegenüber der Gen.1 etwas geändert hat, bin ich auf der Suche nach eine Lösung für folgendes Problem:

    Bei Gen.2 wurden ein paar Datenpunkte zusammengeschmissen, was eben dazu führt, dass z.B. ein Longpush nicht mehr mit true, oder false hinterlegt wird, sondern in einen Event zusammen mit dem Button-Status zusammengeschmissen wird.
    So z.B. sieht ein short_push aus:

      {
        "ts": 1736716265.022,
        "level": 2,
        "data": "shelly_notification:208 Event from input:0: {\"component\":\"input:0\",\"id\":0,\"event\":\"btn_down\",\"ts\":1736716264.99}",
        "fd": 1
      },
      {
        "ts": 1736716265.188,
        "level": 2,
        "data": "shelly_notification:208 Event from input:0: {\"component\":\"input:0\",\"id\":0,\"event\":\"btn_up\",\"ts\":1736716265.17}",
        "fd": 1
      },
      {
        "ts": 1736716265.51,
        "level": 2,
        "data": "shelly_notification:208 Event from input:0: {\"component\":\"input:0\",\"id\":0,\"event\":\"single_push\",\"ts\":1736716265.49}",
        "fd": 1
      },
    

    und so ein long_push:

     {
        "ts": 1736716271.118,
        "level": 2,
        "data": "shelly_notification:208 Event from input:0: {\"component\":\"input:0\",\"id\":0,\"event\":\"btn_down\",\"ts\":1736716271.10}",
        "fd": 1
      },
      {
        "ts": 1736716272.116,
        "level": 2,
        "data": "shelly_notification:208 Event from input:0: {\"component\":\"input:0\",\"id\":0,\"event\":\"long_push\",\"ts\":1736716272.10}",
        "fd": 1
      },
      {
        "ts": 1736716273.469,
        "level": 2,
        "data": "shelly_notification:208 Event from input:0: {\"component\":\"input:0\",\"id\":0,\"event\":\"btn_up\",\"ts\":1736716273.45}",
        "fd": 1
      },
    

    Hat jemand eine Idee, wie ich diese sich innerhalb von Millisekunden ändernde Events auswerten kann um short- und long-push zu triggern?

    MartinPM OliverIOO paul53P 3 Antworten Letzte Antwort
    0
    • Dark AngelD Dark Angel

      Da sich die Logic beim Shelly Gen.2 gegenüber der Gen.1 etwas geändert hat, bin ich auf der Suche nach eine Lösung für folgendes Problem:

      Bei Gen.2 wurden ein paar Datenpunkte zusammengeschmissen, was eben dazu führt, dass z.B. ein Longpush nicht mehr mit true, oder false hinterlegt wird, sondern in einen Event zusammen mit dem Button-Status zusammengeschmissen wird.
      So z.B. sieht ein short_push aus:

        {
          "ts": 1736716265.022,
          "level": 2,
          "data": "shelly_notification:208 Event from input:0: {\"component\":\"input:0\",\"id\":0,\"event\":\"btn_down\",\"ts\":1736716264.99}",
          "fd": 1
        },
        {
          "ts": 1736716265.188,
          "level": 2,
          "data": "shelly_notification:208 Event from input:0: {\"component\":\"input:0\",\"id\":0,\"event\":\"btn_up\",\"ts\":1736716265.17}",
          "fd": 1
        },
        {
          "ts": 1736716265.51,
          "level": 2,
          "data": "shelly_notification:208 Event from input:0: {\"component\":\"input:0\",\"id\":0,\"event\":\"single_push\",\"ts\":1736716265.49}",
          "fd": 1
        },
      

      und so ein long_push:

       {
          "ts": 1736716271.118,
          "level": 2,
          "data": "shelly_notification:208 Event from input:0: {\"component\":\"input:0\",\"id\":0,\"event\":\"btn_down\",\"ts\":1736716271.10}",
          "fd": 1
        },
        {
          "ts": 1736716272.116,
          "level": 2,
          "data": "shelly_notification:208 Event from input:0: {\"component\":\"input:0\",\"id\":0,\"event\":\"long_push\",\"ts\":1736716272.10}",
          "fd": 1
        },
        {
          "ts": 1736716273.469,
          "level": 2,
          "data": "shelly_notification:208 Event from input:0: {\"component\":\"input:0\",\"id\":0,\"event\":\"btn_up\",\"ts\":1736716273.45}",
          "fd": 1
        },
      

      Hat jemand eine Idee, wie ich diese sich innerhalb von Millisekunden ändernde Events auswerten kann um short- und long-push zu triggern?

      MartinPM Offline
      MartinPM Offline
      MartinP
      schrieb am zuletzt editiert von MartinP
      #2

      @dark-angel wenn es reicht, den short Push beim Loslassen der Taste zu erkennen, würde ich die Button down ignorieren

      Wenn das letzte Event vor dem Button - Up ein Button Down war, ist es ein Short, ansonsten Long

      Intel(R) Celeron(R) CPU N3000 @ 1.04GHz 8G RAM 480G SSD
      Virtualization : unprivileged lxc container (debian 12 on Proxmox 8.4.14)
      Linux pve 6.8.12-16-pve
      6 GByte RAM für den Container
      Fritzbox 6591 FW 8.03 (Vodafone Leih-Box)
      Remote-Access über Wireguard der Fritzbox

      Dark AngelD 1 Antwort Letzte Antwort
      0
      • Dark AngelD Dark Angel

        Da sich die Logic beim Shelly Gen.2 gegenüber der Gen.1 etwas geändert hat, bin ich auf der Suche nach eine Lösung für folgendes Problem:

        Bei Gen.2 wurden ein paar Datenpunkte zusammengeschmissen, was eben dazu führt, dass z.B. ein Longpush nicht mehr mit true, oder false hinterlegt wird, sondern in einen Event zusammen mit dem Button-Status zusammengeschmissen wird.
        So z.B. sieht ein short_push aus:

          {
            "ts": 1736716265.022,
            "level": 2,
            "data": "shelly_notification:208 Event from input:0: {\"component\":\"input:0\",\"id\":0,\"event\":\"btn_down\",\"ts\":1736716264.99}",
            "fd": 1
          },
          {
            "ts": 1736716265.188,
            "level": 2,
            "data": "shelly_notification:208 Event from input:0: {\"component\":\"input:0\",\"id\":0,\"event\":\"btn_up\",\"ts\":1736716265.17}",
            "fd": 1
          },
          {
            "ts": 1736716265.51,
            "level": 2,
            "data": "shelly_notification:208 Event from input:0: {\"component\":\"input:0\",\"id\":0,\"event\":\"single_push\",\"ts\":1736716265.49}",
            "fd": 1
          },
        

        und so ein long_push:

         {
            "ts": 1736716271.118,
            "level": 2,
            "data": "shelly_notification:208 Event from input:0: {\"component\":\"input:0\",\"id\":0,\"event\":\"btn_down\",\"ts\":1736716271.10}",
            "fd": 1
          },
          {
            "ts": 1736716272.116,
            "level": 2,
            "data": "shelly_notification:208 Event from input:0: {\"component\":\"input:0\",\"id\":0,\"event\":\"long_push\",\"ts\":1736716272.10}",
            "fd": 1
          },
          {
            "ts": 1736716273.469,
            "level": 2,
            "data": "shelly_notification:208 Event from input:0: {\"component\":\"input:0\",\"id\":0,\"event\":\"btn_up\",\"ts\":1736716273.45}",
            "fd": 1
          },
        

        Hat jemand eine Idee, wie ich diese sich innerhalb von Millisekunden ändernde Events auswerten kann um short- und long-push zu triggern?

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

        @dark-angel

        das event steh doch direkt in den daten drin
        single_push
        long_push

        eigentlich nur auf die eventdaten testen

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

        Dark AngelD 1 Antwort Letzte Antwort
        1
        • OliverIOO OliverIO

          @dark-angel

          das event steh doch direkt in den daten drin
          single_push
          long_push

          eigentlich nur auf die eventdaten testen

          Dark AngelD Offline
          Dark AngelD Offline
          Dark Angel
          schrieb am zuletzt editiert von
          #4

          @oliverio
          Genau das ist ja die Frage...
          Wie filtere ich in eine "IF...THEN..." Schleife den richtigen Event?
          Die Schaltzustände werden in wirklich kürzeste Zeit hintereinander im Event angezeigt.

          OliverIOO 1 Antwort Letzte Antwort
          0
          • MartinPM MartinP

            @dark-angel wenn es reicht, den short Push beim Loslassen der Taste zu erkennen, würde ich die Button down ignorieren

            Wenn das letzte Event vor dem Button - Up ein Button Down war, ist es ein Short, ansonsten Long

            Dark AngelD Offline
            Dark AngelD Offline
            Dark Angel
            schrieb am zuletzt editiert von
            #5

            @martinp
            wie werte ich das letzte Event aus?
            Die "IF...THEN.." Schleife wird bei Änderung im Event aktiviert, also praktisch bei der ersten Änderung und nicht bei der letzten.
            Ich könnte zwar das Script erst dann "aktivieren", wenn ein "short_push", oder "long_push" Event ausgelöst wird, ist aber für eine Schleife unbrauchbar und ich müsste 2 Scripte erstellen um die jeweiligen Events entsprechend abzufangen und damit dann mein Schindluder betreiben.

            1 Antwort Letzte Antwort
            0
            • Dark AngelD Dark Angel

              @oliverio
              Genau das ist ja die Frage...
              Wie filtere ich in eine "IF...THEN..." Schleife den richtigen Event?
              Die Schaltzustände werden in wirklich kürzeste Zeit hintereinander im Event angezeigt.

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

              @dark-angel

              ah, du machst dir sorgen über die geschwindigkeit?
              das ist eigentlich kein Problem (natürlich systemabhängigkeit und in welcher geschwindigkeit du reagieren möchtest)

              ich weiß jetzt nicht auf welcher Basis die Ausgabe oben entstanden ist.
              Ich gehe jetzt mal davon aus, das jedes Event einzeln vom Gerät gesendet wird und du nur sowas wie hier empfängst

               {
                  "ts": 1736716271.118,
                  "level": 2,
                  "data": "shelly_notification:208 Event from input:0: {\"component\":\"input:0\",\"id\":0,\"event\":\"btn_down\",\"ts\":1736716271.10}",
                  "fd": 1
                }
              

              dann ist das erst einmal ein ganz normales JSON Objekt.
              ts ist der zeitstempel. level und fd weiß ich nicht.
              interessant ist data, das ist ein String der Text und ebenfalls nochmals ein JSON Objekt enthält, der muss zunächst mit regex interpretiert werden

              let obj = {
                  "ts": 1736716272.116,
                  "level": 2,
                  "data": "shelly_notification:208 Event from input:0: {\"component\":\"input:0\",\"id\":0,\"event\":\"long_push\",\"ts\":1736716272.10}",
                  "fd": 1
                }
              let regex=new RegExp("{.*}");
              let list = obj.data.match(regex);
              let data = JSON.parse(list[0]);
              switch(data.event)
                 case "short_push":
                    console.log("aktionen short_push")
                 case "long_push":
                    console.log("aktionen long_push")
                 default:
                    console.log("nix machen bei anderen eventtypen")
              

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

              Dark AngelD 1 Antwort Letzte Antwort
              0
              • Dark AngelD Dark Angel

                Da sich die Logic beim Shelly Gen.2 gegenüber der Gen.1 etwas geändert hat, bin ich auf der Suche nach eine Lösung für folgendes Problem:

                Bei Gen.2 wurden ein paar Datenpunkte zusammengeschmissen, was eben dazu führt, dass z.B. ein Longpush nicht mehr mit true, oder false hinterlegt wird, sondern in einen Event zusammen mit dem Button-Status zusammengeschmissen wird.
                So z.B. sieht ein short_push aus:

                  {
                    "ts": 1736716265.022,
                    "level": 2,
                    "data": "shelly_notification:208 Event from input:0: {\"component\":\"input:0\",\"id\":0,\"event\":\"btn_down\",\"ts\":1736716264.99}",
                    "fd": 1
                  },
                  {
                    "ts": 1736716265.188,
                    "level": 2,
                    "data": "shelly_notification:208 Event from input:0: {\"component\":\"input:0\",\"id\":0,\"event\":\"btn_up\",\"ts\":1736716265.17}",
                    "fd": 1
                  },
                  {
                    "ts": 1736716265.51,
                    "level": 2,
                    "data": "shelly_notification:208 Event from input:0: {\"component\":\"input:0\",\"id\":0,\"event\":\"single_push\",\"ts\":1736716265.49}",
                    "fd": 1
                  },
                

                und so ein long_push:

                 {
                    "ts": 1736716271.118,
                    "level": 2,
                    "data": "shelly_notification:208 Event from input:0: {\"component\":\"input:0\",\"id\":0,\"event\":\"btn_down\",\"ts\":1736716271.10}",
                    "fd": 1
                  },
                  {
                    "ts": 1736716272.116,
                    "level": 2,
                    "data": "shelly_notification:208 Event from input:0: {\"component\":\"input:0\",\"id\":0,\"event\":\"long_push\",\"ts\":1736716272.10}",
                    "fd": 1
                  },
                  {
                    "ts": 1736716273.469,
                    "level": 2,
                    "data": "shelly_notification:208 Event from input:0: {\"component\":\"input:0\",\"id\":0,\"event\":\"btn_up\",\"ts\":1736716273.45}",
                    "fd": 1
                  },
                

                Hat jemand eine Idee, wie ich diese sich innerhalb von Millisekunden ändernde Events auswerten kann um short- und long-push zu triggern?

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

                @dark-angel sagte: in einen Event

                Gibt es einen Event-Datenpunkt?

                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

                Dark AngelD 1 Antwort Letzte Antwort
                0
                • paul53P paul53

                  @dark-angel sagte: in einen Event

                  Gibt es einen Event-Datenpunkt?

                  Dark AngelD Offline
                  Dark AngelD Offline
                  Dark Angel
                  schrieb am zuletzt editiert von
                  #8

                  @paul53
                  Der Datenpunkt in ioBroker (über den Shelly Adapter) heist direkt Event:

                  shelly.0.shellyplus2pm#9015068820c0#1.Input0.Event
                  

                  Da werden direkt hintereinander die 3 Meldungen aus dem Eröffnungspost quitiert.

                  OliverIOO paul53P 2 Antworten Letzte Antwort
                  0
                  • Dark AngelD Dark Angel

                    @paul53
                    Der Datenpunkt in ioBroker (über den Shelly Adapter) heist direkt Event:

                    shelly.0.shellyplus2pm#9015068820c0#1.Input0.Event
                    

                    Da werden direkt hintereinander die 3 Meldungen aus dem Eröffnungspost quitiert.

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

                    @dark-angel

                    aber jeweils einzeln? oder steht da die liste von oben drin?

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

                    Dark AngelD 1 Antwort Letzte Antwort
                    0
                    • OliverIOO OliverIO

                      @dark-angel

                      ah, du machst dir sorgen über die geschwindigkeit?
                      das ist eigentlich kein Problem (natürlich systemabhängigkeit und in welcher geschwindigkeit du reagieren möchtest)

                      ich weiß jetzt nicht auf welcher Basis die Ausgabe oben entstanden ist.
                      Ich gehe jetzt mal davon aus, das jedes Event einzeln vom Gerät gesendet wird und du nur sowas wie hier empfängst

                       {
                          "ts": 1736716271.118,
                          "level": 2,
                          "data": "shelly_notification:208 Event from input:0: {\"component\":\"input:0\",\"id\":0,\"event\":\"btn_down\",\"ts\":1736716271.10}",
                          "fd": 1
                        }
                      

                      dann ist das erst einmal ein ganz normales JSON Objekt.
                      ts ist der zeitstempel. level und fd weiß ich nicht.
                      interessant ist data, das ist ein String der Text und ebenfalls nochmals ein JSON Objekt enthält, der muss zunächst mit regex interpretiert werden

                      let obj = {
                          "ts": 1736716272.116,
                          "level": 2,
                          "data": "shelly_notification:208 Event from input:0: {\"component\":\"input:0\",\"id\":0,\"event\":\"long_push\",\"ts\":1736716272.10}",
                          "fd": 1
                        }
                      let regex=new RegExp("{.*}");
                      let list = obj.data.match(regex);
                      let data = JSON.parse(list[0]);
                      switch(data.event)
                         case "short_push":
                            console.log("aktionen short_push")
                         case "long_push":
                            console.log("aktionen long_push")
                         default:
                            console.log("nix machen bei anderen eventtypen")
                      
                      Dark AngelD Offline
                      Dark AngelD Offline
                      Dark Angel
                      schrieb am zuletzt editiert von
                      #10

                      @oliverio
                      Die Ausgabe ist aus dem Debugfenster auf dem Shelly kopiert.

                      Die Idee mit dem Script geht schon in der Richtung wie ich mir die Lösung des Problems vorstelle.
                      Muss dann heute Abend gleich mal herumexperimentieren...

                      Danke für den Richtungsanstoß.

                      1 Antwort Letzte Antwort
                      0
                      • OliverIOO OliverIO

                        @dark-angel

                        aber jeweils einzeln? oder steht da die liste von oben drin?

                        Dark AngelD Offline
                        Dark AngelD Offline
                        Dark Angel
                        schrieb am zuletzt editiert von
                        #11

                        @oliverio
                        Einzeln. So schnell kann ich gar nicht schauen, wie sich der Wert ändert ... :dizzy_face:

                        1 Antwort Letzte Antwort
                        0
                        • Dark AngelD Dark Angel

                          @paul53
                          Der Datenpunkt in ioBroker (über den Shelly Adapter) heist direkt Event:

                          shelly.0.shellyplus2pm#9015068820c0#1.Input0.Event
                          

                          Da werden direkt hintereinander die 3 Meldungen aus dem Eröffnungspost quitiert.

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

                          @dark-angel sagte: die 3 Meldungen aus dem Eröffnungspost

                          Das komplette JSON? Sicherlich die 3 Events unmittelbar nacheinander?

                          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

                          Dark AngelD 1 Antwort Letzte Antwort
                          0
                          • paul53P paul53

                            @dark-angel sagte: die 3 Meldungen aus dem Eröffnungspost

                            Das komplette JSON? Sicherlich die 3 Events unmittelbar nacheinander?

                            Dark AngelD Offline
                            Dark AngelD Offline
                            Dark Angel
                            schrieb am zuletzt editiert von Dark Angel
                            #13

                            @paul53
                            01282801-06fe-4333-91a0-284890aa7987-grafik.png

                            Bzw.:
                            a8966fbc-2822-4186-93cf-e5aeca3c3822-grafik.png

                            OliverIOO paul53P 2 Antworten Letzte Antwort
                            0
                            • Dark AngelD Dark Angel

                              @paul53
                              01282801-06fe-4333-91a0-284890aa7987-grafik.png

                              Bzw.:
                              a8966fbc-2822-4186-93cf-e5aeca3c3822-grafik.png

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

                              @dark-angel
                              da ist doch schon ein datenpunkt namens event.
                              dann musst doch nur einen trigger auf diesen datenpunkt setzen und unterscheiden ob da short oder long drin steht und deine aktionen auslösen
                              da muss man nicht mal die verrenkungen mit dem skript machen

                              wie gesagt, die geschwindigkeit ist kein problem. die events werden der reihe nach reinkommen, die datenpunkte aktualisisert werden.
                              auch wenn du uU die Änderungen auf der Oberfläche nicht wahrnimmst

                              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
                              • Dark AngelD Dark Angel

                                @paul53
                                01282801-06fe-4333-91a0-284890aa7987-grafik.png

                                Bzw.:
                                a8966fbc-2822-4186-93cf-e5aeca3c3822-grafik.png

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

                                @dark-angel
                                "Event" enthält doch, was man braucht.

                                Blockly_temp.JPG

                                "hold" bleibt true bis losgelassen wird.

                                EDIT: Anstelle des Schreibens in die eigenen Datenpunkte können auch direkt die Aktionen zur jeweiligen Tastenbetätigung ausgeführt werden.

                                Anmerkung: Wenn es "single_push" gibt, gibt es vielleicht auch "double_push"? Zum Erkennen von "long_push" wird immerhin 1 s benötigt.

                                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

                                Dark AngelD 1 Antwort Letzte Antwort
                                1
                                • paul53P paul53

                                  @dark-angel
                                  "Event" enthält doch, was man braucht.

                                  Blockly_temp.JPG

                                  "hold" bleibt true bis losgelassen wird.

                                  EDIT: Anstelle des Schreibens in die eigenen Datenpunkte können auch direkt die Aktionen zur jeweiligen Tastenbetätigung ausgeführt werden.

                                  Anmerkung: Wenn es "single_push" gibt, gibt es vielleicht auch "double_push"? Zum Erkennen von "long_push" wird immerhin 1 s benötigt.

                                  Dark AngelD Offline
                                  Dark AngelD Offline
                                  Dark Angel
                                  schrieb am zuletzt editiert von
                                  #16

                                  @paul53
                                  Das Problem ist, dass Event immer 3 Meldungen ausgibt (3 Zustände hintereinander)
                                  Wenn ich Event triggere ist der erste Zustand immer "btn_down".
                                  Bei SinglePress kommt erst "btn_up" und dann bleibt Event bei "single_push" stehen.
                                  Anders allerdings bei LongPress: da kommt als nächstes "long_push" und zum Schluss bleibt es bei "btn_up" stehen.
                                  Wenn ich zu 100% sicher wäre, dass die letzte Meldung bei LongPress immer "btn_up" sein wird, dann könnte ich das in mein Script einbauen (Event Auswertung mit kleine Verzögerung um sicher zu stellen, dass alle Eventmeldungen schon durch sind?).
                                  Der Ursprung der "Geschichte" ist HIER nachzulesen. Das Shelly die Logic geändert hat finde ich persönlich nicht sehr prickelnd, aber die werden sich schon was dabei gedacht haben...

                                  paul53P 1 Antwort Letzte Antwort
                                  0
                                  • Dark AngelD Dark Angel

                                    @paul53
                                    Das Problem ist, dass Event immer 3 Meldungen ausgibt (3 Zustände hintereinander)
                                    Wenn ich Event triggere ist der erste Zustand immer "btn_down".
                                    Bei SinglePress kommt erst "btn_up" und dann bleibt Event bei "single_push" stehen.
                                    Anders allerdings bei LongPress: da kommt als nächstes "long_push" und zum Schluss bleibt es bei "btn_up" stehen.
                                    Wenn ich zu 100% sicher wäre, dass die letzte Meldung bei LongPress immer "btn_up" sein wird, dann könnte ich das in mein Script einbauen (Event Auswertung mit kleine Verzögerung um sicher zu stellen, dass alle Eventmeldungen schon durch sind?).
                                    Der Ursprung der "Geschichte" ist HIER nachzulesen. Das Shelly die Logic geändert hat finde ich persönlich nicht sehr prickelnd, aber die werden sich schon was dabei gedacht haben...

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

                                    @dark-angel sagte: Event immer 3 Meldungen ausgibt (3 Zustände hintereinander)
                                    Wenn ich Event triggere ist der erste Zustand immer "btn_down".

                                    Ja und ...? "btn_down" wird nicht ausgewertet, also ignoriert.

                                    @dark-angel sagte in Schnelle Änderungen am Triggerobjekt auswerten?:

                                    "long_push" und zum Schluss bleibt es bei "btn_up" stehen.

                                    Genau dieses Verhalten wird in meinem Blockly-Vorschlag berücksichtigt.

                                    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
                                    • Dark AngelD Offline
                                      Dark AngelD Offline
                                      Dark Angel
                                      schrieb am zuletzt editiert von
                                      #18

                                      Erster (mehr, oder weniger) Erfolg, erzielt durch folg. Blockly:

                                      ad4420bb-5d2b-4e15-ae36-42d7b218949c-grafik.png
                                      Shelly Output ist "momentary" mit invertet Input
                                      So wird das Licht auch ohne ioBroker funktionsfähig bleiben, nur eben ohne den Zusatz des Longpushs.
                                      Wenn Output auf "detached" gesetzt würde, geht das Licht wenn Longpush erkannt wurde, oder aber eben beim loslassen an (in etwa wie "momentary_on_release" bei Shelly Gen.1). Nachteil: Wenn keine Kommunikation mit ioBroker, dann bleibt es dunkel.

                                      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

                                      900

                                      Online

                                      32.5k

                                      Benutzer

                                      81.8k

                                      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