NEWS
VIS auf mehreren Geräten gleichzeitig steuern
-
Hallo Leute,
ich stehe irgendwie komplett auf dem Schlauch. Ich habe mir in den letzten Jahren ein recht umfangreiche VIS gebaut und möchte dieses nun auf mehreren Endgeräten gleichzeitig anzeigen und steuern.
Ich habe dazu das ursprüngliche Projekt mehrfach dupliziert und für die unterschiedlichen Display-Größen der anderen Geräte angepasst. Soweit richtig, oder?
Das Nervige ist jetzt natürlich, dass ich jede Änderungen am VIS in jedem Projekt einzeln einpflegen muss. Wenn sich etwa ein Datenpunkt ändert oder ich ein neues Feature einbauen möchte, muss ich das in jedem Projekt einzeln machen. Soweit aber auch richtig, oder?
Nun ist es aber so, dass das Umschalten der Views auf einem Gerät sich auf alle anderen auswirkt. Also drücke ich im Smartphone -Projekt den Button "Licht", wechselt auch das Tablet-Projekt den View.
Jetzt habe ich hier mal ein bisschen nach Instanz IDs gesucht aber muss zugeben, dass ich nach seitenlangem Lesen irgendwann einfach gar nix mehr verstanden habe leider...
Gibt es irgendwo eine leicht verständliche Schritt-für-Schritt-Anleitung, wie ich die verschiedenen Projekte einer VIS so entkoppele, dass sich jedes Projekt einzeln auf dem jeweiligen Endgerät bedienen lässt?
Oder noch eine zusätzliche Frage: Kann ich auch ein Projekt auf mehreren Endgeräten parallel aufrufen und unabhängig voneinander bedienbar machen?
-
@smartin23 das Thema ist ein wenig komplex.
da:
1: kein Plan welche VIS du nutzt
2: kein Plan wie diese aussieht und was du mit 'Also drücke ich im Smartphone -Projekt den Button "Licht", wechselt auch das Tablet-Projekt den View.'
3: kein Plan wie du die Aufgebaut hastdie InstanzID ist die jeweilige Endgerätnummer die einmalig generiert wird bei Vis aufruf.. die kann sich aber ändern wenn der Browser die Cookies löscht.
-
@arteck Danke! Sorry, hier die Infos:
- Ich verwende vis 1.5.6
- Ich habe meinen Navigationsbuttons im Navigationsview die einzelnen Views im Feld data-view zugeordnet, etwa data-view="Licht". Sobald ich drauf drücke, wechselt halt der View auf "Licht".
- Ich habe die Visualisierung mittlerweile in verschiedenen Projekten gespeichert und jedes Projekt ans Display des jeweiligen Gerätes angepasst: Smartphone, Tablet, etc. Auf den Geräten läuft die VIS entweder im Fully Browser oder einer IOBroker-App. In den Einstellungen haben die Apps auch jeweils eine eigene Instanz ID.
Und an dieser Stelle komme ich leider nicht mehr hinterher. Ich verstehe einfach nicht, wie ich die Projekte so trennen kann, dass der Button "Licht" in Projekt A mit dem Befehl data-view="Licht" nicht auch den View "Licht" in Projekt B triggert.
-
@smartin23 sagte in VIS auf mehreren Geräten gleichzeitig steuern:
Und an dieser Stelle komme ich leider nicht mehr hinterher. Ich verstehe einfach nicht, wie ich die Projekte so trennen kann, dass der Button "Licht" in Projekt A mit dem Befehl data-view="Licht" nicht auch den View "Licht" in Projekt B triggert.
so wie du es aufgebaut hast : garnicht.. da die View per state geschaltet wird.. ergo ändert sich dieser, dann eben für alle Projekte diesen beinhalten
du musstest die instanz ID mit berücksichtigen.. und jetzt wirds kompliziert.
https://github.com/ioBroker/ioBroker.vis/issues/250
https://forum.iobroker.net/topic/48663/howto-skripte-im-vis-editor-mit-jquery/2
https://forum.iobroker.net/post/1127981 -
@arteck Ich hab's immer noch nicht kapiert.
Wenn ich am Handy den View wechsle, ändert sich am Wandtablet im Wohnzimmer....nichts!Wahrscheinlich liegt mein Verständnisproblem an dem unscheinbaren Wörtchen
@smartin23 sagte in VIS auf mehreren Geräten gleichzeitig steuern:
möchte dieses nun auf mehreren Endgeräten gleichzeitig anzeigen und steuern.
Dazu wie das umgesetzt wurde (wenn das gemeint sein sollte) ist nichts gesagt.
-
Ich habe meinen Navigationsbuttons im Navigationsview die einzelnen Views im Feld data-view zugeordnet, etwa data-view="Licht". Sobald ich drauf drücke, wechselt halt der View auf "Licht".
da stehts..
nutze ich auch so.. mit bestimmten Widgets.. da wird nicht die View direkt sondern über ein DP getriggert und angezeigt -
@smartin23 naja, Vis und responsive ist ein eigenes Kapitel. Nichts gegen Vis, aber mir war das einfach zu mühselig.
Hab dann iQontrol entdeckt. Responsive, passt sich automatisch an die Display Größe an. Klar, nicht so fein einstellbar. Gibt halt einige Vorgaben, trotzdem kann man schönes kreieren.
Dafür kann ich am PC mehrere Tabs offen haben und in jedem eine andere View offen haben, schalten wie ich will. Die Änderungen werden trotzdem übernommen, da halt nur ein Projekt. -
@arteck sagte in VIS auf mehreren Geräten gleichzeitig steuern:
da stehts..
Da hätte für mich auch chinesisch stehen können.
@arteck sagte in VIS auf mehreren Geräten gleichzeitig steuern:
nutze ich auch so..
dann hast du einen Wissensvorsprung.
ich lese da keine Endgeräte übergreifende Steuerung raus.
Läuft doch alles nur in dem View ab.Ganz abgesehen davon, will ich doch nicht während ich am Handy die Heizungssteuerung anpasse, dass mein View wechselt weil meine Frau im Wohnzimmer nach dem Fernsehprogramm sehen will.
-
Danke für die Rückmeldungen! Anscheinend ist es ja doch recht kompliziert. Und auch gar nicht so einfach zu erklären…
Ich versuche es noch mal, mein Problem zu schildern:
Ich habe in meinem vis mehrere Projekte, die alle ähnlich sind aber jeweils auf die Bildschirmgröße verschiedener Endgeräte abgestimmt sind. Ein Projekt fürs Fire-Tablet, ein Projekt fürs iPad, ein Projekt fürs Smartphone, etc.
Jedes Projekt besteht auf vier Views (Startseite, Licht, Musik, Strom) und einer Navigationsleiste, die in jedem View unten zu sehen ist.
Die Navigationsleiste besteht aus den vier Buttons Startseite, Licht, Musik und Strom und jeder Button verweist im HTML-Code mit z.B. data-view=“Licht“ auf den dazugehörigen View.
Und wenn ich jetzt auf dem Smartphone den View auf „Licht“ umschalte, springt auch in meinem Fire-Tablet der View auf „Licht“.
Was ist denn der einfachste Weg, das zu verhindern?
Und: Kann ich das auch innerhalb eines Projektes verhindern? Also wenn ich das identische Projekt auf meinem Fire-Tablet in der Küche, im Schlafzimmer und im Wohnzimmer nutze? So dass jedes Tablet unabhängig von den anderen seinen View wechseln kann?
-
@smartin23 sagte in VIS auf mehreren Geräten gleichzeitig steuern:
Kann ich das auch innerhalb eines Projektes verhindern? Also wenn ich das identische Projekt auf meinem Fire-Tablet in der Küche, im Schlafzimmer und im Wohnzimmer nutze? So dass jedes Tablet unabhängig von den anderen seinen View wechseln kann?
das ist nach meinem Kenntnisstand der normale Zustand.
ich hhabe nur ein Projekt, da kann jeder sich ansehen was er will.Deswegen verstand ich es nicht.
wieso ein Viewwechsel sogar projektübergreifend wirksam ist, verstehe ich auch nicht.
Das müsste ggf. an dem
@smartin23 sagte in VIS auf mehreren Geräten gleichzeitig steuern:
HTML-Code mit z.B. data-view=“Licht“
liegen
ich nutze die Bar-navigation widgets, da wird nur ein view aus dem Projekt in einer Dropdownnliste ausgewählt zu dem gesprungen wird.
Und das passiert nur an dem jeweiligen Endgerät -
Danke! Okay, das kann sein. Ich habe das damals in den Code implementiert - da ich es für meinen Anwendungsfall einfacher fand, die gesamte Navigationsleiste komplett als ein HTML-Element zu programmieren.
Vielleicht kennt jemand hierfür auch noch eine Lösung.
-
@smartin23 sagte in VIS auf mehreren Geräten gleichzeitig steuern:
Vielleicht kennt jemand hierfür auch noch eine Lösung.
mit Sicherheit nicht ohne deinen Code zu kennen.
-
@smartin23
Hast du denn mal geschaut ob in dem Datenpunkt für die Instanzen auch wirklich die Instanz drin steht? Weil wenn dort fffff oder so drin steht werden einfach alle Instanzen geschälten. -
@peoples sagte in VIS auf mehreren Geräten gleichzeitig steuern:
Weil wenn dort fffff oder so drin steht werden einfach alle Instanzen geschälten.
auch in einem anderen Projekt?
-
@homoran
Das ist eine sehr gute Frage, ich habe damals ewig rum gemacht. Glaube aber tatsächlich dass es so war bis ich explizit die Instanz angegeben habe.Lässt sich aber ja ganz leicht testen indem er in die datenpunkte direkt schreibt
-
@peoples Danke!
solange keiner seinen Code kennt, ist es sowieso Kaffeesatzleserei. -
ggf. ist das eine Lösung: https://forum.iobroker.net/topic/57429/gelöst-vis-auf-2-clients/13?_=1734455393863