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

NEWS

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

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

  • Weihnachtsangebot 2025! 🎄
    BluefoxB
    Bluefox
    25
    1
    2.2k

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

Geplant Angeheftet Gesperrt Verschoben JavaScript
9 Beiträge 2 Kommentatoren 406 Aufrufe 1 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.
  • M Online
    M Online
    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 Online
        M Online
        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 Online
            M Online
            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 Online
                M Online
                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 Online
                    M Online
                    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
                    Antworten
                    • In einem neuen Thema antworten
                    Anmelden zum Antworten
                    • Älteste zuerst
                    • Neuste zuerst
                    • Meiste Stimmen


                    Support us

                    ioBroker
                    Community Adapters
                    Donate

                    756

                    Online

                    32.6k

                    Benutzer

                    82.2k

                    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