Skip to content
  • Home
  • Aktuell
  • Tags
  • 0 Ungelesen 0
  • Kategorien
  • Unreplied
  • Beliebt
  • GitHub
  • Docu
  • Hilfe
Skins
  • Light
  • Brite
  • Cerulean
  • Cosmo
  • Flatly
  • Journal
  • Litera
  • Lumen
  • Lux
  • Materia
  • Minty
  • Morph
  • Pulse
  • Sandstone
  • Simplex
  • Sketchy
  • Spacelab
  • United
  • Yeti
  • Zephyr
  • Dark
  • Cyborg
  • Darkly
  • Quartz
  • Slate
  • Solar
  • Superhero
  • Vapor

  • Standard: (Kein Skin)
  • Kein Skin
Einklappen
ioBroker Logo

Community Forum

donate donate
  1. ioBroker Community Home
  2. Deutsch
  3. Visualisierung
  4. Javascript in VIS ausführen

NEWS

  • Jahresrückblick 2025 – unser neuer Blogbeitrag ist online! ✨
    BluefoxB
    Bluefox
    14
    1
    174

  • Neuer Blogbeitrag: Monatsrückblick - Dezember 2025 🎄
    BluefoxB
    Bluefox
    12
    1
    571

  • Weihnachtsangebot 2025! 🎄
    BluefoxB
    Bluefox
    24
    1
    1.8k

Javascript in VIS ausführen

Geplant Angeheftet Gesperrt Verschoben Visualisierung
30 Beiträge 7 Kommentatoren 2.3k Aufrufe 5 Watching
  • Älteste zuerst
  • Neuste zuerst
  • Meiste Stimmen
Antworten
  • In einem neuen Thema antworten
Anmelden zum Antworten
Dieses Thema wurde gelöscht. Nur Nutzer mit entsprechenden Rechten können es sehen.
  • liv-in-skyL liv-in-sky

    @cokie0088

    zum einem fehlt ein anführungszeichen hinter temperatur

    zum anderen

    der name des widgets zählt hier nicht - .temperatur müßte eine class sein - punkt ist class, # ist id !!!

    ein widget beispiel wäre:

     $('#w00432').click(function () { 
           alert("dd");
    });
    

    glaube nicht, dass du mit .temperatur automatisch den value ansprichst

    du mußt über die chrome entwicklertools rausfinden, wie genau du das ansprechen kannst

    beispiel:

    Image 030.png

    in diesem fall wäre die "4" ein .text und die class .vis-widget-body - falls das jedoch öfter auf der seite vorkommt, bekommst du ein array zurück. du musst also dem widget noch eine class (.uuuuu) und nicht einen namen geben - dann solltest du den wert finden können

    Image 032.png

    das alles ist eher kompliziert - du kannst die farben viiiel einfacher mit einem binding ändern welches du hier einsetzt:

    Image 031.png

    beispiel für ein binding:

    {val:alias.0.Allgemein.Aussentemperatur.Temperatur; val>=23 && val<29? "#D47DD7": val>=29? "red": "#0edd32"}
    
    C Offline
    C Offline
    Cokie0088
    schrieb am zuletzt editiert von
    #4

    @liv-in-sky said in Javascript in VIS ausführen:

    @cokie0088

    zum einem fehlt ein anführungszeichen hinter temperatur

    zum anderen

    der name des widgets zählt hier nicht - .temperatur müßte eine class sein - punkt ist class, # ist id !!!

    ein widget beispiel wäre:

     $('#w00432').click(function () { 
           alert("dd");
    });
    

    glaube nicht, dass du mit .temperatur automatisch den value ansprichst

    du mußt über die chrome entwicklertools rausfinden, wie genau du das ansprechen kannst

    beispiel:

    Image 030.png

    in diesem fall wäre die "4" ein .text und die class .vis-widget-body - falls das jedoch öfter auf der seite vorkommt, bekommst du ein array zurück. du musst also dem widget noch eine class (.uuuuu) und nicht einen namen geben - dann solltest du den wert finden können

    Image 032.png

    das alles ist eher kompliziert - du kannst die farben viiiel einfacher mit einem binding ändern welches du hier einsetzt:

    Image 031.png

    beispiel für ein binding:

    {val:alias.0.Allgemein.Aussentemperatur.Temperatur; val>=23 && val<29? "#D47DD7": val>=29? "red": "#0edd32"}
    

    Hallo,

    sorry für die späte Rückmeldung.
    Das Binding ist ein feine Sache, hat aber 2 Baustellen warum ich die Bindings dafür nicht benutzen möchte.

    1. Binding macht alles etwas langsamer wenn man viel davon benutzt
    2. für den einsatzzweck denn ich vorhabe würde ich JS script und GUI Code vermischen, das Wiederstrebt mir innerlich etwas.

    Mein vorhaben ist relativ simpel.
    Ich möchte eine Temparatur anzeigen lassen, wobei sich die Schriftfarbe je nach Temparatur anpasst, heißt ist es 0 Grad soll die Farbe ins Blaue gehen ist es +40 Grad soll die Schrift "rot" sein. Da ich aber nicht einfach stumpf per if else das ganze machen möchte so mal ich bei 50 Temparaturwerten das auch nicht für eine gängige Lösung halte, Möchte ich das ganze per Berechnung der Farbwerte machen. Der Script wie gesagt funktioniert auch bei Klassichen HTML & JS. Aber leider eben nicht in VIS. Ich habe in dem Script auch ein entsprechendes Warten eingebaut, damit die Element fertig geladen sind bevor ich das eigentliche Script ausführe.

    liv-in-skyL OliverIOO 2 Antworten Letzte Antwort
    0
    • C Cokie0088

      @liv-in-sky said in Javascript in VIS ausführen:

      @cokie0088

      zum einem fehlt ein anführungszeichen hinter temperatur

      zum anderen

      der name des widgets zählt hier nicht - .temperatur müßte eine class sein - punkt ist class, # ist id !!!

      ein widget beispiel wäre:

       $('#w00432').click(function () { 
             alert("dd");
      });
      

      glaube nicht, dass du mit .temperatur automatisch den value ansprichst

      du mußt über die chrome entwicklertools rausfinden, wie genau du das ansprechen kannst

      beispiel:

      Image 030.png

      in diesem fall wäre die "4" ein .text und die class .vis-widget-body - falls das jedoch öfter auf der seite vorkommt, bekommst du ein array zurück. du musst also dem widget noch eine class (.uuuuu) und nicht einen namen geben - dann solltest du den wert finden können

      Image 032.png

      das alles ist eher kompliziert - du kannst die farben viiiel einfacher mit einem binding ändern welches du hier einsetzt:

      Image 031.png

      beispiel für ein binding:

      {val:alias.0.Allgemein.Aussentemperatur.Temperatur; val>=23 && val<29? "#D47DD7": val>=29? "red": "#0edd32"}
      

      Hallo,

      sorry für die späte Rückmeldung.
      Das Binding ist ein feine Sache, hat aber 2 Baustellen warum ich die Bindings dafür nicht benutzen möchte.

      1. Binding macht alles etwas langsamer wenn man viel davon benutzt
      2. für den einsatzzweck denn ich vorhabe würde ich JS script und GUI Code vermischen, das Wiederstrebt mir innerlich etwas.

      Mein vorhaben ist relativ simpel.
      Ich möchte eine Temparatur anzeigen lassen, wobei sich die Schriftfarbe je nach Temparatur anpasst, heißt ist es 0 Grad soll die Farbe ins Blaue gehen ist es +40 Grad soll die Schrift "rot" sein. Da ich aber nicht einfach stumpf per if else das ganze machen möchte so mal ich bei 50 Temparaturwerten das auch nicht für eine gängige Lösung halte, Möchte ich das ganze per Berechnung der Farbwerte machen. Der Script wie gesagt funktioniert auch bei Klassichen HTML & JS. Aber leider eben nicht in VIS. Ich habe in dem Script auch ein entsprechendes Warten eingebaut, damit die Element fertig geladen sind bevor ich das eigentliche Script ausführe.

      liv-in-skyL Offline
      liv-in-skyL Offline
      liv-in-sky
      schrieb am zuletzt editiert von
      #5

      @cokie0088

      ist etwas schwer dir zu helfen - wie sieht das funktionierende script aus ? und was auch nicht klar ist : wie werden die daten angezeigt (50?) wo kommen die her und welches widget macht die anzeige ?

      ist das eine tabelle ? oder sind das 50 widgets ?

      bei 50 werten, die jeweils eine eigene farbe (je nach wert) haben sollen, st der aufbau der anzeige schon interessant

      nach einem gelösten Thread wäre es sinnvoll dies in der Überschrift des ersten Posts einzutragen [gelöst]-... Bitte benutzt das Voting rechts unten im Beitrag wenn er euch geholfen hat. Forum-Tools: PicPick https://picpick.app/en/download/ und ScreenToGif https://www.screentogif.com/downloads.html

      1 Antwort Letzte Antwort
      0
      • C Cokie0088

        @liv-in-sky said in Javascript in VIS ausführen:

        @cokie0088

        zum einem fehlt ein anführungszeichen hinter temperatur

        zum anderen

        der name des widgets zählt hier nicht - .temperatur müßte eine class sein - punkt ist class, # ist id !!!

        ein widget beispiel wäre:

         $('#w00432').click(function () { 
               alert("dd");
        });
        

        glaube nicht, dass du mit .temperatur automatisch den value ansprichst

        du mußt über die chrome entwicklertools rausfinden, wie genau du das ansprechen kannst

        beispiel:

        Image 030.png

        in diesem fall wäre die "4" ein .text und die class .vis-widget-body - falls das jedoch öfter auf der seite vorkommt, bekommst du ein array zurück. du musst also dem widget noch eine class (.uuuuu) und nicht einen namen geben - dann solltest du den wert finden können

        Image 032.png

        das alles ist eher kompliziert - du kannst die farben viiiel einfacher mit einem binding ändern welches du hier einsetzt:

        Image 031.png

        beispiel für ein binding:

        {val:alias.0.Allgemein.Aussentemperatur.Temperatur; val>=23 && val<29? "#D47DD7": val>=29? "red": "#0edd32"}
        

        Hallo,

        sorry für die späte Rückmeldung.
        Das Binding ist ein feine Sache, hat aber 2 Baustellen warum ich die Bindings dafür nicht benutzen möchte.

        1. Binding macht alles etwas langsamer wenn man viel davon benutzt
        2. für den einsatzzweck denn ich vorhabe würde ich JS script und GUI Code vermischen, das Wiederstrebt mir innerlich etwas.

        Mein vorhaben ist relativ simpel.
        Ich möchte eine Temparatur anzeigen lassen, wobei sich die Schriftfarbe je nach Temparatur anpasst, heißt ist es 0 Grad soll die Farbe ins Blaue gehen ist es +40 Grad soll die Schrift "rot" sein. Da ich aber nicht einfach stumpf per if else das ganze machen möchte so mal ich bei 50 Temparaturwerten das auch nicht für eine gängige Lösung halte, Möchte ich das ganze per Berechnung der Farbwerte machen. Der Script wie gesagt funktioniert auch bei Klassichen HTML & JS. Aber leider eben nicht in VIS. Ich habe in dem Script auch ein entsprechendes Warten eingebaut, damit die Element fertig geladen sind bevor ich das eigentliche Script ausführe.

        OliverIOO Offline
        OliverIOO Offline
        OliverIO
        schrieb am zuletzt editiert von OliverIO
        #6

        @cokie0088

        Ich sehe, dass du nicht verstanden hast, was ich geschrieben habe
        Für dein Anliegen ist binding die Lösung.
        Alles andere ist um einiges aufwändiger, da du dich mit der inneren Funktionsweise von vis auseinandersetzen musst. Das funktioniert nicht wie andere normale HTML Zeiten. Wie gesagt, Widgets werden dynamisch von vis generiert.

        Wenn du dich mit der Developer Konsole deines Browser auskennst,
        Kannst du gerne mal das Statement

        debugger;
        

        in deinem Java Skript platzieren und schauen, wann es genau ausgeführt wird.
        Denn es wird ausgeführt wird, nur nicht unbedingt zu dem Zeitpunkt, den du benötigst.

        Meine Adapter und Widgets
        TVProgram, SqueezeboxRPC, OpenLiga, RSSFeed, MyTime,, pi-hole2, vis-json-template, skiinfo, vis-mapwidgets, vis-2-widgets-rssfeed
        Links im Profil

        M 1 Antwort Letzte Antwort
        0
        • OliverIOO OliverIO

          @cokie0088

          Ich sehe, dass du nicht verstanden hast, was ich geschrieben habe
          Für dein Anliegen ist binding die Lösung.
          Alles andere ist um einiges aufwändiger, da du dich mit der inneren Funktionsweise von vis auseinandersetzen musst. Das funktioniert nicht wie andere normale HTML Zeiten. Wie gesagt, Widgets werden dynamisch von vis generiert.

          Wenn du dich mit der Developer Konsole deines Browser auskennst,
          Kannst du gerne mal das Statement

          debugger;
          

          in deinem Java Skript platzieren und schauen, wann es genau ausgeführt wird.
          Denn es wird ausgeführt wird, nur nicht unbedingt zu dem Zeitpunkt, den du benötigst.

          M Offline
          M Offline
          MarcIO
          schrieb am zuletzt editiert von
          #7

          @liv-in-sky @OliverIO
          Servus zusammen,
          ich habe ein recht ähnliches Problem und könnte mal evtl. weitere Augen gebrauchen zum Checken. Bei mir liegt der alleinige Unterschied darin, dass ich die Farbausgabe mit 3 Werten berechnen müsste. Mit einzelnen Variablen funktioniert alles einwandfrei. Seht ihr denn hier den Fehler?

          {val1:path_1; val2:path_2; val3:path_3;
          val1<=8 && val2<=23 && val3<=42 ? "lightgreen" : val1<=8.5 || val2<=24 || val3<=43 ? "yellow" : val1>8.5 || val2>24 || val3=43 ? "#ff6633" : "#ff6633"}
          

          Ich danke schonmal für die Unterstützung!

          liv-in-skyL OliverIOO 2 Antworten Letzte Antwort
          0
          • M MarcIO

            @liv-in-sky @OliverIO
            Servus zusammen,
            ich habe ein recht ähnliches Problem und könnte mal evtl. weitere Augen gebrauchen zum Checken. Bei mir liegt der alleinige Unterschied darin, dass ich die Farbausgabe mit 3 Werten berechnen müsste. Mit einzelnen Variablen funktioniert alles einwandfrei. Seht ihr denn hier den Fehler?

            {val1:path_1; val2:path_2; val3:path_3;
            val1<=8 && val2<=23 && val3<=42 ? "lightgreen" : val1<=8.5 || val2<=24 || val3<=43 ? "yellow" : val1>8.5 || val2>24 || val3=43 ? "#ff6633" : "#ff6633"}
            

            Ich danke schonmal für die Unterstützung!

            liv-in-skyL Offline
            liv-in-skyL Offline
            liv-in-sky
            schrieb am zuletzt editiert von
            #8

            @marcio

            wenn du (letzte abfrage)
            val3==43
            nimmst ?

            gehts dann

            nach einem gelösten Thread wäre es sinnvoll dies in der Überschrift des ersten Posts einzutragen [gelöst]-... Bitte benutzt das Voting rechts unten im Beitrag wenn er euch geholfen hat. Forum-Tools: PicPick https://picpick.app/en/download/ und ScreenToGif https://www.screentogif.com/downloads.html

            M 1 Antwort Letzte Antwort
            0
            • liv-in-skyL liv-in-sky

              @marcio

              wenn du (letzte abfrage)
              val3==43
              nimmst ?

              gehts dann

              M Offline
              M Offline
              MarcIO
              schrieb am zuletzt editiert von MarcIO
              #9

              @liv-in-sky
              Das war's leider nicht. Es sollte ein ">" sein, aber danke dafür.
              Sonst irgendwelche Auffälligkeiten?

              Zuvor sah es eben mit einem einzelnen Wert so aus:

              {val:path;
              val<=8 ? "lightgreen" : val<=8.5 ? "yellow" : val>8.5 ? "#ff6633" : "#ff6633"}
              

              und da hat alles gepasst. Die weiteren Werte werden eben deklariert und nur mit logischen Verknüpfungen verglichen. Wüsste nicht, was das für Probleme machen sollte.

              Mein Ziel ist es grün für alles im 1. Bereich, sobald ein Wert allerdings überschreitet soll rot oder gelb (je nach Wert) angezeigt werden.

              liv-in-skyL OliverIOO 2 Antworten Letzte Antwort
              0
              • M MarcIO

                @liv-in-sky
                Das war's leider nicht. Es sollte ein ">" sein, aber danke dafür.
                Sonst irgendwelche Auffälligkeiten?

                Zuvor sah es eben mit einem einzelnen Wert so aus:

                {val:path;
                val<=8 ? "lightgreen" : val<=8.5 ? "yellow" : val>8.5 ? "#ff6633" : "#ff6633"}
                

                und da hat alles gepasst. Die weiteren Werte werden eben deklariert und nur mit logischen Verknüpfungen verglichen. Wüsste nicht, was das für Probleme machen sollte.

                Mein Ziel ist es grün für alles im 1. Bereich, sobald ein Wert allerdings überschreitet soll rot oder gelb (je nach Wert) angezeigt werden.

                liv-in-skyL Offline
                liv-in-skyL Offline
                liv-in-sky
                schrieb am zuletzt editiert von
                #10

                @marcio

                öffne mal die seite mit chrome - dann unter entwicklertools unter dem tab console einen refresh der seite machen und das log zeigen

                nach einem gelösten Thread wäre es sinnvoll dies in der Überschrift des ersten Posts einzutragen [gelöst]-... Bitte benutzt das Voting rechts unten im Beitrag wenn er euch geholfen hat. Forum-Tools: PicPick https://picpick.app/en/download/ und ScreenToGif https://www.screentogif.com/downloads.html

                1 Antwort Letzte Antwort
                0
                • M MarcIO

                  @liv-in-sky @OliverIO
                  Servus zusammen,
                  ich habe ein recht ähnliches Problem und könnte mal evtl. weitere Augen gebrauchen zum Checken. Bei mir liegt der alleinige Unterschied darin, dass ich die Farbausgabe mit 3 Werten berechnen müsste. Mit einzelnen Variablen funktioniert alles einwandfrei. Seht ihr denn hier den Fehler?

                  {val1:path_1; val2:path_2; val3:path_3;
                  val1<=8 && val2<=23 && val3<=42 ? "lightgreen" : val1<=8.5 || val2<=24 || val3<=43 ? "yellow" : val1>8.5 || val2>24 || val3=43 ? "#ff6633" : "#ff6633"}
                  

                  Ich danke schonmal für die Unterstützung!

                  OliverIOO Offline
                  OliverIOO Offline
                  OliverIO
                  schrieb am zuletzt editiert von
                  #11

                  @marcio sagte in Javascript in VIS ausführen:

                  3 Werten berechnen

                  hm, das könnte aber etwas aufwändig werden.
                  allein wenn jeder wert nur wahr oder falsch einnehmen kann, hast du schon 6 kombinationen.
                  wenn jeder wert aber noch mit mehreren möglichkeiten an brandbreiten auf der zahlenreihe hat, dann explodieren die kombinationen.

                  wenn man sich quälen möchte, dann bekommt man das schon hin, aber richtig les- und wartbar ist das nicht.

                  evtl beschreibst du uns was das für werte sind und was du da genau darstellen möchtest. evtl gibt es eine andere/einfachere lösung.
                  alternativ kannst du selbst mal eine logiktabelle erstellen, bei der du für jeden wert alle alternativen aufschreibst und das in einer tabelle durchkombinierst. da wirst du schon sehen, das du das nicht willst. :) bzw. wir das in eine javascript funktion packen müssen, die dann im binding aufgerufen wird und das richtige ergebnis liefert.

                  Meine Adapter und Widgets
                  TVProgram, SqueezeboxRPC, OpenLiga, RSSFeed, MyTime,, pi-hole2, vis-json-template, skiinfo, vis-mapwidgets, vis-2-widgets-rssfeed
                  Links im Profil

                  1 Antwort Letzte Antwort
                  0
                  • M MarcIO

                    @liv-in-sky
                    Das war's leider nicht. Es sollte ein ">" sein, aber danke dafür.
                    Sonst irgendwelche Auffälligkeiten?

                    Zuvor sah es eben mit einem einzelnen Wert so aus:

                    {val:path;
                    val<=8 ? "lightgreen" : val<=8.5 ? "yellow" : val>8.5 ? "#ff6633" : "#ff6633"}
                    

                    und da hat alles gepasst. Die weiteren Werte werden eben deklariert und nur mit logischen Verknüpfungen verglichen. Wüsste nicht, was das für Probleme machen sollte.

                    Mein Ziel ist es grün für alles im 1. Bereich, sobald ein Wert allerdings überschreitet soll rot oder gelb (je nach Wert) angezeigt werden.

                    OliverIOO Offline
                    OliverIOO Offline
                    OliverIO
                    schrieb am zuletzt editiert von
                    #12

                    @marcio sagte in Javascript in VIS ausführen:

                    {val:path; val<=8 ? "lightgreen" : val<=8.5 ? "yellow" : val>8.5 ? "#ff6633" : "#ff6633"}

                    zu diesem ausdruck evtl noch hinweise, die dir helfen können:

                    • oft kommen die werte nicht als nummerische werte an, sondern als string. daher muss man den wert jeweils noch in ein parseFloat(val) packen.
                    • bei der letzten prüfung mit >8.5 hast du jeweils die gleichen farben stehen. wenn das so ist, kann man es auch weglassen und direkt die farbei eintragen
                    {val:path;                                                                                                                                                                            parseFloat(val)<=8 ? "lightgreen" : parseFloat(val)<=8.5 ? "yellow" : "#ff6633" }
                    

                    Meine Adapter und Widgets
                    TVProgram, SqueezeboxRPC, OpenLiga, RSSFeed, MyTime,, pi-hole2, vis-json-template, skiinfo, vis-mapwidgets, vis-2-widgets-rssfeed
                    Links im Profil

                    1 Antwort Letzte Antwort
                    0
                    • M Offline
                      M Offline
                      MarcIO
                      schrieb am zuletzt editiert von MarcIO
                      #13

                      @liv-in-sky @OliverIO
                      Vielen Dank für die Rückmeldungen!

                      Also ich habe gestern noch etwas umgestellt und es hat tatsächlich so funktioniert:

                      {val1:0_userdata.0.Garage.Motor1_Friction; val2:0_userdata.0.Garage.Motor1_Impact; val3:0_userdata.0.Garage.Motor1_Temperature; val1<=8 && val2<=23 && val3<=42 ? "lightgreen" : val1>8.5 || val2>24 || val3>43 ? "#ff6633" : "yellow"}
                      

                      Weiß natürlich nicht warum es auf dieser Variante funktioniert hat, aber das nehm ich nun so an.

                      @OliverIO Meinst du es gibt eine effizientere Lösung? Mir ist natürlich klar, dass durch so viele Einsätze von Variablen es immer wieder zu Verzögerungen kommt. Vor allem steht in der Planung diese Auswertung für andere Motoren noch auszuweiten.

                      Ich möchte eben gerne alle Werte in einer Übersicht im Blick haben.

                      OliverIOO 1 Antwort Letzte Antwort
                      0
                      • M MarcIO

                        @liv-in-sky @OliverIO
                        Vielen Dank für die Rückmeldungen!

                        Also ich habe gestern noch etwas umgestellt und es hat tatsächlich so funktioniert:

                        {val1:0_userdata.0.Garage.Motor1_Friction; val2:0_userdata.0.Garage.Motor1_Impact; val3:0_userdata.0.Garage.Motor1_Temperature; val1<=8 && val2<=23 && val3<=42 ? "lightgreen" : val1>8.5 || val2>24 || val3>43 ? "#ff6633" : "yellow"}
                        

                        Weiß natürlich nicht warum es auf dieser Variante funktioniert hat, aber das nehm ich nun so an.

                        @OliverIO Meinst du es gibt eine effizientere Lösung? Mir ist natürlich klar, dass durch so viele Einsätze von Variablen es immer wieder zu Verzögerungen kommt. Vor allem steht in der Planung diese Auswertung für andere Motoren noch auszuweiten.

                        Ich möchte eben gerne alle Werte in einer Übersicht im Blick haben.

                        OliverIOO Offline
                        OliverIOO Offline
                        OliverIO
                        schrieb am zuletzt editiert von
                        #14

                        @marcio wenn es nur bei diesen drei Entscheidung fällen bleibt, ist es okay.
                        Als generelle Rückfallebene. Für alle Kombinationen, die du nicht prüfst, hast du ja Yellow.

                        Wenn du mehr Kombinationen hättest, dann wird dieser so genannte ternary Operator schnell unübersichtlich.
                        Dann ist es besser, eine klassische Java Skript Funktion zu schreiben, mit dem man alles mit if then else prüft und nur diese dann in das Binding einfügt

                        Meine Adapter und Widgets
                        TVProgram, SqueezeboxRPC, OpenLiga, RSSFeed, MyTime,, pi-hole2, vis-json-template, skiinfo, vis-mapwidgets, vis-2-widgets-rssfeed
                        Links im Profil

                        M 1 Antwort Letzte Antwort
                        0
                        • Ro75R Online
                          Ro75R Online
                          Ro75
                          schrieb am zuletzt editiert von Ro75
                          #15

                          Wenn ich Skripte in der VIS eintrage, dann wird das ganze später doch auch auf dem Rechner ausgeführt wo die VIS - Runtime läuft.

                          JS und Alias laufen auf dem Rechner wo der ioBroker läuft.

                          Also ich hatte in der Vergangenheit da so meine Probleme, was letztlich die Performance angeht - speziell wenn davon ggfs. mehrere existieren. Ich habe alles berechnende aus der VIS, zurück zu Alias und/oder JS gebracht, damit auf dem Computer wo die Runtime läuft so wenig wie möglich laufen muss, außer das was muss.

                          Ro75.

                          SERVER = Beelink U59 16GB DDR4 RAM 512GB SSD, FB 7490, FritzDect 200+301+440, ConBee II, Zigbee Aqara Sensoren + NOUS A1Z, NOUS A1T, Philips Hue ** ioBroker, REDIS, influxdb2, Grafana, PiHole, Plex-Mediaserver, paperless-ngx (Docker), MariaDB + phpmyadmin *** VIS-Runtime = Intel NUC 8GB RAM 128GB SSD + 24" Touchscreen

                          OliverIOO 1 Antwort Letzte Antwort
                          0
                          • Ro75R Ro75

                            Wenn ich Skripte in der VIS eintrage, dann wird das ganze später doch auch auf dem Rechner ausgeführt wo die VIS - Runtime läuft.

                            JS und Alias laufen auf dem Rechner wo der ioBroker läuft.

                            Also ich hatte in der Vergangenheit da so meine Probleme, was letztlich die Performance angeht - speziell wenn davon ggfs. mehrere existieren. Ich habe alles berechnende aus der VIS, zurück zu Alias und/oder JS gebracht, damit auf dem Computer wo die Runtime läuft so wenig wie möglich laufen muss, außer das was muss.

                            Ro75.

                            OliverIOO Offline
                            OliverIOO Offline
                            OliverIO
                            schrieb am zuletzt editiert von OliverIO
                            #16

                            @ro75

                            wenn du den javascript reiter im iobroker meinst, hast du recht. das wird auf dem server ausgeführt
                            ich spreche vom script-Reiter in vis, da kann man auch javascript reinschreiben und das wird auf dem client ausgeführt.

                            die bindings werden im hintergrund ebenfalls in javascript übersetzt und sind leider sehr unperformant

                            70ac96b0-7d59-460d-af90-e1d64b37498d-image.png

                            Meine Adapter und Widgets
                            TVProgram, SqueezeboxRPC, OpenLiga, RSSFeed, MyTime,, pi-hole2, vis-json-template, skiinfo, vis-mapwidgets, vis-2-widgets-rssfeed
                            Links im Profil

                            Ro75R MartinPM 2 Antworten Letzte Antwort
                            0
                            • OliverIOO OliverIO

                              @ro75

                              wenn du den javascript reiter im iobroker meinst, hast du recht. das wird auf dem server ausgeführt
                              ich spreche vom script-Reiter in vis, da kann man auch javascript reinschreiben und das wird auf dem client ausgeführt.

                              die bindings werden im hintergrund ebenfalls in javascript übersetzt und sind leider sehr unperformant

                              70ac96b0-7d59-460d-af90-e1d64b37498d-image.png

                              Ro75R Online
                              Ro75R Online
                              Ro75
                              schrieb am zuletzt editiert von
                              #17

                              @oliverio nein, ich meine genau diesen Reiter.

                              Ro75.

                              SERVER = Beelink U59 16GB DDR4 RAM 512GB SSD, FB 7490, FritzDect 200+301+440, ConBee II, Zigbee Aqara Sensoren + NOUS A1Z, NOUS A1T, Philips Hue ** ioBroker, REDIS, influxdb2, Grafana, PiHole, Plex-Mediaserver, paperless-ngx (Docker), MariaDB + phpmyadmin *** VIS-Runtime = Intel NUC 8GB RAM 128GB SSD + 24" Touchscreen

                              1 Antwort Letzte Antwort
                              0
                              • OliverIOO OliverIO

                                @ro75

                                wenn du den javascript reiter im iobroker meinst, hast du recht. das wird auf dem server ausgeführt
                                ich spreche vom script-Reiter in vis, da kann man auch javascript reinschreiben und das wird auf dem client ausgeführt.

                                die bindings werden im hintergrund ebenfalls in javascript übersetzt und sind leider sehr unperformant

                                70ac96b0-7d59-460d-af90-e1d64b37498d-image.png

                                MartinPM Online
                                MartinPM Online
                                MartinP
                                schrieb am zuletzt editiert von
                                #18

                                @oliverio meines Wissens ist das, was @Ro75 schreibt korrekt - javascript aus VIS wird jeweils im Browser ausgeführt, auf dem die VIS Seite dargestellt wird ... Das kann dann zum Teil schon "interessant" werden, wenn man irgendwelche steinalten abgelegten Tablets mit Android 4.4 zur Darstellung der VIS-Seiten nutzen will ...

                                Intel(R) Celeron(R) CPU N3000 @ 1.04GHz 8G RAM 480G SSD
                                Virtualization : unprivileged lxc container (debian 12 on Proxmox 8.4.14)
                                Linux pve 6.8.12-16-pve
                                6 GByte RAM für den Container
                                Fritzbox 6591 FW 8.03 (Vodafone Leih-Box)
                                Remote-Access über Wireguard der Fritzbox

                                OliverIOO 1 Antwort Letzte Antwort
                                0
                                • MartinPM MartinP

                                  @oliverio meines Wissens ist das, was @Ro75 schreibt korrekt - javascript aus VIS wird jeweils im Browser ausgeführt, auf dem die VIS Seite dargestellt wird ... Das kann dann zum Teil schon "interessant" werden, wenn man irgendwelche steinalten abgelegten Tablets mit Android 4.4 zur Darstellung der VIS-Seiten nutzen will ...

                                  OliverIOO Offline
                                  OliverIOO Offline
                                  OliverIO
                                  schrieb am zuletzt editiert von
                                  #19

                                  @martinp sagte in Javascript in VIS ausführen:

                                  meines Wissens ist das, was @Ro75 schreibt korrekt

                                  hab nix anderes geschrieben.

                                  die performance hängt aber nicht allein von der Anzahl an Bindings oder skripte im skripte tab zusammen.
                                  jedes einzelne widget ist ja ebenfalls per javascript definiert und führt zu mehr Belastung auf dem Rechner und irgendwann ist bei jedem Rechner schluss wo es noch Spaß macht

                                  Meine Adapter und Widgets
                                  TVProgram, SqueezeboxRPC, OpenLiga, RSSFeed, MyTime,, pi-hole2, vis-json-template, skiinfo, vis-mapwidgets, vis-2-widgets-rssfeed
                                  Links im Profil

                                  Ro75R 1 Antwort Letzte Antwort
                                  0
                                  • OliverIOO OliverIO

                                    @martinp sagte in Javascript in VIS ausführen:

                                    meines Wissens ist das, was @Ro75 schreibt korrekt

                                    hab nix anderes geschrieben.

                                    die performance hängt aber nicht allein von der Anzahl an Bindings oder skripte im skripte tab zusammen.
                                    jedes einzelne widget ist ja ebenfalls per javascript definiert und führt zu mehr Belastung auf dem Rechner und irgendwann ist bei jedem Rechner schluss wo es noch Spaß macht

                                    Ro75R Online
                                    Ro75R Online
                                    Ro75
                                    schrieb am zuletzt editiert von
                                    #20

                                    @oliverio du hast aber leider deinen Beitrag nachträglich geändert gehabt. Jetzt steht es etwas anders da, bezogen auf den letzten Satz. EDIT ohne Hinweis ist für alle Lesenden schlecht.

                                    Ro75.

                                    SERVER = Beelink U59 16GB DDR4 RAM 512GB SSD, FB 7490, FritzDect 200+301+440, ConBee II, Zigbee Aqara Sensoren + NOUS A1Z, NOUS A1T, Philips Hue ** ioBroker, REDIS, influxdb2, Grafana, PiHole, Plex-Mediaserver, paperless-ngx (Docker), MariaDB + phpmyadmin *** VIS-Runtime = Intel NUC 8GB RAM 128GB SSD + 24" Touchscreen

                                    OliverIOO 1 Antwort Letzte Antwort
                                    1
                                    • Ro75R Ro75

                                      @oliverio du hast aber leider deinen Beitrag nachträglich geändert gehabt. Jetzt steht es etwas anders da, bezogen auf den letzten Satz. EDIT ohne Hinweis ist für alle Lesenden schlecht.

                                      Ro75.

                                      OliverIOO Offline
                                      OliverIOO Offline
                                      OliverIO
                                      schrieb am zuletzt editiert von OliverIO
                                      #21

                                      @ro75
                                      ja korrekt.
                                      der edit erfolgte wenige sekunden nach dem ersten post.
                                      wenn ich korrektur lese, dann fällt mir meist noch was ein

                                      in der korrektur habe ich aber den sinn nicht verändert, sondern nur verdeutlicht.
                                      bspw skripte tab iobroker ergänzt mit wird auf dem server ausgeführt, und das selbe entsprechend mit dem client ergänzt

                                      Meine Adapter und Widgets
                                      TVProgram, SqueezeboxRPC, OpenLiga, RSSFeed, MyTime,, pi-hole2, vis-json-template, skiinfo, vis-mapwidgets, vis-2-widgets-rssfeed
                                      Links im Profil

                                      HomoranH 1 Antwort Letzte Antwort
                                      1
                                      • OliverIOO OliverIO

                                        @marcio wenn es nur bei diesen drei Entscheidung fällen bleibt, ist es okay.
                                        Als generelle Rückfallebene. Für alle Kombinationen, die du nicht prüfst, hast du ja Yellow.

                                        Wenn du mehr Kombinationen hättest, dann wird dieser so genannte ternary Operator schnell unübersichtlich.
                                        Dann ist es besser, eine klassische Java Skript Funktion zu schreiben, mit dem man alles mit if then else prüft und nur diese dann in das Binding einfügt

                                        M Offline
                                        M Offline
                                        MarcIO
                                        schrieb am zuletzt editiert von
                                        #22

                                        @oliverio said in Javascript in VIS ausführen:

                                        Wenn du mehr Kombinationen hättest, dann wird dieser so genannte ternary Operator schnell unübersichtlich.

                                        Mehrere Kombinationen sind nicht nötig, aber mehr Variablen würden in Frage kommen. Sollte ich die Struktur beibehalten, wenn ich mal angenommen das selbe Spiel mit 10 Variablen mache?

                                        OliverIOO 1 Antwort Letzte Antwort
                                        0
                                        • M MarcIO

                                          @oliverio said in Javascript in VIS ausführen:

                                          Wenn du mehr Kombinationen hättest, dann wird dieser so genannte ternary Operator schnell unübersichtlich.

                                          Mehrere Kombinationen sind nicht nötig, aber mehr Variablen würden in Frage kommen. Sollte ich die Struktur beibehalten, wenn ich mal angenommen das selbe Spiel mit 10 Variablen mache?

                                          OliverIOO Offline
                                          OliverIOO Offline
                                          OliverIO
                                          schrieb am zuletzt editiert von
                                          #23

                                          @marcio

                                          Hatte ich direkt darunter geschrieben. Darüber sind wir auf das Script Thema gekommen.
                                          Dann baut man am besten im Skript Tab eine eigene javascriptfunktion die man dann direkt aus demnbinding heraus aufrufen und verwenden kann

                                          Meine Adapter und Widgets
                                          TVProgram, SqueezeboxRPC, OpenLiga, RSSFeed, MyTime,, pi-hole2, vis-json-template, skiinfo, vis-mapwidgets, vis-2-widgets-rssfeed
                                          Links im Profil

                                          1 Antwort Letzte Antwort
                                          0
                                          Antworten
                                          • In einem neuen Thema antworten
                                          Anmelden zum Antworten
                                          • Älteste zuerst
                                          • Neuste zuerst
                                          • Meiste Stimmen


                                          Support us

                                          ioBroker
                                          Community Adapters
                                          Donate

                                          822

                                          Online

                                          32.5k

                                          Benutzer

                                          81.8k

                                          Themen

                                          1.3m

                                          Beiträge
                                          Community
                                          Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen | Einwilligungseinstellungen
                                          ioBroker Community 2014-2025
                                          logo
                                          • Anmelden

                                          • Du hast noch kein Konto? Registrieren

                                          • Anmelden oder registrieren, um zu suchen
                                          • Erster Beitrag
                                            Letzter Beitrag
                                          0
                                          • Home
                                          • Aktuell
                                          • Tags
                                          • Ungelesen 0
                                          • Kategorien
                                          • Unreplied
                                          • Beliebt
                                          • GitHub
                                          • Docu
                                          • Hilfe