NEWS
Per Alexa vis views steuern
-
Hallo
naja ich hatte mit dem Cloudadapter immer wieder Probleme,seit ich die Anbindung über Node-Red gemacht habe, sind die Probleme weg.
Ich habe Dir mal ein Bild mit angehängt. Auf der linken Seite steht das Gerät was unter Alexa zu finden ist,rechts dann das Gerät aus Iobroker was gesteuert werden soll.
Und genau da finde ich das neu erstellte Objekt nicht.
Dies Objekt würde ich dann auch in Dein Script eintragen. Nur wie??
Meine Idee war folgende.Ich erstelle unter den Objekten ein neues "Viruelles" Gerät,was ich schalten kann. Geschaltet wird es über Alexa.
Den Zustand true oder False überwache ich mit einem Script.
function seitenwechsel(){ setState('vis.0.control.instance', 'FFFFFFFF'); setState('vis.0.control.data', 'Info'); // view2 steht für den Namen der View die du anzeigen willst wenn was passiert setState('vis.0.control.command', 'changeView'); } // Abfragen des gewünschen Sensors bspw. Fensterkontakt // wenn der Status auf true wechselt wird die view2 angezeigt on("hm-rpc.0.NEQ0530536.2.STATE", function(dp) { if(dp.state.val) seitenwechsel();});
und statt dem Fensterkontakt wollte ich das Virtuelle Gerät eintragen. Funktioniert das so überhaupt oder bin ich da auf dem Holzweg???
Volker
1400_node-red.jpg -
bin mir nicht sicher aber füge mal switch als role in deine objecte ein - du kannst das im admin direct anklicken (siehe mein bild - an der stelle an der switch steht mit der maus drauf klicken und auswählen)
4447_image_3.png -
echt cool - habe es ausprobiert - hatte nodered schon installiert - das funktioniert - wieder was gelernt
seit die an den servern gearbeitet haben läuft auch die cloud bei mir ohne aussetzer (seit einer woche oder so)
-
Ist ja auch hier http://forum.iobroker.net/viewtopic.php?f=37&t=11302 gut beschrieben.
So habe jetzt Switch eingefügt, aber ich finde das Gerät nicht.
Was habe ich falsch gemacht.??
Volker
1400_switch.jpg -
eigentlich benötigten wir einen profi ! ich erkenne keinen fehler. der unterschied zwischen unseren bildern ist, dass bei dir alexa.0 ein switch ist. ich habe die "ordner" als device angelegt und die erst die datenpunkte selbst als datenpunkt mit der role switch . ich habe nie überprüft, ob das so sein soll, wie ich es gemacht habe - aber es funktioniert.
-
Na dann hoffe ich mal, das sich ein Profi das mal ansieht.
Ich danke Dir trotzdem für Deine Mühe
Volker
-
wahrscheinlich liest einer der profis mit und schütelt die ganze zeit den kopf über unsere versuche
-
Das glaube ich auch
Ich habe jetzt den Ordner nochmal als Device angelegt, aber ich finde es im Node-Red immer noch nicht.
Volker
1400_device.jpg -
starte mal den adapter (node red) neu - ich kenne das vom vis adapter -manchmal dauert es eine weile bis die datenpunkte sichtbar werden
du kannst in node red auch einfach den pfad eingeben - ohne auswählen - probier das mal
Alexa.0.Alexa_Status
ps: ich benutze keine leerzeichen beim anlegen von datenpunkten (ist nur ein gefühl keine bestätigte regel!)
-
He
Genau das war es ,jetzt habe ich meine Datenpunkte. Komisch ein Neustart von Iobroker hat nichts gebracht, aber nein Neustart von Nod-red Adapter …
Jetzt funktioniert es auch mit meinem Script.
function seitenwechsel(){ setState('vis.0.control.instance', 'FFFFFFFF'); setState('vis.0.control.data', 'Status'); // view2 steht für den Namen der View die du anzeigen willst wenn was passiert setState('vis.0.control.command', 'changeView'); } // Abfragen des gewünschen Sensors bspw. Fensterkontakt // wenn der Status auf true wechselt wird die view2 angezeigt on("Alexa.0.Alexa_Status", function(dp) { if(dp.state.val) seitenwechsel();});
Das Script verwende ich eigentlich ,um das View zu wechseln wenn Post in den Briefkasten geworfen wird.
Funktioniert aber auch mit Alexa.
Vielen Dank für Deine Hilfe
Volker
-
yuhuu
was hast du im briefkasten für einen sensor?
-
Ich habe 2 Mikroschalter über einen HM-SCI-3-FM geschaltet. Wirft jemand Post über die Klappe oben ein wird Schalter 1 geöffnet.
Nehme ich die Post raus Klappe vorn ,wird Schalter 2 geöffnet. Der Rest ist nur eine SV. Kann Dir auch gern Bilder schicken.
Volker
-
ich nehme an es geht dabei um homatic (HM-SCI-3-FM) - da bin ich raus.
letztlich 2 schalter, die "irgendwie" ein signal senden können - würde wohl über ardino und rf 433Mhz gehen - für mich zuviel bastelei !
werd mir lieber nodered etwas näher anschauen - schönes wochenende
-
Jo ist Homematic.
Funktioniert bei mir prima.
Habe hier nochmal die Node-red Verknüpfung. Ist vieleicht etwas Umständlich aber es funktioniert. Wenn ich jetzt Status aufrufe wir Info ausgeschaltet und Status eingeschaltet.
Wenn ich Info aufrufe wird Status abgeschaltet und Info eingeschaltet. Funktioniert prima.
Nochmal Danke für Deine Hilfe und schönes Wochenende.
Volker
1400_node-red.jpg -
hallo zusammen
Ich habe meinen Ioboker komplett neu aufgesetzt und hänge jetzt dei der Alexasteuerung der Views fest.
Ich mache das wie oben schon beschrieben über Node-red. Im Moment nicht mehr über Alexa local sondern über den Alexa hub.
Ich habe 3 Views ,das einzelneb ein und ausschalten der Views funktioniert auch schon.
Nur hänge ich an folgender Verbindung fest. Wie kann ich das unter Node-red lösen, das beim Einschalten der eine View eingeschaltet wird, die anderen beiden aber ausgeschaltet werden.
Für den Viewwechsel verwende ich folgendes Scriptfunction seitenwechsel(){ setState('vis.0.control.instance', 'FFFFFFFF'); setState('vis.0.control.data', 'Status'); // view2 steht für den Namen der View die du anzeigen willst wenn was passiert setState('vis.0.control.command', 'changeView'); } // Abfragen des gewünschen Sensors bspw. Fensterkontakt // wenn der Status auf true wechselt wird die view2 angezeigt on("0_userdata.0.Alexa.Alexa_Status", function(dp) { if(dp.state.val) seitenwechsel();});
Das ganze 3 mal für jeden Wechsel ein Script. Vielleicht kann man das ausschalten der anderen Views auch in das Script mit einbauen?
Oder ich habe noch diesen Codefunction seitenwechsel(){ setState('vis.0.control.instance', 'FFFFFFFF'); setState('vis.0.control.data', 'Status'); // view2 steht für den Namen der View die du anzeigen willst wenn was passiert setState('vis.0.control.command', 'changeView'); } // Abfragen des gewünschen Sensors bspw. Fensterkontakt // wenn der Status auf true wechselt wird die view2 angezeigt on("0_userdata.0.Alexa.Alexa_Status", function(dp) { if(dp.state.val) seitenwechsel(); setTimeout(function () { setState("vis.0.control.command", '{"instance": "FFFFFFFF", "command": "changeView", "data": "Info"}'); }, 10000); });
Da wird bei Änderung des Objekts Alexa _status, ausgelöst über Node-Red, das View gewechselt und nach einer einstellbaren Zeit wieder zurück zum Standdart View Info. Das funktioniert auch soweit nur halt immer nur einmal.
Beim zurück zum Standart View bleibt der vorherige ViewStatus auf True. Wie kann ich das lösen das nach der eingestellen Zeit der View Status wieder auf false gesetzt wird??
Wie kann ich das lösen?
Volker