NEWS
[gelöst] Datenpunkt in Abhängigkeit des Tablets?
-
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 -
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. -
@skokarl sagte in Datenpunkt in Abhängigkeit des Tablets?:
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?
-
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)
-
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 eindeutigsuch mal im forum nach .. hatten wir schon mal
-
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
-
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
-
@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... -
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
die beiden widgets, die bei dir andere widgets id's bekommen
-
-
@liv-in-sky
probier ich heute abend mal aus... -
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. -
-
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);
-
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
-
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)
-
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...
-
@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
-
irgendetwas passt nicht - ich finde es nicht
anbei meine 7 Beispiel widgets:
und mein angepasstes Skript:
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
die unteren 4 Screenshots sind auf 2 Rechnern gemacht worden, wobei der Datenpunkt zur Sichtbarkeit jedes Mal verändert wurde
-
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