Skip to content
  • Home
  • Recent
  • Tags
  • 0 Unread 0
  • Categories
  • Unreplied
  • Popular
  • 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

  • Default (No Skin)
  • No Skin
Collapse
ioBroker Logo

Community Forum

donate donate
  1. ioBroker Community Home
  2. Deutsch
  3. Skripten / Logik
  4. Curl einbinden? json danach abfragen

NEWS

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

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

  • Weihnachtsangebot 2025! 🎄
    BluefoxB
    Bluefox
    25
    1
    2.1k

Curl einbinden? json danach abfragen

Scheduled Pinned Locked Moved Skripten / Logik
javascript
7 Posts 3 Posters 935 Views 2 Watching
  • Oldest to Newest
  • Newest to Oldest
  • Most Votes
Reply
  • Reply as topic
Log in to reply
This topic has been deleted. Only users with topic management privileges can see it.
  • B Offline
    B Offline
    bluppdiwupp
    wrote on last edited by
    #1

    Ich benötige mal ein paar Tips.
    Ich habe eine ECU für einen Wechselrichter und würde aus diesen gerne Werte erhalten um sie später mit Grafana darzustellen.
    IO und Grafana laufen bereits. Auch läuft die Script Engine.

    Jetzt habe ich 2 Abfragen gefunden und kann damit leider nicht viel anfangen, da ich sehr neu in dem Thema bin.

    Erste Curl Abfrage:

    
    curl -H "Content-Type: application/x-www-form-urlencoded" http://api.apsystemsema.com:8073/apsema/v1/ecu/getPowerInfo -d ecuId=<ECU ID> -d filter=power -d date=<date> -o <date>.json
    

    dann soll noch folgendes eingebunden werden:

    
    const fs = require('fs');
    
    // usage: node json2csv <file.json>, so filename is 3rd parameter
    let filename = process.argv[2];
    
    // read and parse input JSON file
    let contents = fs.readFileSync(filename, 'utf8');
    let data = JSON.parse(contents);
    let timestamps = JSON.parse(data.data.time);
    let values = JSON.parse(data.data.power);
    
    // iterate through two arrays and combine the i'th element of each into one CSV line
    for(let i = 0; i < timestamps.length; i++) {
      console.log(`"${timestamps[i]}","${values[i]}"`);
    }
    

    Ich bekomme leider keine Ergebnisse oder nur Errors im Log.

    Viele Grüße

    Thomas BraunT UncleSamU 2 Replies Last reply
    0
    • B bluppdiwupp

      Ich benötige mal ein paar Tips.
      Ich habe eine ECU für einen Wechselrichter und würde aus diesen gerne Werte erhalten um sie später mit Grafana darzustellen.
      IO und Grafana laufen bereits. Auch läuft die Script Engine.

      Jetzt habe ich 2 Abfragen gefunden und kann damit leider nicht viel anfangen, da ich sehr neu in dem Thema bin.

      Erste Curl Abfrage:

      
      curl -H "Content-Type: application/x-www-form-urlencoded" http://api.apsystemsema.com:8073/apsema/v1/ecu/getPowerInfo -d ecuId=<ECU ID> -d filter=power -d date=<date> -o <date>.json
      

      dann soll noch folgendes eingebunden werden:

      
      const fs = require('fs');
      
      // usage: node json2csv <file.json>, so filename is 3rd parameter
      let filename = process.argv[2];
      
      // read and parse input JSON file
      let contents = fs.readFileSync(filename, 'utf8');
      let data = JSON.parse(contents);
      let timestamps = JSON.parse(data.data.time);
      let values = JSON.parse(data.data.power);
      
      // iterate through two arrays and combine the i'th element of each into one CSV line
      for(let i = 0; i < timestamps.length; i++) {
        console.log(`"${timestamps[i]}","${values[i]}"`);
      }
      

      Ich bekomme leider keine Ergebnisse oder nur Errors im Log.

      Viele Grüße

      Thomas BraunT Online
      Thomas BraunT Online
      Thomas Braun
      Most Active
      wrote on last edited by
      #2

      @bluppdiwupp Umd die Fehler im Log unterliegen der Geheimhaltung?

      Linux-Werkzeugkasten:
      https://forum.iobroker.net/topic/42952/der-kleine-iobroker-linux-werkzeugkasten
      NodeJS Fixer Skript:
      https://forum.iobroker.net/topic/68035/iob-node-fix-skript
      iob_diag: curl -sLf -o diag.sh https://iobroker.net/diag.sh && bash diag.sh

      B 1 Reply Last reply
      0
      • B bluppdiwupp

        Ich benötige mal ein paar Tips.
        Ich habe eine ECU für einen Wechselrichter und würde aus diesen gerne Werte erhalten um sie später mit Grafana darzustellen.
        IO und Grafana laufen bereits. Auch läuft die Script Engine.

        Jetzt habe ich 2 Abfragen gefunden und kann damit leider nicht viel anfangen, da ich sehr neu in dem Thema bin.

        Erste Curl Abfrage:

        
        curl -H "Content-Type: application/x-www-form-urlencoded" http://api.apsystemsema.com:8073/apsema/v1/ecu/getPowerInfo -d ecuId=<ECU ID> -d filter=power -d date=<date> -o <date>.json
        

        dann soll noch folgendes eingebunden werden:

        
        const fs = require('fs');
        
        // usage: node json2csv <file.json>, so filename is 3rd parameter
        let filename = process.argv[2];
        
        // read and parse input JSON file
        let contents = fs.readFileSync(filename, 'utf8');
        let data = JSON.parse(contents);
        let timestamps = JSON.parse(data.data.time);
        let values = JSON.parse(data.data.power);
        
        // iterate through two arrays and combine the i'th element of each into one CSV line
        for(let i = 0; i < timestamps.length; i++) {
          console.log(`"${timestamps[i]}","${values[i]}"`);
        }
        

        Ich bekomme leider keine Ergebnisse oder nur Errors im Log.

        Viele Grüße

        UncleSamU Offline
        UncleSamU Offline
        UncleSam
        Developer
        wrote on last edited by
        #3

        @bluppdiwupp Hast du dir mal den Parser Adapter angeschaut?

        Und sonst: anstatt curl aus JavaScript aufzurufen, würde ich die Bordmittel von NodeJS verwenden:

        const http = require('http');
        

        oder wenn du es ganz "nobel" willst, gibt es noch Axios: https://www.npmjs.com/package/axios

        Bitte bei Problemen mit meinen Adaptern, Issue auf GitHub erfassen: Loxone | I2C | Luxtronik2
        ♡-lichen Dank an meine Sponsoren

        B 1 Reply Last reply
        0
        • Thomas BraunT Thomas Braun

          @bluppdiwupp Umd die Fehler im Log unterliegen der Geheimhaltung?

          B Offline
          B Offline
          bluppdiwupp
          wrote on last edited by
          #4

          @Thomas-Braun

          anbei der Log:

          
          javascript.0	2021-01-11 17:10:55.839	error	(676) at processTicksAndRejections (internal/process/task_queues.js:97:5)
          javascript.0	2021-01-11 17:10:55.839	error	(676) at runMicrotasks (<anonymous>)
          javascript.0	2021-01-11 17:10:55.838	error	(676) at /opt/iobroker/node_modules/standard-as-callback/built/index.js:19:49
          javascript.0	2021-01-11 17:10:55.838	error	(676) at tryCatcher (/opt/iobroker/node_modules/standard-as-callback/built/utils.js:11:23)
          javascript.0	2021-01-11 17:10:55.837	error	(676) at /opt/iobroker/node_modules/iobroker.js-controller/lib/states/statesInRedis.js:616:17
          javascript.0	2021-01-11 17:10:55.837	error	(676) at /opt/iobroker/node_modules/iobroker.javascript/main.js:1140:17
          javascript.0	2021-01-11 17:10:55.836	error	(676) at /opt/iobroker/node_modules/iobroker.javascript/main.js:1559:17
          javascript.0	2021-01-11 17:10:55.836	error	(676) at prepareScript (/opt/iobroker/node_modules/iobroker.javascript/main.js:1503:37)
          javascript.0	2021-01-11 17:10:55.836	error	(676) at createVM (/opt/iobroker/node_modules/iobroker.javascript/main.js:1280:28)
          javascript.0	2021-01-11 17:10:55.835	error	(676) at Object.createScript (vm.js:261:10)
          javascript.0	2021-01-11 17:10:55.835	error	(676) at new Script (vm.js:88:7)
          javascript.0	2021-01-11 17:10:55.834	error	(676) SyntaxError: Unexpected string
          javascript.0	2021-01-11 17:10:55.831	error	(676) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
          javascript.0	2021-01-11 17:10:55.830	error	(676) curl -H "Content-Type: application/x-www-form-urlencoded" http://api.apsystemsema.com:8073/apsema/v1/ecu/getPowerInfo -d ecuId=<ECU ID> -d filter=power -d date=<date> -o <date>.json
          javascript.0	2021-01-11 17:10:55.829	error	at script.js.common.APSystem:1
          javascript.0	2021-01-11 17:10:55.829	error	(676) script.js.common.APSystem compile failed:
          
          1 Reply Last reply
          0
          • UncleSamU UncleSam

            @bluppdiwupp Hast du dir mal den Parser Adapter angeschaut?

            Und sonst: anstatt curl aus JavaScript aufzurufen, würde ich die Bordmittel von NodeJS verwenden:

            const http = require('http');
            

            oder wenn du es ganz "nobel" willst, gibt es noch Axios: https://www.npmjs.com/package/axios

            B Offline
            B Offline
            bluppdiwupp
            wrote on last edited by
            #5

            @UncleSam
            das klingt interessant.
            Leider komme ich nicht mir der Umschreibung der URL klar.
            Hier habe ich ja noch etwas vor und nach der URL stehen. Wo kommt dies dann hin?

            UncleSamU 1 Reply Last reply
            0
            • B bluppdiwupp

              @UncleSam
              das klingt interessant.
              Leider komme ich nicht mir der Umschreibung der URL klar.
              Hier habe ich ja noch etwas vor und nach der URL stehen. Wo kommt dies dann hin?

              UncleSamU Offline
              UncleSamU Offline
              UncleSam
              Developer
              wrote on last edited by
              #6

              @bluppdiwupp sagte in Curl einbinden? json danach abfragen:

              Hier habe ich ja noch etwas vor und nach der URL stehen. Wo kommt dies dann hin?

              Für axios ist hier zum Beispiel eine Erklärung:
              https://stackoverflow.com/a/64351892

              Oder etwas ausführlicher:
              https://flaviocopes.com/axios-urlencoded/

              Bitte bei Problemen mit meinen Adaptern, Issue auf GitHub erfassen: Loxone | I2C | Luxtronik2
              ♡-lichen Dank an meine Sponsoren

              B 1 Reply Last reply
              0
              • UncleSamU UncleSam

                @bluppdiwupp sagte in Curl einbinden? json danach abfragen:

                Hier habe ich ja noch etwas vor und nach der URL stehen. Wo kommt dies dann hin?

                Für axios ist hier zum Beispiel eine Erklärung:
                https://stackoverflow.com/a/64351892

                Oder etwas ausführlicher:
                https://flaviocopes.com/axios-urlencoded/

                B Offline
                B Offline
                bluppdiwupp
                wrote on last edited by bluppdiwupp
                #7

                @unclesam
                ich habe die halbe Nacht gesucht und gemacht. Leider ohne Erfolg...

                dies wäre mein Ergebnis mit dem Log:

                const response: any = await axios.post(http://api.apsystemsema.com:8073/apsema/v1/ecu/getPowerInfo -d ecuId=<xxx> -d filter=power -d date=<date> -o <date>.json, {
                                headers: {
                                    'Content-Type': 'application/x-www-form-urlencoded'
                                }
                            });
                
                const fs = require('fs');
                
                // usage: node json2csv <file.json>, so filename is 3rd parameter
                let filename = process.argv[2];
                
                // read and parse input JSON file
                let contents = fs.readFileSync(filename, 'utf8');
                let data = JSON.parse(contents);
                let timestamps = JSON.parse(data.data.time);
                let values = JSON.parse(data.data.power);
                
                // iterate through two arrays and combine the i'th element of each into one CSV line
                for(let i = 0; i < timestamps.length; i++) {
                  console.log(`"${timestamps[i]}","${values[i]}"`);
                }
                
                javascript.0	2021-01-12 08:22:54.566	error	(758) at processTicksAndRejections (internal/process/task_queues.js:97:5)
                javascript.0	2021-01-12 08:22:54.566	error	(758) at runMicrotasks (<anonymous>)
                javascript.0	2021-01-12 08:22:54.565	error	(758) at /opt/iobroker/node_modules/standard-as-callback/built/index.js:19:49
                javascript.0	2021-01-12 08:22:54.564	error	(758) at tryCatcher (/opt/iobroker/node_modules/standard-as-callback/built/utils.js:11:23)
                javascript.0	2021-01-12 08:22:54.564	error	(758) at /opt/iobroker/node_modules/iobroker.js-controller/lib/states/statesInRedis.js:616:17
                javascript.0	2021-01-12 08:22:54.564	error	(758) at /opt/iobroker/node_modules/iobroker.javascript/main.js:1140:17
                javascript.0	2021-01-12 08:22:54.563	error	(758) at /opt/iobroker/node_modules/iobroker.javascript/main.js:1559:17
                javascript.0	2021-01-12 08:22:54.563	error	(758) at prepareScript (/opt/iobroker/node_modules/iobroker.javascript/main.js:1503:37)
                javascript.0	2021-01-12 08:22:54.563	error	(758) at createVM (/opt/iobroker/node_modules/iobroker.javascript/main.js:1280:28)
                javascript.0	2021-01-12 08:22:54.562	error	(758) at Object.createScript (vm.js:261:10)
                javascript.0	2021-01-12 08:22:54.562	error	(758) at new Script (vm.js:88:7)
                javascript.0	2021-01-12 08:22:54.562	error	(758) SyntaxError: Missing initializer in const declaration
                javascript.0	2021-01-12 08:22:54.561	error	(758) ^^^^^^^^
                javascript.0	2021-01-12 08:22:54.561	error	(758) const response: any = await axios.post(http://api.apsystemsema.com:8073/apsema/v1/ecu/getPowerInfo -d ecuId=<216000043804> -d filter=power -d date=<date> -o <date>.json, {
                javascript.0	2021-01-12 08:22:54.560	error	at script.js.common.APSystem:1
                javascript.0	2021-01-12 08:22:54.560	error	(758) script.js.common.APSystem compile failed:
                
                1 Reply Last reply
                0
                Reply
                • Reply as topic
                Log in to reply
                • Oldest to Newest
                • Newest to Oldest
                • Most Votes


                Support us

                ioBroker
                Community Adapters
                Donate

                709

                Online

                32.6k

                Users

                82.1k

                Topics

                1.3m

                Posts
                Community
                Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen | Einwilligungseinstellungen
                ioBroker Community 2014-2025
                logo
                • Login

                • Don't have an account? Register

                • Login or register to search.
                • First post
                  Last post
                0
                • Home
                • Recent
                • Tags
                • Unread 0
                • Categories
                • Unreplied
                • Popular
                • GitHub
                • Docu
                • Hilfe