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.