Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Visualisierung
    4. View / Skripte Verständnisfrage

    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

    View / Skripte Verständnisfrage

    This topic has been deleted. Only users with topic management privileges can see it.
    • smarthome-tricks.de
      smarthome-tricks.de last edited by

      Hallo und guten Morgen,

      ich bin gerade dabei weiter an unserer Haussteuerung zu experimentieren. Dabei beschäftige ich mich gerade wieder mit VIS und Skripten. Wenn ich in einer View stehe, sehe ich ja auch die Skripte-Lasche, welche bei mir derzeit noch leer ist. Ich würde hier gerne ein View Widget (String) über eine JavaScript Funktion füllen.

      $(document).ready(function(){
          // Ich möchte das Widget mit der ID w00014 variabel über ein Skript füllen lassen.
          document.getElementByID("w00014").innerHTML = 'Test';
      });
      
      

      Leider macht er das nicht. Im Forum habe ich bis jetzt nichts passendes gefunden, evtl. bin ich auch auf dem Holzweg…

      Vielen Dank und viele Grüße,

      Matthias

      1 Reply Last reply Reply Quote 0
      • smarthome-tricks.de
        smarthome-tricks.de last edited by

        Hallo,

        hat keiner eine Idee dazu, oder ist die Frage nicht klar genug formuliert? 😉

        Grüße,

        Matthias

        1 Reply Last reply Reply Quote 0
        • A
          abn0rm last edited by

          Hi Matthias,

          du kannst einem String-Widget doch auch recht entspannt eine Klasse im VIS zuweisen.

          Anschließend die Befüllung über den Klassenselektor vornehmen.

          
          $(document).ready(function() {      
                  $('.KLASSENNAME').html('hier kommt dein html rein');
                  ODER
                  $('.KLASSENNAME').text('hier kommt dein text rein');
          });
          
          

          Woran scheiterst du?

          1 Reply Last reply Reply Quote 0
          • smarthome-tricks.de
            smarthome-tricks.de last edited by

            Hallo,

            danke für Deine Antwort. Genau das funktioniert bei mir so leider nicht.

            Ich habe zunächst folgende, leere CSS Klasse im Bereich Projekt definiert:

            .myclass {
            }
            
            

            Dann habe ich in den Einstellungen des Text-Widget unter CSS-Klasse "myclass" eingetragen.

            In den Scripts der View habe ich folgenden Code zum Initialisieren des Widgets gepackt:

            $(document).ready(function() {      
                    $('.myclass').text('Test-Text aus dem Script);
            });
            
            

            Leider passiert aber nix, das Widget bleibt leer.

            1 Reply Last reply Reply Quote 0
            • smarthome-tricks.de
              smarthome-tricks.de last edited by

              Hallo,

              ich habe gestern Abend nochmals recherchiert und verschiedene Dinge ausprobiert.

              Dabei habe ich zunächst überprüft, ob der Event überhaupt ausgeführt wird.

              $(document).ready(function() {      
                     alert("ready");
              }
              
              

              Die Alert Ausgabe bekomme ich beim Laden der View. Soweit so gut.

              Dann habe mit verschiedenen Methoden (DOM, jQuery) versucht an das Widget Objekt zu kommen, hier komme ich aber nach wie vor nicht weiter.

              Zunächst habe ich versucht über jQuery mit dem Selector über die Id an das Objekt zu kommen, ohne Erfolg.
              > var myDivElement = $( "#w00001" );

              Dann über die entsprechende CSS Klasse wie von abn0rm beschrieben, ohne Erfolg.

              Zu guter letzt noch über getElementById(…), auch ohne Erfolg.

              Nach nochmaliger Google und Forensuche bin auf folgenden Top gestoßen:

              viewtopic.php?f=21&t=12306&p=130185&hil … ID#p130185

              Folgender Satz würde das Verhalten erklären:
              > Der Code wäre korrekt, wenn er denn auf dem Client, also im Browser ausgeführt werden würde. Wird er aber nicht. Er wird auf dem Server ausgeführt - und dort kann er nicht funktionieren, weil es keinen Browser, keine DOM Objekte gibt.

              Von daher nochmals die Verständnisfrage ob ich überhaupt die Widgets über das Script z.B. raedy() event verändern kann.

              Viele Grüße und vielen Dank für eure Hilfe,

              Matthias

              1 Reply Last reply Reply Quote 0
              • smarthome-tricks.de
                smarthome-tricks.de last edited by

                Hallo,

                push…

                Hat keiner mehr ne Idee 😞

                1 Reply Last reply Reply Quote 0
                • arteck
                  arteck Developer Most Active last edited by

                  was willst du da reinfüllen.. gehts nur um den Text ?? oder was hast du vor??,

                  normalerweise kannst du ein Objekt anlegen und im Widget mit als Beispiel {javascript.0.mein.objekt} mit Werten füllen

                  da brauchst du die css nicht für

                  1 Reply Last reply Reply Quote 0
                  • smarthome-tricks.de
                    smarthome-tricks.de last edited by

                    Hallo,

                    nee, ich wollte zum Test einen statischen Wert reinschreiben, und später das Ergebnis einer JavaScript Funktion (Datumsermittlung).

                    Daher habe ich damit experimentiert 🙂

                    Viele Grüße,

                    Matthias

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

                      @kortos:

                      …das Ergebnis einer JavaScript Funktion (Datumsermittlung). `
                      Hallo,

                      Kannst du „Datumsermittlung“ mal präzisieren? Wir geben uns hier alle Mühe, irgendwelche Skripte und Funktionen im JavaScript Adapter zu konstruieren und damit den Client schlank zu halten.

                      Was hast du vor?

                      Pix

                      1 Reply Last reply Reply Quote 0
                      • smarthome-tricks.de
                        smarthome-tricks.de last edited by

                        Hallo,

                        klar, ich wollte z.B. Astrozeiten (also wann beginnt dusk, uws.) auf der View im Script berechnen und ausgeben (für mich zum Verständnis).

                        Mittlerweile ermittle ich das Ganze auch per Skript und schiebe die Werte dann in eine Variable und binde diese an die View. Mir war nur bis jetzt nicht klar, für was ich diese Scripts Lasche auf der View wirklich einsetzen könnte. Evtl. war das auch nur ein falscher Ansatz, für mich war nicht klar, was ich auf dieser Lasche sinnvoll ausführen/anstellen kann.

                        Das Argument mit dem schlanken Client ist natürlich absolut korrekt, aus dieser Sichtweise sollte ich hier keine Scripts ausführen.

                        Danke für Deine Info 🙂

                        Grüße,

                        Matthias

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

                        Support us

                        ioBroker
                        Community Adapters
                        Donate

                        666
                        Online

                        31.9k
                        Users

                        80.1k
                        Topics

                        1.3m
                        Posts

                        4
                        10
                        1190
                        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