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. JavaScript
  5. Javascript v8.3.1 "on" Funktion immer mit "change: 'ne'"?

NEWS

  • Weihnachtsangebot 2025! 🎄
    BluefoxB
    Bluefox
    22
    1
    1.2k

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

  • Monatsrückblick – September 2025
    BluefoxB
    Bluefox
    14
    1
    2.5k

Javascript v8.3.1 "on" Funktion immer mit "change: 'ne'"?

Geplant Angeheftet Gesperrt Verschoben JavaScript
4 Beiträge 3 Kommentatoren 382 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.
  • O Offline
    O Offline
    olterion
    schrieb am zuletzt editiert von olterion
    #1

    Hallo,

    ich ahbe ein Script schon länger am laufen und nach einem Update des javascript Adapters scheint es so, dass sich am Verhalten der "on" Funktion etwas geändert hat.

    In der Hilfe ist folgendes beschrieben:
    on -> change -> "ne" -> (not equal) New value must be not equal to the old one (state.val != oldState.val) If pattern is id-string this value is used by default

    Nun wird aber eine on Funktion immer wieder ausgeführt, obwohl die value von mqtt.0.sensor sich nicht ändert (immer value=false)

    on({id: 'mqtt.0.sensor'}, function(){ 
      log("testausgabe");
    })
    

    Ich muss nun folgendes schreiben, damit das Verhalten passt:

    on({id: 'mqtt.0.sensor', change: 'ne'}, function(){ 
       log("testausgabe");
    })
    

    Vorher hat die Funktion so gearbeitet wie sie soll.
    Gibt es einen bekannten Fehler, der dieses Verhalten beschreibt, oder ist die Doku veraltet oder habe ich einen Denk-/Verständnisfehler?

    Grüße,
    Olli

    haus-automatisierungH paul53P 2 Antworten Letzte Antwort
    0
    • O olterion

      Hallo,

      ich ahbe ein Script schon länger am laufen und nach einem Update des javascript Adapters scheint es so, dass sich am Verhalten der "on" Funktion etwas geändert hat.

      In der Hilfe ist folgendes beschrieben:
      on -> change -> "ne" -> (not equal) New value must be not equal to the old one (state.val != oldState.val) If pattern is id-string this value is used by default

      Nun wird aber eine on Funktion immer wieder ausgeführt, obwohl die value von mqtt.0.sensor sich nicht ändert (immer value=false)

      on({id: 'mqtt.0.sensor'}, function(){ 
        log("testausgabe");
      })
      

      Ich muss nun folgendes schreiben, damit das Verhalten passt:

      on({id: 'mqtt.0.sensor', change: 'ne'}, function(){ 
         log("testausgabe");
      })
      

      Vorher hat die Funktion so gearbeitet wie sie soll.
      Gibt es einen bekannten Fehler, der dieses Verhalten beschreibt, oder ist die Doku veraltet oder habe ich einen Denk-/Verständnisfehler?

      Grüße,
      Olli

      haus-automatisierungH Online
      haus-automatisierungH Online
      haus-automatisierung
      Developer Most Active
      schrieb am zuletzt editiert von haus-automatisierung
      #2

      @olterion Log mal die Werte die reinkommen.

      EDIT: Falsch verstanden. @paul53 hat Recht. "any" war schon immer der Standard wenn man ein Objekt übergibt. Gern ein Downgrade auf eine ältere Version machen - da wird das Verhalten genauso sein.

      🧑‍🎓 Autor des beliebten ioBroker-Master-Kurses
      🎥 Tutorials rund um das Thema DIY-Smart-Home: https://haus-automatisierung.com/
      📚 Meine inoffizielle ioBroker Dokumentation

      1 Antwort Letzte Antwort
      0
      • O olterion

        Hallo,

        ich ahbe ein Script schon länger am laufen und nach einem Update des javascript Adapters scheint es so, dass sich am Verhalten der "on" Funktion etwas geändert hat.

        In der Hilfe ist folgendes beschrieben:
        on -> change -> "ne" -> (not equal) New value must be not equal to the old one (state.val != oldState.val) If pattern is id-string this value is used by default

        Nun wird aber eine on Funktion immer wieder ausgeführt, obwohl die value von mqtt.0.sensor sich nicht ändert (immer value=false)

        on({id: 'mqtt.0.sensor'}, function(){ 
          log("testausgabe");
        })
        

        Ich muss nun folgendes schreiben, damit das Verhalten passt:

        on({id: 'mqtt.0.sensor', change: 'ne'}, function(){ 
           log("testausgabe");
        })
        

        Vorher hat die Funktion so gearbeitet wie sie soll.
        Gibt es einen bekannten Fehler, der dieses Verhalten beschreibt, oder ist die Doku veraltet oder habe ich einen Denk-/Verständnisfehler?

        Grüße,
        Olli

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

        @olterion sagte: Nun wird aber eine on Funktion immer wieder ausgeführt

        Das war schon immer so. Aus der Doku:

        Notice: Please note, that by default "change" is equal to "any", except when only id as string is set (like on('id', () => {});). In last case change will be set to "ne".

        @olterion sagte in Javascript v8.3.1 "on" Funktion immer mit "change: 'ne'"?:

        Ich muss nun folgendes schreiben, damit das Verhalten passt:

        Du kannst auch schreiben, damit nur bei Wertänderung getriggert wird:

        on('mqtt.0.sensor', function(){ 
          log("testausgabe");
        });
        

        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

        O 1 Antwort Letzte Antwort
        1
        • paul53P paul53

          @olterion sagte: Nun wird aber eine on Funktion immer wieder ausgeführt

          Das war schon immer so. Aus der Doku:

          Notice: Please note, that by default "change" is equal to "any", except when only id as string is set (like on('id', () => {});). In last case change will be set to "ne".

          @olterion sagte in Javascript v8.3.1 "on" Funktion immer mit "change: 'ne'"?:

          Ich muss nun folgendes schreiben, damit das Verhalten passt:

          Du kannst auch schreiben, damit nur bei Wertänderung getriggert wird:

          on('mqtt.0.sensor', function(){ 
            log("testausgabe");
          });
          
          O Offline
          O Offline
          olterion
          schrieb am zuletzt editiert von
          #4

          @paul53
          Vielen Dank, also hatte ich ja doch etwas falsch verstanden.

          Habe es nun ohne "id:{..}" eingebaut, wie du geschrieben hast und die Funktion wird auch ohne "change: 'ne'" nicht immer wieder ausgeführt.

          Vielen Dank für die schnelle Hilfe!

          Grüße,
          Olli

          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

          763

          Online

          32.5k

          Benutzer

          81.7k

          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