Skip to content
  • Home
  • Recent
  • Tags
  • 0 Unread 0
  • Categories
  • Unreplied
  • Popular
  • 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

  • Default (No Skin)
  • No Skin
Collapse
ioBroker Logo

Community Forum

donate donate
  1. ioBroker Community Home
  2. Deutsch
  3. Skripten / Logik
  4. JavaScript
  5. [gelöst] Aufzählungen Toggeln

NEWS

  • Neuer ioBroker-Blog online: Monatsrückblick März/April 2026
    BluefoxB
    Bluefox
    6
    1
    221

  • Verwendung von KI bitte immer deutlich kennzeichnen
    HomoranH
    Homoran
    8
    1
    217

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

[gelöst] Aufzählungen Toggeln

Scheduled Pinned Locked Moved JavaScript
14 Posts 4 Posters 1.0k Views 2 Watching
  • Oldest to Newest
  • Newest to Oldest
  • Most Votes
Reply
  • Reply as topic
Log in to reply
This topic has been deleted. Only users with topic management privileges can see it.
  • Ben1983B Ben1983

    Hallo, gibt es irgendwie die Möglichkeit Aufzählungen zu toggeln?
    Ich habe einen Taster, mit dem würde ich gerne die Funktion x in Raum y toggeln.
    Bei einem State ist es ja ganz einfach:

    Setstate(stateid,!getState(stateid).val);
    

    Aber bei einer Aufzählung?

    paul53P Offline
    paul53P Offline
    paul53
    wrote on last edited by
    #2

    @ben1983 sagte: Möglichkeit Aufzählungen zu toggeln?

    Aufzählungen haben gewöhnlich mehr als nur zwei Zustände. Wie soll man die toggeln?

    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

    Ben1983B 1 Reply Last reply
    0
    • paul53P paul53

      @ben1983 sagte: Möglichkeit Aufzählungen zu toggeln?

      Aufzählungen haben gewöhnlich mehr als nur zwei Zustände. Wie soll man die toggeln?

      Ben1983B Offline
      Ben1983B Offline
      Ben1983
      wrote on last edited by
      #3

      @paul53 das war genau die Frage ;-)

      R 1 Reply Last reply
      0
      • Ben1983B Ben1983

        @paul53 das war genau die Frage ;-)

        R Offline
        R Offline
        randomuser123
        wrote on last edited by
        #4

        @ben1983
        Ich würde folgendes probieren (pseudo-code):

        let possibleValuesForStateId = ["on", "off", "somethingelse"];
        let currentState = getState(stateid).val;
        let idxOfCurrentState = possibleValuesForStateId.indexOf(currentState);
        let nextIdx = (idxOfCurrentState + 1) % possibleValuesForStateId.size;
        let nextState = possibleValuesForStateId[nextIdx];
        Setstate(stateid, nextState);
        
        1 Reply Last reply
        0
        • Ben1983B Offline
          Ben1983B Offline
          Ben1983
          wrote on last edited by
          #5

          @randomuser123 danke für den Vorschlag.
          Ich meinte es eher so….

          Die Aufzählung Licht im Raum Garage torkeln…
          Also bspw an oder aus.
          Alle States sollen den gewünschten Zustand annehmen, ohne dass man explizit vorgibt True oder false.

          1 Reply Last reply
          0
          • R Offline
            R Offline
            randomuser123
            wrote on last edited by
            #6

            Ich verstehe es leider noch nicht.
            Hast du mehrere Lichter in der Garage, die separat ein/aus geschaltet werden können, aber du möchtest mit einem Knopfdruck alle zusammen in den Zustand "an" schalten, auch wenn vor dem schalten manche Lichter "an" und andere "aus" waren?

            Und was ist der "gewünschte Zustand", wenn du weder true (=an) noch false (=aus) vorgibst?

            Ben1983B 1 Reply Last reply
            0
            • R randomuser123

              Ich verstehe es leider noch nicht.
              Hast du mehrere Lichter in der Garage, die separat ein/aus geschaltet werden können, aber du möchtest mit einem Knopfdruck alle zusammen in den Zustand "an" schalten, auch wenn vor dem schalten manche Lichter "an" und andere "aus" waren?

              Und was ist der "gewünschte Zustand", wenn du weder true (=an) noch false (=aus) vorgibst?

              Ben1983B Offline
              Ben1983B Offline
              Ben1983
              wrote on last edited by
              #7

              @randomuser123 hi. Ja das habe ich.
              Alle true oder false setzt ist ja mit dem selektieren ganz simple.
              Ich möchte die wie gesagt toggeln. Aber ich werde wohl nicht drum herum kommen mit den Wert zu merken, wenn geriffelt wird.
              Ist vielleicht auch ein nicht so oft vor kommender Fall

              1 Reply Last reply
              0
              • R Offline
                R Offline
                randomuser123
                wrote on last edited by
                #8

                Ok, ja dann würde ich auch einen extra Datenpunkt "alleGaragenlichter" erstellen, der den gewünschten Zustand für alle Lichter angibt.
                Sobald dieser geändert wird, werden alle Lichter auf denjenigen Zustand gesetzt, der in "alleGaragenlichter" steht.

                Den "alleGaragenlichter" kannst du dann mit der Zeile die du im ersten Post geschrieben hast toggeln:
                Setstate(stateid,!getState(stateid).val);

                Ich glaube für scripte gibt es eine Funktion, die bei der Änderung eines Datenpunktes aufgerufen wird. Weiß grad leider nicht wie die Syntax davon ist.
                Jedenfalls kannst du dann innerhalb dieser Funktion den Wert von "alleGaragenlichter" auslesen und alle individuellen Licht-Datenpunkte damit aktualisieren.

                1 Reply Last reply
                0
                • Ben1983B Offline
                  Ben1983B Offline
                  Ben1983
                  wrote on last edited by
                  #9

                  @randomuser123
                  Ja ich weis ja, wie man alle datenpunkte eine Aufzählung liegt oder auch mit dem selector schreibt. Wollte auf was andere hinaus, aber glaube das geht so nicht.

                  HomoranH 1 Reply Last reply
                  0
                  • Ben1983B Ben1983

                    @randomuser123
                    Ja ich weis ja, wie man alle datenpunkte eine Aufzählung liegt oder auch mit dem selector schreibt. Wollte auf was andere hinaus, aber glaube das geht so nicht.

                    HomoranH Offline
                    HomoranH Offline
                    Homoran
                    Global Moderator Administrators
                    wrote on last edited by
                    #10

                    @ben1983 sagte in Aufzählungen Toggeln:

                    Wollte auf was andere hinaus,

                    was denn?

                    @ben1983 sagte in Aufzählungen Toggeln:

                    Die Aufzählung Licht im Raum Garage torkeln…

                    ist auch mit der nachfolgenden Erklärung

                    @ben1983 sagte in Aufzählungen Toggeln:

                    Also bspw an oder aus.
                    Alle States sollen den gewünschten Zustand annehmen,

                    nicht klar, wenn man nicht weiß was du wünschst.

                    @ben1983 sagte in Aufzählungen Toggeln:

                    Aber ich werde wohl nicht drum herum kommen mit den Wert zu merken, wenn geriffelt wird.

                    was auch immer das bedeuten soll!?

                    toggeln ist umschalten!
                    hast du z.b. drei Lampen, von denen 2 AN sind, würde toggeln dazu führen, dass anschließend 2 Lampen AUS und eine AN sind.

                    kein Support per PN! - Fragen im Forum stellen -
                    Benutzt das Voting rechts unten im Beitrag wenn er euch geholfen hat.
                    Das Forum freut sich über eine Spende. Benutzt dazu den Spendenbutton oben rechts. Danke!
                    der Installationsfixer: curl -fsL https://iobroker.net/fix.sh | bash -

                    1 Reply Last reply
                    0
                    • Ben1983B Offline
                      Ben1983B Offline
                      Ben1983
                      wrote on last edited by
                      #11

                      @homoran ja das ist ja das Problem.
                      Wenn ich drei Lampen habe und zwei an sind geht eben toggeln nicht mehr das alle einen Zustand haben. Das geht nur mit explizieren Schreiben auf einen Wert… ohne dass ich alle einzeln ansprechen muss.

                      HomoranH 1 Reply Last reply
                      0
                      • Ben1983B Ben1983

                        @homoran ja das ist ja das Problem.
                        Wenn ich drei Lampen habe und zwei an sind geht eben toggeln nicht mehr das alle einen Zustand haben. Das geht nur mit explizieren Schreiben auf einen Wert… ohne dass ich alle einzeln ansprechen muss.

                        HomoranH Offline
                        HomoranH Offline
                        Homoran
                        Global Moderator Administrators
                        wrote on last edited by
                        #12

                        @ben1983 sagte in Aufzählungen Toggeln:

                        geht eben toggeln nicht mehr das alle einen Zustand haben.

                        das ist kein toggeln.
                        Das könntest du über eine Szene lösen mit wahr alle an und falsch alle aus. Wenn du unbedingt toggeln musst, dann toggelst du die Szene.

                        oder mit einem kleinen Skript, das auf einen (virtuellen) Tastendruck triggert

                        kein Support per PN! - Fragen im Forum stellen -
                        Benutzt das Voting rechts unten im Beitrag wenn er euch geholfen hat.
                        Das Forum freut sich über eine Spende. Benutzt dazu den Spendenbutton oben rechts. Danke!
                        der Installationsfixer: curl -fsL https://iobroker.net/fix.sh | bash -

                        Ben1983B 1 Reply Last reply
                        0
                        • HomoranH Homoran

                          @ben1983 sagte in Aufzählungen Toggeln:

                          geht eben toggeln nicht mehr das alle einen Zustand haben.

                          das ist kein toggeln.
                          Das könntest du über eine Szene lösen mit wahr alle an und falsch alle aus. Wenn du unbedingt toggeln musst, dann toggelst du die Szene.

                          oder mit einem kleinen Skript, das auf einen (virtuellen) Tastendruck triggert

                          Ben1983B Offline
                          Ben1983B Offline
                          Ben1983
                          wrote on last edited by
                          #13

                          @homoho Einfach an oder aus, geht ganz simple auch im script mit:

                          $(`state(functions=${enumBeleuchtung})(rooms=${enumGarageBenny})`).setState(true);
                          

                          Damit mache ich es ja schon lange Zeit erolgreich.
                          Die Frage war vielleicht falsch gestellt...
                          Eigentlich suche ich ne simple funktion, die stat dem setstae ein toggleState macht.

                          im Hintergrund wird wohl auch einfach ein each laufen...

                          HomoranH 1 Reply Last reply
                          0
                          • Ben1983B Ben1983

                            @homoho Einfach an oder aus, geht ganz simple auch im script mit:

                            $(`state(functions=${enumBeleuchtung})(rooms=${enumGarageBenny})`).setState(true);
                            

                            Damit mache ich es ja schon lange Zeit erolgreich.
                            Die Frage war vielleicht falsch gestellt...
                            Eigentlich suche ich ne simple funktion, die stat dem setstae ein toggleState macht.

                            im Hintergrund wird wohl auch einfach ein each laufen...

                            HomoranH Offline
                            HomoranH Offline
                            Homoran
                            Global Moderator Administrators
                            wrote on last edited by
                            #14

                            @ben1983 sagte in [gelöst] Aufzählungen Toggeln:

                            die stat dem setstae ein toggleState macht.

                            wir drehen uns im Kreis!

                            du willst anscheinend nicht toggeln, weil

                            @homoran sagte in [gelöst] Aufzählungen Toggeln:

                            hast du z.b. drei Lampen, von denen 2 AN sind, würde toggeln dazu führen, dass anschließend 2 Lampen AUS und eine AN sind.

                            kein Support per PN! - Fragen im Forum stellen -
                            Benutzt das Voting rechts unten im Beitrag wenn er euch geholfen hat.
                            Das Forum freut sich über eine Spende. Benutzt dazu den Spendenbutton oben rechts. Danke!
                            der Installationsfixer: curl -fsL https://iobroker.net/fix.sh | bash -

                            1 Reply Last reply
                            0

                            Hello! It looks like you're interested in this conversation, but you don't have an account yet.

                            Getting fed up of having to scroll through the same posts each visit? When you register for an account, you'll always come back to exactly where you were before, and choose to be notified of new replies (either via email, or push notification). You'll also be able to save bookmarks and upvote posts to show your appreciation to other community members.

                            With your input, this post could be even better 💗

                            Register Login
                            Reply
                            • Reply as topic
                            Log in to reply
                            • Oldest to Newest
                            • Newest to Oldest
                            • Most Votes


                            Support us

                            ioBroker
                            Community Adapters
                            Donate

                            237

                            Online

                            32.8k

                            Users

                            82.8k

                            Topics

                            1.3m

                            Posts
                            Community
                            Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen | Einwilligungseinstellungen
                            ioBroker Community 2014-2025
                            logo
                            • Login

                            • Don't have an account? Register

                            • Login or register to search.
                            • First post
                              Last post
                            0
                            • Home
                            • Recent
                            • Tags
                            • Unread 0
                            • Categories
                            • Unreplied
                            • Popular
                            • GitHub
                            • Docu
                            • Hilfe