Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Skripten / Logik
    4. JavaScript
    5. Fehler in "if-Bedingung" / brauche mal Anfängerhilfe

    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

    Fehler in "if-Bedingung" / brauche mal Anfängerhilfe

    This topic has been deleted. Only users with topic management privileges can see it.
    • S
      Supermicha last edited by Supermicha

      Hallo zusammen.
      Ich versuche grade mit Blockly eine Liste als JSON zu formatieren...

      Bin blutiger Javascript-Anfänger und habe mir nach einigen Beispielen hier einen ensprechenden Code-Block gebaut...

      return {text: getObject(id).common.name,
      objectId: id,
      buttonStateValue: getState(id).val,
      image: "lightbulb",
      imageActive: "lightbulb-on",
      imageColor: "#ececec",
      listType: "buttonToggle",
      buttonToggleValueTrue: true,
      buttonToggleValueFalse: false,
      buttonBackgroundActiveColor: "red",
      imageActiveColor: "yellow",
      showValueLabel: false,};
      

      das funktioniert soweit prima. nur gibt es ein paar DP's die keinen Wert haben...
      also bekomme ich ein warning:

      getState "sonoff.0.TVrechts.POWER" not found (3) states[id]=null
      

      ich habe jetzt versucht eine if-Bedingung drumrum zu legen:

      if (getState(id) == null) {
          break;
      
      return {text: getObject(id).common.name,
      objectId: id,
      buttonStateValue: getState(id).val,
      image: "lightbulb",
      imageActive: "lightbulb-on",
      imageColor: "#ececec",
      listType: "buttonToggle",
      buttonToggleValueTrue: true,
      buttonToggleValueFalse: false,
      buttonBackgroundActiveColor: "red",
      imageActiveColor: "yellow",
      showValueLabel: false,};
      }
      

      jetzt bekomme ich ein error:

      SyntaxError: Illegal break statement
      

      ist wahrscheinlich ein ganz simples Problem, aber ich finde ihn leider nicht...
      kann mir jemand helfen?

      paul53 liv-in-sky 2 Replies Last reply Reply Quote 0
      • paul53
        paul53 @Supermicha last edited by

        @supermicha
        Versuche mal

        if(existsState(id)) return {...
        
        1 Reply Last reply Reply Quote 0
        • liv-in-sky
          liv-in-sky @Supermicha last edited by liv-in-sky

          @supermicha

          existsState(....) könnte helfen

          EDIT: sorry - paul war schneller - doppelt

          1 Reply Last reply Reply Quote 0
          • S
            Supermicha last edited by Supermicha

            auch damit funktioniert es leider nicht.

            immernoch:

            SyntaxError: Illegal break statement
            

            scheint am break zu liegen??

            Nachtrag:

            Das 'break' ist natürlich jetzt sinnlos mit dem 'existsState()

            jetzt läuft es! 👍 👍

            paul53 1 Reply Last reply Reply Quote 0
            • paul53
              paul53 @Supermicha last edited by paul53

              @supermicha sagte: scheint am break zu liegen??

              Wo siehst Du break? Ausführlicher:

              if(existsState(id)) return {
              text: getObject(id).common.name,
              objectId: id,
              buttonStateValue: getState(id).val,
              image: "lightbulb",
              imageActive: "lightbulb-on",
              imageColor: "#ececec",
              listType: "buttonToggle",
              buttonToggleValueTrue: true,
              buttonToggleValueFalse: false,
              buttonBackgroundActiveColor: "red",
              imageActiveColor: "yellow",
              showValueLabel: false
              };
              
              1 Reply Last reply Reply Quote 0
              • S
                Supermicha last edited by

                ja in meiner ursprünglichen Variante hatte ich ja ein break drin.

                1 Reply Last reply Reply Quote 0
                • S
                  Supermicha last edited by

                  nochmal Nachtrag:

                  mit existsState() kommt zwar keine Fehlermeldung mehr, die nicht gefüllten DP's werden aber auch nicht rausgeschmissen...

                  Denn der Datenpunkt existiert ja, hat nur keinen Wert.... 😕

                  Screenshot 2021-12-05 143318.png

                  der erste Power ohne Zahl muss weg...

                  1 Reply Last reply Reply Quote 0
                  • S
                    Supermicha last edited by

                    Muss mich korrigieren... es funktioniert.

                    die ausgelassenen Werte werden allerdings als NULL ins JSON übernommen.
                    Musst mein Blockly jetzt umbauen um die Nullwerte nicht zu übernehmen, nun klappt es...

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

                    Support us

                    ioBroker
                    Community Adapters
                    Donate

                    938
                    Online

                    31.9k
                    Users

                    80.1k
                    Topics

                    1.3m
                    Posts

                    3
                    8
                    237
                    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