NEWS
Alexa fragt und verarbeitet die Antwort
-
Ausschnitt aus meinem "work in process" "finish sooooon" skript :)
über "on" bekommst du deinen gesprochenen Text.
mit History.serialNumber bekommst den Echo. Mit Echo-Devices und serialNumber kannst du den angesprochenen Echo steuern.Ich kann dir gerne mein Skript bis dato posten, ist aber recht lang, nicht fertig und keine Ahnung ob es der beste Weg ist, das zu machen. Und es ist gedacht um Fragen zu beantworten.
on({id:'alexa2.0.History.summary'}, function (obj) { blabla(obj.state.val); }); //'alexa2.0.History.name' //'alexa2.0.Echo-Devices' //'alexa2.0.History.serialNumber' //'alexa2.0.Echo-Devices.G080SV027434110N.Commands.deviceStop' function blabla(text) { let serial = getState('alexa2.0.History.serialNumber').val; setState('alexa2.0.Echo-Devices.'+serial+'.Commands.speak',text); } -
Ausschnitt aus meinem "work in process" "finish sooooon" skript :)
über "on" bekommst du deinen gesprochenen Text.
mit History.serialNumber bekommst den Echo. Mit Echo-Devices und serialNumber kannst du den angesprochenen Echo steuern.Ich kann dir gerne mein Skript bis dato posten, ist aber recht lang, nicht fertig und keine Ahnung ob es der beste Weg ist, das zu machen. Und es ist gedacht um Fragen zu beantworten.
on({id:'alexa2.0.History.summary'}, function (obj) { blabla(obj.state.val); }); //'alexa2.0.History.name' //'alexa2.0.Echo-Devices' //'alexa2.0.History.serialNumber' //'alexa2.0.Echo-Devices.G080SV027434110N.Commands.deviceStop' function blabla(text) { let serial = getState('alexa2.0.History.serialNumber').val; setState('alexa2.0.Echo-Devices.'+serial+'.Commands.speak',text); } -
on({id:'alexa2.0.History.summary'}, function (obj) { blabla(obj.state.val); }); //'alexa2.0.History.name' //'alexa2.0.Echo-Devices' //'alexa2.0.History.serialNumber' //'alexa2.0.Echo-Devices.G044SV027432110N.Commands.deviceStop' function blabla(text) { var a1Token = ['wie','welche','wieviel','wo','ist']; var a2Token= ['warm','kalt','temperatur', 'grad','licht']; var a3Token= ['wohnzimmer','schlafzimmer','bad','badezimmer','küche','balkon','draußen','an','aus'] text = text.split(' '); if (!Array.isArray(text)) return; var index1=-1; var index2=-1; var index3=-1; var index4=-1; index1 = a1Token.indexOf(text[0]); if (index1 == -1) index1=a1Token.indexOf(text[1]); if (index1!=-1) { for (let a=1;a<text.length;a++) { index2=a2Token.indexOf(text[a]); if (index2!=-1) { for (a;a<text.length;a++) { index3=a3Token.indexOf(text[a]); if (index3!=-1) { break; } } break; } } } if (index1 == -1) return; var workswith1 = []; var workswith2 = []; var workswith3 = []; switch (index1) { // welche Kombinationen gehen case 0:{ workswith1.push(0); workswith1.push(1); workswith1.push(2); workswith1.push(3); workswith2.push(0); workswith2.push(1); workswith2.push(2); workswith2.push(3); workswith2.push(4); workswith2.push(5); workswith2.push(6); break; } case 1:{ workswith1.push(0); workswith1.push(1); workswith1.push(2); workswith1.push(3); workswith2.push(0); workswith2.push(1); workswith2.push(2); workswith2.push(3); workswith2.push(4); workswith2.push(5); workswith2.push(6); break; } case 2:{ workswith1.push(0); workswith1.push(1); workswith1.push(2); workswith1.push(3); workswith2.push(0); workswith2.push(1); workswith2.push(2); workswith2.push(3); workswith2.push(4); workswith2.push(5); workswith2.push(6); break; } case 3:{ workswith1.push(0); workswith1.push(1); workswith1.push(2); workswith1.push(3); workswith2.push(0); workswith2.push(1); workswith2.push(2); workswith2.push(3); workswith2.push(4); workswith2.push(5); workswith2.push(6); break; } case 4:{ workswith1.push(4); workswith2.push(7); workswith2.push(8); break; } case 5:{ workswith1.push(4); workswith2.push(0); workswith2.push(1); workswith2.push(2); workswith2.push(3); workswith2.push(4); workswith2.push(5); workswith2.push(6); workswith3.push(1); workswith3.push(2); break; } } var value1; var value2; var value3; if (workswith1.indexOf(index2)==-1) return; if (workswith2.length!=0 && workswith2.indexOf(index3)==-1) return; if (workswith3.length!=0 && workswith3.indexOf(index4)==-1) return; let serial = getState('alexa2.0.History.serialNumber').val; if (serial == 'G034LF11740607K3') serial = 'G032SV027432110N'; let Speaktext = ''; switch (index2) { case 0: case 1: case 2: case 3: { //Temperatur switch (index3) { case 0:{ value1=getState('linkeddevices.0.Haus.Obergeschoss.Wohnzimmer.Temperatur').val; value2='im Wohnzimmer.'; break; } case 1:{ value1=getState('linkeddevices.0.Haus.Obergeschoss.Schlafzimmer.Temperatur').val; value2='im Schlafzimmer.'; break; } case 2: case 3:{ value1=getState('linkeddevices.0.Haus.Obergeschoss.Bad.Temperatur').val; let a=Math.round(Math.random()*1002)%3; if (a==2) value2='im Badezimmer'; else if (a==1) value2=' auf der Toilette'; else value2='im Bad.'; break; } case 4:{ value1=getState('linkeddevices.0.Haus.Obergeschoss.Kueche.Temperatur').val; value2='in der Küche.'; break; } case 5: case 6:{ value1=getState('linkeddevices.0.Haus.Balkon.Temperatur').val; value2='auf dem Balkon.'; break; } } value1 = Math.round(value1*10)/10; let a=Math.round(Math.random()*1000)%10; let speaktext=''; switch (a) { case 0: case 1: case 2: case 3:{ speaktext='Es sind '+value1+' Grad '+value2; break; } case 4: case 5: case 6: case 7: case 8:{ speaktext='Wir haben '+value1+' Grad '+value2; break; } case 9:{ if (value1<-10) speaktext='Es is bitterkalt '+value2; else if (value1<0) speaktext='Es friert '+value2; else if (value1<13) speaktext='Es ziemlich frisch '+value2; else if (value1<17) speaktext='Es is kühl '+value2; else if (value1<21) speaktext='Es geht so '+value2; else if (value1<24) speaktext='Es ist angenehm '+value2; else if (value1<28) speaktext='Es is warm '+value2; else if (value1<33) speaktext='Es is sehr warm '+value2; else speaktext='Boah ist das heiß '+value2; break; } } setState('alexa2.0.Echo-Devices.'+serial+'.Commands.speak',speaktext); log('alexa2.0.Echo-Devices.'+serial+'.Commands.speak'); log(speaktext); break; } case 4: { // licht wo an. } case 5: { //Licht an/aus ja/nein } default: return; } } -
on({id:'alexa2.0.History.summary'}, function (obj) { blabla(obj.state.val); }); //'alexa2.0.History.name' //'alexa2.0.Echo-Devices' //'alexa2.0.History.serialNumber' //'alexa2.0.Echo-Devices.G044SV027432110N.Commands.deviceStop' function blabla(text) { var a1Token = ['wie','welche','wieviel','wo','ist']; var a2Token= ['warm','kalt','temperatur', 'grad','licht']; var a3Token= ['wohnzimmer','schlafzimmer','bad','badezimmer','küche','balkon','draußen','an','aus'] text = text.split(' '); if (!Array.isArray(text)) return; var index1=-1; var index2=-1; var index3=-1; var index4=-1; index1 = a1Token.indexOf(text[0]); if (index1 == -1) index1=a1Token.indexOf(text[1]); if (index1!=-1) { for (let a=1;a<text.length;a++) { index2=a2Token.indexOf(text[a]); if (index2!=-1) { for (a;a<text.length;a++) { index3=a3Token.indexOf(text[a]); if (index3!=-1) { break; } } break; } } } if (index1 == -1) return; var workswith1 = []; var workswith2 = []; var workswith3 = []; switch (index1) { // welche Kombinationen gehen case 0:{ workswith1.push(0); workswith1.push(1); workswith1.push(2); workswith1.push(3); workswith2.push(0); workswith2.push(1); workswith2.push(2); workswith2.push(3); workswith2.push(4); workswith2.push(5); workswith2.push(6); break; } case 1:{ workswith1.push(0); workswith1.push(1); workswith1.push(2); workswith1.push(3); workswith2.push(0); workswith2.push(1); workswith2.push(2); workswith2.push(3); workswith2.push(4); workswith2.push(5); workswith2.push(6); break; } case 2:{ workswith1.push(0); workswith1.push(1); workswith1.push(2); workswith1.push(3); workswith2.push(0); workswith2.push(1); workswith2.push(2); workswith2.push(3); workswith2.push(4); workswith2.push(5); workswith2.push(6); break; } case 3:{ workswith1.push(0); workswith1.push(1); workswith1.push(2); workswith1.push(3); workswith2.push(0); workswith2.push(1); workswith2.push(2); workswith2.push(3); workswith2.push(4); workswith2.push(5); workswith2.push(6); break; } case 4:{ workswith1.push(4); workswith2.push(7); workswith2.push(8); break; } case 5:{ workswith1.push(4); workswith2.push(0); workswith2.push(1); workswith2.push(2); workswith2.push(3); workswith2.push(4); workswith2.push(5); workswith2.push(6); workswith3.push(1); workswith3.push(2); break; } } var value1; var value2; var value3; if (workswith1.indexOf(index2)==-1) return; if (workswith2.length!=0 && workswith2.indexOf(index3)==-1) return; if (workswith3.length!=0 && workswith3.indexOf(index4)==-1) return; let serial = getState('alexa2.0.History.serialNumber').val; if (serial == 'G034LF11740607K3') serial = 'G032SV027432110N'; let Speaktext = ''; switch (index2) { case 0: case 1: case 2: case 3: { //Temperatur switch (index3) { case 0:{ value1=getState('linkeddevices.0.Haus.Obergeschoss.Wohnzimmer.Temperatur').val; value2='im Wohnzimmer.'; break; } case 1:{ value1=getState('linkeddevices.0.Haus.Obergeschoss.Schlafzimmer.Temperatur').val; value2='im Schlafzimmer.'; break; } case 2: case 3:{ value1=getState('linkeddevices.0.Haus.Obergeschoss.Bad.Temperatur').val; let a=Math.round(Math.random()*1002)%3; if (a==2) value2='im Badezimmer'; else if (a==1) value2=' auf der Toilette'; else value2='im Bad.'; break; } case 4:{ value1=getState('linkeddevices.0.Haus.Obergeschoss.Kueche.Temperatur').val; value2='in der Küche.'; break; } case 5: case 6:{ value1=getState('linkeddevices.0.Haus.Balkon.Temperatur').val; value2='auf dem Balkon.'; break; } } value1 = Math.round(value1*10)/10; let a=Math.round(Math.random()*1000)%10; let speaktext=''; switch (a) { case 0: case 1: case 2: case 3:{ speaktext='Es sind '+value1+' Grad '+value2; break; } case 4: case 5: case 6: case 7: case 8:{ speaktext='Wir haben '+value1+' Grad '+value2; break; } case 9:{ if (value1<-10) speaktext='Es is bitterkalt '+value2; else if (value1<0) speaktext='Es friert '+value2; else if (value1<13) speaktext='Es ziemlich frisch '+value2; else if (value1<17) speaktext='Es is kühl '+value2; else if (value1<21) speaktext='Es geht so '+value2; else if (value1<24) speaktext='Es ist angenehm '+value2; else if (value1<28) speaktext='Es is warm '+value2; else if (value1<33) speaktext='Es is sehr warm '+value2; else speaktext='Boah ist das heiß '+value2; break; } } setState('alexa2.0.Echo-Devices.'+serial+'.Commands.speak',speaktext); log('alexa2.0.Echo-Devices.'+serial+'.Commands.speak'); log(speaktext); break; } case 4: { // licht wo an. } case 5: { //Licht an/aus ja/nein } default: return; } } -
@Alex975
Nun, um deine ursprüngliche Frage zu beantworten, reicht aber eigentlich mein erstes Posting. Überalexa2.0.History.summaryerhälst du alles, was du zu Alexa sagst. Ich weiß nur nicht wie man an das kommt was Alexa zu mir sagt.
-
@Alex975
Nun, um deine ursprüngliche Frage zu beantworten, reicht aber eigentlich mein erstes Posting. Überalexa2.0.History.summaryerhälst du alles, was du zu Alexa sagst. Ich weiß nur nicht wie man an das kommt was Alexa zu mir sagt.
Hey! Du scheinst an dieser Unterhaltung interessiert zu sein, hast aber noch kein Konto.
Hast du es satt, bei jedem Besuch durch die gleichen Beiträge zu scrollen? Wenn du dich für ein Konto anmeldest, kommst du immer genau dorthin zurück, wo du zuvor warst, und kannst dich über neue Antworten benachrichtigen lassen (entweder per E-Mail oder Push-Benachrichtigung). Du kannst auch Lesezeichen speichern und Beiträge positiv bewerten, um anderen Community-Mitgliedern deine Wertschätzung zu zeigen.
Mit deinem Input könnte dieser Beitrag noch besser werden 💗
Registrieren Anmelden