Weiter zum Inhalt
  • Home
  • Aktuell
  • Tags
  • 0 Ungelesen 0
  • Kategorien
  • Unreplied
  • Beliebt
  • GitHub
  • Docu
  • Hilfe
Skins
  • Hell
  • Brite
  • Cerulean
  • Cosmo
  • Flatly
  • Journal
  • Litera
  • Lumen
  • Lux
  • Materia
  • Minty
  • Morph
  • Pulse
  • Sandstone
  • Simplex
  • Sketchy
  • Spacelab
  • United
  • Yeti
  • Zephyr
  • Dunkel
  • 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

  • Neuer ioBroker-Blog online: Monatsrückblick März/April 2026
    BluefoxB
    Bluefox
    8
    1
    1.6k

  • Verwendung von KI bitte immer deutlich kennzeichnen
    HomoranH
    Homoran
    10
    1
    674

  • Monatsrückblick Januar/Februar 2026 ist online!
    BluefoxB
    Bluefox
    18
    1
    1.2k

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

Geplant Angeheftet Gesperrt Verschoben JavaScript
4 Beiträge 3 Kommentatoren 476 Aufrufe 2 Beobachtet
  • Ä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 Offline
      haus-automatisierungH Offline
      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: Asus PN 42 / N100 / 8 GB / 500 GB

        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

          Hey! Du scheinst an dieser Unterhaltung interessiert zu sein, hast aber noch kein Konto.

          Hast du es satt, bei jedem Besuch durch die gleichen Beiträge zu scrollen? Wenn du dich für ein Konto anmeldest, kommst du immer genau dorthin zurück, wo du zuvor warst, und kannst dich über neue Antworten benachrichtigen lassen (entweder per E-Mail oder Push-Benachrichtigung). Du kannst auch Lesezeichen speichern und Beiträge positiv bewerten, um anderen Community-Mitgliedern deine Wertschätzung zu zeigen.

          Mit deinem Input könnte dieser Beitrag noch besser werden 💗

          Registrieren Anmelden
          Antworten
          • In einem neuen Thema antworten
          Anmelden zum Antworten
          • Älteste zuerst
          • Neuste zuerst
          • Meiste Stimmen


          Support us

          ioBroker
          Community Adapters
          Donate

          315

          Online

          32.9k

          Benutzer

          83.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