Skip to content
  • Home
  • Aktuell
  • Tags
  • 0 Ungelesen 0
  • Kategorien
  • Unreplied
  • Beliebt
  • 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

  • Standard: (Kein Skin)
  • Kein Skin
Einklappen
ioBroker Logo

Community Forum

donate donate
  1. ioBroker Community Home
  2. Deutsch
  3. Skripten / Logik
  4. JavaScript
  5. Gelöst: Anfänger-Frage zu Schleifen

NEWS

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

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

  • Weihnachtsangebot 2025! 🎄
    BluefoxB
    Bluefox
    25
    1
    2.3k

Gelöst: Anfänger-Frage zu Schleifen

Geplant Angeheftet Gesperrt Verschoben JavaScript
5 Beiträge 2 Kommentatoren 328 Aufrufe 1 Watching
  • Älteste zuerst
  • Neuste zuerst
  • Meiste Stimmen
Antworten
  • In einem neuen Thema antworten
Anmelden zum Antworten
Dieses Thema wurde gelöscht. Nur Nutzer mit entsprechenden Rechten können es sehen.
  • S Offline
    S Offline
    Smartin
    schrieb am zuletzt editiert von Smartin
    #1

    Moin,
    ich habe eine Frage um zu lernen, wie man so etwas richtig machen würde als JS Fortgeschrittener.
    Als Beispiel nehme ich mal ein willkürliches Skript (ist nix produktives, geht mir nur ums lernen).

    if ( !existsState(WERT1 )) { createState(WERT1,'0')};
    if ( !existsState(WERT2 )) { createState(WERT2,'0')};
    if ( !existsState(WERT3 )) { createState(WERT3,'0')};
    

    Es sind praktisch immer die gleichen states die angelegt werden sollen (wenn nicht vorhanden), nur der numerische Wert des state-Namens ändert sich.
    Als Noob schreibe ich die wie oben alle untereinander, funktioniert ja, also Thema erledigt.
    Wie macht das ein Profi? Ich denke mit einer kurzen Schleife, aber wie wird so etwas aufgebaut?
    Ich habe aus anderen Projekten Schleifen, die ich mal irgendwo herauskopiert und solange angepasst habe, bis sie funktionierten, aber deren Aufbau hilft mir hier leider gerade nicht.
    Kann mir jemand kurz auf die Sprünge helfen bei der wahrscheinlich wirklichen Anfänger Frage?

    Gruß aus dem Norden

    paul53P 1 Antwort Letzte Antwort
    0
    • S Smartin

      Moin,
      ich habe eine Frage um zu lernen, wie man so etwas richtig machen würde als JS Fortgeschrittener.
      Als Beispiel nehme ich mal ein willkürliches Skript (ist nix produktives, geht mir nur ums lernen).

      if ( !existsState(WERT1 )) { createState(WERT1,'0')};
      if ( !existsState(WERT2 )) { createState(WERT2,'0')};
      if ( !existsState(WERT3 )) { createState(WERT3,'0')};
      

      Es sind praktisch immer die gleichen states die angelegt werden sollen (wenn nicht vorhanden), nur der numerische Wert des state-Namens ändert sich.
      Als Noob schreibe ich die wie oben alle untereinander, funktioniert ja, also Thema erledigt.
      Wie macht das ein Profi? Ich denke mit einer kurzen Schleife, aber wie wird so etwas aufgebaut?
      Ich habe aus anderen Projekten Schleifen, die ich mal irgendwo herauskopiert und solange angepasst habe, bis sie funktionierten, aber deren Aufbau hilft mir hier leider gerade nicht.
      Kann mir jemand kurz auf die Sprünge helfen bei der wahrscheinlich wirklichen Anfänger Frage?

      Gruß aus dem Norden

      paul53P Offline
      paul53P Offline
      paul53
      schrieb am zuletzt editiert von paul53
      #2

      @smartin sagte: Schleife, aber wie wird so etwas aufgebaut?

      Beispiel:

      const ids = ['id1','id2','id3'];
      
      for(let i = 0; i < ids.length; i++) {
          if(!existsState(ids[i])) createState(ids[i], 0, {type:'number', def:0});
      }
      

      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

      S 1 Antwort Letzte Antwort
      2
      • paul53P paul53

        @smartin sagte: Schleife, aber wie wird so etwas aufgebaut?

        Beispiel:

        const ids = ['id1','id2','id3'];
        
        for(let i = 0; i < ids.length; i++) {
            if(!existsState(ids[i])) createState(ids[i], 0, {type:'number', def:0});
        }
        
        S Offline
        S Offline
        Smartin
        schrieb am zuletzt editiert von
        #3

        Danke @paul53
        Das kann ich nachvollziehen und hilft mir sehr.
        Eine Frage noch dazu:

        const ids = ['id1','id2','id3'];
        

        Damit werden die verschiedenen konstanten Variablen gesetzt, schon klar.
        Wie müsste dies aussehen, wenn die States in DP geschrieben werden sollen und nicht nur temporär im Script verwendet werden?
        Zum Beispiel unter 0_userdata.0.Test

        paul53P 1 Antwort Letzte Antwort
        0
        • S Smartin

          Danke @paul53
          Das kann ich nachvollziehen und hilft mir sehr.
          Eine Frage noch dazu:

          const ids = ['id1','id2','id3'];
          

          Damit werden die verschiedenen konstanten Variablen gesetzt, schon klar.
          Wie müsste dies aussehen, wenn die States in DP geschrieben werden sollen und nicht nur temporär im Script verwendet werden?
          Zum Beispiel unter 0_userdata.0.Test

          paul53P Offline
          paul53P Offline
          paul53
          schrieb am zuletzt editiert von
          #4

          @smartin sagte: Damit werden die verschiedenen konstanten Variablen gesetzt

          Nein, damit werden die Datenpunkt-IDs in ein Array eingetragen.

          @smartin sagte in Anfänger-Frage zu Schleifen:

          Beispiel unter 0_userdata.0.Test

          const ids = ['0_userdata.0.Test.DP1','0_userdata.0.Test.DP2','0_userdata.0.Test.DP3'];
          

          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

          S 1 Antwort Letzte Antwort
          1
          • paul53P paul53

            @smartin sagte: Damit werden die verschiedenen konstanten Variablen gesetzt

            Nein, damit werden die Datenpunkt-IDs in ein Array eingetragen.

            @smartin sagte in Anfänger-Frage zu Schleifen:

            Beispiel unter 0_userdata.0.Test

            const ids = ['0_userdata.0.Test.DP1','0_userdata.0.Test.DP2','0_userdata.0.Test.DP3'];
            
            S Offline
            S Offline
            Smartin
            schrieb am zuletzt editiert von
            #5

            @paul53
            Alles klar, sehr lehrreich!
            Danke, damit ist das dann auch schon gelöst hier.

            1 Antwort Letzte Antwort
            0
            Antworten
            • In einem neuen Thema antworten
            Anmelden zum Antworten
            • Älteste zuerst
            • Neuste zuerst
            • Meiste Stimmen


            Support us

            ioBroker
            Community Adapters
            Donate

            539

            Online

            32.6k

            Benutzer

            82.2k

            Themen

            1.3m

            Beiträge
            Community
            Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen | Einwilligungseinstellungen
            ioBroker Community 2014-2025
            logo
            • Anmelden

            • Du hast noch kein Konto? Registrieren

            • Anmelden oder registrieren, um zu suchen
            • Erster Beitrag
              Letzter Beitrag
            0
            • Home
            • Aktuell
            • Tags
            • Ungelesen 0
            • Kategorien
            • Unreplied
            • Beliebt
            • GitHub
            • Docu
            • Hilfe