NEWS
[gelöst] Zurück zum Homeview
-
Hallo Bluefox,
danke für dein Widget, funktioniert es bei mir super.
Ich habe das über die alle Button gelegt und nun funktioniert es wie gewünscht.
Gruß Sven
Du musst den gar nicht über alle widgets liegen. Der reagiert auf jeden Click auf allen views. Kannst du unsichtbar machen oder klitzeklein.
Kannst du mir auch noch sagen, was ich ändern oder einfügen muss, damit das Widget erst nach dem letzten Tastendruck die Zeit runter zählt?
Genau das habe ich gemeint mit:
Danach kann man überlegen, wie man das mit anderen Views machen kann.
So muss gehen:
function checkHome() { if (vis.actualView !== 'DemoView') { if (window.____timeout) clearTimeout(window.____timeout); window.____timeout = setTimeout(function () { window.____timeout = null; vis.changeView('DemoView'); }, 10000); } } if (!vis.editMode && !window.___installed) { window.___installed = true; $(document).on('click touchstart', checkHome); checkHome(); // start timer }
Muss nur auf jeden View existieren. (ausser Home)
-
Hallo Bluefox,
wie binde ich denn dein Script auf jedem View ein? Wenn ich das als Widget einfügen will bekomme ich immer einen Fehler.
So muss gehen:
function checkHome() { if (vis.actualView !== 'DemoView') { if (window.____timeout) clearTimeout(window.____timeout); window.____timeout = setTimeout(function () { window.____timeout = null; vis.changeView('DemoView'); }, 10000); } } if (!vis.editMode && !window.___installed) { window.___installed = true; $(document).click(checkHome); checkHome(); // start timer }
Muss nur auf jeden View existieren. (ausser Home)
Gruss Sven
-
Ich habe grade gemerkt, dass es noch ein kleines Problem gibt.
Ich muss immer "aktiv" auf Homeview klicken, dann auf ein belibiges View und nach 10 Sekunden schaltet aus automatisch auf das Homeview zurück. Soweit perfekt.
Klicke ich danach ein anderes View an, geht das leider nicht.
Ich muss dann wieder auf das Homeview klicken und mit dem nächsten klick auf ein anderes View wird wieder wie gewünscht zurück auf Homeview gewechselt.
Hat das noch jemand, der diese Version versucht hat?
-
Hallo Bluefox,
wie binde ich denn dein Script auf jedem View ein? Wenn ich das als Widget einfügen will bekomme ich immer einen Fehler.
So muss gehen:
Code: Alles auswählen
function checkHome() {
if (vis.actualView !== 'DemoView') {
if (window.____timeout) clearTimeout(window.____timeout);
window.____timeout = setTimeout(function () {
window.____timeout = null;
vis.changeView('DemoView');
}, 10000);
}
}
if (!vis.editMode && !window.___installed) {
window.___installed = true;
$(document).on('click touchstart', checkHome);
checkHome(); // start timer
}
Muss nur auf jeden View existieren. (ausser Home)
Gruss Sven `
Hast du das erledigt? -
Leider nein, das habe ich noch nicht hinbekommen.
Gruß Sven
Gesendet von iPhone mit Tapatalk
-
Leider nein, das habe ich noch nicht hinbekommen.
Gruß Sven
Gesendet von iPhone mit Tapatalk `
Importiere dieses Widget auf jeder Seite und mach es klein.[{"tpl":"tplHtml","data":{"visibility-cond":"==","visibility-val":1, "refreshInterval":"0","gestures-offsetX":0,"gestures-offsetY":0,"html": " "},"style":{"left":"721px","top":"59px"},"widgetSet":"basic"}]
-
Hallo,
kleine Rückmeldung:
–> Haut bei mir im Chrome Browser einwandfrei hin!
--> In der VIS APP geht es auch tadellos
-
Hallo,
hier auch meine Rückmeldung.
Firefox funktioniert einwandfrei - bis das Tablet in den Ruhezustand geht. Nach dem aufwachen, muss immer zunächst der Homebutton gedrückt werden. Danach funktioniert es dann wieder.
Vielen Dank dafür Bluefox.
Hat das mit dem nach dem Standby des Tablets noch jemand?
Gruß Sven
Gesendet von iPhone mit Tapatalk
-
So muss gehen:
function checkHome() { if (vis.actualView !== 'DemoView') { if (window.____timeout) clearTimeout(window.____timeout); window.____timeout = setTimeout(function () { window.____timeout = null; vis.changeView('DemoView'); }, 10000); } } if (!vis.editMode && !window.___installed) { window.___installed = true; $(document).click(checkHome); checkHome(); // start timer }
Muss nur auf jeden View existieren. (ausser Home) `
Hallo Bluefox,
hab zwar keine Ahnung, aber kann es sein das $(document).click bei Touchpanels nicht 100% funktioniert? Ich hatte immer das Problem das ich dann auf dem View was betätigen musste damit es zurück zur HomeView schaltet.
Ich habe es durch $(document).on('click touchstart',checkHome); jetzt scheint es zu gehen!
Oder ist das kompletter Blödsinn was ich da gemacht habe?
-
So muss gehen:````
function checkHome() {
if (vis.actualView !== 'DemoView') {
if (window.____timeout) clearTimeout(window.____timeout);window.____timeout = setTimeout(function () { window.____timeout = null; vis.changeView('DemoView'); }, 10000); }
}
if (!vis.editMode && !window.___installed) {
window.___installed = true;
$(document).click(checkHome);
checkHome(); // start timer
}Muss nur auf jeden View existieren. (ausser Home) `
Hallo Bluefox,
hab zwar keine Ahnung, aber kann es sein das $(document).click bei Touchpanels nicht 100% funktioniert? Ich hatte immer das Problem das ich dann auf dem View was betätigen musste damit es zurück zur HomeView schaltet.
Ich habe es durch $(document).on('click touchstart',checkHome); jetzt scheint es zu gehen!
Oder ist das kompletter Blödsinn was ich da gemacht habe? `
Alles absolut richtig. Danke. -
Hallo,
ich habe 2 Tablets mit "unterschiedlichen Hauptviews", da unterschiedliche Auflösung.
Da läuft dieses "Widget" natürlich bei dem 2. Tablet ins Leere. Könnte man stattdessen die Funktion so umbauen, dass die jeweilige Seite auf den zuvor angewählte View zurück kommt?
-
Hallo,
Sorry, dass ich den alten Thread rauskrame.
Ich nehme das Script für einen Bildschirmschoner welcher mir nur die Uhrzeit und evtl. 1-2 wichtige Dinge anzeigt. Per klick auf das Touchscreen bin ich dann auf dem Homescreen.
Jetzt mein Problem:
Wenn ich die Bildschirmschoner-View über dieses Script aufrufe, zeigt er mir die TimeWidgets nicht an.
Wenn ich die Bildschirmschoner-View direkt über einen Button aufrufe, funktioniert alles.
Hat jemand eine Idee ober braucht Ihr mehr Infos von mir?
Danke euch vorab und Gruß
Marcus
-
Hallo,
Sorry das ich nochmal nerve - aber heute wegen etwas anderen (Ich habe eine andere Uhr genommen welche bleibt).
Wie kann ich gleichzeitig auch eine Variabel setzen? Ist bestimmt ganz leicht aber ich bekomme es als Anfänger einfach nicht hin
Eingefügt habe ich:" setState("vis.0.datapoints.indexView",0);"
Mein Code:
-
Hey,
hat niemand eine Idee?
Gruß
Marcus
-
In IOBroker vis existiert bei der JS Variante mit changeView() noch irgendwo ein timing Problem.
Ich kann das Problem nachstellen (auf allen OS), bei mir ist die Seite, auf die gesprungen wird, dann leer.Im (chrome) debugger sehe ich noch für ca 10 sekunden die alte view im DOM tree, welche danach aber wie von Geisterhand verschwindet und der container, der die neue view enthalten soll ist dann leer.
Edit: Wenn ein Experte das bei sich nachstellen will, kann ich auch gerne mal ein Beispielprojekt fertig machen.
Was interessant ist: ich habe auch eine Uhr in der view, auf die ich dann automatisch springe.