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. Auslösen nur bei Falsch

NEWS

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

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

  • Weihnachtsangebot 2025! 🎄
    BluefoxB
    Bluefox
    25
    1
    2.0k

Auslösen nur bei Falsch

Geplant Angeheftet Gesperrt Verschoben Blockly
40 Beiträge 8 Kommentatoren 4.4k 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.
  • xadoxX xadox

    Ich nutzte einen Reed Kontakt mit Shelly und möchte, dass ein Ereignis nur eintritt wenn der Reed Kontakt "false" liefert.
    Ich bekomme es aber leider nicht hin. Ich wäre daher über Tipps dankbar:

    fd91c943-78a9-4c44-bf6e-479345cdff9a-image.png

    on({ id: 'shelly.0.shellyplus1#441793a38938#1.Ext.input100' /* Input100 */, change: 'ne' }, async (obj) => {
      let value = obj.state.val;
      let oldValue = obj.oldState.val;
      if ((obj.state ? obj.state.val : "") == false) {
        // rotes Lauflicht Tor in Bewegung
        try {
          require("request")('http://192.168./win&PL=2').on("error", (e) => { console.error(e); });
        } catch (e) { console.error(e); }
        await wait(8000);
        // grünes Licht Tor offen/zu
        try {
          require("request")('http://192.168./win&PL=6').on("error", (e) => { console.error(e); });
        } catch (e) { console.error(e); }
        await wait(3000);
        // Spots An
        try {
          require("request")('http://192.168./win&PL=7').on("error", (e) => { console.error(e); });
        } catch (e) { console.error(e); }
        await wait(60000);
        // Spots Aus
        try {
          require("request")('http://192.168./win&T=0').on("error", (e) => { console.error(e); });
        } catch (e) { console.error(e); }
      }
    });
    
    HomoranH Nicht stören
    HomoranH Nicht stören
    Homoran
    Global Moderator Administrators
    schrieb am zuletzt editiert von
    #2

    @xadox sagte in Auslösen nur bei Falsch:

    Ich wäre daher über Tipps dankbar:

    wenn ... "ist kleiner als letztes"

    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 -

    xadoxX 1 Antwort Letzte Antwort
    1
    • HomoranH Homoran

      @xadox sagte in Auslösen nur bei Falsch:

      Ich wäre daher über Tipps dankbar:

      wenn ... "ist kleiner als letztes"

      xadoxX Offline
      xadoxX Offline
      xadox
      schrieb am zuletzt editiert von
      #3

      @homoran Vielen Dank. Du meinst dann so:
      d4c43853-a99f-4a86-a484-af1d1dfc3c9a-image.png

      L 1 Antwort Letzte Antwort
      0
      • xadoxX xadox

        @homoran Vielen Dank. Du meinst dann so:
        d4c43853-a99f-4a86-a484-af1d1dfc3c9a-image.png

        L Offline
        L Offline
        lessthanmore
        schrieb am zuletzt editiert von
        #4

        @xadox Nein, im Trigger statt „wurde geändert“ auf „ist kleiner als letztes“ ändern.

        1 Antwort Letzte Antwort
        1
        • xadoxX Offline
          xadoxX Offline
          xadox
          schrieb am zuletzt editiert von
          #5

          Habe ich angepasst. Vielen Dank.

          Allerdings verstehe ich dies nicht. Wie kann der Wert hier kleiner sein? Er kann doch entweder "true" oder "false" sein.

          WalW 1 Antwort Letzte Antwort
          0
          • xadoxX xadox

            Habe ich angepasst. Vielen Dank.

            Allerdings verstehe ich dies nicht. Wie kann der Wert hier kleiner sein? Er kann doch entweder "true" oder "false" sein.

            WalW Offline
            WalW Offline
            Wal
            Developer
            schrieb am zuletzt editiert von
            #6

            @xadox ,
            true ist 1
            false ist 0
            was ist kleiner als 1 ?

            Gruß
            Walter

            DoorIO-Adapter
            wioBrowser-Adapter und wioBrowser

            MartinPM xadoxX 2 Antworten Letzte Antwort
            3
            • WalW Wal

              @xadox ,
              true ist 1
              false ist 0
              was ist kleiner als 1 ?

              MartinPM Online
              MartinPM Online
              MartinP
              schrieb am zuletzt editiert von MartinP
              #7
              1. Ist der Zustand des Reed-Kontaktes eine Nebenbedingung?
              2. Oder wird der Zustand des Reed-Kontaktes im Datenpunkt "Input100" gemeldet, und es soll nur dessen Wechsel von true -> false zu dem Ablauf in der Blockly - Klammer führen?

              Die Formulierung des einleitenden Satzes lässt da Interpretationsspielraum:

              Ich nutzte einen Reed Kontakt mit Shelly und möchte, dass ein Ereignis nur eintritt wenn der Reed Kontakt "false" liefert

              Falls (2) Möglicherweise liegt der Hase ganz woanders im Pfeffer. Reed-Kontakte "prellen" ganz gerne, das heißt der Wechsel von "true" auf "false" ist zuerst nicht stabil, sondern es kommen ein paar "true" Pulse, bevor dauerhaft "false" stehen bleibt...

              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

              paul53P 1 Antwort Letzte Antwort
              1
              • WalW Wal

                @xadox ,
                true ist 1
                false ist 0
                was ist kleiner als 1 ?

                xadoxX Offline
                xadoxX Offline
                xadox
                schrieb am zuletzt editiert von
                #8

                @wal Von der reinen Logik her verstehe ich das, aber der Reek Kontakt liefert nun mal nicht 0 oder 1 sondern true oder false.
                Ist das eine Interne Blockly Funktion, die true und false auch als 0 und 1 interpretiert?

                Davon abgesehen hat dies nichts geändert. Das Script löst dennoch bei jeder Zustandsänderung aus.

                @MartinP wie von dir in 2 beschrieben.

                MartinPM 1 Antwort Letzte Antwort
                0
                • xadoxX xadox

                  @wal Von der reinen Logik her verstehe ich das, aber der Reek Kontakt liefert nun mal nicht 0 oder 1 sondern true oder false.
                  Ist das eine Interne Blockly Funktion, die true und false auch als 0 und 1 interpretiert?

                  Davon abgesehen hat dies nichts geändert. Das Script löst dennoch bei jeder Zustandsänderung aus.

                  @MartinP wie von dir in 2 beschrieben.

                  MartinPM Online
                  MartinPM Online
                  MartinP
                  schrieb am zuletzt editiert von MartinP
                  #9

                  @xadox Das ist einfach eine Definition der Programmiersprache Javascript, dass true > false ist...

                  Ich habe übrigens beide Varianten mit einem kleinen Example state in Userdata ausprobiert - auch die Variante mit der "=" Abfrage funktioniert... Die "Kleiner als" Variante braucht aber eine Klammerebene weniger ...

                  b9025da7-ddad-46a6-8341-bf8c32349600-grafik.png

                  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

                  1 Antwort Letzte Antwort
                  0
                  • MartinPM MartinP
                    1. Ist der Zustand des Reed-Kontaktes eine Nebenbedingung?
                    2. Oder wird der Zustand des Reed-Kontaktes im Datenpunkt "Input100" gemeldet, und es soll nur dessen Wechsel von true -> false zu dem Ablauf in der Blockly - Klammer führen?

                    Die Formulierung des einleitenden Satzes lässt da Interpretationsspielraum:

                    Ich nutzte einen Reed Kontakt mit Shelly und möchte, dass ein Ereignis nur eintritt wenn der Reed Kontakt "false" liefert

                    Falls (2) Möglicherweise liegt der Hase ganz woanders im Pfeffer. Reed-Kontakte "prellen" ganz gerne, das heißt der Wechsel von "true" auf "false" ist zuerst nicht stabil, sondern es kommen ein paar "true" Pulse, bevor dauerhaft "false" stehen bleibt...

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

                    @martinp sagt: Reed-Kontakte "prellen" ganz gerne

                    Das vermute ich auch. Man sollte also entprellen:

                    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

                    MartinPM 1 Antwort Letzte Antwort
                    0
                    • paul53P paul53

                      @martinp sagt: Reed-Kontakte "prellen" ganz gerne

                      Das vermute ich auch. Man sollte also entprellen:

                      Blockly_temp.JPG

                      MartinPM Online
                      MartinPM Online
                      MartinP
                      schrieb am zuletzt editiert von
                      #11

                      Zum Beispiel von @paul53 Das Problem wird nicht das "Prellen" beim Wechsel True -> False sein, sondern ein "Prellen" beim Wechsel False -> True. Da ist der True-Zustand erstmal nicht stabil, sondern es wird noch einige Male kurz "false" gemeldet.
                      ...

                      Also muss erst in den zu erstellenden "Aktionen" Block die Abfrage, ob der Zustand False vorliegt. Der Timeout muss bei jedem Wechsel - egal in welche Richtung aufgezogen werden ...

                      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

                      paul53P 1 Antwort Letzte Antwort
                      0
                      • MartinPM MartinP

                        Zum Beispiel von @paul53 Das Problem wird nicht das "Prellen" beim Wechsel True -> False sein, sondern ein "Prellen" beim Wechsel False -> True. Da ist der True-Zustand erstmal nicht stabil, sondern es wird noch einige Male kurz "false" gemeldet.
                        ...

                        Also muss erst in den zu erstellenden "Aktionen" Block die Abfrage, ob der Zustand False vorliegt. Der Timeout muss bei jedem Wechsel - egal in welche Richtung aufgezogen werden ...

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

                        @martinp sagte: Der Timeout muss bei jedem Wechsel - egal in welche Richtung aufgezogen werden ...

                        Weshalb? Es muss nur die Wirkung während des Prellens eingehender weiterer Trigger unterdrückt werden.

                        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

                        MartinPM 1 Antwort Letzte Antwort
                        0
                        • paul53P paul53

                          @martinp sagte: Der Timeout muss bei jedem Wechsel - egal in welche Richtung aufgezogen werden ...

                          Weshalb? Es muss nur die Wirkung während des Prellens eingehender weiterer Trigger unterdrückt werden.

                          MartinPM Online
                          MartinPM Online
                          MartinP
                          schrieb am zuletzt editiert von MartinP
                          #13

                          @paul53 falls der Low-Zustand lange stabil angelegen hat, ist der Entprell-Timeout für den High->Low Übergang abgelaufen.

                          Wenn dann beim darauf folgenden Low->High Übergang der Entprell-Timeout nicht aufgezogen wird, wird die fallende Flanke des ersten "Preller", der diesem Übergang folgt als regulärer High->Low Übergang interpretiert ...

                          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

                          paul53P 1 Antwort Letzte Antwort
                          0
                          • MartinPM MartinP

                            @paul53 falls der Low-Zustand lange stabil angelegen hat, ist der Entprell-Timeout für den High->Low Übergang abgelaufen.

                            Wenn dann beim darauf folgenden Low->High Übergang der Entprell-Timeout nicht aufgezogen wird, wird die fallende Flanke des ersten "Preller", der diesem Übergang folgt als regulärer High->Low Übergang interpretiert ...

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

                            @martinp sagte: falls der Low-Zustand lange stabil angelegen hat

                            ... dann prellt der Kontakt nicht mehr. Prellen bewirkt schnelle Änderungen in beide Richtungen.

                            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

                            MartinPM 1 Antwort Letzte Antwort
                            0
                            • paul53P paul53

                              @martinp sagte: falls der Low-Zustand lange stabil angelegen hat

                              ... dann prellt der Kontakt nicht mehr. Prellen bewirkt schnelle Änderungen in beide Richtungen.

                              MartinPM Online
                              MartinPM Online
                              MartinP
                              schrieb am zuletzt editiert von
                              #15

                              @paul53 Es geht um die Preller die dem Low->High Übergang folgen - gibt es da Preller, enthalten diese natürlich auf "fake" High-Low-Übergänge, die ausgeblendet werden müssen.

                              Dein Beispiel-Schnipsel arbeitet da aber durchaus korrekt, er zieht den Timeout bei jeder Flanke auf ... Da der "Wenn" Block aber noch nicht enthalten war, habe ich nur auf die korrekte Platzierung von diesem hingewiesen...

                              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

                              1 Antwort Letzte Antwort
                              0
                              • xadoxX Offline
                                xadoxX Offline
                                xadox
                                schrieb am zuletzt editiert von
                                #16

                                Ich habe eurer Diskussion nicht ganz folgen können aber dies hat das Problem auch nicht lösen können:

                                a8f997d6-5e0b-4491-b5ba-0d202e2a1e30-image.png

                                HomoranH 1 Antwort Letzte Antwort
                                0
                                • xadoxX xadox

                                  Ich habe eurer Diskussion nicht ganz folgen können aber dies hat das Problem auch nicht lösen können:

                                  a8f997d6-5e0b-4491-b5ba-0d202e2a1e30-image.png

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

                                  @xadox sagte in Auslösen nur bei Falsch:

                                  dies hat das Problem auch nicht lösen können

                                  heisst in beschreibender Sprache?

                                  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 -

                                  1 Antwort Letzte Antwort
                                  0
                                  • xadoxX Offline
                                    xadoxX Offline
                                    xadox
                                    schrieb am zuletzt editiert von
                                    #18

                                    Trigger löst nach wie vor bei jeder Änderung aus.
                                    Sowohl auf false auch auch auf true.

                                    paul53P 1 Antwort Letzte Antwort
                                    0
                                    • xadoxX xadox

                                      Trigger löst nach wie vor bei jeder Änderung aus.
                                      Sowohl auf false auch auch auf true.

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

                                      @xadox sagte: Trigger löst nach wie vor bei jeder Änderung aus.
                                      Sowohl auf false auch auch auf true.

                                      Wie stellst du das fest? Mit entsprechenden Logs?

                                      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

                                      xadoxX 1 Antwort Letzte Antwort
                                      0
                                      • MartinPM Online
                                        MartinPM Online
                                        MartinP
                                        schrieb am zuletzt editiert von MartinP
                                        #20

                                        @paul53 Durch die Nutzung von "ist kleiner als Letztes" kommt vom Prellen am Übergang Low->High der erste Impuls ungefiltert durch.

                                        So etwas in der Art sollte das beheben. Habe ich mal für einen kurzen Test genutzt...

                                        3f76698f-2f3f-4641-9270-9a0e2c7230d3-grafik.png

                                        Hier ist aber die Sperrzeit, bevor wieder Änderungen angenommen werden mit 8000 ms sicherlich deutlich zu hoch...

                                        Alternativ wäre natürlich zu fragen, ob nicht direkt im Shelly der Eingang entprellt werden kann, entweder per Konfiguration in der Shelly Firmware, oder in Form einer Vorschalt-Mimik zwischen Shelly und Reed-Kontakt ...
                                        Da wird ja schon bei jedem Prellen unnötig ein Telegramm auf die Reise geschickt ...

                                        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

                                        paul53P 1 Antwort Letzte Antwort
                                        0
                                        • MartinPM MartinP

                                          @paul53 Durch die Nutzung von "ist kleiner als Letztes" kommt vom Prellen am Übergang Low->High der erste Impuls ungefiltert durch.

                                          So etwas in der Art sollte das beheben. Habe ich mal für einen kurzen Test genutzt...

                                          3f76698f-2f3f-4641-9270-9a0e2c7230d3-grafik.png

                                          Hier ist aber die Sperrzeit, bevor wieder Änderungen angenommen werden mit 8000 ms sicherlich deutlich zu hoch...

                                          Alternativ wäre natürlich zu fragen, ob nicht direkt im Shelly der Eingang entprellt werden kann, entweder per Konfiguration in der Shelly Firmware, oder in Form einer Vorschalt-Mimik zwischen Shelly und Reed-Kontakt ...
                                          Da wird ja schon bei jedem Prellen unnötig ein Telegramm auf die Reise geschickt ...

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

                                          @martinp sagte: kommt vom Prellen am Übergang Low->High der erste Impuls ungefiltert durch.

                                          Das ist der Sinn von Entprellen: Die erste Flanke true --> false löst die gewünschte Aktion ohne Verzögerung aus und weitere Flanken (Prellen) werden während der Sperrdauer ignoriert.

                                          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

                                          MartinPM 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

                                          692

                                          Online

                                          32.6k

                                          Benutzer

                                          82.0k

                                          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