Themabewertung:
  • 0 Bewertung(en) - 0 im Durchschnitt
  • 1
  • 2
  • 3
  • 4
  • 5
über "Fetch" Json Array/Object auswerten
#30
(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);
                        }
Anbei noch eine Ausgabefenster:
   

Wenn das so funktionieren würde wäre es perfekt!
Zitieren


Nachrichten in diesem Thema
RE: über "Fetch" Json Array/Object auswerten - von mat-sche - 01.03.2024, 11:34

Gehe zu:


Benutzer, die gerade dieses Thema anschauen:
8 Gast/Gäste