Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Skripten / Logik
    4. Frage: wie on() aus array anlegen?

    NEWS

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

    • ioBroker goes Matter ... Matter Adapter in Stable

    • Monatsrückblick - April 2025

    Frage: wie on() aus array anlegen?

    This topic has been deleted. Only users with topic management privileges can see it.
    • ruhr70
      ruhr70 last edited by

      Ich brauche mal einen Denkanstoss.

      Wenn ich mehrere subscription()/on() mit IDs aus einem Array oder JSON anlegen möchte, wie gehe ich da am elegantesten vor?

      Die Subscriptions aus einer Schleife anzulegen funktioniert zwar, aber mit der Warnung man soll keine Funktionen innerhalb einer Schleife anlegen (oder so ähnlich).

      als IDs z.B.: [idGerät1, idGerät2, idDatenpunktX, idDatenpunktY]

      Die IDs sind vollkommen gemischt (hm-rpc, javascrip, wetter, usw.).

      1 Reply Last reply Reply Quote 0
      • Bluefox
        Bluefox last edited by

        @ruhr70:

        Ich brauche mal einen Denkanstoss.

        Wenn ich mehrere subscription()/on() mit IDs aus einem Array oder JSON anlegen möchte, wie gehe ich da am elegantesten vor?

        Die Subscriptions aus einer Schleife anzulegen funktioniert zwar, aber mit der Warnung man soll keine Funktionen innerhalb einer Schleife anlegen (oder so ähnlich).

        als IDs z.B.: [idGerät1, idGerät2, idDatenpunktX, idDatenpunktY]

        Die IDs sind vollkommen gemischt (hm-rpc, javascrip, wetter, usw.). `
        Wenn du verstehst, was du machst, dann darfst du warning ignorieren.

        Ansonsten

        `function doSomething(obj) {
        }
        
        for (var i = 0; i < IDs.length; i++){
          on(IDs[i], doSomething);
        }` [/i]
        
        1 Reply Last reply Reply Quote 0
        • ruhr70
          ruhr70 last edited by

          danke!

          dann bastele ich nachher mal 🙂

          Gesendet von iPhone mit Tapatalk

          1 Reply Last reply Reply Quote 0
          • Jey Cee
            Jey Cee Developer last edited by

            Hallo ruhr,

            Hast du damit erfolg gehabt? Ich hab das probiert aber da tut sich gar nix.

            1 Reply Last reply Reply Quote 0
            • ruhr70
              ruhr70 last edited by

              @Jey Cee:

              Hallo ruhr,

              Hast du damit erfolg gehabt? Ich hab das probiert aber da tut sich gar nix. `

              Der Vorschlag ist 1:1 das, wie ich es schon umgesetzt hatte.

              ! ````
              // [...]
              ! // TODO: die Subscription nicht im Loop anlegen!
              ! function onAnlegen() {
              for (var geraet in schwellwerte) {
              logs("Schedule angelegt: " + geraet,"debug");
              ! on({id: geraet}, function(obj) {
              //log(obj.id + ": " + obj.state.val);
              setSchwellwerte(obj);
              });
              }
              }
              ! // [...]

              
              Dabei wird hat die Warnung angezeigt "dont make fuctions within a loop".
              
              Funktioniert seit Wochen ohne Probleme. Wollte nur wissen, ob man es eleganter und ohne Warnung umsetzen kann. Der Vorschlag von Bluefox entsprach dann aber schon der vorhandenen Umsetzung.
              1 Reply Last reply Reply Quote 0
              • Jey Cee
                Jey Cee Developer last edited by

                Ok danke für die info. Bei mir geht das nicht, aber ich hab seit meinem umzug auf einen Nuc probleme mit den daten vom rpc Adapter. Könnte dann damit zu tun haben.

                Gesendet von meinem Jolla mit Tapatalk

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

                Support us

                ioBroker
                Community Adapters
                Donate

                1.0k
                Online

                31.7k
                Users

                79.7k
                Topics

                1.3m
                Posts

                3
                6
                1383
                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