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. Wie bekommt man Änderung mit on function und Array mit?

NEWS

  • Neuer ioBroker-Blog online: Monatsrückblick März/April 2026
    BluefoxB
    Bluefox
    5
    1
    184

  • Verwendung von KI bitte immer deutlich kennzeichnen
    HomoranH
    Homoran
    8
    1
    200

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

Wie bekommt man Änderung mit on function und Array mit?

Geplant Angeheftet Gesperrt Verschoben JavaScript
9 Beiträge 2 Kommentatoren 407 Aufrufe 1 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.
  • M Offline
    M Offline
    MCU
    schrieb am zuletzt editiert von MCU
    #1

    IDs stehen in einem DP. Daraus soll eine Subscription gesetzt werden, um die Änderungen bei allen DPs mitzubekommen.
    javascript 5.6.0, admin 6.1.2
    Mein Versuch, so funktioniert es nicht.

    let iDs =JSON.parse(getState(dpListDPs).val);
    for (let i=0;i<iDs.length;i++){
        log(iDs[i]);
        on({id: iDs[i] , change: "any"}, function (obj){
            log(obj.channelId+' geändert')
        });
    }
    
    Ergebnis:
    16:17:12.998	info	javascript.0 (1684) Start javascript script.js.JARVIS.JSONtable.JSONTable_mit_Türen_mehrfach
    16:17:13.641	info	javascript.0 (1684) script.js.JARVIS.JSONtable.JSONTable_mit_Türen_mehrfach: zigbee.0.00158d00025ea1d6.temperature
    16:17:13.642	info	javascript.0 (1684) script.js.JARVIS.JSONtable.JSONTable_mit_Türen_mehrfach: registered 27214 subscriptions and 0 schedules
    
    

    @paul53 ?

    Vielen Dank.

    EDIT: mit diesem funktioniert es bei admin 5.2.3 , javascript 5.2.21
    Diese Version funktionierte beim admin 6.1.2, javascript 5.6.0 nicht.

    let iDDPs =JSON.parse(getState(dpListDPs).val);
    on({id:iDDPs, change:"ne"}, function (obj){
        log(obj.channelId+' geändert')
    });
    

    NUC i7 64GB mit Proxmox ---- Jarvis Infos Aktualisierungen der Doku auf Instagram verfolgen -> mcuiobroker Instagram
    Wenn Euch mein Vorschlag geholfen hat, bitte rechts "^" klicken.

    paul53P 1 Antwort Letzte Antwort
    0
    • M MCU

      IDs stehen in einem DP. Daraus soll eine Subscription gesetzt werden, um die Änderungen bei allen DPs mitzubekommen.
      javascript 5.6.0, admin 6.1.2
      Mein Versuch, so funktioniert es nicht.

      let iDs =JSON.parse(getState(dpListDPs).val);
      for (let i=0;i<iDs.length;i++){
          log(iDs[i]);
          on({id: iDs[i] , change: "any"}, function (obj){
              log(obj.channelId+' geändert')
          });
      }
      
      Ergebnis:
      16:17:12.998	info	javascript.0 (1684) Start javascript script.js.JARVIS.JSONtable.JSONTable_mit_Türen_mehrfach
      16:17:13.641	info	javascript.0 (1684) script.js.JARVIS.JSONtable.JSONTable_mit_Türen_mehrfach: zigbee.0.00158d00025ea1d6.temperature
      16:17:13.642	info	javascript.0 (1684) script.js.JARVIS.JSONtable.JSONTable_mit_Türen_mehrfach: registered 27214 subscriptions and 0 schedules
      
      

      @paul53 ?

      Vielen Dank.

      EDIT: mit diesem funktioniert es bei admin 5.2.3 , javascript 5.2.21
      Diese Version funktionierte beim admin 6.1.2, javascript 5.6.0 nicht.

      let iDDPs =JSON.parse(getState(dpListDPs).val);
      on({id:iDDPs, change:"ne"}, function (obj){
          log(obj.channelId+' geändert')
      });
      
      paul53P Offline
      paul53P Offline
      paul53
      schrieb am zuletzt editiert von
      #2

      @mcu sagte: funktionierte beim admin 6.1.2, javascript 5.6.0 nicht.

      Das kann ich mit Javascript 5.7.0 nicht nachvollziehen.

      Bild_2022-06-24_175656479.png

      Was ergibt?

      let iDDPs =JSON.parse(getState(dpListDPs).val);
      log(iDDPs);
      

      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

      M 1 Antwort Letzte Antwort
      0
      • paul53P paul53

        @mcu sagte: funktionierte beim admin 6.1.2, javascript 5.6.0 nicht.

        Das kann ich mit Javascript 5.7.0 nicht nachvollziehen.

        Bild_2022-06-24_175656479.png

        Was ergibt?

        let iDDPs =JSON.parse(getState(dpListDPs).val);
        log(iDDPs);
        
        M Offline
        M Offline
        MCU
        schrieb am zuletzt editiert von MCU
        #3

        @paul53 Komischerweise läuft es jetzt mit admin 5.2.3.
        Bekomme jetzt die logs nur 2x?

        17:53:20.454	info	javascript.0 (1804) script.js.JARVIS.JSONtable.JSONTable_mit_Türen_mehrfach: zigbee.0.00158d00025ea1d6.temperature geändert auf 27.33 °C
        17:53:20.455	info	javascript.0 (1804) script.js.JARVIS.JSONtable.JSONTable_mit_Türen_mehrfach: zigbee.0.00158d00025ea1d6.temperature geändert auf 27.33 °C
        17:53:20.518	info	javascript.0 (1804) script.js.JARVIS.JSONtable.JSONTable_mit_Türen_mehrfach: zigbee.0.00158d00025ea1d6.humidity geändert auf 60.03 °C
        17:53:20.519	info	javascript.0 (1804) script.js.JARVIS.JSONtable.JSONTable_mit_Türen_mehrfach: zigbee.0.00158d00025ea1d6.humidity geändert auf 60.03 °C
        17:53:26.060	info	javascript.0 (1804) script.js.JARVIS.JSONtable.JSONTable_mit_Türen_mehrfach: zigbee.0.00158d00025ea1d6.temperature geändert auf 26.88 °C
        17:53:26.060	info	javascript.0 (1804) script.js.JARVIS.JSONtable.JSONTable_mit_Türen_mehrfach: zigbee.0.00158d00025ea1d6.temperature geändert auf 26.88 °C
        17:53:26.089	info	javascript.0 (1804) script.js.JARVIS.JSONtable.JSONTable_mit_Türen_mehrfach: zigbee.0.00158d00025ea1d6.humidity geändert auf 80.05 °C
        17:53:26.089	info	javascript.0 (1804) script.js.JARVIS.JSONtable.JSONTable_mit_Türen_mehrfach: zigbee.0.00158d00025ea1d6.humidity geändert auf 80.05 °C
        
        ['zigbee.0.00158d00025ea1d6.temperature','zigbee.0.00158d00025ea1d6.humidity','zigbee.0.00158d0004607e34.opened']
        

        Habe den admin wieder auf stable gesetzt?

        NUC i7 64GB mit Proxmox ---- Jarvis Infos Aktualisierungen der Doku auf Instagram verfolgen -> mcuiobroker Instagram
        Wenn Euch mein Vorschlag geholfen hat, bitte rechts "^" klicken.

        paul53P 1 Antwort Letzte Antwort
        0
        • M MCU

          @paul53 Komischerweise läuft es jetzt mit admin 5.2.3.
          Bekomme jetzt die logs nur 2x?

          17:53:20.454	info	javascript.0 (1804) script.js.JARVIS.JSONtable.JSONTable_mit_Türen_mehrfach: zigbee.0.00158d00025ea1d6.temperature geändert auf 27.33 °C
          17:53:20.455	info	javascript.0 (1804) script.js.JARVIS.JSONtable.JSONTable_mit_Türen_mehrfach: zigbee.0.00158d00025ea1d6.temperature geändert auf 27.33 °C
          17:53:20.518	info	javascript.0 (1804) script.js.JARVIS.JSONtable.JSONTable_mit_Türen_mehrfach: zigbee.0.00158d00025ea1d6.humidity geändert auf 60.03 °C
          17:53:20.519	info	javascript.0 (1804) script.js.JARVIS.JSONtable.JSONTable_mit_Türen_mehrfach: zigbee.0.00158d00025ea1d6.humidity geändert auf 60.03 °C
          17:53:26.060	info	javascript.0 (1804) script.js.JARVIS.JSONtable.JSONTable_mit_Türen_mehrfach: zigbee.0.00158d00025ea1d6.temperature geändert auf 26.88 °C
          17:53:26.060	info	javascript.0 (1804) script.js.JARVIS.JSONtable.JSONTable_mit_Türen_mehrfach: zigbee.0.00158d00025ea1d6.temperature geändert auf 26.88 °C
          17:53:26.089	info	javascript.0 (1804) script.js.JARVIS.JSONtable.JSONTable_mit_Türen_mehrfach: zigbee.0.00158d00025ea1d6.humidity geändert auf 80.05 °C
          17:53:26.089	info	javascript.0 (1804) script.js.JARVIS.JSONtable.JSONTable_mit_Türen_mehrfach: zigbee.0.00158d00025ea1d6.humidity geändert auf 80.05 °C
          
          ['zigbee.0.00158d00025ea1d6.temperature','zigbee.0.00158d00025ea1d6.humidity','zigbee.0.00158d0004607e34.opened']
          

          Habe den admin wieder auf stable gesetzt?

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

          @mcu sagte: Habe den admin wieder auf stable gesetzt?

          Der Javascript-Adapter funktioniert unabhängig vom Admin.

          @mcu sagte in Wie bekommt man Änderung mit on function und Array mit?:

          Bekomme jetzt die logs nur 2x?

          Skript? Laufen 2 gleiche (ähnliche) Skripte parallel?

          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

          M 1 Antwort Letzte Antwort
          0
          • paul53P paul53

            @mcu sagte: Habe den admin wieder auf stable gesetzt?

            Der Javascript-Adapter funktioniert unabhängig vom Admin.

            @mcu sagte in Wie bekommt man Änderung mit on function und Array mit?:

            Bekomme jetzt die logs nur 2x?

            Skript? Laufen 2 gleiche (ähnliche) Skripte parallel?

            M Offline
            M Offline
            MCU
            schrieb am zuletzt editiert von MCU
            #5

            @paul53

            if (existsState(dpListDPs)){
            
                let iDDPs = JSON.parse(getState(dpListDPs).val);
                log(iDDPs);
                on({id:iDDPs, change:"ne"}, function (obj){
                    log(obj.id+' geändert auf ' +getState(obj.id).val +' °C');
                });
            
            }
            

            Jetzt nur noch eine 1. Also irgendetwas war faul?
            c7a11eaa-979e-4a14-bd0e-ec2b7de7eab9-image.png

            Hat der Admin Einfluss auf javascript?

            NUC i7 64GB mit Proxmox ---- Jarvis Infos Aktualisierungen der Doku auf Instagram verfolgen -> mcuiobroker Instagram
            Wenn Euch mein Vorschlag geholfen hat, bitte rechts "^" klicken.

            paul53P 2 Antworten Letzte Antwort
            0
            • M MCU

              @paul53

              if (existsState(dpListDPs)){
              
                  let iDDPs = JSON.parse(getState(dpListDPs).val);
                  log(iDDPs);
                  on({id:iDDPs, change:"ne"}, function (obj){
                      log(obj.id+' geändert auf ' +getState(obj.id).val +' °C');
                  });
              
              }
              

              Jetzt nur noch eine 1. Also irgendetwas war faul?
              c7a11eaa-979e-4a14-bd0e-ec2b7de7eab9-image.png

              Hat der Admin Einfluss auf javascript?

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

              @mcu
              Weshalb getState(obj.id).val und nicht obj.state.val? Der Zugriff auf eine existierende Variable ist effizienter als der Funktionsaufruf.

              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

              M 1 Antwort Letzte Antwort
              0
              • paul53P paul53

                @mcu
                Weshalb getState(obj.id).val und nicht obj.state.val? Der Zugriff auf eine existierende Variable ist effizienter als der Funktionsaufruf.

                M Offline
                M Offline
                MCU
                schrieb am zuletzt editiert von
                #7

                @paul53 Stimmt, korrigiere ich, danke.

                NUC i7 64GB mit Proxmox ---- Jarvis Infos Aktualisierungen der Doku auf Instagram verfolgen -> mcuiobroker Instagram
                Wenn Euch mein Vorschlag geholfen hat, bitte rechts "^" klicken.

                1 Antwort Letzte Antwort
                0
                • M MCU

                  @paul53

                  if (existsState(dpListDPs)){
                  
                      let iDDPs = JSON.parse(getState(dpListDPs).val);
                      log(iDDPs);
                      on({id:iDDPs, change:"ne"}, function (obj){
                          log(obj.id+' geändert auf ' +getState(obj.id).val +' °C');
                      });
                  
                  }
                  

                  Jetzt nur noch eine 1. Also irgendetwas war faul?
                  c7a11eaa-979e-4a14-bd0e-ec2b7de7eab9-image.png

                  Hat der Admin Einfluss auf javascript?

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

                  @mcu sagte: Hat der Admin Einfluss auf javascript?

                  Auf die Skriptabarbeitung nicht, höchstens auf die Log-Darstellung.

                  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

                  M 1 Antwort Letzte Antwort
                  0
                  • paul53P paul53

                    @mcu sagte: Hat der Admin Einfluss auf javascript?

                    Auf die Skriptabarbeitung nicht, höchstens auf die Log-Darstellung.

                    M Offline
                    M Offline
                    MCU
                    schrieb am zuletzt editiert von
                    #9

                    @paul53 Dann war bei mir irgendetwas nicht ok. Nach Neustart funktioniert es. Danke.

                    NUC i7 64GB mit Proxmox ---- Jarvis Infos Aktualisierungen der Doku auf Instagram verfolgen -> mcuiobroker Instagram
                    Wenn Euch mein Vorschlag geholfen hat, bitte rechts "^" klicken.

                    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

                    503

                    Online

                    32.8k

                    Benutzer

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