NEWS
Per Alexa vis views steuern
-
Hallo Guru,
nein damit bin ich nicht vertraut aber habe jetzt einen neuen Anhaltspunkt nach dem ich schauen kann.
Mal sehen was ich dazu finde falls ich noch Fragen haben sollte melde ich mich.
Gruß,
Thorsten `
kein guru sondern Dutch
schau mal hier bei der vis docu: https://github.com/ioBroker/ioBroker.vis
` > Control interfaceVis creates 3 variables:
control.instance - Here the browser instance should be written or FFFFFFFF if every browser must be controlled.
control.data - Parameter for command. See specific command description.
control.command - Command name. Write this variable triggers `
Da stehen dan weiter noch details wie man es genau benutzen kan. Wen noch fragen da sind immer her damit, und wen du die loesung hast auch bitte fuer andere
-
Sorry Dutchman natürlich, Du Guru
Also der Hinweis ist gut aber irgendwie habe ich es jetzt nicht hinbekommen.
Habe gerade mal mit den Werten von vis in dem Tab Objekte von ioBroker gespielt und versucht heraus zu bekommen wie es gehen soll.
Meine Annahme:
ich ändere den Wert von Data auf "main/Cam" und dann von Command auf "changeView" oder "refresh"/" reload" damit das ganze dann geändert wird und mit "changedView" bestätigt wird.
Aber so scheint es nicht zu gehen da nichts passiert.
Wo liegt mein Fehler?
Gruß,
Thorsten
-
:lol: :lol: :lol:
hmm ist schon richtig so, welche werte gibtst du da den ein ? Also ich mache:
-
instance = FFFFFFFF oder die intance ID der device welche ich aendern moechte
-
Data = die view z.b. "Temperature_Control/Verwarming" (project = temperature controle, view = Verwarming
-
command = change view
Damit sprint er dan auf die view definiert in schritt 2, vorzicht! Wen man das mit einem script macht sollte eine kleine verzoegerung zwischen 2 & 3 sein damit die daten auch wirklich im object stehen befohr das commando geschossen wird.
~Dutch
-
-
Hi Dutchman,
also die Instanzen ändere ich nicht weil es ja die gleiche ist.
Data = main/Cam
und dann
command = changeView
dann müsste es ja eigentlich gehen oder muss der Wert von der Instanz neu gesetzt werden?
Gruß,
Thorsten
PS: das teste ich gleich mal. Kannst du mir eventuell deinen Code geben?
-
Hey there,
Ich hatte kein script dazu hab mir aber mal schnel eins gebastelt das alle 10 sekunden eine andere view aufruft:
var timeout, timeout2, timeout3; // Alle 10 sekunden schedule("*/10 * * * * *", function () { // Abfrage welche view aktief ist if (getState("vis.0.control.data").val == 'Temperature_Control/Verwarming') { // View welche dargestellt werden soll setState("vis.0.control.data"/*Data for control vis*/, 'Temperature_Control/Verwarming_Woonkamer'); // Mit 2 sekunden verzoegerung zur view schalten timeout = setTimeout(function () { setState("vis.0.control.command"/*Command for vis*/, 'changeView'); }, 2000); } else if (getState("vis.0.control.data").val == 'Temperature_Control/Verwarming_Woonkamer') { // View welche dargestellt werden soll setState("vis.0.control.data"/*Data for control vis*/, 'Temperature_Control/Verwarming_Keuken'); // Mit 2 sekunden verzoegerung zur view schalten timeout2 = setTimeout(function () { setState("vis.0.control.command"/*Command for vis*/, 'changeView'); }, 2000); } else { // View welche dargestellt werden soll setState("vis.0.control.data"/*Data for control vis*/, 'Temperature_Control/Verwarming_Luca'); // Mit 2 sekunden verzoegerung zur view schalten timeout3 = setTimeout(function () { setState("vis.0.control.command"/*Command for vis*/, 'changeView'); }, 2000); } });
amit sollte es klappen, ich sehe aber ein par probleme wen man mehrere projecte benutzt. Hast du ein oder mehr projecten in VIS ?
-
Hi Dutchman,
Sorry das ich mich jetzt erst melde aber gestern musste ich etwas länger arbeiten.
So habe gerade mal dein Script angepasst und siehe da so funktioniert es auch.
Nein mehrere Projekte habe ich nicht. Wüsste jetzt auch noch nicht was es für einen Vorteil hätte.
Bis dato habe ich auch nur zwei Views da ich mich gerade wieder mal etwas mehr damit beschäftige. Ob es hier am gerät mehr werden weiß ich auch noch nicht weil auf meinem 36" TV ziemlich viel Platz ist. Der erste View ist ne Übersicht über eigentlich alle meine Sensoren und Aktoren (Fenster, Heizung, Licht, Wetter, Uhr, deutscher Wetterdienst und sogar die Überwachungskameras. Der zweite View soll nur die Kameras zeigen in Großformat.
Überlege auch einen View auf nem (Smart/Magic Mirror) ähnlichen System zu realisieren wo dann per Sprache der Vis aufgerufen werden soll. Da ich bis dato kein vernünftiges System gefunden habe.
Werde jetzt mal etwas mit deinem Script rum spielen und testen. Und werde dann auch gerne bericht erstatten :-).
Gruß,
Thorsten
-
Werde jetzt mal etwas mit deinem Script rum spielen und testen. Und werde dann auch gerne bericht erstatten :-). `
gerne gut das es klappt wo lag den der fehler bei dir ?
-
Hi Dutchman,
habe selber kein Script gemacht weil mir dazu der Hirnschmalz noch fehlt. Habe es ja nur mit den Objekten im ioBroker versucht was ja schon nicht geklappt hat.
Gruß,
Thorsten
-
hallo,
ich wollte auch mit einem changeView script etwas ausprobieren. mein problem ist, dass
vis.0.control.data
vis.0.control.command
vis.0.control.instance
es gibt nur: vis.0.command vis.0.control… fehlt unter objekte.
weiß jemand warum das bei mir fehlen könnte?
vis version 1.1.1
-
Hi, sorry habe ein par Tage auf Dienstreise und wenig Zeit die Forum gehabt
Habt ihr eine Lösung gefunden?
Wenn nein schikt bitte ne PN um mich aufmerksam zu machen auf diesen thread und dann machen wir die Lösung zusammen!
–-----------------------
Send from mobile device
Das schöne ios hat Auto Korrektur zum k****
Wer Schreibfehler findet darf sie behalten oder auf eBay verkaufen, mindest Umsatz 10% für die community
-
hallo,
ich wollte auch mit einem changeView script etwas ausprobieren. mein problem ist, dass
vis.0.control.data
vis.0.control.command
vis.0.control.instance
es gibt nur: vis.0.command vis.0.control… fehlt unter objekte.
weiß jemand warum das bei mir fehlen könnte?
vis version 1.1.1 `
Hallo,das ist wirklich seltsam Eigentlich sollten die Objekte so aussehen:
Früher konnte man mal die drei Eigenschaften in einem Objekt zusammen festlegen. Heute sind aber die drei Objekte notwendig.Nein mehrere Projekte habe ich nicht. Wüsste jetzt auch noch nicht was es für einen Vorteil hätte.
Bis dato habe ich auch nur zwei Views da ich mich gerade wieder mal etwas mehr damit beschäftige. Ob es hier am gerät mehr werden weiß ich auch noch nicht weil auf meinem 36" TV ziemlich viel Platz ist. Der erste View ist ne Übersicht über eigentlich alle meine Sensoren und Aktoren (Fenster, Heizung, Licht, Wetter, Uhr, deutscher Wetterdienst und sogar die Überwachungskameras. Der zweite View soll nur die Kameras zeigen in Großformat.
Überlege auch einen View auf nem (Smart/Magic Mirror) ähnlichen System zu realisieren wo dann per Sprache der Vis aufgerufen werden soll. Da ich bis dato kein vernünftiges System gefunden habe.
Werde jetzt mal etwas mit deinem Script rum spielen und testen. Und werde dann auch gerne bericht erstatten :-).
Gruß,
Thorsten `
Hallo Thorsten,beim Aufruf eines Projektes werden alle Views in dem Projekt geladen. Du schreibst von zwei Views, die auf dem großen TV gezeigt werden. Eine weitere View soll evtl. auf einen Magic Mirror (ich denke mal, der ist wesentlich kleiner als der Fernseher). Ich spekuliere, dass der Rechner, der VIS lädt und der am TV hängt genug Kapazitäten hat. Eine View mehr oder weniger macht ihm nix aus. Aners kann das beim Rechner im MagicMirror aussehen. Für den ist es überflüssig, die ersten beiden großen Views mitzuladen. Da bietet sich ein eigenes Projekt an.
Für den Aufruf per Sprache (Alexa/Google Home) würde ich die drei Datenpunkte im Szenen-Adapter befüllen und dann die Szene in der Alexa App als Routine einschalten und für den Google Home als eigenen Webhook in IFTTT.
Gruß
Pix
-
hi pix,
ich mache gerade sehr viel mit vis - habe keine fehler im log - alles läuft - meine obekte sehen so aus:
ich habe den fehler noch in einem anderen forum gesehen - da hat leider niemand darauf geantwortet.
fehler bekomme ich nur bei
setState("vis.0.control.instance", "FFFFFFFF"); setState("vis.0.control.data", "7galaxyalarm"); setState("vis.0.control.command", 'changeView');
dies datenpunkte sind nicht da - state not found
kann ich da etwas machen - ich würde auch gerne über alexa meine views ändern
bei mir sieht es so aus:
4447_vis-obj.png -
hat sich erledigt - musste vis adapter de- und neuinstallieren - jetzt sind datenpunkte da
-
Hallo zusammen
Habe gerade gelesen,das man Views auch mit Alexa umschalten kann.Nur leider bin ich noch Newbie und habe die Vorgehensweise noch nicht ganz verstanden. Das erste Problem was ich habe ,in meinen Views finde ich keine Namen obwohl sie Status und Info heißen. Alexa Anbindung läuft bei mir über Node.red. Funktioniert auch mit Licht usw. prima.
Aber wie kann ich da ein View einbinden um die beiden Views zu wechseln.
StandartView ist Info. Von dort würde ich gern auf View Status über Alexa umschalten und natürlich auch wideer zurück.
Wie bekomme ich das hin?
Volker
1400_vis.jpg -
hier ein beispiel script - funktioniert bei mir
on({id: "controll-own.0.HANDY.FlurAnwesenheit"/*HANDYKLINGELT*/, val:true}, function (obj) { var value = obj.state.val; /*if (getState("controll-own.0.WHATSAPP").val === true */ setTimeout(function () { setState("vis.0.control.instance", "f799e7b9"); setTimeout(function () { setState("vis.0.control.data", "3galaxy"); }, 1000); setTimeout(function () { setState("vis.0.control.command", 'changeView'); }, 2000); }, 15000);
die control.instance-id habe ich aus der vis app auf dem handy ausgelesen
hoffe das hilft weiter
achja: die 15000 sind eine zeitverzögerung bis die vis-app auf dem handy geladen ist
-
Hallo
Danke für die schnelle Antwort.
Leider verstehe ich da nur Bahnhof. Ich bin noch Newbie.
Das ist mir echt zu hoch. Wie hast du die ID aus der Vis-APP ausgelesen. Ich nutze die App auch, allerdings auf einem Tablet.
Wie hast du die Anbindung zu Alexa gemacht?? Fragen über Fragen?
Volker
-
das auslesen ist einfach
öffne vis-app (vom googleplay store installiert)
drücke auf die 3 punkte oben links
jetzt bist du in der configuration - darin kann man die view (das project )auswählen und etwas weiter unten steht die instanz. diese instanz musst du in das script einfügen. wenn die app ersteinmal geöffnet ist und du die das zu öffnende project geladen hast(also die view, die du anzeigen willst), kannst du die instanz auch unter objecte.vis.0 … instanz auslesen (im iobroker admin).
das script kopierst du und legst im javascript-adapter ein neues script an und benennst es. dann kopierst du meinen code hinein und änderst die instanz (bei mir ist die "f799e7b9").
jetzt must du noch bestimmen, wann du die view eigentlich ändern willst. bei mir ist das in der ersten zeile des scripts definiert.
on({id: "controll-own.0.HANDY.FlurAnwesenheit"/*HANDYKLINGELT*/, val:true}, function (obj) {
wenn also HANDY.FlurAnwesenheit auf true geschaltet wird - wird das script gestartet und die die view nach 15 secunden auf dem tablet (mit der instanz "f799e7b9") geändert.
das object HANDY.FlurAnwesenheit wird bei mir durch tasker geschaltet (eine app zum programmieren für android) tasker erkennt, das ich im flur bin und schickt HANDY.FlurAnwesenheit = true. wie du dies schaltest liegt natürlich an deiner anwendung und situation. ich bin auch ein javascript anfänger - habe mir das alles aus den forum zusammen kopiert. du könntest auch das oben beschriebene object abfragen - also wenn die instanz unter objecte. vis.0 … sich aktualisiert (anmeldet) und eine bestimmte instanz hat :schalte die view um.
öffne mal die vis-app und logge dich in ein project ein - beobachte dabei die objekte unter vis.0. dann siehst du was passiert
fast vergessen. für alexa einfach einen neuen schaltpunkt definieren - wie für alle anderen lampen usw. auch. "Alexa, schalte ansicht ein" wäre dann z.b. der sprachbefehl. jetzt kannst du in der ersten zeile des script diesen punkt eingeben. geht der auf true wird view geändert. Alexa, schalte ansicht aus - kannst du erstmal leer lassen oder einfach das script kopieren und mit false steuern und eine andere view wählen)
-
Hallo
Danke für die ausführliche Erklärung. Die ID habe ich gefunden,das war kein Problem.
Dein Script habe ich auch übenommen,allerdings kommt da eine Fehlermeldung in meinem Adapter.Ich habe auch schon meine ID und die Viewname eingetragen.
Ich hoffe es ist richtig.
Nur den Rest mit der Alexa-anbindung habe ich noch nicht verstanden.
Ich muß doch erstmal irgenwo ein Gerät anlegen , welches ich dann mit Alexa local verknüpfen kann. Aber wo lege ich das Gerät an??
Volker
1400_script.jpg -
controll.own.HANDY…. existiert bei dir nicht
lege mal einen neuen Datenpunkt an - diesen kannst du dann erstmal von hand schalten, damit du siehst, was passiert.
man kann dann den datenpunkt auf false oder true setzen (im admin von iobroker).
im webbrowser (iobroker) öffne Objekte - am besten schau mal in youtube ein paar videos an - als beispiel https://www.youtube.com/watch?v=TOxKS3MdrgU - ZEIT bei 3:12 ich habe auch viel über youtube gelernt
es gibt einige anfänger videos.
anschliessend kannst du den neuen Datenpunkt in das script eintragen - das ist ein wenig zuviel um alles schriftlich zu erklären.
auch zu empfehlen: https://www.youtube.com/watch?v=BkJRS9Z … qKmupMxWKx
eine ganze reihe zum einstieg
-
hallo
Erstaml vielen Dank für deine Mühe.Mit den videos war eine gute Idee.
Leider habe ich es nicht hingekommen. Den Datenpunkt, bzw ich habe zwei Geräte erstellt . Das hat funktioniert.
Wenn ich dieses Gerät jetzt mit Node-Red verknüpfen will ,finde ich es nicht. Ich habe Iobroker schon neu gestartet aber die beiden Geräte tauchen nicht auf.
Was habe ich falsch gemacht???
Volker
1400_auswahl.jpg
1400_objekte.jpg