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. [gelöst] Ausführreihenfolge bei Script-Start

NEWS

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

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

  • Weihnachtsangebot 2025! 🎄
    BluefoxB
    Bluefox
    25
    1
    2.0k

[gelöst] Ausführreihenfolge bei Script-Start

Geplant Angeheftet Gesperrt Verschoben JavaScript
3 Beiträge 2 Kommentatoren 259 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.
  • Q Offline
    Q Offline
    quotschmacher
    schrieb am zuletzt editiert von quotschmacher
    #1

    Hallo,

    ich bin eigentlich nicht neu in der Programmierung und kenne es so, das Code in der Reihenfolge ausgeführt wird, in der er dasteht.

    var objetcs_in_room = getObject("enum.rooms.flur").common.members;
    var filtered_objects_in_room = objetcs_in_room.filter(function(id) {
        //console.log("teste " + id + ".ct");
        var retval = false;
        getState(id + ".ct", function (err, result) {
            //console.log(result);
            if (result !== null)
            {
                console.log(result.val);
                retval = true;
            }
        });
        return retval;
    });
    
    console.log(objetcs_in_room);
    console.log(filtered_objects_in_room);
    
    filtered_objects_in_room.on(function(obj) {
        console.log("test mit filterarray");
        console.log(JSON.stringify(obj), "warn");
    });
    

    ich versuche hier alle objekte in einer gruppe zusammen zu suchen. das funktioniert. 'object_in_room' hat 5 elemente. danach möchte ich die elemente raussuchen, bei denen es eine farbtemperatur gibt - also die lampen. die ausgabe in zeile 17 zeigt mir dann aber ein leeres array an, zeile 19 wirft ein fehler, da die funktion 'on' nicht existiert und anschließend kommt die ausgabe aus zeile 9 drei mal. laut hilfe sind sowohl filter als auch getstate synchron nutzbar. dennoch wird erst alles andere ausgeführt und dann gefiltert. wo ist denn hier mein denkfehler?

    paul53P 1 Antwort Letzte Antwort
    0
    • Q quotschmacher

      Hallo,

      ich bin eigentlich nicht neu in der Programmierung und kenne es so, das Code in der Reihenfolge ausgeführt wird, in der er dasteht.

      var objetcs_in_room = getObject("enum.rooms.flur").common.members;
      var filtered_objects_in_room = objetcs_in_room.filter(function(id) {
          //console.log("teste " + id + ".ct");
          var retval = false;
          getState(id + ".ct", function (err, result) {
              //console.log(result);
              if (result !== null)
              {
                  console.log(result.val);
                  retval = true;
              }
          });
          return retval;
      });
      
      console.log(objetcs_in_room);
      console.log(filtered_objects_in_room);
      
      filtered_objects_in_room.on(function(obj) {
          console.log("test mit filterarray");
          console.log(JSON.stringify(obj), "warn");
      });
      

      ich versuche hier alle objekte in einer gruppe zusammen zu suchen. das funktioniert. 'object_in_room' hat 5 elemente. danach möchte ich die elemente raussuchen, bei denen es eine farbtemperatur gibt - also die lampen. die ausgabe in zeile 17 zeigt mir dann aber ein leeres array an, zeile 19 wirft ein fehler, da die funktion 'on' nicht existiert und anschließend kommt die ausgabe aus zeile 9 drei mal. laut hilfe sind sowohl filter als auch getstate synchron nutzbar. dennoch wird erst alles andere ausgeführt und dann gefiltert. wo ist denn hier mein denkfehler?

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

      @quatschmacher sagte:

      getstate synchron nutzbar.

      Du hast aber die asynchrone Variante gewählt. Prüfe besser mit existsState(id):

      return existsState(id + ".ct");
      

      So funktioniert es aber nur, wenn in common.members das parent object der Datenpunkte enthalten ist.

      @quatschmacher sagte in Ausführreihenfolge bei Script-Start:

      zeile 19 wirft ein fehler, da die funktion 'on' nicht existiert

      on(filtered_objects_in_room, function(obj) {
      

      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

      Q 1 Antwort Letzte Antwort
      0
      • paul53P paul53

        @quatschmacher sagte:

        getstate synchron nutzbar.

        Du hast aber die asynchrone Variante gewählt. Prüfe besser mit existsState(id):

        return existsState(id + ".ct");
        

        So funktioniert es aber nur, wenn in common.members das parent object der Datenpunkte enthalten ist.

        @quatschmacher sagte in Ausführreihenfolge bei Script-Start:

        zeile 19 wirft ein fehler, da die funktion 'on' nicht existiert

        on(filtered_objects_in_room, function(obj) {
        
        Q Offline
        Q Offline
        quotschmacher
        schrieb am zuletzt editiert von
        #3

        @paul53 super. es kann manchmal so einfach sein. danke dir.

        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

        772

        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