NEWS
Curl Antwort als Json auslesen
-
Hallo,
ich habe mir ein Skript von paul53 aus diesem Thema geholt:
Re: Json verarbeiten
welches bei mir so aussieht:
var abfrage = "curl -G https://mongol.brono.com/mongol/api.php?commandname=get_last_transmit -d format=json -d pass=xxx -d user=xxx -d unitnumber=xxx"; createState("SoC", 0); createState("address", 0); function abfrageStarten() { exec(abfrage, function(err, stdout, stderr) { if (err) { log("Error: " + err,"warn"); return; } var pv = JSON.parse(stdout); setState("SoC", pv["soc"]); setState("address", pv["address"]); }); } setTimeout(abfrageStarten, 100); // Script start schedule("*/1 * * * *", abfrageStarten); // jede MinuteLeider bekomme ich eine Fehlermeldung:
javascript.0 2020-06-30 15:03:06.804 error (2322) script.js.common.Zero_abfragen: setForeignState: undefined is not a valid state valueIch denke, dass das daran liegt, dass die Ausgabe bei mir anders ist, nämlich (Augabe aus Curl unter Windows nach Aufruf des Befehls):
[{"unitnumber":"xxx","name":"xxx","unittype":"5","unitmodel":"6","analog1":"0.09","mileage":"2091.01","software_version":"190905","logic_state":"2","reason":"2","response":"0","driver":"0","longitude":"9.1440","latitude":"9.9687","altitude":"119","gps_valid":"0","gps_connected":"0","satellites":"0","velocity":"0","heading":"309","emergency":"0","shock":"","ignition":"0","door":"0","hood":"0","volume":"0","water_temp":"","oil_pressure":"0","main_voltage":13.13,"siren":"0","lock":"0","int_lights":"0","datetime_utc":"20200629161954","datetime_actual":"20200630101642","address":"xxx, xx xxxxxxx","perimeter":"","color":2,"soc":82,"tipover":0,"charging":0,"chargecomplete":0,"pluggedin":0,"chargingtimeleft":0}]Kann mir bitte jemand helfen das Script anzupassen?
Gruß,
Chris -
Hallo,
ich habe mir ein Skript von paul53 aus diesem Thema geholt:
Re: Json verarbeiten
welches bei mir so aussieht:
var abfrage = "curl -G https://mongol.brono.com/mongol/api.php?commandname=get_last_transmit -d format=json -d pass=xxx -d user=xxx -d unitnumber=xxx"; createState("SoC", 0); createState("address", 0); function abfrageStarten() { exec(abfrage, function(err, stdout, stderr) { if (err) { log("Error: " + err,"warn"); return; } var pv = JSON.parse(stdout); setState("SoC", pv["soc"]); setState("address", pv["address"]); }); } setTimeout(abfrageStarten, 100); // Script start schedule("*/1 * * * *", abfrageStarten); // jede MinuteLeider bekomme ich eine Fehlermeldung:
javascript.0 2020-06-30 15:03:06.804 error (2322) script.js.common.Zero_abfragen: setForeignState: undefined is not a valid state valueIch denke, dass das daran liegt, dass die Ausgabe bei mir anders ist, nämlich (Augabe aus Curl unter Windows nach Aufruf des Befehls):
[{"unitnumber":"xxx","name":"xxx","unittype":"5","unitmodel":"6","analog1":"0.09","mileage":"2091.01","software_version":"190905","logic_state":"2","reason":"2","response":"0","driver":"0","longitude":"9.1440","latitude":"9.9687","altitude":"119","gps_valid":"0","gps_connected":"0","satellites":"0","velocity":"0","heading":"309","emergency":"0","shock":"","ignition":"0","door":"0","hood":"0","volume":"0","water_temp":"","oil_pressure":"0","main_voltage":13.13,"siren":"0","lock":"0","int_lights":"0","datetime_utc":"20200629161954","datetime_actual":"20200630101642","address":"xxx, xx xxxxxxx","perimeter":"","color":2,"soc":82,"tipover":0,"charging":0,"chargecomplete":0,"pluggedin":0,"chargingtimeleft":0}]Kann mir bitte jemand helfen das Script anzupassen?
Gruß,
Chris -
Hallo,
ich habe mir ein Skript von paul53 aus diesem Thema geholt:
Re: Json verarbeiten
welches bei mir so aussieht:
var abfrage = "curl -G https://mongol.brono.com/mongol/api.php?commandname=get_last_transmit -d format=json -d pass=xxx -d user=xxx -d unitnumber=xxx"; createState("SoC", 0); createState("address", 0); function abfrageStarten() { exec(abfrage, function(err, stdout, stderr) { if (err) { log("Error: " + err,"warn"); return; } var pv = JSON.parse(stdout); setState("SoC", pv["soc"]); setState("address", pv["address"]); }); } setTimeout(abfrageStarten, 100); // Script start schedule("*/1 * * * *", abfrageStarten); // jede MinuteLeider bekomme ich eine Fehlermeldung:
javascript.0 2020-06-30 15:03:06.804 error (2322) script.js.common.Zero_abfragen: setForeignState: undefined is not a valid state valueIch denke, dass das daran liegt, dass die Ausgabe bei mir anders ist, nämlich (Augabe aus Curl unter Windows nach Aufruf des Befehls):
[{"unitnumber":"xxx","name":"xxx","unittype":"5","unitmodel":"6","analog1":"0.09","mileage":"2091.01","software_version":"190905","logic_state":"2","reason":"2","response":"0","driver":"0","longitude":"9.1440","latitude":"9.9687","altitude":"119","gps_valid":"0","gps_connected":"0","satellites":"0","velocity":"0","heading":"309","emergency":"0","shock":"","ignition":"0","door":"0","hood":"0","volume":"0","water_temp":"","oil_pressure":"0","main_voltage":13.13,"siren":"0","lock":"0","int_lights":"0","datetime_utc":"20200629161954","datetime_actual":"20200630101642","address":"xxx, xx xxxxxxx","perimeter":"","color":2,"soc":82,"tipover":0,"charging":0,"chargecomplete":0,"pluggedin":0,"chargingtimeleft":0}]Kann mir bitte jemand helfen das Script anzupassen?
Gruß,
Chris -
@ChrisBGL sagte in Curl Antwort als Json auslesen:
Script anzupassen?
var pv = JSON.parse(stdout)[0];
Hey! Du scheinst an dieser Unterhaltung interessiert zu sein, hast aber noch kein Konto.
Hast du es satt, bei jedem Besuch durch die gleichen Beiträge zu scrollen? Wenn du dich für ein Konto anmeldest, kommst du immer genau dorthin zurück, wo du zuvor warst, und kannst dich über neue Antworten benachrichtigen lassen (entweder per E-Mail oder Push-Benachrichtigung). Du kannst auch Lesezeichen speichern und Beiträge positiv bewerten, um anderen Community-Mitgliedern deine Wertschätzung zu zeigen.
Mit deinem Input könnte dieser Beitrag noch besser werden 💗
Registrieren Anmelden