Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Visualisierung
    4. [GELÖST]Inhalt eines dropdown über Javascript

    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

    [GELÖST]Inhalt eines dropdown über Javascript

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

      @Patrick:

      keiner eine idee wie man Werte und texte über ein Javascript füllen kann `

      ! ````
      [{"tpl":"tplBasicState","data":{"oid":"dev3","g_fixed":false,"g_visibility":false,"g_css_font_text":false,"g_css_background":false,"g_css_shadow_padding":true,"g_css_border":true,"g_gestures":false,"g_signals":false,"visibility-cond":"==","visibility-val":1,"visibility-groups-action":"hide","signals-cond-0":"==","signals-val-0":true,"signals-icon-0":"/vis/signals/lowbattery.png","signals-icon-size-0":0,"signals-blink-0":false,"signals-horz-0":0,"signals-vert-0":0,"signals-hide-edit-0":false,"signals-cond-1":"==","signals-val-1":true,"signals-icon-1":"/vis/signals/lowbattery.png","signals-icon-size-1":0,"signals-blink-1":false,"signals-horz-1":0,"signals-vert-1":0,"signals-hide-edit-1":false,"signals-cond-2":"==","signals-val-2":true,"signals-icon-2":"/vis/signals/lowbattery.png","signals-icon-size-2":0,"signals-blink-2":false,"signals-horz-2":0,"signals-vert-2":0,"signals-hide-edit-2":false,"value":"A;B;C;D;F","html":"Press me first"},"style":{"left":"530px","top":"151px","width":"100px","height":"20px","border-width":"1px","border-style":"dashed","border-color":"darkgrey","border-radius":"3px","padding":"5px"},"widgetSet":"basic"},{"tpl":"tplJquiSelectList","data":{"oid":"dev1","g_fixed":false,"g_visibility":true,"g_css_font_text":false,"g_css_background":false,"g_css_shadow_padding":false,"g_css_border":false,"g_gestures":false,"g_signals":false,"visibility-cond":"consist","visibility-val":"A","visibility-groups-action":"hide","values":"{dev3}","texts":"{dev3}","height":"100","signals-cond-0":"==","signals-val-0":true,"signals-icon-0":"/vis/signals/lowbattery.png","signals-icon-size-0":0,"signals-blink-0":false,"signals-horz-0":0,"signals-vert-0":0,"signals-hide-edit-0":false,"signals-cond-1":"==","signals-val-1":true,"signals-icon-1":"/vis/signals/lowbattery.png","signals-icon-size-1":0,"signals-blink-1":false,"signals-horz-1":0,"signals-vert-1":0,"signals-hide-edit-1":false,"signals-cond-2":"==","signals-val-2":true,"signals-icon-2":"/vis/signals/lowbattery.png","signals-icon-size-2":0,"signals-blink-2":false,"signals-horz-2":0,"signals-vert-2":0,"signals-hide-edit-2":false,"visibility-oid":"dev3"},"style":{"left":"528px","top":"199px","width":"131px","height":"33px"},"widgetSet":"jqui"},{"tpl":"tplValueString","data":{"oid":"dev1","g_fixed":false,"g_visibility":true,"g_css_font_text":true,"g_css_background":true,"g_css_shadow_padding":false,"g_css_border":false,"g_gestures":false,"g_signals":false,"visibility-cond":"consist","visibility-val":"A","visibility-groups-action":"hide","signals-cond-0":"==","signals-val-0":true,"signals-icon-0":"/vis/signals/lowbattery.png","signals-icon-size-0":0,"signals-blink-0":false,"signals-horz-0":0,"signals-vert-0":0,"signals-hide-edit-0":false,"signals-cond-1":"==","signals-val-1":true,"signals-icon-1":"/vis/signals/lowbattery.png","signals-icon-size-1":0,"signals-blink-1":false,"signals-horz-1":0,"signals-vert-1":0,"signals-hide-edit-1":false,"signals-cond-2":"==","signals-val-2":true,"signals-icon-2":"/vis/signals/lowbattery.png","signals-icon-size-2":0,"signals-blink-2":false,"signals-horz-2":0,"signals-vert-2":0,"signals-hide-edit-2":false,"visibility-oid":"dev3"},"style":{"left":"665px","top":"197px","background-color":"#ff6666","width":"118px","height":"25px"},"widgetSet":"basic"},{"tpl":"tplValueString","data":{"oid":"dev3","g_fixed":false,"g_visibility":false,"g_css_font_text":true,"g_css_background":true,"g_css_shadow_padding":false,"g_css_border":false,"g_gestures":false,"g_signals":false,"signals-cond-0":"==","signals-val-0":true,"signals-icon-0":"/vis/signals/lowbattery.png","signals-icon-size-0":0,"signals-blink-0":false,"signals-horz-0":0,"signals-vert-0":0,"signals-hide-edit-0":false,"signals-cond-1":"==","signals-val-1":true,"signals-icon-1":"/vis/signals/lowbattery.png","signals-icon-size-1":0,"signals-blink-1":false,"signals-horz-1":0,"signals-vert-1":0,"signals-hide-edit-1":false,"signals-cond-2":"==","signals-val-2":true,"signals-icon-2":"/vis/signals/lowbattery.png","signals-icon-size-2":0,"signals-blink-2":false,"signals-horz-2":0,"signals-vert-2":0,"signals-hide-edit-2":false,"visibility-cond":"==","visibility-val":1,"visibility-groups-action":"hide"},"style":{"left":"666px","top":"153px","background-color":"#ff6666","width":"119px","height":"25px"},"widgetSet":"basic"}]

       ![48_animation.gif](/assets/uploads/files/48_animation.gif) 
      
      Hilft das?
      1 Reply Last reply Reply Quote 0
      • paul53
        paul53 last edited by

        Das folgende Skript erzeugt eine per Semikolon separierte Favoritenliste aus der durch Komma separierte Sonos-Liste automatisch bei jeder Änderung der Sonos-Liste:

        createState('sonos.favTexte', '', {
            type: 'string',
            def: ''
        });
        
        function formatList(list) {
            setState('sonos.favTexte', list.replace(/,/g, ';'));
        }
        
        var favList = getState("sonos.0.root.192_168_xxx_yyy.favorites_list").val;
        formatList(favList);  // Script start
        
        // Änderung der Favoriten-Liste
        on("sonos.0.root.192_168_xxx_yyy.favorites_list", function(dp) {
            formatList(dp.state.val);
        });
        
        

        In das pulldown Widget muss dann folgendes eingetragen werden, damit die Listen automatisch übernommen werden:

        Object ID: sonos.0.root.192_168_xxx_yyy.favorites_set

        Werte: {javascript.0.sonos.favTexte}

        Texte: {javascript.0.sonos.favTexte}

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

          Perfekt funktioniert

          vielen dank euch beiden

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

            @Patrick:

            Perfekt funktioniert `
            Dann markiere bitte das Thema als gelöst.

            @Bluefox: Zum Script editor in VIS habe ich leider keine Beschreibung gefunden, deshalb meine Fragen:

            • welchen Funktionsumfang kann man nutzen; funktionieren auch getState(id), on(id, callback), … ?

            • muss dazu der JS-Adapter installiert (und eine Instanz aktiv) sein ?

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

              @paul53:

              Das folgende Skript erzeugt eine per Semikolon separierte Favoritenliste aus der durch Komma separierte Sonos-Liste automatisch bei jeder Änderung der Sonos-Liste:

              createState('sonos.favTexte', '', {
                  type: 'string',
                  def: ''
              });
              
              function formatList(list) {
                  setState('sonos.favTexte', list.replace(/,/g, ';'));
              }
              
              var favList = getState("sonos.0.root.192_168_xxx_yyy.favorites_list").val;
              formatList(favList);  // Script start
              
              // Änderung der Favoriten-Liste
              on("sonos.0.root.192_168_xxx_yyy.favorites_list", function(dp) {
                  formatList(dp.state.val);
              });
              
              

              In das pulldown Widget muss dann folgendes eingetragen werden, damit die Listen automatisch übernommen werden:

              Object ID: sonos.0.root.192_168_xxx_yyy.favorites_set

              Werte: {javascript.0.sonos.favTexte}

              Texte: {javascript.0.sonos.favTexte} `

              Hm, bei mir funktioniert das irgendwie nicht.

              Der ausgewählte Wert wird zwar in das Objekt geschrieben und leuchtet dort grün auf. Sonos bzw. der Sonos-Adapter spielt den gewählten Favorit aber nicht ab sondern bleibt beim aktuell eingestellten.

              Mit einen button state widjet, bei dem ich den Favoriten "hard codiert" als Wert eingetragen habe, funktioniert es tadellos.

              Irgendwer ne Idee?

              1 Reply Last reply Reply Quote 0
              • T
                tempestas last edited by

                Habe das gleiche Problem.

                Was mir auffällt:

                z.B. der tuneIn Radiosender "1000 Oldies" funktioniert. Der läuft sofort los.

                Radio N-Joy dagegen nicht. Und keine einzige Spotify / Sonos Favoritenliste.

                Als wenn im Radiostream von 1000 Oldies der Play Befehl mit abgesetzt wird, bei den anderen aber nicht. Müsste man diesen also mit absetzen, aber dafür fehlt mir wieder die Kenntnis, wie das geht

                KORREKTUR:

                Es geht immer nur der Sender, der Platz 1 in der Liste ist. Das gilt bei dem Widget allerdings bei mir auch, wenn ich mal Dinge manuell eintrage. Immer nur Position 1 der Liste führt dazu, dass die Favorites im Sonos gesettz und dann auch gespielt werden. Bei allen anderen ist es immer nur setzen der Sonos Favorites aber eben ohne Play.

                1 Reply Last reply Reply Quote 0
                • T
                  tempestas last edited by

                  Pix, du benutzt das Widget doch auch bei deiner Sonos Steuerung. Hast du eine Idee, warum immer nur Platz 1 der Liste funktioniert?

                  ODer funktioniert bei dir alles?

                  1 Reply Last reply Reply Quote 0
                  • T
                    tempestas last edited by

                    ich pushe nochmal, eventuell hat einer ja noc heine Lösung oder kann zumindest meine Erkenntnis bestätigen?

                    1 Reply Last reply Reply Quote 0
                    • P
                      pix last edited by

                      @tempestas:

                      Pix, du benutzt das Widget doch auch bei deiner Sonos Steuerung. Hast du eine Idee, warum immer nur Platz 1 der Liste funktioniert?

                      ODer funktioniert bei dir alles? `
                      Hallo,

                      keine Ahnung, tut mir leid.

                      Bei mir laufen Sonos Favoriten, Amazon-Favoriten, etc.

                      Pix

                      1 Reply Last reply Reply Quote 0
                      • T
                        tempestas last edited by

                        Danke für deine Rückmeldung.

                        Seltsam, dann verstehe ich nicht, woran es liegt.

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

                          @tempestas:

                          Pix, du benutzt das Widget doch auch bei deiner Sonos Steuerung. Hast du eine Idee, warum immer nur Platz 1 der Liste funktioniert?

                          ODer funktioniert bei dir alles? `

                          bei mir funktioniert es wenn so, wenn kein Lehrzeichen nach dem Komma ist 😉

                          createState('sonos.favTexte', '', {

                          type: 'string',

                          def: ''

                          });

                          function formatList(list) {

                          list=list.replace(/ Einbruch/g,'');//Löscht Playlist Einbruch

                          list=list.replace(/ Car Alarm.mp3/g,'');//Löscht Playlist Alarm

                          setState('sonos.favTexte', list.replace(/, /g,';'));

                          }

                          var favList = getState("sonos.0.root.XXX_XXX_XXX_XXX.favorites_list"/favorites_list/).val;

                          formatList(favList); // Script start

                          // Änderung der Favoriten-Liste

                          on("sonos.0.root.XXX_XXX_XXX_XXX.favorites_list", function(dp) {

                          formatList(dp.state.val);

                          });

                          1 Reply Last reply Reply Quote 0
                          • T
                            tempestas last edited by

                            ich danke dir.

                            Das war es. Ich musste aus diesem Code Teil:

                            list.replace(/,/g, ';')
                            
                            

                            hinter dem zu ersetzenden Komma noch ein Leerzeichen einfügen, so dass nun kein Leerzeichen mehr enthalten ist, da ersetzt. Nun funktioniert es wunderbar.

                            Vielen Dank für den entscheidenen Hinweis

                            1 Reply Last reply Reply Quote 0
                            • AlCalzone
                              AlCalzone Developer last edited by

                              Für so einfache Ersetzungen wie ", " => ";" braucht man keine regulären Ausdrücke (/…./), die nämlich wieder andere Schwierigkeiten mit sich bringen können.

                              list.replace(", ", ";")
                              

                              tuts auch.

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

                              Support us

                              ioBroker
                              Community Adapters
                              Donate

                              876
                              Online

                              31.9k
                              Users

                              80.1k
                              Topics

                              1.3m
                              Posts

                              7
                              22
                              5363
                              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