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. Skripten / Logik
  4. Curl einbinden? json danach abfragen

NEWS

  • Weihnachtsangebot 2025! 🎄
    BluefoxB
    Bluefox
    24
    1
    1.4k

  • UPDATE 31.10.: Amazon Alexa - ioBroker Skill läuft aus ?
    apollon77A
    apollon77
    48
    3
    9.3k

  • Monatsrückblick – September 2025
    BluefoxB
    Bluefox
    14
    1
    2.6k

Curl einbinden? json danach abfragen

Geplant Angeheftet Gesperrt Verschoben Skripten / Logik
javascript
7 Beiträge 3 Kommentatoren 907 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.
  • B Offline
    B Offline
    bluppdiwupp
    schrieb am zuletzt editiert von
    #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 Antworten Letzte Antwort
    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
      schrieb am zuletzt editiert von
      #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 Antwort Letzte Antwort
      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
        schrieb am zuletzt editiert von
        #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 Antwort Letzte Antwort
        0
        • Thomas BraunT Thomas Braun

          @bluppdiwupp Umd die Fehler im Log unterliegen der Geheimhaltung?

          B Offline
          B Offline
          bluppdiwupp
          schrieb am zuletzt editiert von
          #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 Antwort Letzte Antwort
          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
            schrieb am zuletzt editiert von
            #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 Antwort Letzte Antwort
            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
              schrieb am zuletzt editiert von
              #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 Antwort Letzte Antwort
              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
                schrieb am zuletzt editiert von 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 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

                772

                Online

                32.5k

                Benutzer

                81.7k

                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