NEWS
Allgemeine Frage zu httpget
-
@haus-automatisierung
Du meinst das Script anpassen? Ich hab befürchtet, dass wer das vorschlägt...Dann muß ich mal des NAchtens mich auch in JS einlesen, hilft ja nix
Ah nee.. du meinst den separaten PARSER_Adapter.. jetzt hab ich es verstanden. Ok
seh ich mir an -
@docsnyder7 sagte in Allgemeine Frage zu httpget:
Da das Script zum PSA-Car-Controller
wo hast du das gepostet?
@docsnyder7 sagte in Allgemeine Frage zu httpget:
auch via Blockly abrufen kann
mit Sicherheit!
@haus-automatisierung sagte in Allgemeine Frage zu httpget:
dass Du mit dem Parser-Adapter da einfacher ans Ziel kommst.
kommt auf die Rückgabe an.
Wenn da alles als JSON kommt ist das zwar Fleißarbeit, aber die ist es beim Parser Adapter auch -
@docsnyder7 Kommt halt drauf an was genau da zurückgeliefert wird. Das, was Du im Browser siehst, ist ja ggf. per JavaScript und nachgeladenem Inhalt (Ajax / XHR) zusammengebaut worden. Da müsste man sich die Webseite genauer anschauen um da helfen zu können.
Wäre natürlich ein Traum, wenn die Inhalte per JavaScript zu HTML dynamisch zusammengebaut werden, und die eigentlichen Daten per JSON abrufbar sind. Dann braucht man kein HTML zerlegen (was nie schön ist).
-
function iter(name, obj) { for(let i in obj) { if(typeof obj[i] == 'object') iter(name + '.' + i, obj[i]); else { log(name + '.' + i + ': ' + obj[i]); if(existsState(name + '.' + i)) setState(name + '.' + i, obj[i]); else createState(name + '.' + i, obj[i]); // type: "mixed" } } } function SendRequest(){ var options = { url: 'http://localhost:5000/get_vehicleinfo/VIN' }; request(options, function (error, response, body){ if (!error) iter('javascript.0.PSA', JSON.parse(body)); else console.error(error); }); } schedule('1 * * * * *', SendRequest);
mal ein Auszug aus der Browsekonsole -
@docsnyder7 sagte in Allgemeine Frage zu httpget:
function iter(name, obj) { for(let i in obj) { if(typeof obj[i] == 'object') iter(name + '.' + i, obj[i]); else { log(name + '.' + i + ': ' + obj[i]); if(existsState(name + '.' + i)) setState(name + '.' + i, obj[i]); else createState(name + '.' + i, obj[i]); // type: "mixed" } } } function SendRequest(){ var options = 'http://localhost:5000/get_vehicleinfo/VIN'; httpGet(options, function (error, response){ if (!error) iter('javascript.0.PSA', JSON.parse(response.data)); else console.error(error); }); } schedule('1 * * * * *', SendRequest);
versuch das mal.
hab zwar keine Ahnung von js, sollte, könnte, müsste klappen könnenEDIT: Änderung der options lt. nächstem Post von @paul53 durchgeführt
-
Muss da anstatt options nicht die URL rein?
-
@homoran sagte: versuch das mal.
Ändere
options
:var options = 'http://localhost:5000/get_vehicleinfo/VIN';
-
-
@paul53 aber jetzt!
-