Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Visualisierung
    4. [gelöst] Datenpunkt in Abhängigkeit des Tablets?

    NEWS

    • Neues Video "KI im Smart Home" - ioBroker plus n8n

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

    • Wir empfehlen: Node.js 22.x

    [gelöst] Datenpunkt in Abhängigkeit des Tablets?

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

      Hallo Zusammen,
      ich nutze 2 Tablets für meine VIS, die ich beide mit dem Full-Tablet-Control Adapter steuere. Besteht eigentlich irgendwie eine Möglichkeit, eine identische Seite mit 2 Tablets unterschiedlich anzuzeigen?
      Bsp - ich möchte auf Tablet 1 ein Symbol sehen, was mir den AKKU-Stand von Tablet 1 anzeigt. Bei Tablet 2 soll aber an der identischen Stelle ein anderes Symbol mit AKKU-Stand von Tablet2 (die Akku-Stände sind 2 verschiedene Datenpunkte) angezeigt werden.

      Hat das schon mal einer hinbekommen? Oder hat einer ne Idee?

      Danke
      Marcus

      S liv-in-sky 3 Replies Last reply Reply Quote 0
      • S
        skokarl @mguenther last edited by

        @mguenther

        was mir spontan einfällt....

        Du müsstest einen Datenpunkt haben an dem Du erkennen kannst "welches Tablet bin ich ".
        Dann machst Du auf die VIS den Akkustand von beiden Tablets, und schaltest den jeweils eigenen Akkustand
        über die Sichtbarkeit des Widgets aus.

        M 1 Reply Last reply Reply Quote 0
        • M
          mguenther @skokarl last edited by

          @skokarl sagte in Datenpunkt in Abhängigkeit des Tablets?:

          @mguenther

          was mir spontan einfällt....

          Du müsstest einen Datenpunkt haben an dem Du erkennen kannst "welches Tablet bin ich ".
          Dann machst Du auf die VIS den Akkustand von beiden Tablets, und schaltest den jeweils eigenen Akkustand
          über die Sichtbarkeit des Widgets aus.

          ja, so wäre der Plan - nur wie setzt man sowas um? 🙂

          S 1 Reply Last reply Reply Quote 0
          • S
            skokarl @mguenther last edited by skokarl

            @mguenther

            Ich kenne den Adapter nicht, guck Dir mal die Datenpunkte an ob Du da Unterschiede findest
            z.b. "eigene Seriennummer" ( spontan gedacht.... aber es ist nachts halb vier 😬 )

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

              das ist kompliziert...
              entweder du gehst über die ip des tablets die musst du dir reinziehen in dein script
              oder du arbeitest mit der Instance ID die ist pro Tablet eindeutig

              such mal im forum nach .. hatten wir schon mal

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

                @mguenther

                das mit der instance id ist theoretisch machbar - hat aber den nachteil, dass sich diese id vergißt, wenn du den cache des tablets bzw von fully löscht - dann muss man diese id wieder anlegen und und im script angleichen

                eine möglichkeit ist, einen web adapter pro tablet zu installieren und sich dann den port zurückzugeben - ist dann eindeutig und löscht sich nicht - also jedes tablet bekommt eine eigene web instanz - wird in der url eingegeben

                das problem bei deinem vorhaben: du brauchst immer eine aktivierung. du kannst das nicht pro tablet anzeigen lassen, wenn du nicht vorher irgendwas auf der seite "drückst" . das ist umständlich daher:

                auch möglich ist, dass du ein script im browser schreibst, welches über jquery nach dem laden der seite ein widget erzeugt oder sichtbar bzw unsichtbar macht - also im nachhinein die seite änderst, wenn der standard von der vis geladeni ist

                • seite wird geladen - mit zwei übereinanderliegenden widgets - für die beiden akkustände der tablets
                • wenn widgets da sind, wird der port abgefragt (also welches tablet ist es)
                • dann wird der z-index oder opacity geändert und nur ein widget ist sichtbar in abhängigkeit des tablets

                ähnlich: https://forum.iobroker.net/post/730615

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

                  @mguenther

                  hier das beispiel dazu

                  du siehst zwei browser mit unterschiedlichen port nummern in der url. dh. unterschiedliche web instanzen bzw zwei tablets und jedes tablet nutzt einen anderen port

                  das ganze ist etwas zeitverzögert, damit man die veränderung auch sieht

                  AApossis (184).gif

                  M 1 Reply Last reply Reply Quote 1
                  • M
                    mguenther @liv-in-sky last edited by

                    @liv-in-sky
                    mit z-Index ist klar. Das mit dem Port hab ich verstanden, Umsetzung müsste ich mir aber anschauen bzw. hab ichs noch nicht kapiert. Das Ganze funktioniert aber nur, wenn ich an dem Fenster bzw. auf dem tablet eine Aktion ausführe... damit werde ich immer eine Zeitversetzung drin haben - richtig? Da ich alle 15min den Cache automatisch leeren lasse, müsste ich die Aktion dann auch alle 15min wieder neu ausführen...

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

                      @mguenther

                      nein - da musst du nichts ausführen 🙂 zum testen mal script und widgets zum import

                      script für scripte tab im vis editor

                      darin musst du die widgets-id angleichen

                      • in zeilen: 35,47 und 48 und auch 62,74,75

                      • in zeile 44 und 71 muss der richtige port rein

                      function waitForElement(parent, elementPath, wid, widgetName, callBack, counter = 0, debug = false) {
                      
                              if (counter < 30) {
                      
                                  setTimeout(function () {
                      
                                      if (parent.find(elementPath).length > 0) {
                      
                                          if (debug) console.log(`[${widgetName} ${wid}] it took ${counter}ms to wait for the element '${elementPath}'`);
                      
                                          callBack();
                      
                                      } else {
                      
                                          if (debug) console.log(`[${widgetName} ${wid}] wait for element '${elementPath}'`);
                      
                                          counter++
                      
                                          waitForElement(parent, elementPath, wid, widgetName, callBack, counter, debug);
                      
                                      }
                      
                                  }, 1000);
                      
                              } else {
                      
                                 if (debug) console.warn(`[${widgetName} ${wid}] stop waiting after ${counter} retries`);
                      
                                  callBack();
                      
                             }
                      
                         }
                      
                      waitForElement($('body'),'#w00381', '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=="8082"){
                         setTimeout( () => {
                        
                          $("#w00381").css('z-index', 30);
                          $("#w00381").text("z-index"+",3 bei tablet 1");
                         }, 100);}
                        
                      
                         
                         
                      
                      
                       /*  }, 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( () => {
                        
                          $("#w00382").css('z-index', 30);
                          $("#w00382").text("z-index"+",30 bei tablet 2");
                         }, 100);}
                        
                         
                      
                         
                         
                      
                      
                       /*  }, 3000);*/
                      
                      }, 0, true);
                      

                      die beiden widgets, die bei dir andere widgets id's bekommen

                      [{"tpl":"tplHtml","data":{"g_fixed":false,"g_visibility":false,"g_css_font_text":false,"g_css_background":true,"g_css_shadow_padding":false,"g_css_border":false,"g_gestures":false,"g_signals":false,"g_last_change":false,"visibility-cond":"==","visibility-val":1,"visibility-groups-action":"hide","refreshInterval":"0","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,"lc-type":"last-change","lc-is-interval":true,"lc-is-moment":false,"lc-format":"","lc-position-vert":"top","lc-position-horz":"right","lc-offset-vert":0,"lc-offset-horz":0,"lc-font-size":"12px","lc-font-family":"","lc-font-style":"","lc-bkg-color":"","lc-color":"","lc-border-width":"0","lc-border-style":"","lc-border-color":"","lc-border-radius":10,"lc-zindex":0,"html":"this is tablet 2"},"style":{"left":"111px","top":"537px","z-index":"5","background-color":"#22c950"},"widgetSet":"basic"},{"tpl":"tplHtml","data":{"g_fixed":false,"g_visibility":false,"g_css_font_text":false,"g_css_background":true,"g_css_shadow_padding":false,"g_css_border":false,"g_gestures":false,"g_signals":false,"g_last_change":false,"visibility-cond":"==","visibility-val":1,"visibility-groups-action":"hide","refreshInterval":"0","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,"lc-type":"last-change","lc-is-interval":true,"lc-is-moment":false,"lc-format":"","lc-position-vert":"top","lc-position-horz":"right","lc-offset-vert":0,"lc-offset-horz":0,"lc-font-size":"12px","lc-font-family":"","lc-font-style":"","lc-bkg-color":"","lc-color":"","lc-border-width":"0","lc-border-style":"","lc-border-color":"","lc-border-radius":10,"lc-zindex":0,"html":"this is tablet 1"},"style":{"left":"142px","top":"622px","z-index":"5","background-color":"#bec369"},"widgetSet":"basic"}]
                      

                      M 2 Replies Last reply Reply Quote 1
                      • M
                        mguenther @liv-in-sky last edited by

                        @liv-in-sky
                        probier ich heute abend mal aus...

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

                          @liv-in-sky

                          in deinem Skript muss ich quasi auf ein bestimmtes Widget drücke.
                          Ich habe noch keine Idee, wie ich es bei mir umsetzen kann. Ich habe eine Menüleiste (im view im widget analog kuddels 2. VIS Version), da könnte ich das Widget integrieren, aber ich wüsste nicht, wie ich es in meiner Menüleiste dann ausführe bzw. den Anwender dazubringe, dann da auf ein Widget zu drücken.

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

                            @mguenther

                            nein - du musst nicht drücken

                            schau mal im chat

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

                              @liv-in-sky

                              ok, läuft - hatte die falsche VIEW auf...

                              besteht noch die Möglichkeit im Skript mehrere widgets im z-index zu ändern oder muss ich die Funktion für jedes widget einzeln ausführen?
                              ich meine den Part:

                              waitForElement($('body'),'#w01427', 'dummy', 'dummy', function () {
                                var myport=location.port
                                if(myport=="8072"){
                                   setTimeout( () => {
                                      $("#w01427").css('z-index', 45);
                                   }, 100);}
                               }, 0, true);
                              
                              liv-in-sky 2 Replies Last reply Reply Quote 0
                              • liv-in-sky
                                liv-in-sky @mguenther last edited by liv-in-sky

                                @mguenther

                                ist so aufgebaut:

                                es wird nachgefragt, ob das widget schon da ist - und dann wird geändert

                                du musst also den ganzen teil kopieren, für jedes widget, welches du haben möchtest

                                evtl klappt es auch , wenn du nur zeile 5 kopierst, das widget darin anpasst und als zeile 6 verwendest - dann musst du aber die jetzige zeile 6 ändern und einen größeren timeout setzen - um auf nummer sicher zu gehen - min. 2000 . wir wissen dann ja nicht, ob das andere widget schon da ist - bei großen vis projecten, kann das auch mal läger dauern

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

                                  @mguenther

                                  ach ja - das ganze funktioniert nur für widgets, die nur als anzeige funktionieren - wenn du ein widget mit dp drin hast, welches änderbar ist, wirds kompliziert

                                  z.b tablet 1 braucht einen lichschalter für die küche

                                  tablet 2 soll einen llichtschalter im wohnzimmer steuern

                                  das müßte man noch testen, ob und wie das genau geht - da muss dann die object id in abhängigkeit des ports geändert werden (über ein binding)

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

                                    @liv-in-sky

                                    ich brauche die widgets nur zur Anzeige. Das sind meine 3 widgets für mein Tablet im EG - das ganze habe ich dann auch noch einmal für mein Tablet im OG
                                    (auf dem Tablet EG sollen halt nur die EG widgets zu sehen sein, auf dem OG Tablet halt die anderen - momentan sind sie noch versetzt, ich würde sie dann aber nachher übereinander legen):

                                    [{"tpl":"tplMfdCustom10","data":{"oid":"fully-tablet-control.0.device.samsung_a7_eg.battery","g_fixed":true,"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,"g_last_change":false,"visibility-cond":"==","visibility-val":"true","visibility-groups-action":"hide","asButton":false,"icon0":"/icons-mfd-svg/measure_battery_0.svg","icon1":"/icons-mfd-svg/measure_battery_0.svg","icon2":"/icons-mfd-svg/measure_battery_25.svg","icon3":"/icons-mfd-svg/measure_battery_25.svg","icon4":"/icons-mfd-svg/measure_battery_50.svg","icon5":"/icons-mfd-svg/measure_battery_50.svg","icon6":"/icons-mfd-svg/measure_battery_50.svg","icon7":"/icons-mfd-svg/measure_battery_75.svg","icon8":"/icons-mfd-svg/measure_battery_75.svg","icon9":"/icons-mfd-svg/measure_battery_100.svg","icon10":"/icons-mfd-svg/measure_battery_100.svg","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,"lc-type":"last-change","lc-is-interval":true,"lc-is-moment":false,"lc-format":"","lc-position-vert":"top","lc-position-horz":"right","lc-offset-vert":0,"lc-offset-horz":0,"lc-font-size":"12px","lc-font-family":"","lc-font-style":"","lc-bkg-color":"","lc-color":"","lc-border-width":"0","lc-border-style":"","lc-border-color":"","lc-border-radius":10,"lc-zindex":0,"show_active":false,"min":"0","max":"100","iconValue0":"0","iconColor0":"green","iconColor1":"green","iconColor2":"green","iconColor3":"green","iconColor4":"green","iconColor5":"green","iconColor6":"green","iconColor7":"green","iconColor8":"green","invert_value":false,"class":"rotate90","iconColor9":"green","iconColor10":"green","name":"Akkustatus laden","visibility-oid":"shelly.0.SHSW-1#E8DB84AC4924#1.Relay0.Switch"},"style":{"left":"35px","top":"48px","transform":"90","width":"40px","z-index":"30","height":"40px"},"widgetSet":"jqui-mfd"},{"tpl":"tplMfdCustom10","data":{"oid":"fully-tablet-control.0.device.samsung_a7_eg.battery","g_fixed":true,"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,"g_last_change":false,"visibility-cond":"==","visibility-val":"false","visibility-groups-action":"hide","asButton":false,"icon0":"/icons-mfd-svg/measure_battery_0.svg","icon1":"/icons-mfd-svg/measure_battery_0.svg","icon2":"/icons-mfd-svg/measure_battery_25.svg","icon3":"/icons-mfd-svg/measure_battery_25.svg","icon4":"/icons-mfd-svg/measure_battery_50.svg","icon5":"/icons-mfd-svg/measure_battery_50.svg","icon6":"/icons-mfd-svg/measure_battery_50.svg","icon7":"/icons-mfd-svg/measure_battery_75.svg","icon8":"/icons-mfd-svg/measure_battery_75.svg","icon9":"/icons-mfd-svg/measure_battery_100.svg","icon10":"/icons-mfd-svg/measure_battery_100.svg","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,"lc-type":"last-change","lc-is-interval":true,"lc-is-moment":false,"lc-format":"","lc-position-vert":"top","lc-position-horz":"right","lc-offset-vert":0,"lc-offset-horz":0,"lc-font-size":"12px","lc-font-family":"","lc-font-style":"","lc-bkg-color":"","lc-color":"","lc-border-width":"0","lc-border-style":"","lc-border-color":"","lc-border-radius":10,"lc-zindex":0,"show_active":false,"min":"0","max":"100","iconValue0":"0","iconColor0":"#ffad24","iconColor1":"#ffad24","iconColor2":"#ffad24","iconColor3":"#ffad24","iconColor4":"#ffad24","iconColor5":"#ffad24","iconColor6":"#ffad24","iconColor7":"#ffad24","iconColor8":"#ffad24","invert_value":false,"class":"rotate90","iconColor9":"#ffad24","iconColor10":"#ffad24","name":"Akkustatus entladen","visibility-oid":"shelly.0.SHSW-1#E8DB84AC4924#1.Relay0.Switch"},"style":{"left":"35px","top":"48px","transform":"90","width":"40px","z-index":"30","height":"40px"},"widgetSet":"jqui-mfd"},{"tpl":"tplHtml","data":{"g_fixed":false,"g_visibility":false,"g_css_font_text":true,"g_css_background":false,"g_css_shadow_padding":false,"g_css_border":false,"g_gestures":false,"g_signals":false,"g_last_change":false,"visibility-cond":"==","visibility-val":1,"visibility-groups-action":"hide","refreshInterval":"0","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,"lc-type":"last-change","lc-is-interval":true,"lc-is-moment":false,"lc-format":"","lc-position-vert":"top","lc-position-horz":"right","lc-offset-vert":0,"lc-offset-horz":0,"lc-font-size":"12px","lc-font-family":"","lc-font-style":"","lc-bkg-color":"","lc-color":"","lc-border-width":"0","lc-border-style":"","lc-border-color":"","lc-border-radius":10,"lc-zindex":0,"html":"EG"},"style":{"left":"15px","top":"58px","width":"25px","height":"20px","color":"white","text-align":"left","font-family":"Arial, Helvetica, sans-serif","font-style":"normal","font-variant":"normal","font-weight":"normal","font-size":"14px","line-height":"20px"},"widgetSet":"basic"}]
                                    

                                    jetzt habe ich das Problem, dass ich bei den Bildern eines erst sichbar und somit in den Vordergrund bringe, wenn ein Datenpunkt auf true gesetzt ist. Irgendwie bekomme ich das nicht hin. Ich gehe davon aus, dass wenn ich über das Skript die z-Level Eigenschaften anpasse, er doch dennoch die anderen widget Einstellungen übernehmen müsste - ich such mal den Fehler...

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

                                      @mguenther was genau meinst du ?

                                      du rufst die seite auf. nach einer zeit wird dann das widget erst sichtbar gemacht - bzw es ändert sich irgendwas im widget

                                      hast du das gemeint ?

                                      es könnte sein, dass das noch nicht wirklich funktioniert - müßt ich prüfen

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

                                        @liv-in-sky

                                        irgendetwas passt nicht - ich finde es nicht

                                        anbei meine 7 Beispiel widgets:

                                        [{"tpl":"tplMfdCustom10","data":{"oid":"fully-tablet-control.0.device.samsung_a7_eg.battery","g_fixed":true,"g_visibility":true,"g_css_font_text":false,"g_css_background":true,"g_css_shadow_padding":false,"g_css_border":false,"g_gestures":false,"g_signals":false,"g_last_change":false,"visibility-cond":"==","visibility-val":"true","visibility-groups-action":"hide","asButton":false,"icon0":"/icons-mfd-svg/measure_battery_0.svg","icon1":"/icons-mfd-svg/measure_battery_0.svg","icon2":"/icons-mfd-svg/measure_battery_25.svg","icon3":"/icons-mfd-svg/measure_battery_25.svg","icon4":"/icons-mfd-svg/measure_battery_50.svg","icon5":"/icons-mfd-svg/measure_battery_50.svg","icon6":"/icons-mfd-svg/measure_battery_50.svg","icon7":"/icons-mfd-svg/measure_battery_75.svg","icon8":"/icons-mfd-svg/measure_battery_75.svg","icon9":"/icons-mfd-svg/measure_battery_100.svg","icon10":"/icons-mfd-svg/measure_battery_100.svg","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,"lc-type":"last-change","lc-is-interval":true,"lc-is-moment":false,"lc-format":"","lc-position-vert":"top","lc-position-horz":"right","lc-offset-vert":0,"lc-offset-horz":0,"lc-font-size":"12px","lc-font-family":"","lc-font-style":"","lc-bkg-color":"","lc-color":"","lc-border-width":"0","lc-border-style":"","lc-border-color":"","lc-border-radius":10,"lc-zindex":0,"show_active":false,"min":"0","max":"100","iconValue0":"0","iconColor0":"green","iconColor1":"green","iconColor2":"green","iconColor3":"green","iconColor4":"green","iconColor5":"green","iconColor6":"green","iconColor7":"green","iconColor8":"green","invert_value":false,"class":"rotate90","iconColor9":"green","iconColor10":"green","name":"Akkustatus laden","visibility-oid":"shelly.0.SHSW-1#E8DB84AC4924#1.Relay0.Switch"},"style":{"left":"35px","top":"52px","transform":"90","width":"40px","z-index":"","height":"40px","background-color":"#000000"},"widgetSet":"jqui-mfd"},{"tpl":"tplMfdCustom10","data":{"oid":"fully-tablet-control.0.device.samsung_a7_eg.battery","g_fixed":true,"g_visibility":true,"g_css_font_text":false,"g_css_background":true,"g_css_shadow_padding":false,"g_css_border":false,"g_gestures":false,"g_signals":false,"g_last_change":false,"visibility-cond":"==","visibility-val":"false","visibility-groups-action":"hide","asButton":false,"icon0":"/icons-mfd-svg/measure_battery_0.svg","icon1":"/icons-mfd-svg/measure_battery_0.svg","icon2":"/icons-mfd-svg/measure_battery_25.svg","icon3":"/icons-mfd-svg/measure_battery_25.svg","icon4":"/icons-mfd-svg/measure_battery_50.svg","icon5":"/icons-mfd-svg/measure_battery_50.svg","icon6":"/icons-mfd-svg/measure_battery_50.svg","icon7":"/icons-mfd-svg/measure_battery_75.svg","icon8":"/icons-mfd-svg/measure_battery_75.svg","icon9":"/icons-mfd-svg/measure_battery_100.svg","icon10":"/icons-mfd-svg/measure_battery_100.svg","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,"lc-type":"last-change","lc-is-interval":true,"lc-is-moment":false,"lc-format":"","lc-position-vert":"top","lc-position-horz":"right","lc-offset-vert":0,"lc-offset-horz":0,"lc-font-size":"12px","lc-font-family":"","lc-font-style":"","lc-bkg-color":"","lc-color":"","lc-border-width":"0","lc-border-style":"","lc-border-color":"","lc-border-radius":10,"lc-zindex":0,"show_active":false,"min":"0","max":"100","iconValue0":"0","iconColor0":"#ffad24","iconColor1":"#ffad24","iconColor2":"#ffad24","iconColor3":"#ffad24","iconColor4":"#ffad24","iconColor5":"#ffad24","iconColor6":"#ffad24","iconColor7":"#ffad24","iconColor8":"#ffad24","invert_value":false,"class":"rotate90","iconColor9":"#ffad24","iconColor10":"#ffad24","name":"Akkustatus entladen","visibility-oid":"shelly.0.SHSW-1#E8DB84AC4924#1.Relay0.Switch"},"style":{"left":"85px","top":"52px","transform":"90","width":"40px","z-index":"","height":"40px","background-color":"#000000"},"widgetSet":"jqui-mfd"},{"tpl":"tplMfdCustom10","data":{"oid":"fully-tablet-control.0.device.samsung_a7_og.battery","g_fixed":true,"g_visibility":true,"g_css_font_text":false,"g_css_background":true,"g_css_shadow_padding":false,"g_css_border":false,"g_gestures":false,"g_signals":false,"g_last_change":false,"visibility-cond":"==","visibility-val":"false","visibility-groups-action":"hide","asButton":false,"icon0":"/icons-mfd-svg/measure_battery_0.svg","icon1":"/icons-mfd-svg/measure_battery_0.svg","icon2":"/icons-mfd-svg/measure_battery_25.svg","icon3":"/icons-mfd-svg/measure_battery_25.svg","icon4":"/icons-mfd-svg/measure_battery_50.svg","icon5":"/icons-mfd-svg/measure_battery_50.svg","icon6":"/icons-mfd-svg/measure_battery_50.svg","icon7":"/icons-mfd-svg/measure_battery_75.svg","icon8":"/icons-mfd-svg/measure_battery_75.svg","icon9":"/icons-mfd-svg/measure_battery_100.svg","icon10":"/icons-mfd-svg/measure_battery_100.svg","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,"lc-type":"last-change","lc-is-interval":true,"lc-is-moment":false,"lc-format":"","lc-position-vert":"top","lc-position-horz":"right","lc-offset-vert":0,"lc-offset-horz":0,"lc-font-size":"12px","lc-font-family":"","lc-font-style":"","lc-bkg-color":"","lc-color":"","lc-border-width":"0","lc-border-style":"","lc-border-color":"","lc-border-radius":10,"lc-zindex":0,"show_active":false,"min":"0","max":"100","iconValue0":"0","iconColor0":"#ffad24","iconColor1":"#ffad24","iconColor2":"#ffad24","iconColor3":"#ffad24","iconColor4":"#ffad24","iconColor5":"#ffad24","iconColor6":"#ffad24","iconColor7":"#ffad24","iconColor8":"#ffad24","invert_value":false,"class":"rotate90","iconColor9":"#ffad24","iconColor10":"#ffad24","name":"Akkustatus entladen","visibility-oid":"hm-rpc.3.00021A49A41D24.3.STATE"},"style":{"left":"200px","top":"52px","transform":"90","width":"40px","z-index":"","height":"40px","background-color":"#000000"},"widgetSet":"jqui-mfd"},{"tpl":"tplMfdCustom10","data":{"oid":"fully-tablet-control.0.device.samsung_a7_og.battery","g_fixed":true,"g_visibility":true,"g_css_font_text":false,"g_css_background":true,"g_css_shadow_padding":false,"g_css_border":false,"g_gestures":false,"g_signals":false,"g_last_change":false,"visibility-cond":"==","visibility-val":"true","visibility-groups-action":"hide","asButton":false,"icon0":"/icons-mfd-svg/measure_battery_0.svg","icon1":"/icons-mfd-svg/measure_battery_0.svg","icon2":"/icons-mfd-svg/measure_battery_25.svg","icon3":"/icons-mfd-svg/measure_battery_25.svg","icon4":"/icons-mfd-svg/measure_battery_50.svg","icon5":"/icons-mfd-svg/measure_battery_50.svg","icon6":"/icons-mfd-svg/measure_battery_50.svg","icon7":"/icons-mfd-svg/measure_battery_75.svg","icon8":"/icons-mfd-svg/measure_battery_75.svg","icon9":"/icons-mfd-svg/measure_battery_100.svg","icon10":"/icons-mfd-svg/measure_battery_100.svg","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,"lc-type":"last-change","lc-is-interval":true,"lc-is-moment":false,"lc-format":"","lc-position-vert":"top","lc-position-horz":"right","lc-offset-vert":0,"lc-offset-horz":0,"lc-font-size":"12px","lc-font-family":"","lc-font-style":"","lc-bkg-color":"","lc-color":"","lc-border-width":"0","lc-border-style":"","lc-border-color":"","lc-border-radius":10,"lc-zindex":0,"show_active":false,"min":"0","max":"100","iconValue0":"0","iconColor0":"green","iconColor1":"green","iconColor2":"green","iconColor3":"green","iconColor4":"green","iconColor5":"green","iconColor6":"green","iconColor7":"green","iconColor8":"green","invert_value":false,"class":"rotate90","iconColor9":"green","iconColor10":"green","name":"Akkustatus laden","visibility-oid":"hm-rpc.3.00021A49A41D24.3.STATE"},"style":{"left":"250px","top":"52px","transform":"90","width":"40px","z-index":"","height":"40px","background-color":"#000000"},"widgetSet":"jqui-mfd"},{"tpl":"tplHtml","data":{"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,"g_last_change":false,"visibility-cond":"==","visibility-val":1,"visibility-groups-action":"hide","refreshInterval":"0","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,"lc-type":"last-change","lc-is-interval":true,"lc-is-moment":false,"lc-format":"","lc-position-vert":"top","lc-position-horz":"right","lc-offset-vert":0,"lc-offset-horz":0,"lc-font-size":"12px","lc-font-family":"","lc-font-style":"","lc-bkg-color":"","lc-color":"","lc-border-width":"0","lc-border-style":"","lc-border-color":"","lc-border-radius":10,"lc-zindex":0,"html":"EG"},"style":{"left":"10px","top":"62px","width":"25px","height":"20px","color":"white","text-align":"right","font-family":"Arial, Helvetica, sans-serif","font-style":"normal","font-variant":"normal","font-weight":"normal","font-size":"14px","line-height":"20px","background-color":"#000000"},"widgetSet":"basic"},{"tpl":"tplHtml","data":{"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,"g_last_change":false,"visibility-cond":"==","visibility-val":1,"visibility-groups-action":"hide","refreshInterval":"0","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,"lc-type":"last-change","lc-is-interval":true,"lc-is-moment":false,"lc-format":"","lc-position-vert":"top","lc-position-horz":"right","lc-offset-vert":0,"lc-offset-horz":0,"lc-font-size":"12px","lc-font-family":"","lc-font-style":"","lc-bkg-color":"","lc-color":"","lc-border-width":"0","lc-border-style":"","lc-border-color":"","lc-border-radius":10,"lc-zindex":0,"html":"OG"},"style":{"left":"175px","top":"62px","width":"25px","height":"20px","color":"white","text-align":"right","font-family":"Arial, Helvetica, sans-serif","font-style":"normal","font-variant":"normal","font-weight":"normal","font-size":"14px","line-height":"20px","background-color":"#000000"},"widgetSet":"basic"},{"tpl":"tplHtml","data":{"g_fixed":false,"g_visibility":false,"g_css_font_text":false,"g_css_background":true,"g_css_shadow_padding":false,"g_css_border":false,"g_gestures":false,"g_signals":false,"g_last_change":false,"visibility-cond":"==","visibility-val":1,"visibility-groups-action":"hide","refreshInterval":"0","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,"lc-type":"last-change","lc-is-interval":true,"lc-is-moment":false,"lc-format":"","lc-position-vert":"top","lc-position-horz":"right","lc-offset-vert":0,"lc-offset-horz":0,"lc-font-size":"12px","lc-font-family":"","lc-font-style":"","lc-bkg-color":"","lc-color":"","lc-border-width":"0","lc-border-style":"","lc-border-color":"","lc-border-radius":10,"lc-zindex":0},"style":{"left":"000px","top":"58px","background-color":"yellow","z-index":"40","width":"300px","height":"10px"},"widgetSet":"basic"}]
                                        

                                        und mein angepasstes Skript:

                                        function waitForElement(parent, elementPath, wid, widgetName, callBack, counter = 0, debug = false) {
                                                if (counter < 30) {
                                                    setTimeout(function () {
                                                        if (parent.find(elementPath).length > 0) {
                                                            if (debug) console.log(`[${widgetName} ${wid}] it took ${counter}ms to wait for the element '${elementPath}'`);
                                                            callBack();
                                                        } else {
                                                            if (debug) console.log(`[${widgetName} ${wid}] wait for element '${elementPath}'`);
                                                            counter++
                                                            waitForElement(parent, elementPath, wid, widgetName, callBack, counter, debug);
                                                        }
                                                    }, 1000);
                                                } else {
                                                   if (debug) console.warn(`[${widgetName} ${wid}] stop waiting after ${counter} retries`);
                                                    callBack();
                                               }
                                           }
                                        
                                        //Port 8082 widgets w02612, w02615, w02613
                                        waitForElement($('body'),'#w02615', 'dummy', 'dummy', function () {
                                          var myport=location.port
                                          if(myport=="8082"){
                                           setTimeout( () => {
                                            $("#w02615").css('z-index', 45);
                                           }, 100);}
                                         /*  }, 3000);*/
                                        }, 0, true);
                                        /* -------*/
                                        
                                        waitForElement($('body'),'#w02613', 'dummy', 'dummy', function () {
                                          var myport=location.port
                                          if(myport=="8082"){
                                           setTimeout( () => {
                                            $("#w02613").css('z-index', 45);
                                           }, 100);}
                                         /*  }, 3000);*/
                                        }, 0, true);
                                        /* -------*/
                                        
                                        waitForElement($('body'),'#w02612', 'dummy', 'dummy', function () {
                                          var myport=location.port
                                          if(myport=="8082"){
                                           setTimeout( () => {
                                            $("#w0612").css('z-index', 45);
                                           }, 100);}
                                         /*  }, 3000);*/
                                        }, 0, true);
                                        /* -------*/
                                        
                                        //Port 8072 - widgets w02614, w01427, w02306
                                        waitForElement($('body'),'#w02614', 'dummy', 'dummy', function () {
                                          var myport=location.port
                                          if(myport=="8072"){
                                           setTimeout( () => {
                                            $("#w02614").css('z-index', 45);
                                           }, 100);}
                                         /*  }, 3000);*/
                                        }, 0, true);
                                        
                                        waitForElement($('body'),'#w01427', 'dummy', 'dummy', function () {
                                          var myport=location.port
                                          if(myport=="8072"){
                                           setTimeout( () => {
                                            $("#w01427").css('z-index', 45);
                                           }, 100);}
                                         /*  }, 3000);*/
                                        }, 0, true);
                                        
                                        waitForElement($('body'),'#w02306', 'dummy', 'dummy', function () {
                                          var myport=location.port
                                          if(myport=="8072"){
                                           setTimeout( () => {
                                            $("#w02306").css('z-index', 45);
                                           }, 100);}
                                         /*  }, 3000);*/
                                        }, 0, true);
                                        


                                        Ich habe als Testwidget den gelben Balken (widget w02499) auf z-index = 40 gesetzt. Allen anderen 6 widgets habe ich keinen z-index gegeben (ich hatte vorher als Wert 10 genommen, hat aber den gleichen Effekt). Nun soll auf dem einen Tablet Port 8082 die widgets w02612, w02615, w02613 einen höheren z-index als widget w02499 (der gelbe Balken) bekommen, so dass sie quasi vor diesem dann liegen. Gleichzeitig habe ich für widget w02612 und w02613 unter Sichbarkeit eingestellt, dass diese je nach Wert eines Datenpunktes sichtbar sind oder eben nicht...
                                        Das klappt auch für 2 von den drei widgets, aber nicht für alle und ich finde den Fehler nicht.
                                        Auf Port 8072 klappt alles, wie es soll
                                        9e686168-db92-4312-ab83-99b3570f88d0-grafik.png

                                        die unteren 4 Screenshots sind auf 2 Rechnern gemacht worden, wobei der Datenpunkt zur Sichtbarkeit jedes Mal verändert wurde

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

                                          @liv-in-sky

                                          Fehler gefunden - im Skript stand bei widget w02612:

                                              $("#w0612").css('z-index', 45);
                                          

                                          anstelle von

                                              $("#w02612").css('z-index', 45);
                                          

                                          da passte die widget Nummer nicht - danke, geht alles wie es soll

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

                                          Support us

                                          ioBroker
                                          Community Adapters
                                          Donate

                                          483
                                          Online

                                          32.1k
                                          Users

                                          80.7k
                                          Topics

                                          1.3m
                                          Posts

                                          4
                                          19
                                          725
                                          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