Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Skripten / Logik
    4. JavaScript
    5. [gelöst] Ausführreihenfolge bei Script-Start

    NEWS

    • Neuer Blog: Fotos und Eindrücke aus Solingen

    • ioBroker@Smart Living Forum Solingen, 14.06. - Agenda added

    • ioBroker goes Matter ... Matter Adapter in Stable

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

    This topic has been deleted. Only users with topic management privileges can see it.
    • Q
      quotschmacher last edited by 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?

      paul53 1 Reply Last reply Reply Quote 0
      • paul53
        paul53 @quotschmacher last edited by 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 1 Reply Last reply Reply Quote 0
        • Q
          quotschmacher @paul53 last edited by

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

          1 Reply Last reply Reply Quote 0
          • First post
            Last post

          Support us

          ioBroker
          Community Adapters
          Donate

          438
          Online

          31.8k
          Users

          80.0k
          Topics

          1.3m
          Posts

          2
          3
          169
          Loading More Posts
          • Oldest to Newest
          • Newest to Oldest
          • Most Votes
          Reply
          • Reply as topic
          Log in to reply
          Community
          Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen
          The ioBroker Community 2014-2023
          logo