NEWS
Script Hilfe
-
@fischi87
Anstelle der for-Schleife verwende ein Intervall für Alexa. sendTo() muss außerhalb der Schleife (des Intervalls) aufgerufen werden. -
@paul53
sorry aber soweit bin ich der script Materie noch nicht drinAnsätze?
-
@fischi87
Anmerkung: Mit Alexa kenne ich mich überhaupt nicht aus.var timer = 0; function klingel() { let i = 0; timer = setInterval(function() { setState(ALEXA[i][1], 40); setState(ALEXA[i][0], "Jemand steht vor der Tür"); i++; if(i >= ALEXA.length) clearInterval(timer); }, 200); sendTo('telegram.0', { text: 'Jemand steht vor der Tür' }); setTimeout(function(){ setState(idtaster,false); }, 600); }
-
@paul53 ist der Interval dafür da wie schnell Alexa spricht? dauert nämlich immer noch etwas bis Alexa was sagt.
-
@fischi87 sagte:
dauert nämlich immer noch etwas bis Alexa was sagt.
Was ist etwas ? Die erste Verzögerung ist 200 ms.
-
@paul53
ich habe es jetzt nicht gestoppt aber ich schätze mindestens 2-6 sek. mal 2 mal 4 mal 6 sek. -
-
@paul53
okay danke dir trotzdem erstmal, es funktioniert ja! -
hallo paul, ich habe das jetzt so integriert. der Timer in Zeile 13 und 17 wird rot unterlegt, ist dies relevant?
const idtaster = 'hm-rpc.0.MEQ0485030.1.STATE' const ALEXA = []; ALEXA[0] = /*AZ*/ ['alexa2.0.Echo-Devices.G0911M07940632RE.Commands.speak', 'alexa2.0.Echo-Devices.G0911M07940632RE.Commands.speak-volume']; ALEXA[1] = /*SZ*/ ['alexa2.0.Echo-Devices.G0911M0894370XXL.Commands.speak', 'alexa2.0.Echo-Devices.G0911M0894370XXL.Commands.speak-volume']; ALEXA[2] = /*WZ*/ ['alexa2.0.Echo-Devices.G090LF0964340WK2.Commands.speak', 'alexa2.0.Echo-Devices.G090LF0964340WK2.Commands.speak-volume']; var timer = 0; function klingel() { let i = 0; timer = setInterval(function() { setState(ALEXA[i][1], 40); setState(ALEXA[i][0], "Jemand steht vor der Tür"); i++; if(i >= ALEXA.length) clearInterval(timer); }, 200); sendTo('telegram.0', { text: 'Jemand steht vor der Tür' }); setTimeout(function(){ setState(idtaster,false); }, 600); } on(idtaster, function(dp) { if(dp.state.val) { klingel(); } });
-
@fischi87 sagte:
Timer in Zeile 13 und 17 wird rot unterlegt, ist dies relevant?
Du hast die Variable timer mit der Zahl 0 initialisiert, weshalb der Editor meckert. Besser:
var timer = null;