NEWS
Control.instance abfragen
-
Hiermit kann ich für alle geöffneten Browser Fenster die View umschalten:
whoami = "FFFFFFFF"; setState("vis.0.control.instance", whoami); setState("vis.0.control.data", 'Board'); setState("vis.0.control.command", 'changeView');
3 Browser offen (FireFox, Chrome & Safari) => klappt
Ich möchte dies aber nur für MEIN Browser Fenster - daher versuche ich:
whoami = getState( "vis.0.control.instance.state"); setState("vis.0.control.instance", whoami); setState("vis.0.control.data", 'Board'); setState("vis.0.control.command", 'changeView');
Damit ändert sich die View zwar nicht mehr in allen Browsern, aber ich bekomme das Verhalten
3 Browser offen (FireFox, Chrome & Safari)
2 machen changeView (FireFox & Chrome) - Safari nicht - auch wenn ich das Script aus Safari triggere
Daher meine Frage => Wie finde ich die korrekte vis.0.control.instance für exakt meine Session?
danke
PerpetuumMobile
PS. dies ist meine erste Frage - bitte bei Dummheit um Nachsicht
-
Genau das würde ich auch gern wissen. Gibt es vielleicht ein Widget, das die Instanz anzeigt?
http://forum.iobroker.net/viewtopic.php?f=30&t=1477&p=12676&hilit=ipad+instanz#p12676
Pix
-
In der nächste Version wird basic-Screen-Resolution das zeigen:
48_img_001.png -
Hiermit kann ich für alle geöffneten Browser Fenster die View umschalten:
whoami = "FFFFFFFF"; setState("vis.0.control.instance", whoami); setState("vis.0.control.data", 'Board'); setState("vis.0.control.command", 'changeView');
3 Browser offen (FireFox, Chrome & Safari) => klappt
Ich möchte dies aber nur für MEIN Browser Fenster - daher versuche ich:
whoami = getState( "vis.0.control.instance.state"); setState("vis.0.control.instance", whoami); setState("vis.0.control.data", 'Board'); setState("vis.0.control.command", 'changeView');
Damit ändert sich die View zwar nicht mehr in allen Browsern, aber ich bekomme das Verhalten
3 Browser offen (FireFox, Chrome & Safari)
2 machen changeView (FireFox & Chrome) - Safari nicht - auch wenn ich das Script aus Safari triggere
Daher meine Frage => Wie finde ich die korrekte vis.0.control.instance für exakt meine Session?
danke
PerpetuumMobile
PS. dies ist meine erste Frage - bitte bei Dummheit um Nachsicht `
Du muss Instance ID selbst definieren oder hier rauslesen:
48_img_003.png -
Vielen Dank Bluefox !
Mit Hilfe deiner Antwort hab ich es nun folgendermassen gelöst, daß nur noch jenes Browser Fenster wechselt, in dem ich die Aktion starte:
Im on( ) Teil des Scripts gebe ich nun auch den Wert der Variable "Test" mit:
createState("javascript.0.vis.Test", false); on( 'javascript.0.vis.Test' , function (obj) { if (!(obj.newState.val === false )) { view_wechsel(obj.newState.val); } } );
Diesen Wert verwende ich um die gewünschte control.instance zu steuern
function view_wechsel (wert) { setState("javascript.0.vis.Test", false); // auf false setzen, damit nächste Änderung wieder auslöst var whoami = wert; whoami = whoami.replace (/\"/g, ""); // Anführungszeichen löschen setState("vis.0.control.instance", whoami); setState("vis.0.control.data", 'Board'); setState("vis.0.control.command", 'changeView'); }
Was noch fehlt, ist die Variable "Test" korrekt zu setzen.
Dazu habe ich ein (basic - HTML) Widget mit folgendem Inhalt erstellt:
Ich hoffe das ist nicht allzu umständlich & es hilft vielleicht jemandem weiter
Tom
-
Ich hoffe das ist nicht allzu umständlich & es hilft vielleicht jemandem weiter
Tom `
Konnte auch so gelöst werden:
Aber es ist cool, wie du das gelöst hast.
-
Ich hoffe das ist nicht allzu umständlich & es hilft vielleicht jemandem weiter
Tom `
Konnte auch so gelöst werden:
Aber es ist cool, wie du das gelöst hast.
`
-
Hallo Bluefox,
@Bluefox:In der nächste Version wird basic-Screen-Resolution das zeigen: `
habe das Update gemacht. Danke für die Entwicklung.Auf dem Desktop funktioniert es unter Chrome.
Leider nicht unter Safari (OS X El Capitan) und auch nicht auf dem iPad (iOS 9, Safari).
Kann das jemand bestätigen?
Kann leider keinen Screenshot einstellen. Default_view, Breite und Höhe werden korrekt angezeigt. Hinter "Instance:" wird nichts angezeigt.
Gruß
Pix
-
Ich kann an dieser Stelle leider nichts machen. Wie sieht es in Safari/Desktop aus?
-
Hallo,
Wie sieht es in Safari/Desktop aus? `
so (keine Anzeige):
Allerdings wird die Instanz im Edit-Modus von VIS angezeigt
:
Das müsste korrigiert werden können.
Gruß
Pix
-
@pix:Hallo,
Wie sieht es in Safari/Desktop aus? `
so (keine Anzeige):
filename="Bildschirmfoto 2015-10-29 um 14.49.49.jpg" index="1">~~Allerdings wird die Instanz im Edit-Modus von VIS angezeigt
:
filename="Bildschirmfoto 2015-10-29 um 14.53.11.jpg" index="0">~~Das müsste korrigiert werden können.
Gruß
Pix `
Man muss mindestens ein mal in Edit-Modus vis aufrufen. Dann wird auch instanz erzeugt. Danach ist die Instanz auch in Run-Time modus sichtbar. -
Hallo,
@Bluefox:Man muss mindestens ein mal in Edit-Modus vis aufrufen. Dann wird auch instanz erzeugt. Danach ist die Instanz auch in Run-Time modus sichtbar. `
auch das hat bisher keinen Erfolg gebracht.
Um Webseiten im Vollbild auf dem iPad darzustellen kann man sie dem "homescreen" zufügen. Das ist praktisch ein eigner Browser nur für diese Webseite ohne Adresszeile und Navigation. Wenn ich nun die VIS-edit.html auf diese Weise auf den Homescreen lege, dann wird mir eine Instanz angezeigt und bei Auslösung die View neu geladen. Im Anzeige MOdus (VIS index.html#Viewname) wird mir aber keine Instanz angezeigt. Auch die Instanz aus dem Edit-Modus funktioniert nicht, da das eigene Fenster von VIS edit.html wie ein eigener Browser eine eigne Nummer erzeugt.
Wer zeigt seine Views auf einem iPad und steuert über control.instance?
Gruß,
Pix
-
Hallo,
ich habe mal PerpetuumMobiles Script oben verwendet, um die Instanz auszulesen. Vom Desktop und normalen iOS 9 Safari wird die Instanz in die Variable 0.VIS.Test geschrieben. Leider aber nicht beim iOS Safari im Homescreen.
Inhalt der Variable: null
Gruß
Pix
EDIT: Der Datenpunkt vis.0.control.instance hat den Inhalt notdefined