NEWS
VIS changeView per Control/data fehlerhaft
-
1.3.7
Ich habe zwei Projekte:- HOME
- TV
Beim 1. Projekt HOME sollen die Views abhängig von Sensoren umgeschaltet werden. Wird nun ein Sensor ausgelöst, wird entsprechend das control.data Objekt gefüllt mit "HOME/BÜRO" und mit control.command = "changeView" dann ausgelöst. Das funktioniert auch soweit für das Projekt 1 HOME.
Beim 2.Projekt TV sind zwei View angelegt.
- View mit dem Widget "TV-Program control"
- View mit dem Widget "TV-Program timetable1"
Starte ich nun das Projekt TV mit 2.View "TV-Program timetable1" und ein Sensor löst aus, dann wird plötzlich das 1 View angezeigt, obwohl es gar nicht ausgewählt wurde und es steht in der Browserzeile die View die vom Sensor angesteuert werden soll.
Aber nicht zum richtigen Projekt. (Logik scheint zu sein, wenn das View nicht vorhanden ist, spring zum 1.View)http://192.168.178.89:8082/vis/index.html?TV#BÜRO
Das View "Büro" gibt es nicht im Projekt TV.
Gilt auch für "http://192.168.178.89:8082/vis/index.html?TV#WOHNZIMMER", hat also nichts mit dem Umlaut zu tun.Laut Beschreibung zum Adapter: https://github.com/ioBroker/ioBroker.vis
changeView - switch to desired view. "control.data" must have name of view. You can specify project name too as "project/view". Default project is "main".
Mach ich was falsch oder ist es ein BUG?
Habe dazu ein Issue auf Github eingetragen: https://github.com/ioBroker/ioBroker.vis/issues/345 -
@mcu sagte in VIS changeView per Control/data fehlerhaft:
http://192.168.178.89:8082/vis/index.html?TV#WOHNZIMMER
Muss laut Anleitung zwischen Projekt und View nicht ein „/„ anstelle eines „#“ !?
Oder habe ich jetzt was falsch verstanden?
-
@wendy2702 Ja ist auch im control.data so, nur in der Browserzeile wird es dann geändert. Da habe ich kein Einfluss.
-
Kenne dein Script nicht bzw. hast du dazu zwei Scripte jeweis zum Projekt passend erstellt .
So wie ich das verstehe hast du ein festen Sensor als Trigger .Hört sich so an, als würde das Script zu schnell abarbeiten bzw. das die alten Werte " vis.0.control.data" vom alten Viewwechsel noch vorhanden sind und dadürch wird das falsche View geladen .
Nur eine Vermutung .
-
@glasfaser Es gibt mehrere Scripte. Pro Sensor ein Script. Aber das ist nicht das Problem.
Das Problem ist, dass das 2. Projekt TV vom changeView beeinflusst wird, obwohl es gar nicht angesprochen wird.Das 2. Projekt TV wird durch keinen Sensor angesprochen bzw verändert, dies soll einfach "nur" wie eingestellt angezeigt werden.
Die Sensoren steuern nur das 1.Projekt HOME an, mit "HOME/ORT" im Datenpunkt vis.0.control.data und anschließendem command "changeView".
Trotzdem wird das 2.Projekt TV angesprochen mit dem View vom 1.Projekt HOME, was natürlich dort gar nicht zu finden ist, wodurch dann dessen View, auf die ersten View (Projekt TV), umspringt. -
Es müßte dann eine Bedingung rein , was dann nur auf das Projekt "HOME" (im VIS) aktiv ist und erst dann triggert.
Mhh ... gute Frage
-
@glasfaser Laut Beschreibung sollte er genau das machen:
changeView - switch to desired view. "control.data" must have name of view. You can specify project name too as "project/view". Default project is "main".
-
Eingentlich geht das nicht (hin und her schalten zwischen den Projekten ), da ja im Hintergrund vom jeweiliegen Projekt im Runtime die vis-views.json geladen wird .
Dann würde eher die Abfrage dazu nicht funktionieren , das er nur schalten darf wenn ich auch das passende Projekt im Runtime dazu an habe .
-
@glasfaser Wenn ich mehrere Projekte habe, dann habe ich im Netz ein Tablet mit dem 1.Projekt und ein anderes Tablet mit 2. Projekt. Dann muss es laut Beschreibung, wie oben erwähnt, möglich sein, jede einzelne View vom einem Projekt umzuschalten mit Hilfe "Projekt/view" in control.data DP.
-
@mcu sagte in VIS changeView per Control/data fehlerhaft:
dann habe ich im Netz ein Tablet mit dem 1.Projekt und ein anderes Tablet mit 2. Projekt.
Warte mal ...
Was hast du im Script bei vis.0.control.instance stehen FFFFFFFF ???
-
@glasfaser Tja, das ist wieder so ne Sache mit der Instance, die wird immer wieder von der Vis, die gerade aktiv ist, überschrieben.
Da man ja mehrere Bildschirme für jedes einzelne Projekt hat, kann man dort gar keine verlässlichen Daten eingeben.
Sowieso egal was man einträgt, er sendet an alle Browser. -
@mcu sagte in VIS changeView per Control/data fehlerhaft:
...... für jedes einzelne Projekt hat, kann man dort gar keine verlässlichen Daten eingeben........
Sowieso egal was man einträgt, er sendet an alle Browser.Den Datenpunkt überschreibst du doch mit deinem Script , vor dem umschalten und trotzdem werden alle Browser angesprochen !!?
-
@glasfaser Ich schreibe dort in die instance nichts rein, da es egal ist. Und wenn dann würde ich ja FFFFFFFF eintragen damit ich alle Browser erreiche.
-
@mcu sagte in VIS changeView per Control/data fehlerhaft:
@glasfaser Ich schreibe dort in die instance nichts rein, da es egal ist.
Ok ... eigentlich nicht , denn dort weißt man eigentlich die Browser ID zu , bei Nutzung von meheren Tablet´s
Wie ich sehe nutzt du jarvis v2.1.0 , kann es vielleicht damit zusammenhängen !??
-
@glasfaser Ich nutze zwar JARVIS
2.2.0-beta.31
, aber das Problem habe ich mit der normalen VIS ohne JARVIS festgestellt. Die JARVIS Umgebung nutzt dann die VIS-VIEW im iFrame. -
Ich nutze jarvis nicht , war halt nur eine Frage , ob ... wenn ... aber ....
-
@glasfaser Um es jetzt nochmal zu testen, habe ich jetzt jedem VIEW-Wechsel eine festgelegte Instanz-ID für das Projekt hinzugefügt.
Diese bleibt auch momentan unverändert. Trotzdem ändert sich die VIEW in dem 2. Projekt TV. -
@mcu sagte in VIS changeView per Control/data fehlerhaft:
festgelegte Instanz-ID
Und diese hast du vorher mit dem passenden Widget abgefragt !?
-
@wendy2702 Welches passende Widget meinst du da?
-