Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Skripten / Logik
    4. Blockly
    5. Objekt in Array und über Schleife auslesen...geht nicht!?

    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

    Objekt in Array und über Schleife auslesen...geht nicht!?

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

      Hi,

      ich möchte im Falle von meiner Abwesenheit alle Fensterkontakte prüfen und mir ggf. eine Nachricht schicken.
      Damit das Ganze "elegant" wird, möchte ich mit einer Liste/Array in einer Schleife arbeiten.

      Liste also mit den Objekten aufgebaut und über Schleife den Wert versucht auszulesen...funzt irgendwie nicht...

      Aufbau:
      15fdb08e-aeda-42a8-bf9e-b56f3ed8a5bd-grafik.png

      a53cc6e6-4274-4b10-99a0-1a29556b5125-grafik.png

      b6e40afa-16e4-4ac4-92c6-0e6983ecfe57-grafik.png

      Java Script:

      var ObjektListe, FensterOffen, Meldungstext, i;
      
      
      // Wenn Handy nicht mehr im  WLAN ist, Fensterkontakte prüfen und ggf. Telegramm schicken
      on({ id: [].concat(['alias.0.presence.HandyMichael']), change: 'ne' }, async (obj) => {
        let value = obj.state.val;
        let oldValue = obj.oldState.val;
        ObjektListe = [getObject('openknx.0.Logik.Binär.EG_Flur_Haustür'), getObject('openknx.0.Logik.Binär.EG_Flur_Fenster'), getObject('openknx.0.Logik.Binär.EG_HWR_Fenster'), getObject('openknx.0.Logik.Binär.EG_WZ_Fenster_Garten'), getObject('openknx.0.Logik.Binär.EG_Essen_Tür_Garten'), getObject('openknx.0.Logik.Binär.EG_Küche_Fenster'), getObject('openknx.0.Logik.Binär.EG_WC_Fenster'), getObject('openknx.0.Logik.Binär.OG_Büro_DFF'), getObject('openknx.0.Logik.Binär.OG_Büro_Fenster'), getObject('openknx.0.Logik.Binär.OG_Bad_Fenster'), getObject('openknx.0.Logik.Binär.OG_Bad_DFF'), getObject('openknx.0.Logik.Binär.OG_SZ_DFF'), getObject('openknx.0.Logik.Binär.OG_SZ_Fenster'), getObject('openknx.0.Logik.Binär.OG_Gast_Fenster'), getObject('openknx.0.Logik.Binär.GA_Tür_Garten')];
        FensterOffen = 0;
        Meldungstext = 'ACHTUNG: Tür/Fenster offen';
        if (!getState('alias.0.presence.HandyMichael').val) {
          for (var i_index in ObjektListe) {
            i = ObjektListe[i_index];
            console.log((await getObjectAsync((ObjektListe[(i - 1)]))).common.name);
            if (getState((ObjektListe[(i - 1)])).val) {
              FensterOffen = (typeof FensterOffen === 'number' ? FensterOffen : 0) + 1;
              Meldungstext += '\r\n';
              Meldungstext += String((await getObjectAsync((ObjektListe[(i - 1)]))).common.name);
            }
          }
        }
      

      MOD-EDIT: Code in code-tags gesetzt!

      M MartinP 2 Replies Last reply Reply Quote 0
      • M
        MCU @MDorf last edited by

        @mdorf Nicht das Object nehmen, sondern die ObjectID
        3ba28b5f-0fad-4bef-bc7b-90e765ebfb2d-image.png

        M 1 Reply Last reply Reply Quote 0
        • MartinP
          MartinP @MDorf last edited by

          @mdorf Hättest Du die Code-Tags für das Listing genommen, wäre es einfacher gewesen, Zeile 14 Spalte 66 aufzufinden - da trat der Fehler auf ...

          Ich vermute nach Zählen der Zeilen, es ist dieses Statement hier

          if (getState((ObjektListe[(i - 1)])).val) {
          
          

          .

          1 Reply Last reply Reply Quote 0
          • M
            MDorf @MCU last edited by

            @mcu

            Oh Mann...natürlich!!!
            Ich spreche unten alles über die ObjektID an, also muss das Array auch die ID's enthalten.
            Manchmal sieht man den Wald vor lauter Bäumen nicht...🤕

            Danke euch!

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

            Support us

            ioBroker
            Community Adapters
            Donate

            527
            Online

            31.9k
            Users

            80.2k
            Topics

            1.3m
            Posts

            3
            4
            187
            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