Weiter zum Inhalt
  • Home
  • Aktuell
  • Tags
  • 0 Ungelesen 0
  • Kategorien
  • Unreplied
  • Beliebt
  • GitHub
  • Docu
  • Hilfe
Skins
  • Hell
  • Brite
  • Cerulean
  • Cosmo
  • Flatly
  • Journal
  • Litera
  • Lumen
  • Lux
  • Materia
  • Minty
  • Morph
  • Pulse
  • Sandstone
  • Simplex
  • Sketchy
  • Spacelab
  • United
  • Yeti
  • Zephyr
  • Dunkel
  • 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. Anfänger if und if else

NEWS

  • Monatsrückblick Januar/Februar 2026 ist online!
    BluefoxB
    Bluefox
    18
    1
    668

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

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

Anfänger if und if else

Geplant Angeheftet Gesperrt Verschoben Skripten / Logik
javascript
4 Beiträge 3 Kommentatoren 430 Aufrufe 3 Beobachtet
  • Ä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.
  • M Offline
    M Offline
    mike1976
    schrieb am zuletzt editiert von Jey Cee
    #1

    Hallo,
    ich schon wieder :-(

    Habe mir mal eine vergleich abfrage gebastelt, aber irgendwie bleib meine abfrage immer in einer hängen bis ich das script neu starte:

    const wert_1 = getState("javascript.0.Test.wert_1").val;
    const wert_2 = getState("javascript.0.Test.wert_2").val;
    
    on(wert_1 || wert_2, function (obj) {    
    if (istwert  >= vorgabe_ID4_min) {
     {setState(sollwert, getState(sollwert_ID4).val)
    }
    }
    
    else if (istwert >= vorgabe_ID3_min) {
     {setState(sollwert, getState(sollwert_ID3).val)
    }
    }
    
    else if (istwert >= vorgabe_ID2_min) {
     {setState(sollwert, getState(sollwert_ID2).val)
     }
    }
    
    else if (istwert >= vorgabe_ID1_min) {
     {setState(sollwert, getState(sollwert_ID1).val)
     }
    }
    
    else if (istwert >= 1) {
     {setState(sollwert, 30); //ersatzwert
     } 
    }
    });
    

    Ich will eigentlich immer den grössten vergleich nutzten.
    Bin wahrscheinlich komplett daneben oder?

    arteckA 1 Antwort Letzte Antwort
    0
    • M mike1976

      Hallo,
      ich schon wieder :-(

      Habe mir mal eine vergleich abfrage gebastelt, aber irgendwie bleib meine abfrage immer in einer hängen bis ich das script neu starte:

      const wert_1 = getState("javascript.0.Test.wert_1").val;
      const wert_2 = getState("javascript.0.Test.wert_2").val;
      
      on(wert_1 || wert_2, function (obj) {    
      if (istwert  >= vorgabe_ID4_min) {
       {setState(sollwert, getState(sollwert_ID4).val)
      }
      }
      
      else if (istwert >= vorgabe_ID3_min) {
       {setState(sollwert, getState(sollwert_ID3).val)
      }
      }
      
      else if (istwert >= vorgabe_ID2_min) {
       {setState(sollwert, getState(sollwert_ID2).val)
       }
      }
      
      else if (istwert >= vorgabe_ID1_min) {
       {setState(sollwert, getState(sollwert_ID1).val)
       }
      }
      
      else if (istwert >= 1) {
       {setState(sollwert, 30); //ersatzwert
       } 
      }
      });
      

      Ich will eigentlich immer den grössten vergleich nutzten.
      Bin wahrscheinlich komplett daneben oder?

      arteckA Offline
      arteckA Offline
      arteck
      Developer Most Active
      schrieb am zuletzt editiert von
      #2

      @mike1976 bissel zu viele klammern...

      const wert_1 = getState("javascript.0.Test.wert_1").val;
      const wert_2 = getState("javascript.0.Test.wert_2").val;
      
      on(wert_1 || wert_2, function (obj) {    
      
        if (istwert  >= vorgabe_ID4_min) {
         setState(sollwert, getState(sollwert_ID4).val)
        } else if (istwert >= vorgabe_ID3_min) {
                     setState(sollwert, getState(sollwert_ID3).val)
              } else if (istwert >= vorgabe_ID2_min) {
                      setState(sollwert, getState(sollwert_ID2).val)
                     } else if (istwert >= vorgabe_ID1_min) {
                            setState(sollwert, getState(sollwert_ID1).val)
                     } else if (istwert >= 1) {
                        setState(sollwert, 30); //ersatzwert
                     }
      });
      

      Tipp: gewöhne dir an Code zu formatieren

      zigbee hab ich, zwave auch, nuc's genauso und HA auch

      1 Antwort Letzte Antwort
      0
      • M Offline
        M Offline
        mike1976
        schrieb am zuletzt editiert von mike1976
        #3
        on({id: "javascript.0.Test.wert_1"}, function (obj) { 
              
          if (sollwert>= vorgabe_ID4_min) {
           setState(sollwert, getState(sollwert_ID4).val)
          } else if (sollwert>= vorgabe_ID3_min) {
                       setState(sollwert, getState(sollwert_ID3).val)
                } else if (sollwert>= vorgabe_ID2_min) {
                        setState(sollwert, getState(sollwert_ID2).val)
                       } else if (sollwert>= vorgabe_ID1_min) {
                             setState(sollwert, getState(sollwert_ID1).val)
                       } else if (sollwert>= 1) {
                          setState(sollwert, 30); //ersatzwert
                       }
                       
        });
        if (sollwert>= vorgabe_ID1_min) log(sollwert_ID1);
        if (sollwert>= vorgabe_ID2_min) log(sollwert_ID2);
        if (sollwert>= vorgabe_ID3_min) log(sollwert_ID3);
        if (sollwert>= vorgabe_ID4_min) log(sollwert_ID4);
        

        hmm... die vergleiche kommen zu stande,
        aber die sollwert übergabe bleibt immer in einem vergleich hängen und
        erst wenn ich das script neustarte geht er in den next richtigen vergleich.

        ist der ablauf nicht so:

        1.) on({id: "javascript.0.Test.wert_1"}, bei wert änderung
        2.) code wird abgearbeitet von oben nach unten und alle vergleiche werden neu ausgewertet.

        Habe mal bewusst "on(wert_1 || wert_2," weggelassen weil bei den tut sich gar nichts.

        1 Antwort Letzte Antwort
        0
        • J.A.R.V.I.S.J Offline
          J.A.R.V.I.S.J Offline
          J.A.R.V.I.S.
          Developer
          schrieb am zuletzt editiert von J.A.R.V.I.S.
          #4

          Hey,

          Punkt 1 ist soweit richtig.

          Wenn du die folgenden Zeilen meinst, die nur einmalig ausgeführt werden, dann ist die Annhame richtig, da diese nur einmal beim starten durchlaufen werden. Anderfalls müsstest du sie in den on() Teil mit einbauen.

          if (sollwert>= vorgabe_ID1_min) log(sollwert_ID1);
          if (sollwert>= vorgabe_ID2_min) log(sollwert_ID2);
          if (sollwert>= vorgabe_ID3_min) log(sollwert_ID3);
          if (sollwert>= vorgabe_ID4_min) log(sollwert_ID4);
          

          J.A.R.V.I.S.

          1 Antwort Letzte Antwort
          0

          Hey! Du scheinst an dieser Unterhaltung interessiert zu sein, hast aber noch kein Konto.

          Hast du es satt, bei jedem Besuch durch die gleichen Beiträge zu scrollen? Wenn du dich für ein Konto anmeldest, kommst du immer genau dorthin zurück, wo du zuvor warst, und kannst dich über neue Antworten benachrichtigen lassen (entweder per E-Mail oder Push-Benachrichtigung). Du kannst auch Lesezeichen speichern und Beiträge positiv bewerten, um anderen Community-Mitgliedern deine Wertschätzung zu zeigen.

          Mit deinem Input könnte dieser Beitrag noch besser werden 💗

          Registrieren Anmelden
          Antworten
          • In einem neuen Thema antworten
          Anmelden zum Antworten
          • Älteste zuerst
          • Neuste zuerst
          • Meiste Stimmen


          Support us

          ioBroker
          Community Adapters
          Donate

          589

          Online

          32.7k

          Benutzer

          82.6k

          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