Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Skripten / Logik
    4. Blockly
    5. State vom Typ String auf nächste Position schalten

    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

    State vom Typ String auf nächste Position schalten

    This topic has been deleted. Only users with topic management privileges can see it.
    • paul53
      paul53 @LaplaceII last edited by paul53

      @laplaceii sagte: Gibt es eine elegantere Lösung

      Eine Liste mit den 75 Szenen und den Zähler als Index in die Liste verwenden.

      Blockly_temp.JPG

      @laplaceii sagte in State vom Typ String auf nächste Position schalten:

      und 75 Abfragen für das Rückwärtsschalten.

      Was bedeutet "Rückwärtsschalten"?
      Man kann auch rückwärts zählen.

      Blockly_temp.JPG

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

        @paul53 Danke für den Hinweis. Müsste dazu nicht die "Liste" zunächst mal erzeugt werden? Oder nimmt, er aus dem State automatisch die numerische Position des jeweilige Elementes. Ich habe es versucht umzusetzen. Die Variable "ZählerFarbschema" zählt entsprechend hoch, wenn Sie angetriggert wird. Jedoch ändert sich der State "EG_WO_LI_Stehle gradient_scene" leider nicht. Ggf. habe ich noch einen Fehler?: e515ab7c-9862-4fd7-82ff-b01a8b002182-image.png

        paul53 2 Replies Last reply Reply Quote 0
        • paul53
          paul53 @LaplaceII last edited by paul53

          @laplaceii sagte: Müsste dazu nicht die "Liste" zunächst mal erzeugt werden?

          Ja, natürlich muss die Liste mit den 75 Szenen erst erstellt werden (bei Skriptstart).

          Blockly_temp.JPG

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

            @paul53 Ah ok, das ist ja "fast" vergleichbar mit dem was ich vorher gemacht habe.....gibt es denn eine Möglichkeit eine Liste zu erstellen indem ich die 75 Strings des States automatisiert auslesen und damit die Liste erzeuge? Das würde den Aufwand sparen für jeden der 75 Strings ein eigenes Listefeld manuell anzulegen....

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

              @laplaceii sagte: ändert sich der State "EG_WO_LI_Stehle gradient_scene" leider nicht. Ggf. habe ich noch einen Fehler?:

              Die Liste muss nach dem Hochzählen ausgelesen werden.

              Blockly_temp.JPG

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

                @paul53 Danke! Ja die Reihenfolge ist Finetuning und werde ich noch vornehmen. Was mich jetzt noch interessieren würde ob ich die Liste automatisiert über auslesen aller Strings des States erzeugen kann...

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

                  @laplaceii sagte: ob ich die Liste automatisiert über auslesen aller Strings des States erzeugen kann...

                  Ich kenne den Datenpunkt nicht. Enthält er eine Werteliste? Bitte Objektdaten zeigen!

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

                    @paul53 Danke. Hier die Liste

                    {
                      "type": "state",
                      "common": {
                        "name": "EG_WO_LI_Stehle gradient_scene",
                        "type": "string",
                        "states": {
                          "blossom": "blossom",
                          "crocus": "crocus",
                          "precious": "precious",
                          "narcissa": "narcissa",
                          "beginnings": "beginnings",
                          "first_light": "first_light",
                          "horizon": "horizon",
                          "valley_dawn": "valley_dawn",
                          "sunflare": "sunflare",
                          "emerald_flutter": "emerald_flutter",
                          "memento": "memento",
                          "resplendent": "resplendent",
                          "scarlet_dream": "scarlet_dream",
                          "lovebirds": "lovebirds",
                          "smitten": "smitten",
                          "glitz_and_glam": "glitz_and_glam",
                          "promise": "promise",
                          "ruby_romance": "ruby_romance",
                          "city_of_love": "city_of_love",
                          "honolulu": "honolulu",
                          "savanna_sunset": "savanna_sunset",
                          "golden_pond": "golden_pond",
                          "runy_glow": "runy_glow",
                          "tropical_twilight": "tropical_twilight",
                          "miami": "miami",
                          "cancun": "cancun",
                          "rio": "rio",
                          "chinatown": "chinatown",
                          "ibiza": "ibiza",
                          "osaka": "osaka",
                          "tokyo": "tokyo",
                          "motown": "motown",
                          "fairfax": "fairfax",
                          "galaxy": "galaxy",
                          "starlight": "starlight",
                          "blood moon": "blood moon",
                          "artic_aurora": "artic_aurora",
                          "moonlight": "moonlight",
                          "nebula": "nebula",
                          "sundown": "sundown",
                          "blue_lagoon": "blue_lagoon",
                          "palm_beach": "palm_beach",
                          "lake_placid": "lake_placid",
                          "mountain_breeze": "mountain_breeze",
                          "lake_mist": "lake_mist",
                          "ocean_dawn": "ocean_dawn",
                          "frosty_dawn": "frosty_dawn",
                          "sunday_morning": "sunday_morning",
                          "emerald_isle": "emerald_isle",
                          "spring_blossom": "spring_blossom",
                          "midsummer_sun": "midsummer_sun",
                          "autumn_gold": "autumn_gold",
                          "spring_lake": "spring_lake",
                          "winter_mountain": "winter_mountain",
                          "midwinter": "midwinter",
                          "amber_bloom": "amber_bloom",
                          "lily": "lily",
                          "painted_sky": "painted_sky",
                          "winter_beauty": "winter_beauty",
                          "orange_fields": "orange_fields",
                          "forest_adventure": "forest_adventure",
                          "blue_planet": "blue_planet",
                          "soho": "soho",
                          "vapor_wave": "vapor_wave",
                          "magneto": "magneto",
                          "tyrell": "tyrell",
                          "disturbia": "disturbia",
                          "hal": "hal",
                          "golden_star": "golden_star",
                          "under_the_tree": "under_the_tree",
                          "silent_night": "silent_night",
                          "rosy_sparkle": "rosy_sparkle",
                          "festive_fun": "festive_fun",
                          "colour_burst": "colour_burst",
                          "crystalline": "crystalline"
                        },
                        "read": true,
                        "write": true,
                        "role": "state"
                      },
                      "native": {},
                      "_id": "zigbee.0.001788010c53e9f2.gradient_scene",
                      "acl": {
                        "object": 1636,
                        "state": 1636,
                        "owner": "system.user.admin",
                        "ownerGroup": "system.group.administrator"
                      },
                      "from": "system.adapter.zigbee.0",
                      "user": "system.user.admin",
                      "ts": 1730301493022
                    }
                    
                    paul53 1 Reply Last reply Reply Quote 0
                    • paul53
                      paul53 @LaplaceII last edited by paul53

                      @laplaceii sagte: Hier die Liste

                      Um common.states in eine Liste zu wandeln, benötigt man eine Javascript-Funktion:

                      const states = getObject(id).common.states;
                      for(const ele in states) {
                          Liste.push(ele);
                      }
                      

                      Blockly_temp.JPG

                      EDIT: ... oder eine JS-Funktion mit Ergebnis:

                      const arr = [];
                      const states = getObject(id).common.states;
                      for(const ele in states) {
                          arr.push(ele);
                      }
                      return arr;
                      

                      Blockly_temp.JPG

                      1 Reply Last reply Reply Quote 1
                      • L
                        LaplaceII last edited by LaplaceII

                        Danke für Dein Engagement! Ich habe die erste Variante mit dem Javascript probiert. Die Liste wird erstellt (s. auch debug Ausgabe unten im Bild, einzelnen Elemente sind mit Kommata getrennt). Leider führt der SteuerBefehl dazu, dass die ganze Liste in den State eingetragen wird und nicht der entsprechende String in Abhängigkeit zum Zähler. Für mich sieht das alles recht plausible aus, aber leider funktioniert es noch nicht. Gibt es noch eine Optimierungsidee?
                        5dca7459-c6de-4e3b-98a9-8ede258519f3-image.png

                        Edit: Hatte noch eine Fehler drin....funktioniert jetzt.....vielen vielen Dank!

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

                        Support us

                        ioBroker
                        Community Adapters
                        Donate

                        928
                        Online

                        31.7k
                        Users

                        79.9k
                        Topics

                        1.3m
                        Posts

                        2
                        11
                        314
                        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