Skip to content
  • 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
Logo
  1. ioBroker Community Home
  2. Deutsch
  3. Skripten / Logik
  4. Blockly
  5. ID vom Selektor: Liste trotz "für jeden" Schleife?

NEWS

  • UPDATE 31.10.: Amazon Alexa - ioBroker Skill läuft aus ?
    apollon77A
    apollon77
    48
    3
    8.0k

  • Monatsrückblick – September 2025
    BluefoxB
    Bluefox
    13
    1
    1.8k

  • Neues Video "KI im Smart Home" - ioBroker plus n8n
    BluefoxB
    Bluefox
    15
    1
    2.0k

ID vom Selektor: Liste trotz "für jeden" Schleife?

ID vom Selektor: Liste trotz "für jeden" Schleife?

Scheduled Pinned Locked Moved Blockly
6 Posts 3 Posters 690 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.
  • A Offline
    A Offline
    Ahnungsbefreit
    wrote on last edited by
    #1

    Hallo,

    ich bin eben über folgendes Verhalten mit JavaScript 5.0.14 gestolpert:

    Diese Schleife:
    53b8cf8f-ed0a-4061-8884-75c79dffe00c-image.png

    erzeugt wie erwartet für jeden Alarm-Eintrag eine Debug-Zeile:

    12:55:15.232	info	javascript.9 (16908) script.js.WIP.Skript_1: alexa2.0.Echo-Devices.xxx.Alarm.yyy.enabled
    12:55:15.232	info	javascript.9 (16908) script.js.WIP.Skript_1: alexa2.0.Echo-Devices.xxx.Alarm.yyy.enabled
    usw.
    

    Wenn ich dagegen mit dem folgenden Script auch die MusicAlarm-Einträge dazunehme:
    40ca4ef0-b51c-4b3e-bcb3-e42227f909e5-image.png

    Dann bekomme ich im Log nicht eine lange Liste mit allen Einträgen, sondern 2 Arrays wie das folgende:

    12:55:15.435	info	javascript.9 (16908) script.js.WIP.Skript_1: ['alexa2.0.Echo-Devices.xxx.MusicAlarm.yyy.enabled','alexa2.0.Echo-Devices.xxx.MusicAlarm.yyy.enabled','alexa2.0.Echo-Devices.xxx.MusicAlarm.yyy.enabled']
    

    Ist das so gewollt? Ich glaube eigentlich, dass in früheren Adapter-Versionen sich das nicht so verhalten hätte. So kann ich die "erzeuge Liste mit" nicht verwenden. Übrigens: Verwende ich die gleiche "erzeuge Liste..." als Trigger, werden korrekt "10 Subscriptions" angezeigt.

    Wenn meine Antwort hilfreich war, dürft Ihr das gerne durch einen "Upvote" (der kleine "^" unten rechts) zum Ausdruck bringen.

    paul53P 1 Reply Last reply
    0
    • A Ahnungsbefreit

      Hallo,

      ich bin eben über folgendes Verhalten mit JavaScript 5.0.14 gestolpert:

      Diese Schleife:
      53b8cf8f-ed0a-4061-8884-75c79dffe00c-image.png

      erzeugt wie erwartet für jeden Alarm-Eintrag eine Debug-Zeile:

      12:55:15.232	info	javascript.9 (16908) script.js.WIP.Skript_1: alexa2.0.Echo-Devices.xxx.Alarm.yyy.enabled
      12:55:15.232	info	javascript.9 (16908) script.js.WIP.Skript_1: alexa2.0.Echo-Devices.xxx.Alarm.yyy.enabled
      usw.
      

      Wenn ich dagegen mit dem folgenden Script auch die MusicAlarm-Einträge dazunehme:
      40ca4ef0-b51c-4b3e-bcb3-e42227f909e5-image.png

      Dann bekomme ich im Log nicht eine lange Liste mit allen Einträgen, sondern 2 Arrays wie das folgende:

      12:55:15.435	info	javascript.9 (16908) script.js.WIP.Skript_1: ['alexa2.0.Echo-Devices.xxx.MusicAlarm.yyy.enabled','alexa2.0.Echo-Devices.xxx.MusicAlarm.yyy.enabled','alexa2.0.Echo-Devices.xxx.MusicAlarm.yyy.enabled']
      

      Ist das so gewollt? Ich glaube eigentlich, dass in früheren Adapter-Versionen sich das nicht so verhalten hätte. So kann ich die "erzeuge Liste mit" nicht verwenden. Übrigens: Verwende ich die gleiche "erzeuge Liste..." als Trigger, werden korrekt "10 Subscriptions" angezeigt.

      paul53P Offline
      paul53P Offline
      paul53
      wrote on last edited by paul53
      #2

      @ahnungsbefreit sagte: Ist das so gewollt?

      Ja. Der Blockly-Selektor ist schon immer ein Array.

      @ahnungsbefreit sagte in ID vom Selektor: Liste trotz "für jeden" Schleife?:

      Wenn ich dagegen mit dem folgenden Script auch die MusicAlarm-Einträge dazunehme:

      Lass einfach den Punkt vor Alarm weg.

      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

      A 1 Reply Last reply
      0
      • paul53P paul53

        @ahnungsbefreit sagte: Ist das so gewollt?

        Ja. Der Blockly-Selektor ist schon immer ein Array.

        @ahnungsbefreit sagte in ID vom Selektor: Liste trotz "für jeden" Schleife?:

        Wenn ich dagegen mit dem folgenden Script auch die MusicAlarm-Einträge dazunehme:

        Lass einfach den Punkt vor Alarm weg.

        A Offline
        A Offline
        Ahnungsbefreit
        wrote on last edited by
        #3

        @paul53 ok, aber durch die "für jeden Wert i aus der Liste" sollte ich doch die Einträge der Liste einzeln erhalten, so wie beim 1.Blockly, oder?

        Wenn meine Antwort hilfreich war, dürft Ihr das gerne durch einen "Upvote" (der kleine "^" unten rechts) zum Ausdruck bringen.

        paul53P haus-automatisierungH 2 Replies Last reply
        0
        • A Ahnungsbefreit

          @paul53 ok, aber durch die "für jeden Wert i aus der Liste" sollte ich doch die Einträge der Liste einzeln erhalten, so wie beim 1.Blockly, oder?

          paul53P Offline
          paul53P Offline
          paul53
          wrote on last edited by paul53
          #4

          @ahnungsbefreit sagte: aber durch die "für jeden Wert i aus der Liste" sollte ich doch die Einträge der Liste einzeln erhalten

          Deine Liste ist ein Array, bestehend aus 2 Arrays, also 2 Einträge.

          So kann man beide Selektoren zu einem Array machen:

          Bild_2021-03-22_133235.png

          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

          1 Reply Last reply
          1
          • A Ahnungsbefreit

            @paul53 ok, aber durch die "für jeden Wert i aus der Liste" sollte ich doch die Einträge der Liste einzeln erhalten, so wie beim 1.Blockly, oder?

            haus-automatisierungH Online
            haus-automatisierungH Online
            haus-automatisierung
            Developer Most Active
            wrote on last edited by
            #5

            @ahnungsbefreit sagte in ID vom Selektor: Liste trotz "für jeden" Schleife?:

            aber durch die "für jeden Wert i aus der Liste" sollte ich doch die Einträge der Liste einzeln erhalten, so wie beim 1.Blockly, oder?

            Bekommst Du doch auch geliefert? Ein Array enthält halt zwei weitere Arrays. Iterierst Du nun über das erste, bekommst Du jeweils ein Array zurück.

            Du müsstest die Arrays mergen anstatt ein neues zu erstellen um das gewünschte Verhalten zu erreichen.

            🧑‍🎓 Autor des beliebten ioBroker-Master-Kurses
            🎥 Tutorials rund um das Thema DIY-Smart-Home: https://haus-automatisierung.com/
            📚 Meine inoffizielle ioBroker Dokumentation

            A 1 Reply Last reply
            0
            • haus-automatisierungH haus-automatisierung

              @ahnungsbefreit sagte in ID vom Selektor: Liste trotz "für jeden" Schleife?:

              aber durch die "für jeden Wert i aus der Liste" sollte ich doch die Einträge der Liste einzeln erhalten, so wie beim 1.Blockly, oder?

              Bekommst Du doch auch geliefert? Ein Array enthält halt zwei weitere Arrays. Iterierst Du nun über das erste, bekommst Du jeweils ein Array zurück.

              Du müsstest die Arrays mergen anstatt ein neues zu erstellen um das gewünschte Verhalten zu erreichen.

              A Offline
              A Offline
              Ahnungsbefreit
              wrote on last edited by
              #6

              @haus-automatisierung @paul53 Danke für die schnelle Antwort. Ich habe mir jetzt so geholfen:
              f20b1391-bb02-4dac-a88d-9d8594c8299f-image.png

              Und arrayConcat macht einfach genau das:

              return arr1.concat(arr2);
              

              Danke!

              Wenn meine Antwort hilfreich war, dürft Ihr das gerne durch einen "Upvote" (der kleine "^" unten rechts) zum Ausdruck bringen.

              1 Reply Last reply
              2
              Reply
              • Reply as topic
              Log in to reply
              • Oldest to Newest
              • Newest to Oldest
              • Most Votes


              Support us

              ioBroker
              Community Adapters
              Donate

              607

              Online

              32.4k

              Users

              81.3k

              Topics

              1.3m

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

              • Don't have an account? Register

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