NEWS
[gelöst]Automatischer Vis Wechsel durch Status Änderung
-
Hallo zusammen,
Ich möchte gerne nach einem Schalter Status wechsel (Power) von True auf Fals oder generell bei einem wechsel, dass auf eine andere Vis Anzeige gewechselt wird, und nach xx sec. wieder zurück zur vorherigen Seite.
Das Thema ist nicht neu und eigentlich auch schon gelöst - leider läuft das untere script bei mir aber nicht.
Wenn ich das Script im Test ausführe kommt es zu keinem Fehler.
Aber meine Anzeige bzw. der Vis Wechsel wird nicht durchgeführt- es passiert nichts. :shock:
In der Objekt anzeige sieht man <u>keinen</u> wechsel des Status- er bleibt hier auf True stehen.
~~![](</s><URL url=)http://up.picr.de/32505616yo.jpg" />
Der Schalter (Kinderzimmerlicht.power) wechselt seinen Status- OK
Habe ich noch etwas vergessen zu Aktivieren?
Muss ich das Objekt ( script.js.Manni_Schalter.View_Wechsel) noch in Vis einbinden?
oder…...?
PS. ich habe keine Ahnung von scripte - das ist mein ernst :lol:
Vielleicht könnte mir einer das auch mal "kurz" in Blocky übersetzten - für spätere Erweiterungen die noch anstehen- Danke
LG
Mento
So sieht es bei mir aus:
on({id: 'sonoff.0.Kinderzimmerlicht.POWER', change: "any"}, function (obj) { setState("vis.0.control.command", '{"instance": "*", "command": "changeView", "data": "http://IP-Adresse/vis/index.html#Garten-Cam"}'); // oder //setState("vis.0.control.instance", '*'); //setState("vis.0.control.data", 'DemoView'); //setState("vis.0.control.command", 'changeView'); // muss immer letzte sein // Nach 10 Sekunden, zeige wieder Start View setTimeout(function () { setState("vis.0.control.command", '{"instance": "*", "command": "changeView", "data": "http://IP-Adresse/vis/index.html#Allgemein"}'); }, 10000); });
20:58:02.276 [info] javascript.0 Stop script script.js.Manni_Schalter.View_Wechsel
20:58:02.386 [info] javascript.0 Start javascript script.js.Manni_Schalter.View_Wechsel
20:58:02.387 [info] javascript.0 script.js.Manni_Schalter.View_Wechsel: registered 1 subscription and 0 schedules
20:58:02.547 [warn] javascript.0 at Object. (script.js.Manni_Schalter.View_Wechsel:2:12)
20:58:12.551 [warn] javascript.0 at Object. (script.js.Manni_Schalter.View_Wechsel:9:23)~~
-
Wirklich so wie geschrieben? Hast du im Script bei IP-Adresse nicht deine Adresse eingetragen?
Du musst dort die IP unter der IO-Broker läuft eintragen.
LG Schubi
-
Hallo zusammen,
Ich möchte gerne nach einem Schalter Status wechsel (Power) von True auf Fals oder generell bei einem wechsel, dass auf eine andere Vis Anzeige gewechselt wird, und nach xx sec. wieder zurück zur vorherigen Seite.
Das Thema ist nicht neu und eigentlich auch schon gelöst - leider läuft das untere script bei mir aber nicht.
Wenn ich das Script im Test ausführe kommt es zu keinem Fehler.
Aber meine Anzeige bzw. der Vis Wechsel wird nicht durchgeführt- es passiert nichts. :shock:
In der Objekt anzeige sieht man <u>keinen</u> wechsel des Status- er bleibt hier auf True stehen.
~~![](</s><URL url=)http://up.picr.de/32505616yo.jpg" />
Der Schalter (Kinderzimmerlicht.power) wechselt seinen Status- OK
Habe ich noch etwas vergessen zu Aktivieren?
Muss ich das Objekt ( script.js.Manni_Schalter.View_Wechsel) noch in Vis einbinden?
oder…...?
PS. ich habe keine Ahnung von scripte - das ist mein ernst :lol:
Vielleicht könnte mir einer das auch mal "kurz" in Blocky übersetzten - für spätere Erweiterungen die noch anstehen- Danke
LG
Mento
So sieht es bei mir aus:
on({id: 'sonoff.0.Kinderzimmerlicht.POWER', change: "any"}, function (obj) { setState("vis.0.control.command", '{"instance": "*", "command": "changeView", "data": "http://IP-Adresse/vis/index.html#Garten-Cam"}'); // oder //setState("vis.0.control.instance", '*'); //setState("vis.0.control.data", 'DemoView'); //setState("vis.0.control.command", 'changeView'); // muss immer letzte sein // Nach 10 Sekunden, zeige wieder Start View setTimeout(function () { setState("vis.0.control.command", '{"instance": "*", "command": "changeView", "data": "http://IP-Adresse/vis/index.html#Allgemein"}'); }, 10000); });
20:58:02.276 [info] javascript.0 Stop script script.js.Manni_Schalter.View_Wechsel
20:58:02.386 [info] javascript.0 Start javascript script.js.Manni_Schalter.View_Wechsel
20:58:02.387 [info] javascript.0 script.js.Manni_Schalter.View_Wechsel: registered 1 subscription and 0 schedules
20:58:02.547 [warn] javascript.0 at Object. (script.js.Manni_Schalter.View_Wechsel:2:12)
20:58:12.551 [warn] javascript.0 at Object. (script.js.Manni_Schalter.View_Wechsel:9:23)~~ `
Alles richtig. Nur tausche http://IP-Adresse/vis/index.html#Garten-Cam mit Garten-Cam -
Danke für die Antworten.
in meinem Script habe ich unter IP-Adresse meine 192.XXXX eingetragen.
Ich werde es heute Mittag mit der Änderung von Bluefox versuchen - Rückmeldung folgt.
setState("vis.0.control.command", '{"instance": "*", "command": "changeView", "data": "Garten-Cam"}');
-
Leider kein Erfolg - es ändert sich weiterhin nichts. :roll:
Der code lautet nun:
on({id: 'sonoff.0.Kinderzimmerlicht.POWER', change: "any"}, function (obj) { setState("vis.0.control.command", '{"instance": "*", "command": "changeView", "data": "Garten-Cam"}'); // oder //setState("vis.0.control.instance", '*'); //setState("vis.0.control.data", 'DemoView'); //setState("vis.0.control.command", 'changeView'); // muss immer letzte sein // Nach 10 Sekunden, zeige wieder Start View setTimeout(function () { setState("vis.0.control.command", '{"instance": "*", "command": "changeView", "data": "Allgemein"}'); }, 10000); });
18:27:35.741 [info] javascript.0 Stop script script.js.Manni_Schalter.View_Wechsel
18:27:35.763 [info] javascript.0 Start javascript script.js.Manni_Schalter.View_Wechsel
18:27:35.764 [info] javascript.0 script.js.Manni_Schalter.View_Wechsel: registered 1 subscription and 0 schedules
18:28:03.126 [warn] javascript.0 at Object. (script.js.Manni_Schalter.View_Wechsel:2:12)
18:28:13.128 [warn] javascript.0 at Object. (script.js.Manni_Schalter.View_Wechsel:9:23)
Zum besseren Verständnis meiner View hier mal ein Bild davon.- vielleicht erkennt man so einen Fehler in der Abhandlung.
Wenn der untere Schalter Alarm an geht - wird der Status von dem sonoff.0.Kinderzimmerlicht.POWER von true auf fals geschaltet - das klappt.
Nun soll von dem Tab Allgemein/view auf das Tab/view Garten-Cam ( Rote Pfeile) gewechselt werden- das klappt nun nicht.
Über den den Button Garten Ansicht kann ich Manuell auf die Seite Garten-Cam wechsel- das ist ok.
Ich habe grade auch nochmal eine Aktualisierung der vorhanden Adapter durchgeführt - das brache hier aber auch kein erfolg.
Vielleicht fällt euch ja auch eine andere Möglichkeit ein wie ich meinen Wunsch umsetzen könnte.
Ein Manuellen wechsel per Alexa würde ich später gerne auch noch umsetzen.- das ist aber erst prio 2
![](</s><URL url=)http://up.picr.de/32511621ho.jpg" /> -
Leider kein Erfolg - es ändert sich weiterhin nichts. :roll:
Der code lautet nun:
on({id: 'sonoff.0.Kinderzimmerlicht.POWER', change: "any"}, function (obj) { setState("vis.0.control.command", '{"instance": "*", "command": "changeView", "data": "Garten-Cam"}'); // oder //setState("vis.0.control.instance", '*'); //setState("vis.0.control.data", 'DemoView'); //setState("vis.0.control.command", 'changeView'); // muss immer letzte sein // Nach 10 Sekunden, zeige wieder Start View setTimeout(function () { setState("vis.0.control.command", '{"instance": "*", "command": "changeView", "data": "Allgemein"}'); }, 10000); });
18:27:35.741 [info] javascript.0 Stop script script.js.Manni_Schalter.View_Wechsel
18:27:35.763 [info] javascript.0 Start javascript script.js.Manni_Schalter.View_Wechsel
18:27:35.764 [info] javascript.0 script.js.Manni_Schalter.View_Wechsel: registered 1 subscription and 0 schedules
18:28:03.126 [warn] javascript.0 at Object. (script.js.Manni_Schalter.View_Wechsel:2:12)
18:28:13.128 [warn] javascript.0 at Object. (script.js.Manni_Schalter.View_Wechsel:9:23)
Zum besseren Verständnis meiner View hier mal ein Bild davon.- vielleicht erkennt man so einen Fehler in der Abhandlung.
Wenn der untere Schalter Alarm an geht - wird der Status von dem sonoff.0.Kinderzimmerlicht.POWER von true auf fals geschaltet - das klappt.
Nun soll von dem Tab Allgemein/view auf das Tab/view Garten-Cam ( Rote Pfeile) gewechselt werden- das klappt nun nicht.
Über den den Button Garten Ansicht kann ich Manuell auf die Seite Garten-Cam wechsel- das ist ok.
Ich habe grade auch nochmal eine Aktualisierung der vorhanden Adapter durchgeführt - das brache hier aber auch kein erfolg.
Vielleicht fällt euch ja auch eine andere Möglichkeit ein wie ich meinen Wunsch umsetzen könnte.
Ein Manuellen wechsel per Alexa würde ich später gerne auch noch umsetzen.- das ist aber erst prio 2
![](</s><URL url=)http://up.picr.de/32511621ho.jpg" />`Bei mir geht. Baue LOG vor dem setState -
> Baue LOG vor dem setState
ich weiss nun nicht wie ich LOG vor dem setState bauen soll - kenne mich wie gesagt so nicht in der script Erstellung aus.
Im Iobroker Admin Log steht folgendes:
javascript.0 2018-04-26 20:21:20.117 warn at Object. (script.js.Manni_Schalter.View_Wechsel:9:23) javascript.0 2018-04-26 20:21:20.115 warn State "vis.0.control.command" not found javascript.0 2018-04-26 20:21:10.114 warn at Object. (script.js.Manni_Schalter.View_Wechsel:2:12) javascript.0 2018-04-26 20:21:10.110 warn State "vis.0.control.command" not found javascript.0 2018-04-26 20:20:19.759 warn at Object. (script.js.Manni_Schalter.View_Wechsel:9:23) javascript.0 2018-04-26 20:20:19.757 warn State "vis.0.control.command" not found javascript.0 2018-04-26 20:20:09.755 warn at Object. (script.js.Manni_Schalter.View_Wechsel:2:12) javascript.0 2018-04-26 20:20:09.751 warn State "vis.0.control.command" not found javascript.0 2018-04-26 20:19:39.999 info script.js.Manni_Schalter.View_Wechsel: registered 1 subscription and 0 schedules javascript.0 2018-04-26 20:19:39.994 info Start javascript script.js.Manni_Schalter.View_Wechsel
-
Der Fehler wurde gefunden.
Danke für deine mühe Bluefox - du hattest recht, das Script war soweit Richtig.
Es gibt aber noch ein Kleinigkeit im Script - wo ich Hilfe benötige.
Fehler:
Ich hatte vor Projekt beginn die Vis Version 1.0.4 als ich dann mit dem Vis Wechsel begann habe ich ein Update auf Version 1.1.1 gemacht.
Heute viel auf das mein neu gebauter Schalter Widget keine Eigenschaften mehr Angezeigt hat.
~~![](</s><URL url=)http://up.picr.de/32519460dl.jpg" />
Der Schalter ist genannte Sonoff.0.Kinderzimmer…
Ein Freund sagte mir vorhin das er die Version 1.1.4 am laufen hätte.
Das war im Grunde der Fehler.
Mit dem Update auf 1.1.4 hat der schalter / Widget wieder seine Eigenschaften und reagiert somit auf das Script.
Der Wechsel lief direkt nach dem Status wechsel des Sonoff - soweit ok.
~~![](</s><URL url=)http://up.picr.de/32519500rb.jpg" />
Nun noch mein Kleines Problem.
Der View wechsel auf die Seite Garten-Cam läuft nun richtig ab - Alarm wurde also erkannt - schalter geschaltet - view wechsel.
Nun wird die Seite Garten-Cam solange angezeigt bis der schalter auf Alarm aus - true geschaltet wird.
Der wechsel auf Allgemein funktioniert dann auch noch Richtig- so sollte es bleiben alles ok.
Fehler:
Nach einigen Minuten wechselt die View Ansicht nun aber wieder auf die Garten-Cam ohne das der schalter Alarm (sonoff ) erkannt wird - das ist Falsch. Diese Anzeigt bleibt dann auf Garten-Cam stehen.
Es sollte aber die Seite Allgemein angezeigt bleiben- bis zum nächsten Status wechsel.
****Vielleicht könnte man noch eine Zyklische Abfrage vom Status mit einbauen :?:
Oder besser, weiß jemand warum der ungewollte wechsel auf Garten-Cam durchgeführt wird, und wie man es abschalten könnte :?:****
Die Nächste Herausforderung wäre dabei noch das ich 2 Kameras überwachen/Anzeigen möchte.
Der zweite schalter sagen wir mal sonoff 2 sollte dann die View Hof-Cam schalten.
Tja und nun dürfen sich bei Aktionen nicht stören :?
Das ist mein Aktueller Code: Edit - das war nur ein versuch - grade gemerkt das es so gar nicht läuft also ignorieren
on({id: 'sonoff.0.Kinderzimmerlicht.POWER', change: "any"}, function (obj) { setState("vis.0.control.command", '{"instance": "false", "command": "changeView", "data": "Garten-Cam"}'); // oder //setState("vis.0.control.instance", '*'); //setState("vis.0.control.data", 'DemoView'); //setState("vis.0.control.command", 'changeView'); // muss immer letzte sein // Nach 10 Sekunden, zeige wieder Start View setState("vis.0.control.command", '{"instance": "true", "command": "changeView", "data": "Allgemein"}'); });
So läuft der wechsel - allerdings nicht nach den festen vorgaben vom schalter zustand false oder true.
Und der Timeout müsste raus - das hatte ich oben im script versucht- aber läuft gar nicht.
on({id: 'sonoff.0.Kinderzimmerlicht.POWER', change: "any"}, function (obj) { setState("vis.0.control.command", '{"instance": "*", "command": "changeView", "data": "Garten-Cam"}'); // oder //setState("vis.0.control.instance", '*'); //setState("vis.0.control.data", 'DemoView'); //setState("vis.0.control.command", 'changeView'); // muss immer letzte sein // Nach 10 Sekunden, zeige wieder Start View setTimeout(function () { setState("vis.0.control.command", '{"instance": "*", "command": "changeView", "data": "Allgemein"}'); }, 80000); }); ````~~~~
-
Nachtrag,
hier sieht man das der schalter richtig schaltet.
Die View Ansicht müsste am Schluss auf Allgemein stehen bleiben.
Wechselt aber später nach ein paar min auf Garten-Cam
![](</s><URL url=)http://up.picr.de/32520119lk.jpg" /> -
Zusatz Info:
Es ist ein Zeitliches Muster bei den ungewollten View wechsel zu erkennen.
Hier die Uhrzeiten und der Verlauf.
Die Ansicht Allgemein bleibt immer für 03:40 min angezeigt bis die Ansicht auf Garten-Cam wechselt.
Die Ansicht Garten Cam bleibt dann immer für 01:20 min angezeigt bis die Ansicht wieder auf Allgemein wechselt.
So plus minus 5 sec.
Ich suche noch den Grund dafür - eigentlich sollte hier kein Wechsel stattfinden.
Das geht so immer weiter:
View Ansicht Allgemein 0:09:25 Uhr dann wechsel auf Garten Cam.
View Ansicht Garten-Cam 0:13:05 Uhr dann wechsel auf Allgemein.
View Ansicht Allgemein 0:14:25 Uhr dann wechsel auf Garten Cam.
View Ansicht Garten-Cam 0:18:05 Uhr dann wechsel auf Allgemein.
View Ansicht Allgemein 0:19:25 Uhr dann wechsel auf Garten Cam.
View Ansicht Garten-Cam 0:23:05 Uhr dann wechsel auf Allgemein.
View Ansicht Allgemein 0:24:25 Uhr dann wechsel auf Garten Cam.
-
Ich versuche den wechsel der Views mal über Blockly- vieleicht kommt man so weiter. :roll:
Leider will das nicht klappen - seht ihr den Fehler?
![](</s><URL url=)http://up.picr.de/32526872kn.jpg" /> -
Auch wenn ich zum Schluss nur noch mit mir selbst schreibe, der View Wechsel über Status wechsel wurde wie folgt gelöst:
Vielleicht kann das später noch jemand gebrauchen.
~~![](</s><URL url=)http://up.picr.de/32532459ya.png" />
Im Funktionsblock wurden das entsprechende Script für den jeweiligen Seiten Aufruf eingefügt.
Seite 1 Garten:
~~![](</s><URL url=)http://up.picr.de/32532470wl.png" />
Seite 2 Allgemein
![](</s><URL url=)http://up.picr.de/32532473mw.png" />~~~~ -
Vielen lieben Dank. Habe es gerade in Blockly nachgebaut und es funktioniert perfekt!!