Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Visualisierung
    4. Werteliste

    NEWS

    • ioBroker@Smart Living Forum Solingen, 14.06. - Agenda added

    • ioBroker goes Matter ... Matter Adapter in Stable

    • Monatsrückblick - April 2025

    Werteliste

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

      Hallo zusammen,

      ich habe in der Homematic eine Werteliste erstellt unter den Variablen.

      z.B.

      19;20;21

      Wenn ich nun im Vis eine Dropdown Liste erstelle werde auch die Werte angezeigt.

      Wenn ich nun einen Wert auswähle und in ein Textfeld schreiben will, dann erhalte ich dort nur die Index Nummer und nicht den Value.

      In meinem Fall ist es so, das 19 Index 0 ist, 20 Index 1 usw. ist.

      Wie komme ich an den eigentlich Wert?

      1 Reply Last reply Reply Quote 0
      • B
        Brati last edited by

        Das ist richtig so: 0 entspricht dem 1. Eintrag deiner Liste. Dort können ja auch Strings stehen. Mit Vis schaltest du halt entsprechend die Werte der Liste durch. Was möchtest du denn machen?

        Grüße Brati

        von unterwegs gesendet.

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

          Wenn du beispielsweise in Javascript programmierst. lebst Du Dir ein Array mit den Werten an und nimmst den Index aus der Dropdownliste um den wahren Wert aus dem Array zu erhalten. Einziger Schönheitsfehler daran ist, dass man an zwei Stellen die Liste pflegen muss: in VIS und in dem Javascript.

          1 Reply Last reply Reply Quote 0
          • H
            Harry last edited by

            Schon mal danke für Antwort.

            Ich würde ganz gerne den ausgewählten Wert in ein Textfeld schrieben und nicht die ausgewählte Index Nummer.

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

              @Harry:

              Ich würde ganz gerne den ausgewählten Wert in ein Textfeld schrieben und nicht die ausgewählte Index Nummer. `
              Mit folgendem Javascript-Code erhält man den Zustandstext, wenn der Index und die Datenpunkt-ID vorliegen:

              var txt = getObject(id).common.states[index];
              
              1 Reply Last reply Reply Quote 0
              • H
                Harry last edited by

                So,

                ich habe jetzt mal das Textfeld Widget aktiviert, und habe unter "Skripte" folgenden Code eingtragen

                var txt = getObject(hm-rega.0.3187).common.states[1];

                Dann habe ich ich in dem Textfeld Widget unter Object ID "txt" eingetragen, um auf die Variable im Script zu lesen.

                Ist der Ansatz richtig, ich sehe leider nichts im Textfeld?

                1 Reply Last reply Reply Quote 0
                • B
                  Brati last edited by

                  Ich schalte eine Werteliste im VIS wie folgt

                  Widget0 (sichtbar bei Wertindex = 0, schaltet Index auf 1)

                  Widget1 (sichtbar bei Wertindex = 1, schaltet Index auf 2)

                  Widget2 (sichtbar bei Wertindex = 2, schaltet Index auf 0)

                  usw.

                  Die liegen alle übereinander und haben jeweils ein anderes Icon, so kann man per Druck die Werteliste durchschalten, es sieht schicker aus und geht ohne JS. Die CCU stellt den Wert eh noch automatisch und ich kann es bei Bedarf ändern bzw. kontrollieren.

                  Es müßte auch noch ein Widget List geben, wo du selber einträgst, was bei 0,1,2… angezeigt werden soll.

                  Grüße

                  Brati

                  1 Reply Last reply Reply Quote 0
                  • B
                    Brati last edited by

                    @Harry:

                    So,

                    ich habe jetzt mal das Textfeld Widget aktiviert, und habe unter "Skripte" folgenden Code eingtragen

                    var txt = getObject(hm-rega.0.3187).common.states[1];

                    Dann habe ich ich in dem Textfeld Widget unter Object ID "txt" eingetragen, um auf die Variable im Script zu lesen.

                    Ist der Ansatz richtig, ich sehe leider nichts im Textfeld? `

                    Nee, du musst die Variable noch in einen State schreiben und diesen dann anzeigen lassen. Das auslesen muss dann noch auf die Änderung der Variable triggern. Dass kann ich aber von unterwegs nicht schreiben…

                    1 Reply Last reply Reply Quote 0
                    • H
                      Harry last edited by

                      Dankeschön Brati!

                      Irgendwie habe ich es aber nicht so recht verstanden.

                      Anbei mal zwei Bilder, um mein Problem besser zu verdeutlichen.

                      Danke für deine Hilfe!
                      1544_13-10-2016_15-20-39.gif
                      1544_13-10-2016_15-23-51.gif

                      1 Reply Last reply Reply Quote 0
                      • htrecksler
                        htrecksler Forum Testing last edited by

                        ohne zu wissen ob das Skript läuft…

                        auf jeden Fall reicht es nicht in die ObjectID einfach "txt" zu schreiben.

                        Dort muss die gesamte Bezeichnung rein. Also etwa javascript.0.xxxxx.

                        Am besten Auswählen über das Viereck neben dem Feld.

                        Ok, ich sehe gerade, Dir fehlt auch noch der Datenpunkt an sich.

                        Im Moment erzeugst du nur einen Wert in einer Variable. Dieser Wert wird aber nirgend gespeichert.

                        Zuerst musst Du Dir mit createState den Datenpunkt anlegen.

                        Dann fehlt auch noch der Auslöser für das Befüllen des Wertes. Dieser soll sich ja wahrscheinlich aktualisieren wenn sich etwas ändert.

                        Ansonsten wird txt immer nur dann gefüllt wenn das Skript gestartet wird.

                        Aber im Moment hab ich sehr wenig Zeit. Falls Dir bis heute Abend kein anderer geholfen hat und ich noch dazu komme...

                        Aber eigentlich sind hier immer alle sehr schnell...(und ich meistens zu langsam 🙂 )

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

                          @htrecksler:

                          Zuerst musst Du Dir mit createState den Datenpunkt anlegen….Dann fehlt auch noch der Auslöser für das Befüllen des Wertes. Dieser soll sich ja wahrscheinlich aktualisieren wenn sich etwas ändert. `

                          createState("Zustandstext","19");  // Datenpunkt für Zustandstext erzeugen
                          
                          on("hm-rega.0.3187", function(dp) {
                              setState("Zustandstext", dp.common.states[dp.state.val]);
                          });
                          
                          
                          1 Reply Last reply Reply Quote 0
                          • htrecksler
                            htrecksler Forum Testing last edited by

                            sag ich doch…

                            Paul war schneller 😄

                            1 Reply Last reply Reply Quote 0
                            • H
                              Harry last edited by

                              Herzlichen Danke für eure Hilfe!

                              Nun funktioniert es auch.

                              😄

                              1 Reply Last reply Reply Quote 0
                              • Bluefox
                                Bluefox last edited by

                                Fixed? Thema anpassen. 😉

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

                                Support us

                                ioBroker
                                Community Adapters
                                Donate

                                900
                                Online

                                31.6k
                                Users

                                79.5k
                                Topics

                                1.3m
                                Posts

                                6
                                14
                                2767
                                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