NEWS
Aktion zum Ausschalten über Alexa einschalten
-
Hallo Alle
Ich weiss der Titel des Threads klingt bescheuert, aber mir fällt grad kein besserer ein.
Mein Problem ist folgendes:
Alexa versteht ja "ein" und "aus" um beliebige Geräte eben ein und/oder auszuschalten.
Ich habe aber nun das Problem, dass ich eine Aktion starten möchte (im Grunde ein Programm) das kein "EIN" hat, sondern nur die Aufgabe hat alle Lichter AUSzuschalten
Ich hatte das Problem mal im globalen Alexa-Thread untergebracht, aber da gehört es letzendlich nicht hin, weil es wohl eher spezifisch ist.
Deswegen wollte ich es hier nochmal diskutiert haben in der Hoffnung jemand hat ne Lösung.
Das Problem ist, dass ich das Programm selbst, oder auch den Taster oder die virtuelle Taste die das Programm auslösen mit einem smart-Name versehen kann, aber egal welchen ich nehme, die Bedienung über Alexa ist bescheuert:
-
Wenn ich das Gerät "Alle Lichter aus" nenne, dann beschwert sich Alexa, dass sie das Gerät "Alle Lichter" nicht findet.
-
Wenn ich das Gerät "Alle Lichter" nenne, dann kann ich nicht sagen "Alexa, alle Lichter aus" weil sie dann das Gerät abschalten will, also das Programm nicht ausgelöst wird.
Ergebnis ist, dass ich sagen muss "Alexa alle Lichter ein" und dann gehen alle Lichter aus. Das ist ja Gaga.
Hat jemand eind Idee wie ich das lösen kann?
Gruss Ralf
-
-
Hat jemand eind Idee wie ich das lösen kann?
Gruss Ralf `
Was würdest du davon halten dies mit einer Routine zu lösen?
–-----------------------
Send from mobile device
-
Ja geht mit ner Routine. Ich habe z.B. „Alexa Gute Nacht“ und setzt dann nen Datenpunkt auf den ein Skript getriggert wird und alles ausschaltet. Kannst aber auch direkt über Alexa machen wenn du nur Smarte-Geräte ausmachen möchtest.
Gesendet von iPhone mit Tapatalk
-
Hi alle
Ich bin zu jeder Schandtat bereit. Hautsache es geht.
Ev. kann man mit Eure Tricks ja auch Befehle ohne "an" oder "aus" umsetzen wie z.B. "Alexa Schalte Fernseher auf ARD" oder sowas ähnliches.
Wie würded ihr es denn genau machen wollen?
Gruss Ralf
-
Hi alle
Ich bin zu jeder Schandtat bereit. Hautsache es geht.
Ev. kann man mit Eure Tricks ja auch Befehle ohne "an" oder "aus" umsetzen wie z.B. "Alexa Schalte Fernseher auf ARD" oder sowas ähnliches.
Wie würded ihr es denn genau machen wollen?
Gruss Ralf `
Der mist ist bei mir das ich selber nicht probieren kan, habe zwar alexa aber in Holland darf ich die APP nicht runterladen Grrr…
So wie ich das in anderen threads verstanden haben erstellst du dir eine routine mit logischer aussprache und verknupfts dan die gewuenschte aktion.
Also in deinen fall routine: "Alle lichter ausschalten" mit action die scene/variable/script auf true setzen ?
-
Genau ich machs wie dutchman beschrieben hat. Routinen kannst du aber nur in der Alexa App anlegen. Im Web gehts noch nicht…
Gesendet von iPhone mit Tapatalk
-
und was ist wenn eine szene "lichtaus" angelegt wird und dort mal die setzen und setzen bei false "gespielt" wird .. ? dann kann ggf ein/aus entfallen
-
Hallo Dondaik
Das mit den Szenen ist ne Idee, aber ich hab noch nie damit gearbeitet. Das schau ich mir aber mal an..
Ich habe jetzt mal die Idee mit der Routine umgesetzt und zwar so.
var pfad = "mediola.alexatrigger" + "."; // PFad unter dem in der Javascript-Instanz die Datenpunkte angelegt werden sollen: // Datenpunktnamen: var idAlleLichterAus = pfad + "Alle Lichter"; var idAlleGeraeteAus = pfad + "Alle Geräte"; var idAllesAus = pfad + "Alles"; createState(idAlleLichterAus, 0, forecreation, { name: 'Alle Lichter', desc: 'Trigger mit Level für Alexa um einen hhtp request zu erzeugen', type: 'number', unit: '', role: 'value' }); createState(idAlleGeraeteAus, 0, forecreation, { name: 'Alle Geräte', desc: 'Trigger mit Level für Alexa um einen hhtp request zu erzeugen', type: 'number', unit: '', role: 'value' }); createState(idAllesAus, 0, forecreation, { name: 'Alles', desc: 'Trigger mit Level für Alexa um einen hhtp request zu erzeugen', type: 'number', unit: '', role: 'value' }); //------------- Alle Lichter ----------------------------------------------------- on({id: "javascript."+instance+"."+idAlleLichterAus ,change:'any'}, function (obj) { if(logOn) log("Alexa Trigger "+idAlleLichterAus+" wurde geschrieben: " + obj.state.val +"/"+obj._id); setState("hm-rpc.0.BidCoS-RF.4.PRESS_SHORT"/*Alle Lichter aus:4.PRESS_LONG*/, true); }); //------------- Alle Geräte aus ----------------------------------------------------- on({id: "javascript."+instance+"."+idAlleGeraeteAus ,change:'any'}, function (obj) { if(logOn) log("Alexa Trigger "+idAlleGeraeteAus+" wurde geschrieben: " + obj.state.val +"/"+obj._id); setState("hm-rpc.0.KEQ0631374.1.PRESS_SHORT"/*Wohnzimmer 6fach Taster:1.PRESS_SHORT*/, true); }); //------------- Alles aus ----------------------------------------------------- on({id: "javascript."+instance+"."+idAllesAus ,change:'any'}, function (obj) { if(logOn) log("Alexa Trigger "+idAllesAus+" wurde geschrieben: " + obj.state.val +"/"+obj._id); setState("hm-rpc.0.BidCoS-RF.6.PRESS_SHORT"/*Alles aus.PRESS_SHORT*/, true); });
Das funktioniert nun tatsächlich.
Vielleicht hilft der Code oben auch anderen.
Die Idee konnte ich relativ schnell umsetzen, weil ich es für die Steuerung von Mediola ähnlich gemacht hatte. Mir wär's aber ohne Coding lieber gewesen.
Die Idee kommt also ursprünglich aus diesem Thread:
http://forum.iobroker.net/viewtopic.php?f=34&t=5559
Hat jemand noch eine Idee wie man Keyword bei Alexa (also z.B. Gerätenamen) die auch in andern Skills verwendet werden, auf das Smarthome umlenkt?
Wenn ich eine Sendung aufnehmen will, dann kann ich "Aufnehmen" oder "Aufnahme " sagen; ist Wurst; jedesmal erzählt mir Alexa, dass es keinen Aktiven Anruf gäbe oder dass es keine aktivierten Videoskills gäbe.
Gruss Ralf