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. If Then mehrfach [gelöst]

NEWS

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

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

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

If Then mehrfach [gelöst]

Geplant Angeheftet Gesperrt Verschoben JavaScript
javascriptsecurity
20 Beiträge 6 Kommentatoren 1.5k Aufrufe 4 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.
  • cengC ceng

    Hi,
    ich habe ein Ausrufezeichen im Script. Funktionieren tut es.

    Mein HMIP Windmesser soll mein VIS Dashboard mit textuellem Windinformationen in Beaufort versorgen. Wie gesagt, funktionieren tut es, aber...

        var Beaufort            = 'undefined';
        if (0 < windspeedakt && windspeedakt < 1) {var Beaufort='Windstill';}
        if (1 < windspeedakt && windspeedakt < 6) {var Beaufort='leiser Zug';}
        if (6 < windspeedakt && windspeedakt < 12) {var Beaufort='leichte Briese';}
        if (12 < windspeedakt && windspeedakt < 20) {var Beaufort='schwacher Wind';}
        if (20 < windspeedakt && windspeedakt < 29) {var Beaufort='mäßiger Wind';}
        if (29 < windspeedakt && windspeedakt < 39) {var Beaufort='frischer Wind';}
        if (39 < windspeedakt && windspeedakt < 50) {var Beaufort='starker Wind';}
        if (50 < windspeedakt && windspeedakt < 62) {var Beaufort='steifer Wind';}
        if (62 < windspeedakt && windspeedakt < 75) {var Beaufort='stürmischer Wind';}
        if (75 < windspeedakt && windspeedakt < 89) {var Beaufort='Sturm';}
        if (89 < windspeedakt && windspeedakt < 103) {var Beaufort='schwerer Sturm';}
        if (103 < windspeedakt && windspeedakt < 118) {var Beaufort='orkanartiger Sturm';}
        if (windspeedakt > 118) {var Beaufort='Orkan';}
        setState("status_Wind.Beaufort", Beaufort);    
    

    Vielen Dank
    Carsten

    cengC Offline
    cengC Offline
    ceng
    schrieb am zuletzt editiert von ceng
    #2

    ..........

    Diverse Raspies am Start

    1 Antwort Letzte Antwort
    0
    • htreckslerH Offline
      htreckslerH Offline
      htrecksler
      Forum Testing
      schrieb am zuletzt editiert von
      #3

      und wie lautet die Frage?

      Gruss Hermann

      ioBroker auf Proxmox (Debian) auf IntelNuc als Produktivsystem

      cengC 1 Antwort Letzte Antwort
      0
      • htreckslerH htrecksler

        und wie lautet die Frage?

        cengC Offline
        cengC Offline
        ceng
        schrieb am zuletzt editiert von
        #4

        @htrecksler
        Danke für die schnelle Antwort.

        Ist das die richtige Art, eine If-Then Abfrage zu machen? Gibt es eine "richtigere"? Wenn das Blockly schon sagt, "Ausrufezeichen", dann ist dort doch was im Argen, oder?

        Diverse Raspies am Start

        1 Antwort Letzte Antwort
        0
        • htreckslerH Offline
          htreckslerH Offline
          htrecksler
          Forum Testing
          schrieb am zuletzt editiert von
          #5

          ich hab jetzt gerade nicht so viel Zeit, und ich kenn ja den Rest des Scriptes nicht (wo wird aufgerufen, wie oft wird das benötigt...)

          In jedem Fall würde ich mir eine Funktion schreiben die den Text ermittelt. Der Funktion dann die aktuelle Windgeschwindigkeit übergeben und dann die einzelnen Stärken prüfen, angefangen bei Windstill. Bei einem Treffer dann aus der Funktion herausspringen....
          Und wenn es öfter gebraucht wird würde ich das dann in einem "globalen" script (aber das wirklich nur wenn man es häufiger in verschiedenen Scripten benötigt) umsetzen.

          Wie gesagt, ich muss weg, aber wenn bis heute Abend noch kein anderer reagiert hat (das ist eigentlich genau das richtige für Paul :-)) dann ...

          Gruss Hermann

          ioBroker auf Proxmox (Debian) auf IntelNuc als Produktivsystem

          1 Antwort Letzte Antwort
          0
          • liv-in-skyL Offline
            liv-in-skyL Offline
            liv-in-sky
            schrieb am zuletzt editiert von
            #6

            mach doch mal ein bild deines blockly

            nach einem gelösten Thread wäre es sinnvoll dies in der Überschrift des ersten Posts einzutragen [gelöst]-... Bitte benutzt das Voting rechts unten im Beitrag wenn er euch geholfen hat. Forum-Tools: PicPick https://picpick.app/en/download/ und ScreenToGif https://www.screentogif.com/downloads.html

            1 Antwort Letzte Antwort
            0
            • cengC ceng

              Hi,
              ich habe ein Ausrufezeichen im Script. Funktionieren tut es.

              Mein HMIP Windmesser soll mein VIS Dashboard mit textuellem Windinformationen in Beaufort versorgen. Wie gesagt, funktionieren tut es, aber...

                  var Beaufort            = 'undefined';
                  if (0 < windspeedakt && windspeedakt < 1) {var Beaufort='Windstill';}
                  if (1 < windspeedakt && windspeedakt < 6) {var Beaufort='leiser Zug';}
                  if (6 < windspeedakt && windspeedakt < 12) {var Beaufort='leichte Briese';}
                  if (12 < windspeedakt && windspeedakt < 20) {var Beaufort='schwacher Wind';}
                  if (20 < windspeedakt && windspeedakt < 29) {var Beaufort='mäßiger Wind';}
                  if (29 < windspeedakt && windspeedakt < 39) {var Beaufort='frischer Wind';}
                  if (39 < windspeedakt && windspeedakt < 50) {var Beaufort='starker Wind';}
                  if (50 < windspeedakt && windspeedakt < 62) {var Beaufort='steifer Wind';}
                  if (62 < windspeedakt && windspeedakt < 75) {var Beaufort='stürmischer Wind';}
                  if (75 < windspeedakt && windspeedakt < 89) {var Beaufort='Sturm';}
                  if (89 < windspeedakt && windspeedakt < 103) {var Beaufort='schwerer Sturm';}
                  if (103 < windspeedakt && windspeedakt < 118) {var Beaufort='orkanartiger Sturm';}
                  if (windspeedakt > 118) {var Beaufort='Orkan';}
                  setState("status_Wind.Beaufort", Beaufort);    
              

              Vielen Dank
              Carsten

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

              @ceng Die Variable Beaufort nur einmal deklarieren !

              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

              cengC 1 Antwort Letzte Antwort
              0
              • bahnuhrB Online
                bahnuhrB Online
                bahnuhr
                Forum Testing Most Active
                schrieb am zuletzt editiert von
                #8

                Was machst du wenn der Wind = 20 ist.
                Dann läuft das Script ins Leere.

                Also mal ein <= oder >= setzen.

                Weiterhin könntest du mit "else if" arbeiten, dann hast du nur jeweils eine Werteangabe.

                Also ungefähr so:

                if (windspeedakt < 1) { Beaufort = "Windstill"; } 
                else if (windspeedakt < 6) { Beaufort = "leiser Zug"; } 
                else if (windspeedakt < 12) { Beaufort = "leichte Brise"; } 
                ...
                else { Beaufort = "Orkan"};
                

                mfg


                Wenn ich helfen konnte, dann Daumen hoch (Pfeil nach oben)!
                Danke.
                gute Forenbeiträge: https://forum.iobroker.net/topic/51555/hinweise-f%C3%BCr-gute-forenbeitr%C3%A4ge
                ScreenToGif :https://www.screentogif.com/downloads.html

                cengC bahnuhrB 2 Antworten Letzte Antwort
                0
                • bahnuhrB bahnuhr

                  Was machst du wenn der Wind = 20 ist.
                  Dann läuft das Script ins Leere.

                  Also mal ein <= oder >= setzen.

                  Weiterhin könntest du mit "else if" arbeiten, dann hast du nur jeweils eine Werteangabe.

                  Also ungefähr so:

                  if (windspeedakt < 1) { Beaufort = "Windstill"; } 
                  else if (windspeedakt < 6) { Beaufort = "leiser Zug"; } 
                  else if (windspeedakt < 12) { Beaufort = "leichte Brise"; } 
                  ...
                  else { Beaufort = "Orkan"};
                  

                  mfg

                  cengC Offline
                  cengC Offline
                  ceng
                  schrieb am zuletzt editiert von ceng
                  #9

                  @bahnuhr
                  Nachdem ich Dein Scriptschnipsel gesehen habe, passte ich mein Script folgendermassen an und siehe da, die Ausrufezeichen sind weg. Ich darf nur einmal "var beaufort" schreiben...

                  var aktuellerWind = getState("hm-rpc.2.0017D709AE3070.1.WIND_SPEED"/*HmIP-SWO-B 0017D709AE3070:1.WIND_SPEED*/).val;
                  var loggen = false;  // = false, wenn kein Logging gewünscht
                  var timestamp = Date();
                  var timestampUnix = Math.round(+new Date()/1000);
                  
                  createState('status_Wind.Windstatus', 'INITIAL', {type: 'string'});           // Wetterstatus
                  createState('status_Wind.Beaufort', 'INITIAL', {type: 'string'});           // Wetterstatus
                  
                  createState('status_Wind.timestampaktWind', 'INITIAL', {type: 'string'});       // Ausführungsdatum
                  createState('status_Wind.timestampaktWindUnix', timestampUnix, {type: 'number'});// Ausführungsdatum Unix Format
                  createState('status_Wind.windspeedakt', 0, {type: 'number'});                   // aktuelle Windgeschwindigkeit
                  
                  createState('status_Wind.timestamp1Wind', 'INITIAL', {type: 'string'});         // Ausführungsdatum
                  createState('status_Wind.windspeed1', 0, {type: 'number'});                     // letzte Windgeschwindigkeit
                  createState('status_Wind.timestamp2Wind', 'INITIAL', {type: 'string'});         // Ausführungsdatum
                  createState('status_Wind.windspeed2', 0, {type: 'number'});                     // vorletzte Windgeschwindigkeit
                  createState('status_Wind.timestamp3Wind', 'INITIAL', {type: 'string'});         // Ausführungsdatum
                  createState('status_Wind.windspeed3', 0, {type: 'number'});                     // vorvorletzte Windgeschwindigkeit
                  
                  
                  function windstate() {
                      var windspeedakt        = getState("hm-rpc.2.0017D709AE3070.1.WIND_SPEED"/*HmIP-SWO-B 0017D709AE3070:1.WIND_SPEED*/).val;             // Windgeschwindigkeit
                      var windspeed1          = getState("javascript.0.status_Wind.windspeedakt"/*status_Wind.windspeedakt*/).val;             // letzte Windgeschwindigkeit
                      var windspeed2          = getState("javascript.0.status_Wind.windspeed1"/*status_Wind.windspeedakt*/).val;             // vorletzte Windgeschwindigkeit
                      var windspeed3          = getState("javascript.0.status_Wind.windspeed2"/*status_Wind.windspeedakt*/).val;             // vorletzte Windgeschwindigkeit
                      var winddurchschnitt    = ( windspeedakt + windspeed1 + windspeed2 + windspeed3 ) / 4;
                      
                      var timestampaktWind    = timestamp;
                      var timestampaktWindUnix= getState("javascript.0.status_Wind.timestampaktWindUnix").val;
                      var timestamp1Wind      = getState("javascript.0.status_Wind.timestampaktWind"/*status_Wind.windspeedakt*/).val;        // Zeit letzte Windgeschwindigkeit
                      var timestamp2Wind      = getState("javascript.0.status_Wind.timestamp1Wind"/*status_Wind.windspeedakt*/).val;          // Zeit vorletzte Windgeschwindigkeit
                      var timestamp3Wind      = getState("javascript.0.status_Wind.timestamp2Wind"/*status_Wind.windspeedakt*/).val;          // Zeit vorvorletzte Windgeschwindigkeit
                      
                      var timediff            = timestampUnix-timestampaktWindUnix;
                      
                      var Beaufort            = 'undefined';
                      if (0 < windspeedakt && windspeedakt < 1) {Beaufort='Windstill';}
                      if (1 < windspeedakt && windspeedakt < 6) {Beaufort='leiser Zug';}
                      if (6 < windspeedakt && windspeedakt < 12) {Beaufort='leichte Briese';}
                      if (12 < windspeedakt && windspeedakt < 20) {Beaufort='schwacher Wind';}
                      if (20 < windspeedakt && windspeedakt < 29) {Beaufort='mäßiger Wind';}
                      if (29 < windspeedakt && windspeedakt < 39) {Beaufort='frischer Wind';}
                      if (39 < windspeedakt && windspeedakt < 50) {Beaufort='starker Wind';}
                      if (50 < windspeedakt && windspeedakt < 62) {Beaufort='steifer Wind';}
                      if (62 < windspeedakt && windspeedakt < 75) {Beaufort='stürmischer Wind';}
                      if (75 < windspeedakt && windspeedakt < 89) {Beaufort='Sturm';}
                      if (89 < windspeedakt && windspeedakt < 103) { Beaufort='schwerer Sturm';}
                      if (103 < windspeedakt && windspeedakt < 118) {Beaufort='orkanartiger Sturm';}
                      if (windspeedakt > 118) {Beaufort='Orkan';}
                      setState("status_Wind.Beaufort", Beaufort);                                 // Schreibt Beaufort Bezeichnung
                      
                      setState("status_Wind.timestampaktWind", timestampaktWind);                 // Schreibt Datum des Ausführung
                      setState("status_Wind.timestampaktWindUnix", timestampUnix);                // Schreibt Datum des Ausführung zur Berechung
                      setState("status_Wind.timestamp1Wind", timestamp1Wind);                     // überträgt Datum des letzten Ausführung
                      setState("status_Wind.timestamp2Wind", timestamp2Wind);                     // überträgt Datum des vorletzten Ausführung
                      setState("status_Wind.timestamp3Wind", timestamp3Wind);                     // überträgt Datum des vorvorletzten Ausführung
                      
                      setState("status_Wind.windspeedakt", windspeedakt);                         
                      setState("status_Wind.windspeed1", windspeed1);                          
                      setState("status_Wind.windspeed2", windspeed2);                         
                      setState("status_Wind.windspeed3", windspeed3); 
                      
                  
                      
                      if(loggen) log("Zeitdifferenz seit letztem Status: " + timediff);
                      if(loggen) log("Aktueller Wind: " + windspeedakt);
                      if(loggen) log("1 Wind: " + windspeed1);
                      if(loggen) log("2 Wind: " + windspeed2);
                      if(loggen) log("3 Wind: " + windspeed3);
                      if(loggen) log("Durchschnitt: " + winddurchschnitt);
                      
                      //if (windspeedakt>20){"status_Wind.Wetterstatus", 'Windig'}
                              
                  }
                  
                  windstate();
                  
                  on(
                      {id: 'hm-rpc.2.0017D709AE3070.1.WIND_SPEED', change: "ne"}, function (obj) {
                          windstate();
                          console.log('Windspeed changed');
                  });
                  

                  Diverse Raspies am Start

                  1 Antwort Letzte Antwort
                  0
                  • paul53P paul53

                    @ceng Die Variable Beaufort nur einmal deklarieren !

                    cengC Offline
                    cengC Offline
                    ceng
                    schrieb am zuletzt editiert von ceng
                    #10

                    @paul53
                    Ok, was bedeutet "nur einmal deklarieren". Mit dem Beispiel von Bahnuhr wurde mir Deine Aussage dann klar.

                    Diverse Raspies am Start

                    paul53P 1 Antwort Letzte Antwort
                    0
                    • bahnuhrB bahnuhr

                      Was machst du wenn der Wind = 20 ist.
                      Dann läuft das Script ins Leere.

                      Also mal ein <= oder >= setzen.

                      Weiterhin könntest du mit "else if" arbeiten, dann hast du nur jeweils eine Werteangabe.

                      Also ungefähr so:

                      if (windspeedakt < 1) { Beaufort = "Windstill"; } 
                      else if (windspeedakt < 6) { Beaufort = "leiser Zug"; } 
                      else if (windspeedakt < 12) { Beaufort = "leichte Brise"; } 
                      ...
                      else { Beaufort = "Orkan"};
                      

                      mfg

                      bahnuhrB Online
                      bahnuhrB Online
                      bahnuhr
                      Forum Testing Most Active
                      schrieb am zuletzt editiert von
                      #11

                      @bahnuhr sagte in If Then mehrfach [gelöst]:

                      Was machst du wenn der Wind = 20 ist.
                      Dann läuft das Script ins Leere.

                      Das Problem hast du aber immer noch.


                      Wenn ich helfen konnte, dann Daumen hoch (Pfeil nach oben)!
                      Danke.
                      gute Forenbeiträge: https://forum.iobroker.net/topic/51555/hinweise-f%C3%BCr-gute-forenbeitr%C3%A4ge
                      ScreenToGif :https://www.screentogif.com/downloads.html

                      1 Antwort Letzte Antwort
                      0
                      • cengC ceng

                        @paul53
                        Ok, was bedeutet "nur einmal deklarieren". Mit dem Beispiel von Bahnuhr wurde mir Deine Aussage dann klar.

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

                        @ceng Die Abfrage kann vereinfacht werden, da nur eine Variable gesetzt wird, die beliebig oft überschrieben werden kann.

                            var Beaufort = 'Windstill';
                            if (1 < windspeedakt)  Beaufort = 'leiser Zug';
                            if (6 < windspeedakt)  Beaufort = 'leichte Briese';
                            if (12 < windspeedakt) Beaufort = 'schwacher Wind';
                            if (20 < windspeedakt) Beaufort = 'mäßiger Wind';
                            if (29 < windspeedakt) Beaufort = 'frischer Wind';
                            if (39 < windspeedakt) Beaufort = 'starker Wind';
                            if (50 < windspeedakt) Beaufort = 'steifer Wind';
                            if (62 < windspeedakt) Beaufort = 'stürmischer Wind';
                            if (75 < windspeedakt) Beaufort = 'Sturm';
                            if (89 < windspeedakt) Beaufort = 'schwerer Sturm';
                            if (103 < windspeedakt) Beaufort = 'orkanartiger Sturm';
                            if (windspeedakt > 118) Beaufort = 'Orkan';
                        

                        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 Antwort Letzte Antwort
                        0
                        • bahnuhrB Online
                          bahnuhrB Online
                          bahnuhr
                          Forum Testing Most Active
                          schrieb am zuletzt editiert von
                          #13

                          Paul,
                          die Werte passen aber nicht zu den Werten vom TE.

                          Bei 5 wollte er z.B. "leiser Zug"; bei dir steht jetzt "leichte Briese"

                          Aber egal, muss er halt anpassen so wie er es will.

                          mfg


                          Wenn ich helfen konnte, dann Daumen hoch (Pfeil nach oben)!
                          Danke.
                          gute Forenbeiträge: https://forum.iobroker.net/topic/51555/hinweise-f%C3%BCr-gute-forenbeitr%C3%A4ge
                          ScreenToGif :https://www.screentogif.com/downloads.html

                          paul53P 1 Antwort Letzte Antwort
                          0
                          • bahnuhrB bahnuhr

                            Paul,
                            die Werte passen aber nicht zu den Werten vom TE.

                            Bei 5 wollte er z.B. "leiser Zug"; bei dir steht jetzt "leichte Briese"

                            Aber egal, muss er halt anpassen so wie er es will.

                            mfg

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

                            @bahnuhr sagte:

                            Bei 5 wollte er z.B. "leiser Zug"; bei dir steht jetzt "leichte Briese"

                            ??

                            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 Antwort Letzte Antwort
                            0
                            • bahnuhrB Online
                              bahnuhrB Online
                              bahnuhr
                              Forum Testing Most Active
                              schrieb am zuletzt editiert von
                              #15

                              TE:

                              if (0 < windspeedakt && windspeedakt < 1) {var Beaufort='Windstill';}
                                  if (1 < windspeedakt && windspeedakt < 6) {var Beaufort='leiser Zug';}
                                  if (6 < windspeedakt && windspeedakt < 12) {var Beaufort='leichte Briese';}
                              

                              Paul:

                                  if (1 < windspeedakt)  Beaufort = 'leiser Zug';
                                  if (6 < windspeedakt)  Beaufort = 'leichte Briese';
                                  if (12 < windspeedakt) Beaufort = 'schwacher Wind';
                              

                              Bei Wert 5 ergibt oben was anderes als unten.
                              Oder lese ich falsch.
                              Ist aber auch nicht schlimm, kann er ja ändern.


                              Wenn ich helfen konnte, dann Daumen hoch (Pfeil nach oben)!
                              Danke.
                              gute Forenbeiträge: https://forum.iobroker.net/topic/51555/hinweise-f%C3%BCr-gute-forenbeitr%C3%A4ge
                              ScreenToGif :https://www.screentogif.com/downloads.html

                              paul53P 1 Antwort Letzte Antwort
                              0
                              • bahnuhrB bahnuhr

                                TE:

                                if (0 < windspeedakt && windspeedakt < 1) {var Beaufort='Windstill';}
                                    if (1 < windspeedakt && windspeedakt < 6) {var Beaufort='leiser Zug';}
                                    if (6 < windspeedakt && windspeedakt < 12) {var Beaufort='leichte Briese';}
                                

                                Paul:

                                    if (1 < windspeedakt)  Beaufort = 'leiser Zug';
                                    if (6 < windspeedakt)  Beaufort = 'leichte Briese';
                                    if (12 < windspeedakt) Beaufort = 'schwacher Wind';
                                

                                Bei Wert 5 ergibt oben was anderes als unten.
                                Oder lese ich falsch.
                                Ist aber auch nicht schlimm, kann er ja ändern.

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

                                @bahnuhr sagte:

                                Bei Wert 5 ergibt oben was anderes als unten.

                                Wirklich ? Wert 5 ergibt in beiden Fällen "leiser Zug".

                                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

                                bahnuhrB 1 Antwort Letzte Antwort
                                0
                                • paul53P paul53

                                  @bahnuhr sagte:

                                  Bei Wert 5 ergibt oben was anderes als unten.

                                  Wirklich ? Wert 5 ergibt in beiden Fällen "leiser Zug".

                                  bahnuhrB Online
                                  bahnuhrB Online
                                  bahnuhr
                                  Forum Testing Most Active
                                  schrieb am zuletzt editiert von
                                  #17

                                  @paul53 sagte in If Then mehrfach [gelöst]:

                                  Wirklich ? Wert 5 ergibt in beiden Fällen "leiser Zug".

                                  Ok, hast recht. Hab falsch gelesen.
                                  Entschuldigung.


                                  Wenn ich helfen konnte, dann Daumen hoch (Pfeil nach oben)!
                                  Danke.
                                  gute Forenbeiträge: https://forum.iobroker.net/topic/51555/hinweise-f%C3%BCr-gute-forenbeitr%C3%A4ge
                                  ScreenToGif :https://www.screentogif.com/downloads.html

                                  1 Antwort Letzte Antwort
                                  0
                                  • G Offline
                                    G Offline
                                    George_Best
                                    schrieb am zuletzt editiert von
                                    #18

                                    Wäre ein "switch - case" nicht die bessere Wahl?

                                    So in der Art:

                                    switch (windspeedakt) {
                                        case < 6:
                                            Beaufort = 'leichte Briese;
                                            break;
                                        case <12:
                                            Beaufort = 'schwacher Wind';  
                                            break;
                                        ...
                                    
                                        default:
                                           Beaufort = "irgendwas".;
                                         break;
                                    
                                    1 Antwort Letzte Antwort
                                    0
                                    • bahnuhrB Online
                                      bahnuhrB Online
                                      bahnuhr
                                      Forum Testing Most Active
                                      schrieb am zuletzt editiert von
                                      #19

                                      case funktioniert auch.

                                      Aber vielleicht könnte mal ein Experte sagen, ob es da eine bessere Methode gibt.

                                      Für mich hätte "if", "else if" oder case den gleichen Effekt.
                                      Gibts da eine Auswahl "was ist besser ?"


                                      Wenn ich helfen konnte, dann Daumen hoch (Pfeil nach oben)!
                                      Danke.
                                      gute Forenbeiträge: https://forum.iobroker.net/topic/51555/hinweise-f%C3%BCr-gute-forenbeitr%C3%A4ge
                                      ScreenToGif :https://www.screentogif.com/downloads.html

                                      G 1 Antwort Letzte Antwort
                                      0
                                      • bahnuhrB bahnuhr

                                        case funktioniert auch.

                                        Aber vielleicht könnte mal ein Experte sagen, ob es da eine bessere Methode gibt.

                                        Für mich hätte "if", "else if" oder case den gleichen Effekt.
                                        Gibts da eine Auswahl "was ist besser ?"

                                        G Offline
                                        G Offline
                                        George_Best
                                        schrieb am zuletzt editiert von
                                        #20

                                        @bahnuhr sagte in If Then mehrfach [gelöst]:

                                        case funktioniert auch.

                                        Aber vielleicht könnte mal ein Experte sagen, ob es da eine bessere Methode gibt.

                                        Für mich hätte "if", "else if" oder case den gleichen Effekt.
                                        Gibts da eine Auswahl "was ist besser ?"

                                        "Switch - Case" ist in der Ausführung schneller, meinte ich mal gehört zu haben. Das liegt wohl daran, dass der Compiler beim Kompilieren den Code effizienter gestalten kann.

                                        Alternative wäre noch eine LookUp-Table, aber das funktioniert meines Wissens nicht mit Vergleichsoperatoren <, > sondern nur mit ===.

                                        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

                                        841

                                        Online

                                        32.4k

                                        Benutzer

                                        81.5k

                                        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