Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Skripten / Logik
    4. JavaScript
    5. Hilfe bei Skripte von request auf httpGet umbauen

    NEWS

    • Neuer Blog: Fotos und Eindrücke aus Solingen

    • ioBroker@Smart Living Forum Solingen, 14.06. - Agenda added

    • ioBroker goes Matter ... Matter Adapter in Stable

    Hilfe bei Skripte von request auf httpGet umbauen

    This topic has been deleted. Only users with topic management privileges can see it.
    • Negalein
      Negalein Global Moderator @liv-in-sky last edited by

      @liv-in-sky sagte in Hilfe bei Skripte von request auf httpGet umbauen:

      die datei curl-format.txt hast du ins verzeichnis kopiert ?

      yes

      45c40654-48f6-477c-b7ba-190bc4f2b5fd-image.png

      liv-in-sky 2 Replies Last reply Reply Quote 0
      • liv-in-sky
        liv-in-sky @Negalein last edited by

        @negalein

        in der ersten zeile dauer=......

        ist da ein zeilenumbruch vor | awk '{print $2}' | sed -e 's/s/ - das muss in einer zeile stehen

        Negalein 1 Reply Last reply Reply Quote 0
        • liv-in-sky
          liv-in-sky @Negalein last edited by liv-in-sky

          @negalein

          kopiere das in die datei

          #!/bin/bash
          dauer=`curl -w "@curl-format.txt" -s 'http://10.0.1.93/middleware.php/data.json?from=now&uuid[]=bc3edcd0-24c4-11ea-b257-bdbd9553c516&uuid[]=deda8550-24c4-11ea-b402-275ee0956365' | grep time_total -m 1 | awk '{print $2}' | sed -e 's/s//'`
          iobroker state set 0_userdata.0.Tests.htttpget-test $dauer 
          sleep 15 
          tempi=`curl -w "@curl-format.txt" -s 'http://10.0.1.93/middleware.php/data.json?from=now&uuid[]=bc3edcd0-24c4-11ea-b257-bdbd9553c516&uuid[]=deda8550-24c4-11ea-b402-275ee0956365' | grep time_total -m 1 | awk '{print $2}' | sed -e 's/s//'` 
          iobroker state set 0_userdata.0.Tests.htttpget-test $tempi
          sleep 15
          tempi=`curl -w "@curl-format.txt" -s 'http://10.0.1.93/middleware.php/data.json?from=now&uuid[]=bc3edcd0-24c4-11ea-b257-bdbd9553c516&uuid[]=deda8550-24c4-11ea-b402-275ee0956365' | grep time_total -m 1 | awk '{print $2}' | sed -e 's/s//'` 
          iobroker state set 0_userdata.0.Tests.htttpget-test $tempi
          sleep 15
          tempi=`curl -w "@curl-format.txt" -s 'http://10.0.1.93/middleware.php/data.json?from=now&uuid[]=bc3edcd0-24c4-11ea-b257-bdbd9553c516&uuid[]=deda8550-24c4-11ea-b402-275ee0956365' | grep time_total -m 1 | awk '{print $2}' | sed -e 's/s//'`
          iobroker state set 0_userdata.0.Tests.htttpget-test $tempi
          

          es dürfen keine zeilenumbrüche in den befehlen drin sein

          Negalein 1 Reply Last reply Reply Quote 0
          • Negalein
            Negalein Global Moderator @liv-in-sky last edited by

            @liv-in-sky sagte in Hilfe bei Skripte von request auf httpGet umbauen:

            ist da ein zeilenumbruch vor | awk '{print $2}' | sed -e 's/s/ - das muss in einer zeile stehen

            stimmt, da hats einen Zeilenumbruch reingehaun.

            Aber auch ohne kommt nur:

            pi@raspberrypi:/usr/local/bin $ httptest
            Warning: Failed to read curl-format.txtWarning: Failed to read curl-format.txtcurl: no URL specified!
            curl: try 'curl --help' or 'curl --manual' for more information
            /usr/local/bin/httptest: Zeile 5: http://10.0.1.93/middleware.php/data.json?from=now&uuid[]=bc3edcd0-24c4-11ea-b257-bdbd9553c516&uuid[]=deda8550-24c4-11ea-b402-275ee0956365: Datei oder Verzeichnis nicht gefunden
            /usr/local/bin/httptest: Zeile 4: iobroker: Kommando nicht gefunden.
            Warning: Failed to read curl-format.txtcurl: no URL specified!
            curl: try 'curl --help' or 'curl --manual' for more information
            /usr/local/bin/httptest: Zeile 7: http://10.0.1.93/middleware.php/data.json?from=now&uuid[]=bc3edcd0-24c4-11ea-b257-bdbd9553c516&uuid[]=deda8550-24c4-11ea-b402-275ee0956365: Datei oder Verzeichnis nicht gefunden
            /usr/local/bin/httptest: Zeile 6: iobroker: Kommando nicht gefunden.
            Warning: Failed to read curl-format.txtcurl: no URL specified!
            curl: try 'curl --help' or 'curl --manual' for more information
            /usr/local/bin/httptest: Zeile 9: http://10.0.1.93/middleware.php/data.json?from=now&uuid[]=bc3edcd0-24c4-11ea-b257-bdbd9553c516&uuid[]=deda8550-24c4-11ea-b402-275ee0956365: Datei oder Verzeichnis nicht gefunden
            /usr/local/bin/httptest: Zeile 8: iobroker: Kommando nicht gefunden.
            /usr/local/bin/httptest: Zeile 10: iobroker: Kommando nicht gefunden.
            
            
            liv-in-sky 1 Reply Last reply Reply Quote 0
            • liv-in-sky
              liv-in-sky @Negalein last edited by

              @negalein

              funktioniert der befehl in der console allein

              curl -w "@curl-format.txt" -s 'http://10.0.1.93/middleware.php/data.json?from=now&uuid[]=bc3edcd0-24c4-11ea-b257-bdbd9553c516&uuid[]=deda8550-24c4-11ea-b402-275ee0956365' | grep time_total -m 1 | awk '{print $2}' | sed -e 's/s//'
              
              Negalein 1 Reply Last reply Reply Quote 0
              • Negalein
                Negalein Global Moderator @liv-in-sky last edited by

                @liv-in-sky sagte in Hilfe bei Skripte von request auf httpGet umbauen:

                kopiere das in die datei

                pi@raspberrypi:/usr/local/bin $ httptest
                Warning: Failed to read curl-format.txtWarning: Failed to read curl-format.txtcurl: no URL specified!
                curl: try 'curl --help' or 'curl --manual' for more information
                /usr/local/bin/httptest: Zeile 5: http://10.0.1.93/middleware.php/data.json?from=now&uuid[]=bc3edcd0-24c4-11ea-b257-bdbd9553c516&uuid[]=deda8550-24c4-11ea-b402-275ee0956365: Datei oder Verzeichnis nicht gefunden
                /usr/local/bin/httptest: Zeile 4: iobroker: Kommando nicht gefunden.
                Warning: Failed to read curl-format.txtcurl: no URL specified!
                curl: try 'curl --help' or 'curl --manual' for more information
                /usr/local/bin/httptest: Zeile 7: http://10.0.1.93/middleware.php/data.json?from=now&uuid[]=bc3edcd0-24c4-11ea-b257-bdbd9553c516&uuid[]=deda8550-24c4-11ea-b402-275ee0956365: Datei oder Verzeichnis nicht gefunden
                /usr/local/bin/httptest: Zeile 6: iobroker: Kommando nicht gefunden.
                Warning: Failed to read curl-format.txtcurl: no URL specified!
                curl: try 'curl --help' or 'curl --manual' for more information
                /usr/local/bin/httptest: Zeile 9: http://10.0.1.93/middleware.php/data.json?from=now&uuid[]=bc3edcd0-24c4-11ea-b257-bdbd9553c516&uuid[]=deda8550-24c4-11ea-b402-275ee0956365: Datei oder Verzeichnis nicht gefunden
                /usr/local/bin/httptest: Zeile 8: iobroker: Kommando nicht gefunden.
                /usr/local/bin/httptest: Zeile 10: iobroker: Kommando nicht gefunden.
                pi@raspberrypi:/usr/local/bin $ sudo nano httptest
                pi@raspberrypi:/usr/local/bin $ httptest
                Warning: Failed to read curl-format.txt/usr/local/bin/httptest: Zeile 3: iobroker: Kommando nicht gefunden.
                Warning: Failed to read curl-format.txt/usr/local/bin/httptest: Zeile 6: iobroker: Kommando nicht gefunden.
                Warning: Failed to read curl-format.txt/usr/local/bin/httptest: Zeile 9: iobroker: Kommando nicht gefunden.
                Warning: Failed to read curl-format.txt/usr/local/bin/httptest: Zeile 12: iobroker: Kommando nicht gefunden.
                pi@raspberrypi:/usr/local/bin $
                
                1 Reply Last reply Reply Quote 0
                • Negalein
                  Negalein Global Moderator @liv-in-sky last edited by

                  @liv-in-sky sagte in Hilfe bei Skripte von request auf httpGet umbauen:

                  funktioniert der befehl in der console allein

                  leider nein

                  pi@raspberrypi:/usr/local/bin $ curl -w "@curl-format.txt" -s 'http://10.0.1.93/middleware.php/data.json?from=now&uuid[]=bc3edcd0-24c4-11ea-b257-bdbd9553c516&uuid[]=deda8550-24c4-11ea-b402-275ee0956365' | grep time_total -m 1 | awk '{print $2}' | sed -e 's/s//'
                  Warning: Failed to read curl-format.txtpi@raspberrypi:/usr/local/bin $
                  
                  liv-in-sky 2 Replies Last reply Reply Quote 0
                  • liv-in-sky
                    liv-in-sky @Negalein last edited by

                    @negalein zeig mal ls -la im verzeichnis -

                    Negalein 1 Reply Last reply Reply Quote 0
                    • Negalein
                      Negalein Global Moderator @liv-in-sky last edited by

                      @liv-in-sky sagte in Hilfe bei Skripte von request auf httpGet umbauen:

                      ls -la

                      pi@raspberrypi:/usr/local/bin $ ls -la
                      insgesamt 11072
                      drwxrwsr-x  2 root staff    4096 Mai 28 09:21 .
                      drwxrwsr-x 11 root staff    4096 Jul  7  2019 ..
                      -rwxr-xr-x  1 pi   pi    1909682 Apr  9  2019 composer
                      -rw-r--r--  1 root staff       0 Mai 27 22:58 curl-format.txt
                      -rwxr-xr-x  1 root staff    1232 Mai 28 09:21 httptest
                      -rwxr-xr-x  1 root staff   23084 Apr  9  2019 mbus-serial-request-data
                      -rwxr-xr-x  1 root staff   21632 Apr  9  2019 mbus-serial-request-data-multi-reply
                      -rwxr-xr-x  1 root staff   23428 Apr  9  2019 mbus-serial-scan
                      -rwxr-xr-x  1 root staff   21840 Apr  9  2019 mbus-serial-scan-secondary
                      -rwxr-xr-x  1 root staff   20132 Apr  9  2019 mbus-serial-select-secondary
                      -rwxr-xr-x  1 root staff   22400 Apr  9  2019 mbus-serial-set-address
                      -rwxr-xr-x  1 root staff   15448 Apr  9  2019 mbus-serial-switch-baudrate
                      -rwxr-xr-x  1 root staff   21256 Apr  9  2019 mbus-tcp-application-reset
                      -rwxr-xr-x  1 root staff   23460 Apr  9  2019 mbus-tcp-raw-send
                      -rwxr-xr-x  1 root staff   22248 Apr  9  2019 mbus-tcp-request-data
                      -rwxr-xr-x  1 root staff   21420 Apr  9  2019 mbus-tcp-request-data-multi-reply
                      -rwxr-xr-x  1 root staff   22272 Apr  9  2019 mbus-tcp-scan
                      -rwxr-xr-x  1 root staff   14864 Apr  9  2019 mbus-tcp-scan-secondary
                      -rwxr-xr-x  1 root staff   15676 Apr  9  2019 mbus-tcp-select-secondary
                      -rwxr-xr-x  1 root staff 9094204 Jul  7  2019 vzlogger
                      pi@raspberrypi:/usr/local/bin $
                      
                      liv-in-sky 1 Reply Last reply Reply Quote 0
                      • liv-in-sky
                        liv-in-sky @Negalein last edited by

                        @negalein
                        evtl ein rechte thema

                        im verzeichnis sudo chmod 777 curl-format.txt

                        1 Reply Last reply Reply Quote 0
                        • liv-in-sky
                          liv-in-sky @Negalein last edited by

                          @negalein

                          dann nochmal

                          curl -w "@curl-format.txt" -s 'http://10.0.1.93/middleware.php/data.json?from=now&uuid[]=bc3edcd0-24c4-11ea-b257-bdbd9553c516&uuid[]=deda8550-24c4-11ea-b402-275ee0956365' | grep time_total -m 1 | awk '{print $2}' | sed -e 's/s//'
                          
                          Negalein 1 Reply Last reply Reply Quote 0
                          • Negalein
                            Negalein Global Moderator @liv-in-sky last edited by

                            @liv-in-sky sagte in Hilfe bei Skripte von request auf httpGet umbauen:

                            dann nochmal

                            pi@raspberrypi:/usr/local/bin $ curl -w "@curl-format.txt" -s 'http://10.0.1.93/middleware.php/data.json?from=now&uuid[]=bc3edcd0-24c4-11ea-b257-bdbd9553c516&uuid[]=deda8550-24c4-11ea-b402-275ee0956365' | grep time_total -m 1 | awk '{print $2}' | sed -e 's/s//'
                            Warning: Failed to read curl-format.txtpi@raspberrypi:/usr/local/bin $
                            
                            liv-in-sky 1 Reply Last reply Reply Quote 0
                            • liv-in-sky
                              liv-in-sky @Negalein last edited by

                              @negalein aaarghh

                              mach mal sudo httptest

                              Negalein 1 Reply Last reply Reply Quote 0
                              • Negalein
                                Negalein Global Moderator @liv-in-sky last edited by

                                @liv-in-sky sagte in Hilfe bei Skripte von request auf httpGet umbauen:

                                mach mal sudo httptest

                                das ist eine Zicke

                                pi@raspberrypi:/usr/local/bin $ sudo httptest
                                Warning: Failed to read curl-format.txt/usr/local/bin/httptest: Zeile 3: iobroker: Kommando nicht gefunden.
                                Warning: Failed to read curl-format.txt/usr/local/bin/httptest: Zeile 6: iobroker: Kommando nicht gefunden.
                                Warning: Failed to read curl-format.txt/usr/local/bin/httptest: Zeile 9: iobroker: Kommando nicht gefunden.
                                Warning: Failed to read curl-format.txt/usr/local/bin/httptest: Zeile 12: iobroker: Kommando nicht gefunden.
                                pi@raspberrypi:/usr/local/bin $
                                
                                liv-in-sky 1 Reply Last reply Reply Quote 0
                                • liv-in-sky
                                  liv-in-sky @Negalein last edited by

                                  @negalein

                                  siehe chat

                                  OliverIO 1 Reply Last reply Reply Quote 0
                                  • OliverIO
                                    OliverIO @liv-in-sky last edited by

                                    @liv-in-sky

                                    sehr gut. das wäre die bibliothek gewesen, die ich auch verwendet hätte.
                                    bei den headers könnte man ein paar noch entfernen, aber die stören so ja nicht.

                                    1 Reply Last reply Reply Quote 0
                                    • OliverIO
                                      OliverIO @liv-in-sky last edited by

                                      @liv-in-sky

                                      warum probiert ihr jetzt noch mit einer curlversion?

                                      liv-in-sky 1 Reply Last reply Reply Quote 0
                                      • Negalein
                                        Negalein Global Moderator last edited by

                                        @oliverio sagte in Hilfe bei Skripte von request auf httpGet umbauen:

                                        warum probiert ihr jetzt noch mit einer curlversion?

                                        der curl ist ein Test für ein anderes Script, dass alle 10 Minuten einen Timeout hat.

                                        liv-in-sky 1 Reply Last reply Reply Quote 0
                                        • liv-in-sky
                                          liv-in-sky @OliverIO last edited by

                                          @oliverio

                                          wir haben noch ein andres thema.

                                          wir machen mit dem curtl rum, damit wir die zugriffszeiten mal checken können. das script hatte wohl mit "request" keine probleme, mit hhtpget schon

                                          ich hwollte dieses script nunmal mit axios testen, habe aber das problem, dass ich unterschiedliche antworten-daten bekomme

                                          vorher:

                                          var request = require("request");
                                          function readJson(url, callback) {
                                              request(url, function(err, state, body) {
                                                  if (body) {
                                                      var json = {};
                                                      if (body !== "") {
                                                          try {
                                                              json = JSON.parse(body);
                                                          } catch (ex) {
                                                              json = {};
                                                          }
                                                          if (!json) {
                                                              json = {};
                                                          }
                                                      }
                                                      callback(null, json);
                                                  } else {
                                                      var error = "(" + err + ") ERROR bei Abfrage von: " + url;
                                                      log(error, "warn");
                                                      callback(error, null);
                                                  }
                                              });
                                          }
                                          

                                          mit axios:

                                          async function readJson(url, callback) {log("readjson")
                                              await  axios.get(url,{headers:{"Content-Type": "application/json"}}).then(response => {
                                                  const contentType = response.headers["application/json"];
                                                  const body=response.data;
                                                  log(response)
                                                  log(response.data);
                                                  log(JSON.stringify(response.data));
                                                  log(JSON.stringify(response));
                                                   log( response.data.join('\n') );
                                                  if (!response.err) {
                                                      var json = {};
                                                      if (body !== "") {
                                                          try {
                                                              json = JSON.parse(body);
                                                          } catch (ex) {
                                                              json = {};
                                                          }
                                                          if (!json) {
                                                              json = {};
                                                          }
                                                      }
                                                      callback(null, json);
                                                  } else {
                                                      var error = "(" + Error + ") ERROR bei Abfrage von: " + url;
                                                      log(error, "warn");
                                                      callback(error, null);
                                                  }
                                              });
                                          }
                                          

                                          da sind die antwort.data unterschedlich - hast du da eine idee dazu

                                          1 Reply Last reply Reply Quote 0
                                          • liv-in-sky
                                            liv-in-sky @Negalein last edited by

                                            @negalein

                                            lasse mal dieses script laufen und poste das log - @OliverIO kann dann den output sehen - wegen dem unterschied

                                            
                                            var url = "http://10.0.1.93/middleware.php/data.json?from=now&uuid[]=bc3edcd0-24c4-11ea-b257-bdbd9553c516&uuid[]=deda8550-24c4-11ea-b402-275ee0956365";
                                            //url = "http://ip.jsontest.com/?callback=showMyIP"
                                            //url="https://httpbin.org/get"
                                            //url="http://ip.jsontest.com/"
                                            var pfad = "Volkszaehler.";
                                            var idAKTUELLER_VERBRAUCH = pfad + "AKTUELLER_VERBRAUCH";
                                            var idAKTUELLE_ERZEUGUNG = pfad + "AKTUELLE_LIEFERUNG";
                                            // var idAKTUELLE_HEIZUNG = pfad + "AKTUELLE_HEIZUNG";
                                             
                                             const axios=require('axios');
                                            // Vorgegebene Funktion, die nur dazu dient, das JSON einzulesen
                                            // Angelehnt an: http://www.iobroker.net/docu/?page_id=3691
                                            //var request = require("request");
                                            
                                              axios.get(url,{headers:{"Content-Type": "json"}}).then(response => {
                                                    const contentType = response.headers["json"];
                                                    const body=response.data;
                                                    log(response)
                                                    log(response.data);
                                                    log(JSON.stringify(response.data));
                                                    
                                                   //  log( response.data.join('\n') );
                                                    
                                                    }
                                                );
                                            
                                            
                                            var request = require("request");
                                             request(url, function(err, state, body) {
                                                 log("---------------------------")
                                                 log(body)    
                                                });
                                            
                                            Negalein 1 Reply Last reply Reply Quote 0
                                            • First post
                                              Last post

                                            Support us

                                            ioBroker
                                            Community Adapters
                                            Donate

                                            604
                                            Online

                                            31.8k
                                            Users

                                            80.0k
                                            Topics

                                            1.3m
                                            Posts

                                            16
                                            132
                                            9194
                                            Loading More Posts
                                            • Oldest to Newest
                                            • Newest to Oldest
                                            • Most Votes
                                            Reply
                                            • Reply as topic
                                            Log in to reply
                                            Community
                                            Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen
                                            The ioBroker Community 2014-2023
                                            logo