Skip to content
  • Home
  • Aktuell
  • Tags
  • 0 Ungelesen 0
  • Kategorien
  • Unreplied
  • Beliebt
  • GitHub
  • Docu
  • Hilfe
Skins
  • Light
  • Brite
  • Cerulean
  • Cosmo
  • Flatly
  • Journal
  • Litera
  • Lumen
  • Lux
  • Materia
  • Minty
  • Morph
  • Pulse
  • Sandstone
  • Simplex
  • Sketchy
  • Spacelab
  • United
  • Yeti
  • Zephyr
  • Dark
  • Cyborg
  • Darkly
  • Quartz
  • Slate
  • Solar
  • Superhero
  • Vapor

  • Standard: (Kein Skin)
  • Kein Skin
Einklappen
ioBroker Logo

Community Forum

donate donate
  1. ioBroker Community Home
  2. Deutsch
  3. ioBroker Allgemein
  4. Curl Antwort als Json auslesen

NEWS

  • Jahresrückblick 2025 – unser neuer Blogbeitrag ist online! ✨
    BluefoxB
    Bluefox
    16
    1
    1.1k

  • Neuer Blogbeitrag: Monatsrückblick - Dezember 2025 🎄
    BluefoxB
    Bluefox
    13
    1
    700

  • Weihnachtsangebot 2025! 🎄
    BluefoxB
    Bluefox
    25
    1
    2.0k

Curl Antwort als Json auslesen

Geplant Angeheftet Gesperrt Verschoben ioBroker Allgemein
curljsoniobrokerskript
4 Beiträge 3 Kommentatoren 651 Aufrufe 2 Watching
  • Älteste zuerst
  • Neuste zuerst
  • Meiste Stimmen
Antworten
  • In einem neuen Thema antworten
Anmelden zum Antworten
Dieses Thema wurde gelöscht. Nur Nutzer mit entsprechenden Rechten können es sehen.
  • C Offline
    C Offline
    ChrisBGL
    schrieb am zuletzt editiert von
    #1

    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 Minute
     
    

    Leider 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 value
    

    Ich 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

    J.A.R.V.I.S.J paul53P 2 Antworten Letzte Antwort
    0
    • C ChrisBGL

      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 Minute
       
      

      Leider 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 value
      

      Ich 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

      J.A.R.V.I.S.J Offline
      J.A.R.V.I.S.J Offline
      J.A.R.V.I.S.
      Developer
      schrieb am zuletzt editiert von
      #2

      @ChrisBGL du erhälst ein Array. Daraus kannst du nicht direkt den Wert von "soc" rausziehen.

      Bersuch mal folgendes:

             const pv = JSON.parse(stdout);
             
             setState("SoC", pv[0].soc);
             setState("address", pv[0].address);
      
      1 Antwort Letzte Antwort
      0
      • C ChrisBGL

        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 Minute
         
        

        Leider 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 value
        

        Ich 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

        paul53P Offline
        paul53P Offline
        paul53
        schrieb am zuletzt editiert von
        #3

        @ChrisBGL sagte in Curl Antwort als Json auslesen:

        Script anzupassen?

               var pv = JSON.parse(stdout)[0];
        

        Bitte verzichtet auf Chat-Nachrichten, denn die Handhabung ist grauenhaft !
        Produktiv: RPi 2 mit S.USV, HM-MOD-RPI und SLC-USB-Stick mit root fs

        C 1 Antwort Letzte Antwort
        0
        • paul53P paul53

          @ChrisBGL sagte in Curl Antwort als Json auslesen:

          Script anzupassen?

                 var pv = JSON.parse(stdout)[0];
          
          C Offline
          C Offline
          ChrisBGL
          schrieb am zuletzt editiert von
          #4

          @paul53

          Funktioniert, danke!

          1 Antwort Letzte Antwort
          0
          Antworten
          • In einem neuen Thema antworten
          Anmelden zum Antworten
          • Älteste zuerst
          • Neuste zuerst
          • Meiste Stimmen


          Support us

          ioBroker
          Community Adapters
          Donate
          FAQ Cloud / IOT
          HowTo: Node.js-Update
          HowTo: Backup/Restore
          Downloads
          BLOG

          837

          Online

          32.6k

          Benutzer

          82.0k

          Themen

          1.3m

          Beiträge
          Community
          Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen | Einwilligungseinstellungen
          ioBroker Community 2014-2025
          logo
          • Anmelden

          • Du hast noch kein Konto? Registrieren

          • Anmelden oder registrieren, um zu suchen
          • Erster Beitrag
            Letzter Beitrag
          0
          • Home
          • Aktuell
          • Tags
          • Ungelesen 0
          • Kategorien
          • Unreplied
          • Beliebt
          • GitHub
          • Docu
          • Hilfe