Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. ioBroker Allgemein
    4. von wo wird VIS abgefragt?

    NEWS

    • Neues Video über Aliase, virtuelle Geräte und Kategorien

    • Wir empfehlen: Node.js 22.x

    • Neuer Blog: Fotos und Eindrücke aus Solingen

    von wo wird VIS abgefragt?

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

      @digi-bit

      verstehe - eine ganz andere habe ich nicht

      ist logisch, dass das passiert - hatte ich nicht drangedacht 😞

      habe schon was, was funktioniert - ist aber etwas aufwendiger - man müßte die einzelnen widgets alle in einem script pflegen

      das ganze funktioniert nicht über sichtbarkeit, sondern über den z-index (evtl ging auch opacity)

      die änderung des z-index sieht man hier:

      waitForElement($('body'),'#w00009', 'dummy', 'dummy', function () {
      
        // Widget ist geladen, auf das Widget klicken, w02705 ist die ID von meinem basic - Screen Resolution Widget
      
       console.log("jetzt")
      
         // und in einen Datenpunkt schreiben
      
        
         
         
           $('#w00009').click(function(){
        vis.setValue('0_userdata.0.CONTROL-OWN.AAATEST.vis-port', location.port);
        vis.setValue('0_userdata.0.CONTROL-OWN.AAATEST.vis-port-sichtbar', false);
        console.log(location.port);
         setTimeout( () => { 
            vis.setValue('0_userdata.0.CONTROL-OWN.AAATEST.vis-port-sichtbar',true); 
         }, 6000);
         
         
      });
      
       /*  }, 3000);*/
      
      }, 0, true);
      
      waitForElement($('body'),'#w00382', 'dummy', 'dummy', function () {
      
        // Widget ist geladen, auf das Widget klicken, w02705 ist die ID von meinem basic - Screen Resolution Widget
      
       console.log("jetzt test für verschieden widgets pro tablet")
       console.log("port :"+location.port);
         // und in einen Datenpunkt schreiben
      
        var myport=location.port
        if(myport=="8072"){
         setTimeout( () => {
          console.log("update")
          $("#w00382").css('z-index', 30);
          $("#w00382").text("z-index"+",30 bei tablet 2");
         }, 100);}
        
         
      
         
         
      
      
       /*  }, 3000);*/
      
      }, 0, true);
      

      in zeile 39 wird der z-index angepaßt, wenn der port 8082. im widget ist das "normal-mode" widget um einen z-index wert höher (z.b 6)
      das darunter liegende widget für den dark-mode hat den z-index 5 - ist also darunter und nicht zu sehen

      das script ändert den z-index beim port 8072 und somit erscheint das dark-mode widget, weil es einen z-index von 30 bekommt - die sichtbarkeit wird nicht genutzt

      script-vis23.gif

      dummerweise müßte für jedes widget die/eine function waitForElement ... angelegt werden - bei vielen widgets sehr nervig

      die function waitForElement ... wird benötigt, weil sichergestellt sein muss, dass das widget fertig geladen ist bevor der z-index geändert wird

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

        @liv-in-sky

        Ich muss also das Script für jedes Widgets einmal einfügen.... ( die Daten für JEDES Widgets Pro einfügen dem Widgets anpassen....)

        ähm....mein Projekt ist fast 200 MB gross und denke mal das ich min. 300 Seiten habe (eher mehr ) da brauch ich ja
        Monate für 🤢

        dann fang ich m al an..... hust....

        Jedenfalls ein dickes DANKE für deine Bemühungen.....

        vielleicht kann man ja in weiter Zukunft mal was in VIS2 einbauen wo man sowas einfacher händeln kann....

        mfg

        Digi-Bit

        Boronsbruder 1 Reply Last reply Reply Quote 0
        • Boronsbruder
          Boronsbruder @Digi-Bit last edited by

          @digi-bit
          ich weiß ja nicht, ob im vis selbst im Javascript die eigene instanz abgefragt werden kann...
          Dann wäre zum Beispiel eine Möglichkeit ein vis-internes Skript, das die CSS-Eigenschaft ändert möglich...
          quasi in einem window.onload oder document.onload
          ein binding für instance gibt es z.B. siehe

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

            @boronsbruder das problem mit der instance ist, dass es nur solange funktioniert, bis der browser cache gelöscht wird - dann mußt du das ganze wieder einrichten -> instance bestimmen - scripte angleichen auf die neue instance

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

              Dann wäre vielleicht, wenn er FullyBrowser laufen hat, noch ein Weg über die DPs des Fully Adapters zu triggern?
              fullybrowser.0.192_168_116_2.Info.screenOn oder fullybrowser.0.192_168_116_2.Info.currentPage
              Android petzt ja alles 😄

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

                @liv-in-sky könnte man dem Gerät - wenn es denn für sich weis welches es ist - eine jeweils andere CSS-Datei / Konfig unterjubeln?
                so aka %COMPUTERNAME%.css ?

                Ich habe noch mal geschaut - das Elementare Problem damals war ja das man innerhalb des Browsers quasi 0 Informationen über das System bekommt. Ergo wird @Digi-Bit der Umweg über Ports (kleine Lösung) oder IP-Adresse (große Lösung) nicht erspart bleiben. Aber man kann ja quasi alles per CSS erschlagen.
                Auch wenn er dann jedes seiner Widgets im CSS pflegen muss.
                Wobei, man kann ja bei jedem Widget einen CSS Eintrag machen, den könnte man per Datenpunkt steuern - argh auch Quatsch, dann schaltet es bei beiden um.

                @Digi-Bit du brauchst einen Penumbra-Mode

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

                  @bananajoe sagte in von wo wird VIS abgefragt?:

                  CSS pflegen muss

                  ja - habe auch schon an css gedacht - aber das ist ja letztlich auch ein enormer aufwand die settings alle zu pflegen für alle verschiedenen widgets - gefühlt ist das mit den z-index einfacher - mir fällt aber auch nix besseres ein - ob port oder ip abfrage - der aufwand ist immer groß - vielleicht kommt ja über nacht noch eine eingebung

                  Boronsbruder BananaJoe 2 Replies Last reply Reply Quote 0
                  • BananaJoe
                    BananaJoe Most Active last edited by

                    mhh einen Button dafür:
                    https://www.w3schools.com/howto/howto_js_toggle_dark_mode.asp
                    der ein CSS aktiviert - das ging dann auch per JavaScript aus der VIS heraus

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

                      @BananaJoe -> @Digi-Bit, nicht ich... versuche nur zu helfen 😉

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

                        @liv-in-sky sagte in von wo wird VIS abgefragt?:

                        @bananajoe sagte in von wo wird VIS abgefragt?:

                        CSS pflegen muss

                        ja - habe auch schon an css gedacht - aber das ist ja letztlich auch ein enormer aufwand die settings alle zu pflegen für alle verschiedenen widgets - gefühlt ist das mit den z-index einfacher - mir fällt aber auch nix besseres ein - ob port oder ip abfrage - der aufwand ist immer groß - vielleicht kommt ja über nacht noch eine eingebung

                        könnte man ja Scripten 🙂 Per Skript die Config der VIS auslesen und daraus eine passende CSS für den Darkmode generieren lassen.

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

                          @boronsbruder sagte in von wo wird VIS abgefragt?:

                          @BananaJoe -> @Digi-Bit, nicht ich... versuche nur zu helfen 😉

                          hab es geändert, bin mal wieder mit den Namen durcheinander gekommen

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

                            @bananajoe sagte in von wo wird VIS abgefragt?:

                            Per Skript die Config der VIS auslesen und daraus eine passende CSS für den Darkmode generieren lassen

                            das glaube ich bei mir nicht 😞

                            1 Reply Last reply Reply Quote 0
                            • OliverIO
                              OliverIO @Digi-Bit last edited by

                              @digi-bit sagte in von wo wird VIS abgefragt?:

                              Das ist aber schade das man den DARK Modus eines Handy oder Tablet nicht bei VIS berücksichtigen kann

                              ich verwende auch alles im dunklen modus und verwende für vis
                              das theme dark / oder dark-hive

                              1 Reply Last reply Reply Quote 0
                              • D
                                Digi-Bit @liv-in-sky last edited by Digi-Bit

                                @liv-in-sky sagte in von wo wird VIS abgefragt?:

                                @digi-bit

                                verstehe - eine ganz andere habe ich nicht

                                ist logisch, dass das passiert - hatte ich nicht drangedacht 😞

                                habe schon was, was funktioniert - ist aber etwas aufwendiger - man müßte die einzelnen widgets alle in einem script pflegen

                                das ganze funktioniert nicht über sichtbarkeit, sondern über den z-index (evtl ging auch opacity)

                                die änderung des z-index sieht man hier:

                                waitForElement($('body'),'#w00009', 'dummy', 'dummy', function () {
                                
                                  // Widget ist geladen, auf das Widget klicken, w02705 ist die ID von meinem basic - Screen Resolution Widget
                                
                                 console.log("jetzt")
                                
                                   // und in einen Datenpunkt schreiben
                                
                                  
                                   
                                   
                                     $('#w00009').click(function(){
                                  vis.setValue('0_userdata.0.CONTROL-OWN.AAATEST.vis-port', location.port);
                                  vis.setValue('0_userdata.0.CONTROL-OWN.AAATEST.vis-port-sichtbar', false);
                                  console.log(location.port);
                                   setTimeout( () => { 
                                      vis.setValue('0_userdata.0.CONTROL-OWN.AAATEST.vis-port-sichtbar',true); 
                                   }, 6000);
                                   
                                   
                                });
                                
                                 /*  }, 3000);*/
                                
                                }, 0, true);
                                
                                waitForElement($('body'),'#w00382', 'dummy', 'dummy', function () {
                                
                                  // Widget ist geladen, auf das Widget klicken, w02705 ist die ID von meinem basic - Screen Resolution Widget
                                
                                 console.log("jetzt test für verschieden widgets pro tablet")
                                 console.log("port :"+location.port);
                                   // und in einen Datenpunkt schreiben
                                
                                  var myport=location.port
                                  if(myport=="8072"){
                                   setTimeout( () => {
                                    console.log("update")
                                    $("#w00382").css('z-index', 30);
                                    $("#w00382").text("z-index"+",30 bei tablet 2");
                                   }, 100);}
                                  
                                   
                                
                                   
                                   
                                
                                
                                 /*  }, 3000);*/
                                
                                }, 0, true);
                                

                                in zeile 39 wird der z-index angepaßt, wenn der port 8082. im widget ist das "normal-mode" widget um einen z-index wert höher (z.b 6)
                                das darunter liegende widget für den dark-mode hat den z-index 5 - ist also darunter und nicht zu sehen

                                das script ändert den z-index beim port 8072 und somit erscheint das dark-mode widget, weil es einen z-index von 30 bekommt - die sichtbarkeit wird nicht genutzt

                                script-vis23.gif

                                dummerweise müßte für jedes widget die/eine function waitForElement ... angelegt werden - bei vielen widgets sehr nervig

                                die function waitForElement ... wird benötigt, weil sichergestellt sein muss, dass das widget fertig geladen ist bevor der z-index geändert wird

                                also diese Version Gefällt mir am besten !

                                nach langen probieren habe ich es endlich hin bekommen !

                                ich bedanke mich bei allen !!!!!!!!!!!!!!!!!

                                mfg

                                Digi-Bit

                                D 1 Reply Last reply Reply Quote 0
                                • D
                                  Digi-Bit @Digi-Bit last edited by

                                  ähhhhhhhhhhhhh

                                  doch nicht, wen ich auf die Wetter Seite gehe und dann wieder auf die Hauptseite dann ist der
                                  "Effect" wieder weg.

                                  Das geht wohl nur wenn die Seite auch wirklich geladen wird und nicht aus dem Cache wieder aufgebaut wird, nehme ich mal an, kenn mich da nicht wirklich aus ;(

                                  ist aber auch blöde das manche Widget dann so extrem die Farbe ändern im Dark Mode 😞

                                  mfg

                                  Digi-Bit...

                                  P.s. Hab was von einem WebServer gelesen der dann eine IP rausfiltern kann, muss ich mir mal genauer dann anschauen.

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

                                    @digi-bit

                                    du könntest das ganze in eine schleife einbauen (periodisch immer wieder aufrufen ) oder evtl funktioniert auch ein trigger auf document ready (müßte man ausprobieren)

                                    $(document).ready(function() {......});
                                    
                                    D 1 Reply Last reply Reply Quote 0
                                    • OliverIO
                                      OliverIO last edited by OliverIO

                                      @digi-bit

                                      irgendwie verstehe ich das Problem nicht so richtig.
                                      Soviele Informationen dazu finde ich in diesem thread auch nicht
                                      ausser rum gefrickel

                                      1. du wolltest wissen anwas ein iobroker skript erkennen kann, welcher browser abrufen kann. antwort war ja das instanzkennzeichen. gab es damit jetzt noch ein problem?

                                      2. dann habe ich noch gelesen, das du probleme mit dem dark mode hast und das manche widgets nicht dark mode kompatibel sind. leider habe ich nicht gelesen, welche das genau sind. eigentlich sollten die widgets erstmal ohne design oder nur mit einem minimal design daherkommen. kannst du mal genau benennen welche/s widget es betrifft und wie das aussieht und was der zu erwartende zustand wäre?

                                      die javascript experimente mit portabfrage etc verstehe ich nicht was das bringen soll. das führt irgendwie nicht in die richtige richtung, aber es kann sein das andere mehr verstanden haben als ich

                                      Homoran 1 Reply Last reply Reply Quote 0
                                      • Homoran
                                        Homoran Global Moderator Administrators @OliverIO last edited by Homoran

                                        @oliverio sagte in von wo wird VIS abgefragt?:

                                        aber es kann sein das andere mehr verstanden haben als ich

                                        ich hoffe 🙂

                                        @oliverio sagte in von wo wird VIS abgefragt?:

                                        gab es damit jetzt noch ein problem?

                                        ja! bei fully wechselt anscheinend dauernd die Instanz.

                                        @oliverio sagte in von wo wird VIS abgefragt?:

                                        leider habe ich nicht gelesen, welche das genau sind

                                        und leider auch keine Info zum verwendeten Theme

                                        portabfrage etc verstehe ich nicht was das bringen soll.

                                        über zwei verschiedene web Adapter für darkmode und daylight mode zugreifen und üver den Port erkennen welche web instanz genutzt wird.

                                        OliverIO 1 Reply Last reply Reply Quote 0
                                        • OliverIO
                                          OliverIO @Homoran last edited by

                                          @homoran sagte in von wo wird VIS abgefragt?:

                                          ja! bei fully wechselt anscheinend dauernd die Instanz.

                                          es benutzen doch viele den fully, können andere das bestätigen?

                                          BananaJoe 1 Reply Last reply Reply Quote 0
                                          • BananaJoe
                                            BananaJoe Most Active @OliverIO last edited by

                                            @oliverio lässt sich im Fully einstellen. Wenn dort so etwas wie "lösche immer den Cache", z.B. beim Reload: Dann ja. Die Option gibt es (meine ich aus dem Kopf) mehrmals unter verschiedenen Aspekten

                                            Achtet man darauf das eben nichts bzw. nicht Cookies etc. gelöscht werden dann beleibt die ID erhalten

                                            OliverIO D 2 Replies Last reply Reply Quote 0
                                            • First post
                                              Last post

                                            Support us

                                            ioBroker
                                            Community Adapters
                                            Donate
                                            FAQ Cloud / IOT
                                            HowTo: Node.js-Update
                                            HowTo: Backup/Restore
                                            Downloads
                                            BLOG

                                            591
                                            Online

                                            32.0k
                                            Users

                                            80.5k
                                            Topics

                                            1.3m
                                            Posts

                                            vis widgets visualisierung web-adapter
                                            8
                                            68
                                            4773
                                            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