Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Skripten / Logik
    4. ForEach mit Blockly

    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

    ForEach mit Blockly

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

      Hallo Pumbadinho

      Schau mal unter Variablen.

      Da hast Du jetzt eine Variable "i".

      Du must nur bei "steuere Objekt-ID" nicht "wahr" einsetzen sondern die Variable.

      Tipp: Wenn die auf das kleine Pfeilchen, bei "i", klickst, kannst Du die Variable umbenennen oder eine Neue erstellen.

      Grüße

      1 Reply Last reply Reply Quote 0
      • P
        Pumbadinho last edited by

        Ne, dann würde ich ja ein Objekt mit dem Objekt oben gleichsetzen. Das i muss ja als gesteuertes Objekt verwendet werden. Der soll ja i auf wahr setzen.

        Gesendet von meinem Nexus 6P mit Tapatalk

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

          Na klar. Wie soll ich wissen was Du machen willst.

          In Deinem Beispiel wird das Array durchlaufen und i bekommt den Inhalt von Array(x).

          Was willst Du denn erreichen?

          Grüße

          1 Reply Last reply Reply Quote 0
          • P
            Pumbadinho last edited by

            @rantanplan:

            Na klar. Wie soll ich wissen was Du machen willst.

            In Deinem Beispiel wird das Array durchlaufen und i bekommt den Inhalt von Array(x).

            Was willst Du denn erreichen?

            Grüße `

            var Array = ["hm-rpc.0.XXXXXXXXXX.1.STATE","hm-rpc.0.XXXXXXXXXY.1.STATE"];
            
            Array.forEach(function(i, index, array){                                     
               setState(i,true);   
            );
            

            Ich dachte das wird hieraus deutlich. Ich habe ein Array mit Aktoren, die alle auf true gesetzt werden sollen.

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

              "Array" ist bei Dir eine lokale Variable.

              Die kannst Du nicht bei "Objekt ID" einsetzen.

              Du musst in ioBroker/Objekte ein Objekt anlegen und dies benutzen.

              Grüße

              1 Reply Last reply Reply Quote 0
              • P
                Pumbadinho last edited by

                @rantanplan:

                "Array" ist bei Dir eine lokale Variable.

                Die kannst Du nicht bei "Objekt ID" einsetzen.

                Du musst in ioBroker/Objekte ein Objekt anlegen und dies benutzen.

                Grüße `

                Also, ich habe jetzt bereits Objekte und der Code so wie er oben steht funktioniert bei mir in einem anderen Skript.

                Genau das will ich nachbauen.

                Das kann dich nciht so schwer sein…

                1 Reply Last reply Reply Quote 0
                • P
                  Pumbadinho last edited by

                  Also das ist vielleicht etwas unglücklich gewählt, aber Array hieß vorher anders. Nur dummerweise habe ich den Namen für das Array in blockly so gewählt um schnell den Screen zu machen. blockly hat die danach automatisch umbenannt, da Array ja ein definierter Begriff ist.

                  Gesendet von meinem Nexus 6P mit Tapatalk

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

                    Hi Pumbadinho

                    Blockly ist immer noch Beta.

                    Somit ist noch nicht alles möglich und Bugs können auch noch vorkommen.

                    Ich wollte Dir ein Beispiel zusammen bauen und bin da wohl auf einen Bug gestoßen.

                    Muss ich aber noch validieren. (das aber erst nach den Feiertagen)

                    Wenn Du schnell eine Lösungs braucht, setze doch einfach ein paar "steuere…" untereinander.

                    Dein Array war ja nicht dynamisch geplant. Der Arbeitsaufwand ist also ähnlich aber einfacher.

                    Grüße und Frohe Festtage

                    1 Reply Last reply Reply Quote 0
                    • P
                      Pumbadinho last edited by

                      Eine schnelle Lösung brauche ich da nicht. Habe das so wie du gelöst. Nur wenn man intelligente Skripte bauen will, dann wäre das schon eine wünschenswerte Funktion.

                      Ist auch nichts ohne das ich nicht leben kann…

                      Gesendet von meinem Nexus 6P mit Tapatalk

                      1 Reply Last reply Reply Quote 0
                      • P
                        Pumbadinho last edited by

                        Gibt es hier ein Update?

                        Gesendet von meinem Nexus 6P mit Tapatalk

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

                          @Pumbadinho:

                          Hallo,

                          ich möchte gerne in ein Skript welches mit Blockly gebaut wurde folgendes einfügen:

                          var Array = ["hm-rpc.0.XXXXXXXXXX.1.STATE","hm-rpc.0.XXXXXXXXXY.1.STATE"];
                          
                          Array.forEach(function(i, index, array){                                     
                          	setState(i,true);   
                          );
                          
                          

                          Wie kann ich das umsetzen?

                          So habe ich es versucht, aber leider habe ich jetzt keine Ahnung, was ich als Objekt auswählen muss.

                          Da müsste jetzt ja ein "i" rein.

                          Blockly.JPG

                          Kann mir da jemand weiterhelfen? `
                          So?
                          48_2017-01-05_10_46_50-iobroker.admin.png

                          var myIDs, i;
                          
                          myIDs = ['default', 'default', 'default'];
                          for (var i_index in myIDs) {
                            i = myIDs[i_index];
                            setStateDelayed(i, true, false, parseInt(0, 10), false);
                          }
                          

                          Array is vordefiniertes Wort. Bitte nicht benutzen.

                          1 Reply Last reply Reply Quote 0
                          • P
                            Pumbadinho last edited by

                            Oh, das Update ist mir wohl irgendwie durchgegangen, werde ich Mal versuchen.

                            Gesendet von meinem Nexus 6P mit Tapatalk

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

                              Ich finde leider das Blockly äquivalent für getState der Object ID nicht.

                              Man müsste im Blockly die Object ID, also Variable i, einfügen können.

                              …

                              for (var i_index in BatteryArray) {

                              i = BatteryArray[i_index];

                              var value = getState(i).val;

                              …

                              Übersehe ich da was?

                              oder gibts es nur Schreiben?

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

                              Support us

                              ioBroker
                              Community Adapters
                              Donate

                              870
                              Online

                              31.8k
                              Users

                              79.9k
                              Topics

                              1.3m
                              Posts

                              4
                              14
                              3362
                              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