NEWS
Plötzlich ReferenceError: request is not defined
-
@xwing sagte in Plötzlich ReferenceError: request is not defined:
Die Dokumentation und Verwendung von Axios ist wohl nur was für Hardcore Entwickler.
richtig.
Deswegen ja nur suf httpGet und nicht auf axios umstellen.Verständnisfrage:
was hat dich glauben gemacht axios verwenden zu müssen? -
@xwing sagte in Plötzlich ReferenceError: request is not defined:
Wenn ich das richtig sehe hast Du nur ein "let" durch ein "const" ersetzt?
Ne, das würde keinen Unterschied machen und ist nur Kosmetik. Du hast mit
response
gearbeitet und nicht mitresponse.data
-
@haus-automatisierung hatte ich, wie gesagt auch schon probiert. Bei beiden Wegen kommt zwar keine Fehlermeldung, aber es wird auch nichts in die Objekte geschrieben.
-
@xwing Ich sag ja ich verstehe die Schleife auf dem Text nicht. Kenne die Antwort vom Server ja auch nicht wie das aufgebaut ist. Damit nicht möglich zu helfen.
-
@haus-automatisierung said in Plötzlich ReferenceError: request is not defined:
Kenne die Antwort vom Server ja auch nicht wie das aufgebaut ist.
Das sollte die Webseite sein, die ich oben als Screenshot gepostet hatte.
Ich würde das gerne lösen und vor allem verstehen. Gibt es keine Möglichkeit sich die Inhalte einer Variablen beim debugen anzeigen zu lassen? -
@xwing sagte in Plötzlich ReferenceError: request is not defined:
Das sollte die Webseite sein, die ich oben als Screenshot gepostet hatte.
nein, der Quelltext dazu.
Ausserdem@xwing sagte in Plötzlich ReferenceError: request is not defined:
Gibt es keine Möglichkeit sich die Inhalte einer Variablen beim debugen anzeigen zu lassen?
genau darum geht es ja!
niemand weiß was da jetzt zurück kommt.e7n debug log von
response.data
als Inhalt wäre sinnvoll -
@homoran ich habe jetzt mal debug und protokollierung eingeschaltet.
Gibt es keine Möglichkeit sich den Inhalt der Variablen anzeigen zu lassen?
-
@homoran said in Plötzlich ReferenceError: request is not defined:
e7n debug log von response.data als Inhalt wäre sinnvoll
Wie ist das zu bewerkstelligen?
Ich versuche das schon in Blockly nachzubauen, aber da komme ich auch nicht weiter. -
setze mal das log dort ein, dann sollte etwas im log stehen.
function getBHKW() { httpGet(url, { timeout: 2000, responseType: 'text' }, async (err, response) => { if (err) { console.error(err); } else { log(`Response.statusCode: ${response.statusCode}`); log(`Response.data: ${response.data}`); const arr = response.data;
-
@tt-tom said in Plötzlich ReferenceError: request is not defined:
else {
Danke für den Tip!
Leider sieht die Ausgabe immer noch so aus wie im Screenshot 2 Posts vorher. Kann es sein, daß das Script gar nicht an den Punkt kommt?Ich habe jetzt mal ein Testscript erstellt, daß nur den besprochenen Punkt abfragt:
httpGet('http://glt:ABCD@192.168.0.76:8080/getKey?k=Hka_Mw1.Temp.sbAussen&k=Hka_Bd.ulArbeitThermHka&k=Hka_Bd.ulArbeitElektr&k=Hka_Bd.ulBetriebssekunden&k=Hka_Mw1.Temp.sbRuecklauf&k=Hka_Mw1.Temp.sbVorlauf&k=Wartung_Cache.fStehtAn&k=Hka_Mw1.Temp.sbFuehler1&k=Hka_Mw1.usDrehzahl&k=Hka_Mw1.Aktor.fUPKuehlung&k=Hka_Bd_Stat.uchSeriennummer&k=Hka_Bd_Stat.uchTeilenummer&k=Hka_Bd_Stat.ulInbetriebnahmedatum&k=Wartung_Cache.ulBetriebssekundenBei&k=Wartung_Cache.ulZeitstempel&k=Wartung_Cache.usIntervall&k=Hka_Mw1.ulMotorlaufsekunden&k=Hka_Mw1.Aktor.fStoerung&k=Hka_Mw1.Aktor.fWartung&k=Hka_Mw1.Aktor.fUPVordruck&k=Hka_Mw1.sWirkleistung&k=Hka_Mw1.Temp.sAbgasHKA&k=Hka_Mw1.Temp.sAbgasMotor&k=Hka_Mw1.Temp.sKapsel&k=Hka_Mw1.Temp.sbFreigabeModul&k=Hka_Mw1.Temp.sbGen&k=Hka_Mw1.Temp.sbMotor&k=Hka_Mw1.Temp.sbRegler&k=Hka_Mw1.Solltemp.sbRuecklauf&k=Hka_Mw1.Solltemp.sbVorlauf&k=Hka_Bd.ulAnzahlStarts&k=Hka_Bd.ulArbeitElektr&k=Hka_Bd.ulArbeitThermHka&k=Hka_Bd.ulArbeitThermKon&k=BD3112.Hka_Bd.ulBetriebssekunden&k=BD3112.Hka_Bd.ulAnzahlStarts&k=BD3112.Hka_Bd.ulArbeitElektr&k=BD3112.Hka_Bd.ulArbeitThermHka&k=BD3112.Hka_Bd.ulArbeitThermKon&k=Hka_Bd.bStoerung&k=Hka_Bd.bWarnung', { timeout: 2000, responseType: 'text' }, async (err, response) => { if (err) { console.error(err); } else { log(`Response.statusCode: ${response.statusCode}`); log(`Response.data: ${response.data}`); }});
Die Ausgabe sieht so aus:
Fehlen da Zeilensprünge?
-
Kannst du das bitten mal in codetags packen, sonst kann ich dir nicht weiterhelfen.
Keine Screenshots vom log machen, immer kopieren und hier posten.
-
@tt-tom
Meinst Du so?avascript.0 08:39:18.839 info script.js.common.Senertec.Test: registered 0 subscriptions, 0 schedules, 0 messages, 0 logs and 0 file subscriptions javascript.0 08:39:19.175 info script.js.common.Senertec.Test: Response.statusCode: 200 javascript.0 08:39:19.175 info script.js.common.Senertec.Test: Response.data: Hka_Bd.bWarnung=0 Hka_Bd.bStoerung=0 BD3112.Hka_Bd.ulArbeitThermKon=240600.516 BD3112.Hka_Bd.ulArbeitThermHka=1464918.500 BD3112.Hka_Bd.ulArbeitElektr=638439.188 BD3112.Hka_Bd.ulAnzahlStarts=65893 BD3112.Hka_Bd.ulBetriebssekunden=115983.219 Hka_Bd.ulArbeitThermKon=243102.344 Hka_Bd.ulArbeitThermHka=1486528.625 Hka_Bd.ulArbeitElektr=647838.438 Hka_Bd.ulAnzahlStarts=66375 Hka_Mw1.Solltemp.sbVorlauf=63 Hka_Mw1.Solltemp.sbRuecklauf=63 Hka_Mw1.Temp.sbRegler=29 Hka_Mw1.Temp.sbMotor=60 Hka_Mw1.Temp.sbGen=60 Hka_Mw1.Temp.sbFreigabeModul=127 Hka_Mw1.Temp.sKapsel=50.500 Hka_Mw1.Temp.sAbgasMotor=62.000 Hka_Mw1.Temp.sAbgasHKA=53.200 Hka_Mw1.sWirkleistung=0.000 Hka_Mw1.Aktor.fUPVordruck=false Hka_Mw1.Aktor.fWartung=false Hka_Mw1.Aktor.fStoerung=false Hka_Mw1.ulMotorlaufsekunden=2.884 Wartung_Cache.usIntervall=3500 Wartung_Cache.ulZeitstempel=756298868 Wartung_Cache.ulBetriebssekundenBei=115776.305 Hka_Bd_Stat.ulInbetriebnahmedatum=504147600 Hka_Bd_Stat.uchTeilenummer=4700046xxx Hka_Bd_Stat.uchSeriennummer=2209962114 Hka_Mw1.Aktor.fUPKuehlung=false Hka_Mw1.usDrehzahl=0 Hka_Mw1.Temp.sbFuehler1=74 Wartung_Cache.fStehtAn=false Hka_Mw1.Temp.sbVorlauf=76 Hka_Mw1.Temp.sbRuecklauf=44 Hka_Bd.ulBetriebssekunden=117681.539 Hka_Bd.ulArbeitElektr=647838.438 Hka_Bd.ulArbeitThermHka=1486528.625 Hka_Mw1.Temp.sbAussen=15
-
@xwing
ja so ist besser, so wie das aussieht ist das eine Textzeile.was kommt raus wenn du den responseType änderst.
responseType: 'text' auf responseType: 'arraybuffer'
-
@tt-tom sagte in Plötzlich ReferenceError: request is not defined:
was kommt raus wenn du den respondsType änderst.
Das wäre Quatsch. Text ist schon richtig. Sonst bekommst Du einen Arraybuffer (also die reinen Bytes als Byte-Array). Das ist für Binärdaten wie Bilder gedacht.
-
@tt-tom said in Plötzlich ReferenceError: request is not defined:
was kommt raus wenn du den responseType änderst.
avascript.0 08:46:49.370 info script.js.common.Senertec.Test: registered 0 subscriptions, 0 schedules, 0 messages, 0 logs and 0 file subscriptions javascript.0 08:46:49.596 info script.js.common.Senertec.Test: Response.statusCode: 200 javascript.0 08:46:49.597 info script.js.common.Senertec.Test: Response.data: Hka_Bd.bWarnung=0 Hka_Bd.bStoerung=0 BD3112.Hka_Bd.ulArbeitThermKon=240600.516 BD3112.Hka_Bd.ulArbeitThermHka=1464918.500 BD3112.Hka_Bd.ulArbeitElektr=638439.188 BD3112.Hka_Bd.ulAnzahlStarts=65893 BD3112.Hka_Bd.ulBetriebssekunden=115983.219 Hka_Bd.ulArbeitThermKon=243102.344 Hka_Bd.ulArbeitThermHka=1486528.625 Hka_Bd.ulArbeitElektr=647838.438 Hka_Bd.ulAnzahlStarts=66375 Hka_Mw1.Solltemp.sbVorlauf=63 Hka_Mw1.Solltemp.sbRuecklauf=63 Hka_Mw1.Temp.sbRegler=29 Hka_Mw1.Temp.sbMotor=60 Hka_Mw1.Temp.sbGen=59 Hka_Mw1.Temp.sbFreigabeModul=127 Hka_Mw1.Temp.sKapsel=50.200 Hka_Mw1.Temp.sAbgasMotor=61.900 Hka_Mw1.Temp.sAbgasHKA=52.800 Hka_Mw1.sWirkleistung=0.000 Hka_Mw1.Aktor.fUPVordruck=false Hka_Mw1.Aktor.fWartung=false Hka_Mw1.Aktor.fStoerung=false Hka_Mw1.ulMotorlaufsekunden=2.884 Wartung_Cache.usIntervall=3500 Wartung_Cache.ulZeitstempel=756298868 Wartung_Cache.ulBetriebssekundenBei=115776.305 Hka_Bd_Stat.ulInbetriebnahmedatum=504147600 Hka_Bd_Stat.uchTeilenummer=4700046xxx Hka_Bd_Stat.uchSeriennummer=2209962114 Hka_Mw1.Aktor.fUPKuehlung=false Hka_Mw1.usDrehzahl=0 Hka_Mw1.Temp.sbFuehler1=73 Wartung_Cache.fStehtAn=false Hka_Mw1.Temp.sbVorlauf=74 Hka_Mw1.Temp.sbRuecklauf=44 Hka_Bd.ulBetriebssekunden=117681.539 Hka_Bd.ulArbeitElektr=647838.438 Hka_Bd.ulArbeitThermHka=1486528.625 Hka_Mw1.Temp.sbAussen=15
-
Dann muss der Text also auseinander genommen werden.
Edit: kommt also bei beiden Varianten das selbe.
Wenn das normale Leerzeichen zwischen den Werten sind, sollte doch
...split(' ')
funktionieren?
-
@tt-tom sagte in Plötzlich ReferenceError: request is not defined:
Dann muss der Text also auseinander genommen werden.
ja mit einem "Ergebnis von Regex...im Text
response.data
"-Block -
@tt-tom sagte in Plötzlich ReferenceError: request is not defined:
Wenn das normale Leerzeichen zwischen den Werten sind, sollte doch
Copy to Clipboard...split(' ')
funktionieren?Ja, und dann nochmal ein Split auf
=
. Ist aber ein wenig mühsam. -
nochmal EDIT
dann müsste es so aussehen
function getBHKW() { httpGet(url, { timeout: 2000, responseType: 'text' }, async (err, response) => { if (err) { console.error(err); } else { const arr = response.data.split(' '); for (let i = 0; i < arr.length; i++) { let sensor = arr[i].split('='); if (sensor[0].indexOf('Temp.sbRuecklauf') != -1) setState(idRLT, parseFloat(sensor[1]), true);
-
@tt-tom
Die Aufgabe hat mich jetzt mal gereizt umzusetzenmit js wird es sicherlich eleganter
man könnte auch noch iterieren und die Namen auslesen