NEWS
gelöst: Alexa Logikwert
-
@grizzlyco
Das ist über summery nicht nötig, wobei Du das auch so lösten könntest. Es gibt viele Wege das zu erledigen. Mit summery hab ich auch noch nichts gemacht, scheint mir aber ne elegante Lösung zu sein, da in dem DP die Frage die Alexa zuletzt verstanden hat aufgeführt wird. Mit der Routine kannst aber auch ein DP setzten, nur muss der vorher eben auch wieder erst an Alexa über z.B. den IoT angebunden werden und das kannst dir so eben sparen.Heißt, die Routine selber macht nichts, die dient nur dazu um die Frage an Alexa im "summery" DP zu zeigen und damit geht es dann weiter.
-
Hmmmm vielleicht ist die frage doof, aber was ist summery?
-
@grizzlyco
Ein DP im Alexa Adapter -
@grizzlyco
Hast Du schonmal etwas mit Blockly(Script) gemacht? -
Ja. Das sollte kein Problem sein.
-
@grizzlyco
Dann mal ran und hier posten falls es nicht so klappt wie gewünscht -
Mach ich. Danke erstmal.
-
Es hat funktioniert. Danke.
Ich habe mit dem Alexa Adapter noch nicht viel gemacht. -
@grizzlyco
wenn es läuft, oben editieren und gelöst dazu schreiben, dann noch das funktionierende Ergebnis hier rein.
Erstens weil mans eventuell optimieren kann und zweitens damit andere User als Vorlage nutzen können -
Lösung folgt
on({id: 'alexa2.0.History.summary', change: "ne"}, function (obj) { var value = obj.state.val; var oldValue = obj.oldState.val; if (getState("alexa2.0.History.name").val == 'Schlafzimmer') { // Schalfzimmer if (getState("alexa2.0.History.summary").val == 'ist anton zuhause' && getState("surepetcareio.0.Bahnstr.pets.0").val == true) { setState("alexa2.0.Echo-Devices.XXXXXXXX.Commands.speak"/*speak*/, 'Ja, Anton ist zuhause'); } else if (getState("alexa2.0.History.summary").val == 'ist anton zuhause' && getState("surepetcareio.0.Bahnstr.pets.0").val == false) { setState("alexa2.0.Echo-Devices.XXXXXXXX.Commands.speak"/*speak*/, 'Nein, Anton ist draussen'); } } else if (getState("alexa2.0.History.name").val == 'Wohnzimmer') { // Wohnzimmer if (getState("alexa2.0.History.summary").val == 'ist anton zuhause' && getState("surepetcareio.0.Bahnstr.pets.0").val == true) { setState("alexa2.0.Echo-Devices.XXXXXXXX.Commands.speak"/*speak*/, 'Ja, Anton ist zuhause'); } else if (getState("alexa2.0.History.summary").val == 'ist anton zuhause' && getState("surepetcareio.0.Bahnstr.pets.0").val == false) { setState("alexa2.0.Echo-Devices.XXXXXXXX.Commands.speak"/*speak*/, 'Nein, Anton ist draussen'); } } else if (getState("alexa2.0.History.name").val == 'Bad') { // Bad if (getState("alexa2.0.History.summary").val == 'ist anton zuhause' && getState("surepetcareio.0.Bahnstr.pets.0").val == true) { setState("alexa2.0.Echo-Devices.XXXXXXXX.Commands.speak"/*speak*/, 'Ja, Anton ist zuhause'); } else if (getState("alexa2.0.History.summary").val == 'ist anton zuhause' && getState("surepetcareio.0.Bahnstr.pets.0").val == false) { setState("alexa2.0.Echo-Devices.XXXXXXXX.Commands.speak"/*speak*/, 'Nein, Anton ist draussen'); } } else if (getState("alexa2.0.History.name").val == 'Spielzimmer') { // Spielzimmer if (getState("alexa2.0.History.summary").val == 'ist anton zuhause' && getState("surepetcareio.0.Bahnstr.pets.0").val == true) { setState("alexa2.0.Echo-Devices.XXXXXXXX.Commands.speak"/*speak*/, 'Ja, Anton ist zuhause'); } else if (getState("alexa2.0.History.summary").val == 'ist anton zuhause' && getState("surepetcareio.0.Bahnstr.pets.0").val == false) { setState("alexa2.0.Echo-Devices.XXXXXXXX.Commands.speak"/*speak*/, 'Nein, Anton ist draussen'); } } else if (getState("alexa2.0.History.name").val == 'Timo Schlafzimmer') { // Timo Schafzimmer if (getState("alexa2.0.History.summary").val == 'ist anton zuhause' && getState("surepetcareio.0.Bahnstr.pets.0").val == true) { setState("alexa2.0.Echo-Devices.XXXXXXXX.Commands.speak"/*speak*/, 'Ja, Anton ist zuhause'); } else if (getState("alexa2.0.History.summary").val == 'ist anton zuhause' && getState("surepetcareio.0.Bahnstr.pets.0").val == false) { setState("alexa2.0.Echo-Devices.XXXXXXXX.Commands.speak"/*speak*/, 'Nein, Anton ist draussen'); } } else if (getState("alexa2.0.History.name").val == 'Küche') { // Küche if (getState("alexa2.0.History.summary").val == 'ist anton zuhause' && getState("surepetcareio.0.Bahnstr.pets.0").val == true) { setState("alexa2.0.Echo-Devices.XXXXXXXX.Commands.speak"/*speak*/, 'Ja, Anton ist zuhause'); } else if (getState("alexa2.0.History.summary").val == 'ist anton zuhause' && getState("surepetcareio.0.Bahnstr.pets.0").val == false) { setState("alexa2.0.Echo-Devices.XXXXXXXX.Commands.speak"/*speak*/, 'Nein, Anton ist draussen'); } } });
-
@grizzlyco
Ui, das ganze aber besser noch als "Code" darstellen lassen ("</>" im Forum Editor),
Dann ist es besser nutzbar. ;-)
Und evtl. die "G..." raus editieren, das sind die Seriennummern Deiner Echos.
Wobei ich nicht weiß, ob "das Böse" damit wirklich etwas anfangen kann.Was ich noch grob erkenne, Du Prüfstand auf Name des Echos, wenn Du auf Seriennummer prüfst, kannst Du so programmieren, dass Du nicht jeden einzeln angeben musst.
Dann kannst Du Dir den Speakdatenpunkt (den Pfad) mit Seriennummer zusammen basteln. -
@padrino
Das mache ich bei Gelegenheit. Hatte heute morgen keine Zeit