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)-Trigger wird mehrmals ausgeführt

NEWS

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

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

  • Weihnachtsangebot 2025! 🎄
    BluefoxB
    Bluefox
    25
    1
    2.0k

(Blockly)-Trigger wird mehrmals ausgeführt

Geplant Angeheftet Gesperrt Verschoben Skripten / Logik
4 Beiträge 2 Kommentatoren 457 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.
  • J Offline
    J Offline
    james4711
    schrieb am zuletzt editiert von Homoran
    #1

    Hallo!

    Ich habe folgendes Problem mit diesem Script:

    on({id: 'sonoff.0.EG_WZ_Schiebetuere.POWER2', val: true}, async function (obj) {
      var value = obj.state.val;
      var oldValue = obj.oldState.val;
      if (getState("javascript.0.Lichter.EG_WZ_Raum").val == true) {
        console.log('Schalte aus');
        setState("javascript.0.Lichter.EG_WZ_Raum"/*EG_WZ_Raum*/, false);
      } else {
        console.log('Schalte ein');
        setState("javascript.0.Lichter.EG_WZ_Raum"/*EG_WZ_Raum*/, true);
      }
    });
    

    Wenn ich dann über Jarvis schalte bekomme ich folgende Einträge im Log:

    2021-03-12 13:35:10.594 - info: javascript.0 (163481) script.js.Lichter.EG_WZ_Raum1: Schalte aus
    2021-03-12 13:35:10.599 - info: mqtt.1 (1667) send2Server javascript.0.Lichter.EG_WZ_Raum[javascript/0/Lichter/EG_WZ_Raum]
    2021-03-12 13:35:10.759 - info: javascript.0 (163481) script.js.Lichter.EG_WZ_Raum1: Schalte ein
    2021-03-12 13:35:10.765 - info: mqtt.1 (1667) send2Server javascript.0.Lichter.EG_WZ_Raum[javascript/0/Lichter/EG_WZ_Raum]
    2021-03-12 13:35:10.770 - info: javascript.0 (163481) script.js.Lichter.EG_WZ_Raum1: Schalte aus
    2021-03-12 13:35:10.775 - info: mqtt.1 (1667) send2Server javascript.0.Lichter.EG_WZ_Raum[javascript/0/Lichter/EG_WZ_Raum]
    
    Wenn ich direkt über den Schalter schalte bekomme ich:
    2021-03-12 13:38:37.045 - info: javascript.0 (163481) script.js.Lichter.EG_WZ_Raum1: Schalte ein
    2021-03-12 13:38:37.053 - info: mqtt.1 (1667) send2Server javascript.0.Lichter.EG_WZ_Raum[javascript/0/Lichter/EG_WZ_Raum]
    2021-03-12 13:38:37.056 - info: javascript.0 (163481) script.js.Lichter.EG_WZ_Raum1: Schalte aus
    2021-03-12 13:38:37.062 - info: mqtt.1 (1667) send2Server javascript.0.Lichter.EG_WZ_Raum[javascript/0/Lichter/EG_WZ_Raum]
    

    MOD-Edit: Code in code-tags gesetzt!

    Eigentlich würde ich mir aber nur einen Schalt-Eintrag wünschen!

    Woran liegts??

    Danke!

    LG

    AsgothianA 1 Antwort Letzte Antwort
    0
    • J james4711

      Hallo!

      Ich habe folgendes Problem mit diesem Script:

      on({id: 'sonoff.0.EG_WZ_Schiebetuere.POWER2', val: true}, async function (obj) {
        var value = obj.state.val;
        var oldValue = obj.oldState.val;
        if (getState("javascript.0.Lichter.EG_WZ_Raum").val == true) {
          console.log('Schalte aus');
          setState("javascript.0.Lichter.EG_WZ_Raum"/*EG_WZ_Raum*/, false);
        } else {
          console.log('Schalte ein');
          setState("javascript.0.Lichter.EG_WZ_Raum"/*EG_WZ_Raum*/, true);
        }
      });
      

      Wenn ich dann über Jarvis schalte bekomme ich folgende Einträge im Log:

      2021-03-12 13:35:10.594 - info: javascript.0 (163481) script.js.Lichter.EG_WZ_Raum1: Schalte aus
      2021-03-12 13:35:10.599 - info: mqtt.1 (1667) send2Server javascript.0.Lichter.EG_WZ_Raum[javascript/0/Lichter/EG_WZ_Raum]
      2021-03-12 13:35:10.759 - info: javascript.0 (163481) script.js.Lichter.EG_WZ_Raum1: Schalte ein
      2021-03-12 13:35:10.765 - info: mqtt.1 (1667) send2Server javascript.0.Lichter.EG_WZ_Raum[javascript/0/Lichter/EG_WZ_Raum]
      2021-03-12 13:35:10.770 - info: javascript.0 (163481) script.js.Lichter.EG_WZ_Raum1: Schalte aus
      2021-03-12 13:35:10.775 - info: mqtt.1 (1667) send2Server javascript.0.Lichter.EG_WZ_Raum[javascript/0/Lichter/EG_WZ_Raum]
      
      Wenn ich direkt über den Schalter schalte bekomme ich:
      2021-03-12 13:38:37.045 - info: javascript.0 (163481) script.js.Lichter.EG_WZ_Raum1: Schalte ein
      2021-03-12 13:38:37.053 - info: mqtt.1 (1667) send2Server javascript.0.Lichter.EG_WZ_Raum[javascript/0/Lichter/EG_WZ_Raum]
      2021-03-12 13:38:37.056 - info: javascript.0 (163481) script.js.Lichter.EG_WZ_Raum1: Schalte aus
      2021-03-12 13:38:37.062 - info: mqtt.1 (1667) send2Server javascript.0.Lichter.EG_WZ_Raum[javascript/0/Lichter/EG_WZ_Raum]
      

      MOD-Edit: Code in code-tags gesetzt!

      Eigentlich würde ich mir aber nur einen Schalt-Eintrag wünschen!

      Woran liegts??

      Danke!

      LG

      AsgothianA Offline
      AsgothianA Offline
      Asgothian
      Developer
      schrieb am zuletzt editiert von
      #2

      @james4711 Aus meiner Sicht liegt es an deinem Trigger.

      Bitte das Skript anpassen auf

      on({id: 'sonoff.0.EG_WZ_Schiebetuere.POWER2', change: 'gt'}, async function (obj) {
        var value = obj.state.val;
        var oldValue = obj.oldState.val;
        if (getState("javascript.0.Lichter.EG_WZ_Raum").val == true) {
          console.log('Schalte aus');
          setState("javascript.0.Lichter.EG_WZ_Raum"/*EG_WZ_Raum*/, false);
        } else {
          console.log('Schalte ein');
          setState("javascript.0.Lichter.EG_WZ_Raum"/*EG_WZ_Raum*/, true);
        }
      });
      

      ioBroker auf RPi4 - Hardware soweit wie möglich via Zigbee.
      "Shit don't work" ist keine Fehlermeldung, sondern ein Fluch.

      J 1 Antwort Letzte Antwort
      0
      • AsgothianA Asgothian

        @james4711 Aus meiner Sicht liegt es an deinem Trigger.

        Bitte das Skript anpassen auf

        on({id: 'sonoff.0.EG_WZ_Schiebetuere.POWER2', change: 'gt'}, async function (obj) {
          var value = obj.state.val;
          var oldValue = obj.oldState.val;
          if (getState("javascript.0.Lichter.EG_WZ_Raum").val == true) {
            console.log('Schalte aus');
            setState("javascript.0.Lichter.EG_WZ_Raum"/*EG_WZ_Raum*/, false);
          } else {
            console.log('Schalte ein');
            setState("javascript.0.Lichter.EG_WZ_Raum"/*EG_WZ_Raum*/, true);
          }
        });
        
        J Offline
        J Offline
        james4711
        schrieb am zuletzt editiert von
        #3

        @asgothian Danke! Scheint so zu funktionieren. Aber warum Greater??

        AsgothianA 1 Antwort Letzte Antwort
        0
        • J james4711

          @asgothian Danke! Scheint so zu funktionieren. Aber warum Greater??

          AsgothianA Offline
          AsgothianA Offline
          Asgothian
          Developer
          schrieb am zuletzt editiert von
          #4

          @james4711

          Bei Javascript gilt: True > False

          Mit dem Trigger auf Grösser als wird der Trigger nur aktiv wenn der State von Falsch auf Wahr wechselt.

          A.

          ioBroker auf RPi4 - Hardware soweit wie möglich via Zigbee.
          "Shit don't work" ist keine Fehlermeldung, sondern ein Fluch.

          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

          473

          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