NEWS
Nach Timeout bestimmte View aufrufen
-
Hallo,
bei mir läuft ein einfaches Script:
// View wechseln - alle 15 Min. schedule("0,15,30,45 * * * *", function () { var Zeit1 = isTimeInRange('06:05:00', '23:05:00'); if (Zeit1 === true) { setState("vis.0.control.instance", 'FFFFFFFF'); setState("vis.0.control.data", 'Titel'); setState("vis.0.control.command", 'changeView'); log ("View auf 'Titel' gewechselt."); } else { setState("vis.0.control.instance", 'FFFFFFFF'); setState("vis.0.control.data", 'Uhr'); setState("vis.0.control.command", 'changeView'); log ("View auf 'Uhr' gewechselt."); } });
Erklärung:
Nachts soll die View "Uhr" eingeblendet werden.
Tagsüber "Titel"
Und das Script "isTimeInRange" ist das Standard Script aus der iobroker Seite.
Funktioniert seit Jahren korrekt.
mfg
-
@pix:Hallo,
hast du den Thread denn ganz gelesen?
http://forum.iobroker.net/viewtopic.php … 123#p22138
Importiere mal diese Widget
[{"tpl":"tplHtml","data":{"visibility-cond":"==","visibility-val":1, "refreshInterval":"0","gestures-offsetX":0,"gestures-offsetY":0,"html": " "},"style":{"left":"721px","top":"59px"},"widgetSet":"basic"}]
auf eine View, die nach 10s weggeschaltet werden kann. Dann ändere im Widget noch DemoView auf den Namen der Zielview (zB Home)
Dann neu laden und dann sollte, nachdem du auf diese View navigiert hast und 10s keine weitere Eingabe auf dieser View machst, der Viewwechsel auf die Zielvie starten.
Pix `
Danke funktioniert einwandfrei.
-
Hallo,
bei mir läuft ein einfaches Script:
// View wechseln - alle 15 Min. schedule("0,15,30,45 * * * *", function () { var Zeit1 = isTimeInRange('06:05:00', '23:05:00'); if (Zeit1 === true) { setState("vis.0.control.instance", 'FFFFFFFF'); setState("vis.0.control.data", 'Titel'); setState("vis.0.control.command", 'changeView'); log ("View auf 'Titel' gewechselt."); } else { setState("vis.0.control.instance", 'FFFFFFFF'); setState("vis.0.control.data", 'Uhr'); setState("vis.0.control.command", 'changeView'); log ("View auf 'Uhr' gewechselt."); } });
Erklärung:
Nachts soll die View "Uhr" eingeblendet werden.
Tagsüber "Titel"
Und das Script "isTimeInRange" ist das Standard Script aus der iobroker Seite.
Funktioniert seit Jahren korrekt.
mfg `
Hallo bahnuhr!
Hab dein Script ausprobiert.
Allerdings bekomme ich eine Fehlermeldung mit der ich nichts anfange
11:53:32.438 [info] javascript.0 Stop script script.js.Auto_View_Wechsel
11:53:37.910 [info] javascript.0 Start javascript script.js.Auto_View_Wechsel
11:53:37.911 [info] javascript.0 script.js.Auto_View_Wechsel: registered 0 subscriptions and 1 schedule
12:00:00.947 [error] javascript.0 at Object. (script.js.Auto_View_Wechsel:6:17)
Kannst du mir weiterhelfen.
Danke
-
Hallo,
das Skript von Bahnuhr zeigt, wie man aus JavaScript die View wechseln kann. Allerdings nimmt das Skript keine Rücksicht auf die letzte Eingabe.
Wenn man also um 14h44min45s ans Tablet tritt und etwas macht, schaltet trotzdem 15s später die View um. Das kann unter Umständen nerven.
@PapaChriLo Hast du den Namen „Titel“ auf deinen Zielview Namen geändert?
Pix
-
@pix:Hallo,
@PapaChriLo Hast du den Namen „Titel“ auf deinen Zielview Namen geändert?
Pix `
Ja hab ich.
-
Hast du das Script von der iobroker Seite als global hinterlegt?
function currentDate() { var d = new Date(); return new Date(d.getFullYear(), d.getMonth(), d.getDate()); } function addTime(strTime) { var time = strTime.split(':'); var d = currentDate(); d.setHours(time[0]); d.setMinutes(time[1]); d.setSeconds(time[2]); return d; } function isTimeInRange(strLower, strUpper) { var now = new Date(); var lower = addTime(strLower); var upper = addTime(strUpper); var inRange = false; if (upper > lower) { // opens and closes in same day inRange = (now >= lower && now <= upper) ? true : false; } else { // closes in the following day inRange = (now >= upper && now <= lower) ? false : true; } return inRange; }
mfg
-
Nein hab ich nicht werd's dann später mal ausprobieren.
Danke jedenfalls.
-
Hab die Sache nun seit gestern am laufen.
Habe die Zeit von deinem Beispiel auf eine Minute verlängert.
Allerdings wird nicht berücksichtigt wenn ich im aktuellen View gerade etwas mache,
er wechselt jetzt immer nach einer Minute in das Home View auch wenn ich gerade etwas im aktuellen View mache.
Hab ich da noch was übersehen?
-
Zeig bitte mal dein Script
Pix
-