Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Skripten / Logik
    4. JavaScript
    5. ViS: [erledigt]script über html widget oder script in dp

    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

    ViS: [erledigt]script über html widget oder script in dp

    This topic has been deleted. Only users with topic management privileges can see it.
    • liv-in-sky
      liv-in-sky last edited by liv-in-sky

      um den widgetnamen auszulesen, gebe ich folgendes in ein html widget ein:

      <script>
          console.log(`WIDGET NAME--------------- {wid}`);
          
      var aa=`{wid}`;
           console.log("WIDGET NAME---------------"+aa);
      </script>
      
      

      das funktioniert

      wenn ich nun einen html code in einen javascript im javascript-tab des admin mache und diesen in einen datenpunkt speichere, finde ich keinen weg, wie ich diese variable nutzen kann bzw auslesen

      hier ein beispieldes scriptes - zeile 3:

       let myzufall=Math.floor(Math.random() * (100000 - 100 + 1)) + 100;  
       
      const buttonScript =   `<script>`+" var aaaaa=`{wid}`; console.log(\"widgeeet: \"+aaaaa);" + ` 
                            function deleteMyItem${myzufall}(myval) {console.log(myval); vis.setValue(\"javascript.${instance}.Tabellen@Liv.${dpVIS}.toDelete\",myval)};
                            function addTheMyItem${myzufall}() { var strr = $('#myInput${myzufall}${dpVIS}').val(); console.log(strr); vis.setValue(\"javascript.${instance}.Tabellen@Liv.${dpVIS}.toAdd\",strr)      };
                            $('#myBtnt${dpVIS}').click(function(){console.log("eee");var str = $("#myInput${myzufall}${dpVIS}").val(); vis.setValue(\"javascript.${instance}.Tabellen@Liv.${dpVIS}.toAdd\",str) ;console(str)     });
                            $('#myInput${myzufall}${dpVIS}').keypress(function(event){
                            var keycode = (event.keyCode ? event.keyCode : event.which);
                            if(keycode == '13'){ console.log("über enter eingegeben"); 
                            var str = $("#myInput${myzufall}${dpVIS}").val(); vis.setValue("javascript.0.Tabellen@Liv.MeineToDoListe.toAdd",str); console.log(str);
                            }
                            });
                             function setOnOtherValuesA${myzufall}(myval) {	var Self = this;	Self.servConn.getStates(myval, (error, states) => {  console.log(states); self.servConn.setState(myval, !states[myval].val);}  )} 
                            </script>`
                           
       
       
      //NICHTS ÄNDERN - abhängig von den oben definierten _Spalten - in diesem Beispiel sind es 3
      let htmlTabUeber2=""
       for (let ue=0;ue<htmlSpalte1Weite.length;ue++) { if (!schalterInSpaltenUeberschrift[ue] ) { 
                                                           htmlTabUeber2=htmlTabUeber2.concat("<td wi ..........................
      

      die const buttonscript wird weiter unten angehängt und letztlich wird das ganze in einen datenpunkt geschrieben - in der vis ist dann das script in einem html widget mit binding auf den datenpunkt angelegt. leider steht dann in der variablen aaaaa in der runtime {wid} und nicht w00371, was ich eigentlich suche/brauche

      hat jmd eine idee - habe schon x-verschiedene schreibweisen getestet!

      1 Reply Last reply Reply Quote 0
      • liv-in-sky
        liv-in-sky last edited by

        hat sich erledigt

        BananaJoe 1 Reply Last reply Reply Quote 0
        • BananaJoe
          BananaJoe Most Active @liv-in-sky last edited by

          @liv-in-sky Weil du eine Lösung gefunden hast oder weil du es anderes gelöst hast? Du weist ja, ich lese bei dir immer gerne mit weil ich das oft an anderer Stelle gebrauchen kann.

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

            @bananajoe

            die lösung läuft über jquery - die habe ich gefunden - leider hat es mein eigentliches problem nicht gelöst

            damit kann man den widgetnamen finden - wenn der code im dp steht

            zeile 5 ist die interessante (das ist ein test-html)

            WIDGETNAME-von DP
            <div id="myvallie1"/>WIDGETNAME-von DP
            <div id="myvallie12">`{wid}`</div>
            <script>
            console.log(`WIDGET NAME-------dp-------- `+$('.vis-widget-body').parent().attr('id')); 
            console.log("versuch 1 "+$('.vis-widget-body').parent().attr('id')); 
            var assa=$('.vis-widget-body').parent().attr('id'); 
            console.log("WIDGET NAME------mit var in dp---------"+assa); document.getElementById('myvallie1').innerHTML=assa; $('#myvallie12').html($('.vis-widget-body').parent().attr('id') + "mit jquery ohne timeout");
            setTimeout(function () { console.log($('.vis-widget-body').parent().attr('id') + ' mit jquery'); $('#myvallie12').html($('.vis-widget-body').parent().attr('id') + "mit jquery");}, 5000);
            </script>
            
            

            in der vis::
            Image 026.png

            1 Reply Last reply Reply Quote 0
            • liv-in-sky
              liv-in-sky @BananaJoe last edited by liv-in-sky

              @bananajoe

              mit dem {wid} hat man dann ein binding (von {wid}) im binding (den dp im html widget)

              geht ja nicht 😞 daher mit jquery

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

              Support us

              ioBroker
              Community Adapters
              Donate

              808
              Online

              31.8k
              Users

              80.0k
              Topics

              1.3m
              Posts

              2
              5
              327
              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