Skip to content
  • Home
  • Recent
  • Tags
  • 0 Unread 0
  • Categories
  • Unreplied
  • Popular
  • 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

  • Default (No Skin)
  • No Skin
Collapse
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

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

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

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

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

Scheduled Pinned Locked Moved JavaScript
3 Posts 2 Posters 285 Views 2 Watching
  • Oldest to Newest
  • Newest to Oldest
  • Most Votes
Reply
  • Reply as topic
Log in to reply
This topic has been deleted. Only users with topic management privileges can see it.
  • Q Offline
    Q Offline
    quotschmacher
    wrote on last edited by 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 Reply Last reply
    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
      wrote on last edited by 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 Reply Last reply
      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
        wrote on last edited by
        #3

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

        1 Reply Last reply
        0

        Hello! It looks like you're interested in this conversation, but you don't have an account yet.

        Getting fed up of having to scroll through the same posts each visit? When you register for an account, you'll always come back to exactly where you were before, and choose to be notified of new replies (either via email, or push notification). You'll also be able to save bookmarks and upvote posts to show your appreciation to other community members.

        With your input, this post could be even better 💗

        Register Login
        Reply
        • Reply as topic
        Log in to reply
        • Oldest to Newest
        • Newest to Oldest
        • Most Votes


        Support us

        ioBroker
        Community Adapters
        Donate

        540

        Online

        32.7k

        Users

        82.6k

        Topics

        1.3m

        Posts
        Community
        Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen | Einwilligungseinstellungen
        ioBroker Community 2014-2025
        logo
        • Login

        • Don't have an account? Register

        • Login or register to search.
        • First post
          Last post
        0
        • Home
        • Recent
        • Tags
        • Unread 0
        • Categories
        • Unreplied
        • Popular
        • GitHub
        • Docu
        • Hilfe