01.03.2024, 11:34
(01.03.2024, 10:29)Sempervivum schrieb: Hast Du das window.onload noch drin?
Nein, aber ich frage mich, warum wird der Timer nicht zurück gesetzt?
A) ich aktiviere ihn in der Function über "setInterval(update, 2000);"
Code:
function TogglePower_Wasch(){
fetch('http://192.168.188.121/cm?cmnd=ShutterPosition%20?').then(function(response) {
// empfangenen Json String in "Text" packen
// empfangenen Json String in "Text" packen
response.text().then(function(text) {
// etwas empfangen? Daten in Konstante "Status" aus Json parsen
const Status = JSON.parse(text);
console.log("Anzeige der Constante",Status); // Anzeige FireFox F12 => Entwicklerwerkzeug: "" Object { POWER: "ON" } ""
//geparstes Text " {"POWER":"ON"} " ins Html Dokument an ID = 'OnOff_Wama' übergeben
document.getElementById('Status').innerHTML = Status.Shutter1.Position;
//fader.value = Status.Shutter1.Position;
setInterval(update, 2000);
});
});
};
der Timer ist aktiv und dier Function wird ausgeführt. => dann werden die Daten über fetch aktualisiert
Code:
let timerForShutter = setInterval(update, 2000);
update();
function update(){
let data;
//var slider = document.getElementById("XSlider");
fetch('http://192.168.188.121/cm?cmnd=ShutterPosition%20?').then(function(response) {
response.text().then(function(text) {
const Status = JSON.parse(text);
console.log("Anzeige der Constante",Status); // Anzeige FireFox F12 => Entwicklerwerkzeug: "" Object { POWER: "ON" } ""
document.getElementById('Status').innerHTML = Status.Shutter1.Position;
data = Status.Shutter1.Position;
const position = Status.Shutter1.Position;
const target = Status.Shutter1.Target;
console.log("Anzeige", data);
document.getElementById("XSlider").value = data;
//document.getElementById("x-slider.value").innerHTML = data;
//slider.innerHTML = data;
if (position == target ) {
// Timer stoppen:
myStop();
clearInterval(timerForShutter);
}
});
});
};
function myStop() {
clearInterval(timerForShutter);
}
Nur die Rücksetzung funktioniert irgend wie nicht, ob über:
B) iRücksetzung über Button / Function myStop()
C) im Fetch über
Code:
if (position == target ) {
// Timer stoppen:
myStop();
clearInterval(timerForShutter);
}
Wenn das so funktionieren würde wäre es perfekt!