Hi zusammen,
ich stecke mal wieder bei einem Script fest und würde mich rieseig über Unterstützung freuen.
Ich versuche mithilfe eines Fenster Kontaktes an einer Pillendose eine Erinnerung via Display und Alexa zu bestimmten Zeitpunkten zu etablieren.
folgendes Script habe ich zusammen gehämmert:
schedule({hour: 8}, function () {
setState('Data.WZ.IP.MainView', '2');
//Sprechen('<speak><voice name="Vicki">Guten Morgen Ingrid, denkst du bitte an deine Pillen?</voice></speak>')
var i = 0;
var timer = setInterval(function() {
i++;
if(getState("deconz.0.Sensors.20.open").val) {
clearInterval(timer);
log('beendet');
setState('Data.WZ.IP.MainView', '0');
//Sprechen('<speak><voice name="Vicki">Dankeschön, du bist die Beste. Ich wünsche Dir einen schönen Tag</voice></speak>')
} else {
log(getState("deconz.0.Sensors.20.open").val + " " + i);
if (i == 60){
//Sprechen('<speak><voice name="Vicki">Guten Morgen, denkst du bitte an deine Pillen?</voice></speak>')
i = 0
}
}
}, 1000);
});
schedule({hour: 18}, function () {
setState('Data.WZ.IP.MainView', '2');
//Sprechen('<speak><voice name="Vicki">Guten Abend, denkst du bitte an deine Pillen?</voice></speak>')
var i = 0;
var timer = setInterval(function() {
i++;
if(getState("deconz.0.Sensors.20.open").val) {
clearInterval(timer);
log('beendet');
setState('Data.WZ.IP.MainView', '0');
//Sprechen('<speak><voice name="Vicki">Dankeschön, du bist die Beste. Ich wünsche Dir später eine wunderschöne Nacht.</voice></speak>')
} else {
log(getState("deconz.0.Sensors.20.open").val + " " + i);
if (i == 60){
//Sprechen('<speak><voice name="Vicki">Guten Abend, denkst du bitte an deine Pillen?</voice></speak>')
i = 0
}
}
}, 1000);
});
function Sprechen(Text)
{
setState('alexa2.0.Echo-Devices.Commands.speak', Text );
}
Der loop scheint aber trotz clearInterval immerwieder zu laufen.
Irgendwie habe ich das Gefühl das ich das falsch an gehe.