über "Fetch" Json Array/Object auswerten - Druckversion +- Javascript-forum (https://javascript-forum.de) +-- Forum: Entwicklung (https://javascript-forum.de/forumdisplay.php?fid=4) +--- Forum: Javascript (https://javascript-forum.de/forumdisplay.php?fid=6) +--- Thema: über "Fetch" Json Array/Object auswerten (/showthread.php?tid=2731) |
RE: über "Fetch" Json Array/Object auswerten - mat-sche - 24.02.2024 Guten Abend, mal wieder an einer Verbesserung bzw. Erweiterung meiner Seite bastelnd, bin ich wieder auf Probleme gestoßen. Aus den Skripts oben, bekomme ich mit der class="Position" einen Wert im Bereich von 0 - 100. Diesen Wert würde ich gern in einem Slider Code: <div class="slider"> anzeigen lassen. Doch leider ist es dann doch nicht so einfach wie ich dacht. Was/wie müssen die Daten "aufgearbeitet" werden um sie so nutzen zu können. Gern würde ich dann auch einen Wert von dem Slider verschicken wollen: http://192.168.188.121/cm?cmnd=ShutterPosition%2050, also es müsste die Valuegröße an die Position %20xxx geschrieben werden. Würde mich über einen Gedankenanstoss freuen! MAT! RE: über "Fetch" Json Array/Object auswerten - Sempervivum - 25.02.2024 Hallo Mat, Du kannst die Position einstellen indem Du das value auf den betreffenden Wert setzt: Code: document.getElementById('fader').value = val; Und anders herum kannst Du das value auch auslesen und damit die URL zusammenstellen und aufrufen: Code: let RE: über "Fetch" Json Array/Object auswerten - mat-sche - 25.02.2024 (25.02.2024, 10:49)Sempervivum schrieb: Hallo Ulrich, Den Zudammenspiel von Daten, Arrays... in Javascript und HTML sind mir leider noch nicht so geläufig, könntest Du mir da bitte weiter helfen? RE: über "Fetch" Json Array/Object auswerten - Sempervivum - 25.02.2024 Das verstehe ich so, dass es zwei fetch-Anweisungen geben muss, zuerst zum Holen der Variablen und dann zum Wegschicken. Müsste dann so aussehen: Code: fetch('die-url-zum-holen') RE: über "Fetch" Json Array/Object auswerten - mat-sche - 27.02.2024 Hallo Ulrich, mit Deinen letzten Codevorschlägen bin ich nicht zurech gekommen. Habe jetzt etwas anderes noch ausprobiert, scheitere daran aber. Code: fetch('http://192.168.188.121/cm?cmnd=status%208').then(function(response) { Code: Uncaught (in promise) TypeError: document.getElementById(...) is null für den Programmteil bekommen ich dann diese Fehlermeldung im Entwicklerwerkzeug vom FireFox, warum dies? Aber! console.log("key"); console.log(key); console.log("name"); console.log(name); zeigen mir die richtigen Variablen an, die ich parsen möchte. Ich habe gerade 3 große ? MAT RE: über "Fetch" Json Array/Object auswerten - Sempervivum - 27.02.2024 Diese Fehlermeldung ist eindeutig: Zitat:Uncaught (in promise) TypeError: document.getElementById(...) is nullDu übergibst als ID 'Value_1' und das Skript findet kein Element mit dieser ID. Entweder es existiert überhaupt nicht oder es wurde noch nicht angelegt als das Skript ablief. Steht das Skript am Ende des Body? Ist das eigentlich eine neue, unabhängige Aufgabe oder besteht ein Zusammenhang mit dem Code vom Anfang dieses Threads? Posting #7. RE: über "Fetch" Json Array/Object auswerten - mat-sche - 27.02.2024 (27.02.2024, 20:06)Sempervivum schrieb: Diese Fehlermeldung ist eindeutig: Ursprünglich dachte ich, dass es leicht ist eine Variable aus einem Fetch zu parsen, diese Variable an einen Slider zu übergeben, den Slider zu verändern und nach der Änderung diese Größe wieder zurück zu senden. Fakt ist: Code: http://192.168.188.121/cm?cmnd=ShutterPosition%208 Code: StatusSNS Position (100) gibt die Stellung vom Rolladen an. Diese Größe sollte in einem Slider dargestellt und veränderbar sein. Wie ich nun die Variable "Position" parsen kann hab ich nun schon erfolgreich geschafft und mehr nicht . Und da verließen sie mich .... Ich schreib morgen Weiter... RE: über "Fetch" Json Array/Object auswerten - Sempervivum - 27.02.2024 Zitat:Weder noch, habe die ID im HTML Teil angegeben. und das Script steht am Anfang vom Body.Das ist dann genau das Problem, am Anfang des Body existiert das Element mit dieser ID noch nicht. Stelle das Skript an das Ende des Body und dieser Fehler wird verschwinden. Die Hintergrundinfos sind auf jeden Fall schon mal sehr hilfreich. Zitat:Wie ich nun die Variable "Position" parsen kann hab ich nun schon erfolgreich geschafftDas hatten wir schon Mal. Besser nicht mit einem Callback arbeiten sondern das JSON parsen lassen und direkt auf den Wert zugreifen: Code: <script> RE: über "Fetch" Json Array/Object auswerten - mat-sche - 28.02.2024 (27.02.2024, 22:04)Sempervivum schrieb:=> Die Hintergrundinfos sind auf jeden Fall schon mal sehr hilfreich.Zitat:Weder noch, habe die ID im HTML Teil angegeben. und das Script steht am Anfang vom Body.Das ist dann genau das Problem, am Anfang des Body existiert das Element mit dieser ID noch nicht. Stelle das Skript an das Ende des Body und dieser Fehler wird verschwinden. Also... Ich habe einige ESP82&32 als Tasmota Device laufen: Rolladen/Thermostat ect. Die Tasmota FW erlaubt es Http Request zu starten, die ich über Fetch einlesen kann. Jetzt habe ich mir eine Seite gebastelt , die mir Werte aus dem Fetch anzeigt, dass klappt schon einmal, dank Dir!Für die Rolläden hätte ich auf der Seite gern einen Slider, der mir den aktuellen Stand des Rolladens anzeigt. Diese Funktion ist gegeben auf der Webseite von der Tasmota Steuerung: Wenn ich: http://192.168.188.121/?m=1 eingebe, bekomme ich eine Httml Seite mit: Zitat:{t}<div><span class='p'>Schliessen</span><span class='q'>Öffnen</span></div><div><input type='range' min='0' max='100' value='100' onchange='lc("u",1,value)'></div></table>{t}<tr><td style='width:50%;text-align:center;font-weight:normal;font-size:54px'>OFF</td><td style='width:50%;text-align:center;font-weight:normal;font-size:54px'>OFF</td></tr><tr></tr></table> Darin stehen die Werte für den Slider. Nun, vollkommen überfragt, gibt es die Chance diese Daten abzufassen? Entwicklerwerkzeug sieht so aus: Ich werd erst einmal die Butten basteln und die Seite vervollständigen und neben bei im Web nach einer lösung suchen oder Du hättest eine Idee... Vielen DAnk! und bis später! MAT RE: über "Fetch" Json Array/Object auswerten - Sempervivum - 28.02.2024 Zitat:Für die Rolläden hätte ich auf der Seite gern einen Slider, der mir den aktuellen Stand des Rolladens anzeigt. Diese Funktion ist gegeben auf der Webseite von der Tasmota SteuerungDas sollte kein unlösbares Problem sein. Du schreibst ja, dass die Seite des ersten Screenshots funktioniert, was die Anzeige betrifft. Da brauchen wir ja nur den Wert abzugreifen, wo im Moment 100 steht und im Slider anzuzeigen. Am besten postest Du mal den Code dieser Seite, dann sieht man wahrscheinlich schnell, wo man sich da einklinken muss. Oder gibt diese Anzeige keine Zwischenwerte her, dass es nur "auf" und "zu" gibt? Zitat:da ich mitbekommen habe, dass ich keine Variable aus Tasmota bekomme, die mir den aktuellen Verlauf der Bewegung über Json ausgibtDas verstehe ich jetzt nicht, Du hattest doch dieses JSON gepostet: Code: {"StatusSNS":{"Time":"2024-02-27T20:26:59","Shutter1":{"Position":100,"Direction":0,"Target":100,"Tilt":0}}} |