Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Skripten / Logik
    4. [gelöst] http request

    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

    [gelöst] http request

    This topic has been deleted. Only users with topic management privileges can see it.
    • Lenny.CB
      Lenny.CB Most Active last edited by

      @homecineplexx:

      probiers mal ganz erinfach:

      var request = require('request');
      request("http://192.168.2.37:8091/SetState.pl?R16=1&RT16=0").on('error', function  (e) {  log(e, 'error');});
      
      ```` `  gemacht, passiert nichts, kein Schalten, kein Log…
      1 Reply Last reply Reply Quote 0
      • H
        homecineplexx last edited by

        den javaScript adpater hast du mal auf debug gestellt?

        siehst du eigentlich irgendwo einen log, dass er versucht diesen request abzuschicken?

        1 Reply Last reply Reply Quote 0
        • Lenny.CB
          Lenny.CB Most Active last edited by

          @homecineplexx:

          den javaScript adpater hast du mal auf debug gestellt? ` jupp
          @homecineplexx:

          siehst du eigentlich irgendwo einen log, dass er versucht diesen request abzuschicken? ` nein

          ich fasse mal zusammen:

          deine Code-Zeile erzeugt keine Befehle und auch keine Logeinträge

          var request = require('request');
          request("http://192.168.2.37:8091/SetState.pl?R16=1&RT16=0").on('error', function  (e) {  log(e, 'error');});
          

          Ich hatte dann mal aus dem https://www.npmjs.com/package/request was probiert:

          var request = require('request');
          request("http://192.168.2.37:8091/SetState.pl?R16=1&RT16=0", function  (error, response, body) {
              log('error: ' + error);
              log('response: ' + JSON.stringify(response));
              log('body: ' + body);
          });
          

          erzeugt dann dieses Log:````
          12:58:34.714 [info] javascript.0 script.js.Testscripte.Skript1: error: null
          12:58:34.715 [info] javascript.0 script.js.Testscripte.Skript1: response: {"statusCode":401,"body":"","headers":{"server":"PoolController","www-authenticate":"Poolauth realm="NeedPassword"","content-type":"text/html"},"request":{"uri":{"protocol":"http:","slashes":true,"auth":null,"host":"192.168.2.37:8091","port":"8091","hostname":"192.168.2.37","hash":null,"search":"?R16=1&RT16=0","query":"R16=1&RT16=0","pathname":"/SetState.pl","path":"/SetState.pl?R16=1&RT16=0","href":"http://192.168.2.37:8091/SetState.pl?R16=1&RT16=0"},"method":"GET","headers":{}}}
          12:58:34.716 [info] javascript.0 script.js.Testscripte.Skript1: body:

          
          da steht was von "****Poolauth realm=\"NeedPassword\****". Also erweitert mit den Zeilen die ich bei request-npm gefunden habe (ob das richtig ist, sein mal dahin gestellt):````
          request({
              method: 'POST',
              uri: 'http://192.168.2.37:8091/SetState.pl?R16=1&RT16=0',
              auth: [{
                  'user': 'admin',
                  'pass': 'admin',
                  'sendImmediately': false
                  }]
            },
            function (error, response, body) {
              log('error: ' + error);
              log('response: ' + response);
              //log('response: ' + JSON.stringify(response));
              log('body: ' + body);
            });
           */
          

          erzeug dieses Log:````
          13:04:02.185 [info] javascript.0 script.js.Testscripte.Skript1: error: Error: no auth mechanism defined
          13:04:02.185 [info] javascript.0 script.js.Testscripte.Skript1: response: undefined
          13:04:02.185 [info] javascript.0 script.js.Testscripte.Skript1: body: undefined

          
          Hmmm, nun gehts nicht weiter…
          1 Reply Last reply Reply Quote 0
          • H
            homecineplexx last edited by

            und so?

            var requestTest = require('request'),
            
            var options = {
                url: 'http://192.168.2.37:8091/SetState.pl?R16=1&RT16=0',
                method: 'POST',
                formData: {
                    'username':'admin',
                    'password':'admin'
                }
            }
            
            requestTest(options, function  (error, response, body) {
                log('error: ' + error);
                log('response: ' + JSON.stringify(response));
                log('body: ' + body);
            });
            
            
            1 Reply Last reply Reply Quote 0
            • Lenny.CB
              Lenny.CB Most Active last edited by

              @homecineplexx:

              und so?

              var requestTest = require('request'),
              
              var options = {
                  url: 'http://192.168.2.37:8091/SetState.pl?R16=1&RT16=0',
                  method: 'POST',
                  formData: {
                      'username':'admin',
                      'password':'admin'
                  }
              }
              
              requestTest(options, function  (error, response, body) {
                  log('error: ' + error);
                  log('response: ' + JSON.stringify(response));
                  log('body: ' + body);
              });
              
              ```` `  
              

              ergibt das: ` > 14:45:24.506 [info] javascript.0 script.js.Testscripte.Skript1: error: Error: read ECONNRESET

              14:45:24.523 [info] javascript.0 script.js.Testscripte.Skript1: response: undefined

              14:45:24.523 [info] javascript.0 script.js.Testscripte.Skript1: body: undefined `

              habe in der ersten Zeile mal das "Komma" mit einem "Semikolon" getauscht?

              1 Reply Last reply Reply Quote 0
              • H
                homecineplexx last edited by

                Sorry war ein Schreibfehler.

                Natürlich so.

                Aber du bekommst keine Authfehler mehr?

                var requestTest = require('request');
                
                var options = {
                    url: 'http://192.168.2.37:8091/SetState.pl?R16=1&RT16=0',
                    method: 'POST',
                    formData: {
                        'username':'admin',
                        'password':'admin'
                    }
                };
                
                requestTest(options, function  (error, response, body) {
                    log('error: ' + error);
                    log('response: ' + JSON.stringify(response));
                    log('body: ' + body);
                });
                
                
                1 Reply Last reply Reply Quote 0
                • Lenny.CB
                  Lenny.CB Most Active last edited by

                  @homecineplexx:

                  Sorry war ein Schreibfehler.

                  Natürlich so.

                  Aber du bekommst keine Authfehler mehr?

                  var requestTest = require('request');
                  
                  var options = {
                      url: 'http://192.168.2.37:8091/SetState.pl?R16=1&RT16=0',
                      method: 'POST',
                      formData: {
                          'username':'admin',
                          'password':'admin'
                      }
                  };
                  
                  requestTest(options, function  (error, response, body) {
                      log('error: ' + error);
                      log('response: ' + JSON.stringify(response));
                      log('body: ' + body);
                  });
                  
                  ```` `  Nein.
                  1 Reply Last reply Reply Quote 0
                  • H
                    homecineplexx last edited by

                    Schaltet dein Teil jetzt mal?

                    1 Reply Last reply Reply Quote 0
                    • Lenny.CB
                      Lenny.CB Most Active last edited by

                      @homecineplexx:

                      Schaltet dein Teil jetzt mal? ` Ne tuts leider nicht…

                      1 Reply Last reply Reply Quote 0
                      • H
                        homecineplexx last edited by

                        mal was anderes. siehst du auf dem 192.168.2.37:8091, den du steuern möchtest, irgendwelche logs?

                        1 Reply Last reply Reply Quote 0
                        • Lenny.CB
                          Lenny.CB Most Active last edited by

                          @homecineplexx:

                          mal was anderes. siehst du auf dem 192.168.2.37:8091, den du steuern möchtest, irgendwelche logs? ` Logs in dem Sinne sind da nicht zu holen.

                          ABER, ich habe jetzt was gefunden was auch klappt.

                          var request = require('request'),
                              username = "admin",
                              password = "admin",
                              url = 'http://192.168.2.37:8091/SetState.pl?R16=0&RT16=0',
                              auth = "Basic " + new Buffer(username + ":" + password).toString("base64");
                          
                          request({
                                  url : url,
                                  headers : {'Authorization' : auth}
                              },
                              function (error, response, body) {
                                      log('error: ' + error);
                                      log('response: ' + JSON.stringify(response));
                                      log('body: ' + body);
                              }
                          );
                          

                          erzeugt dann dieses LOG und schaltet auch das Relais im Controler:

                          08:23:02.308	[info]	javascript.0 script.js.Testscripte.Skript1: error: null
                          08:23:02.310	[info]	javascript.0 script.js.Testscripte.Skript1: response: {"statusCode":200,"body":"0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0\n","headers":{"server":"PoolController V.1.6.8","connection":"close","content-type":"text/plain; charset=ISO-8859-1"},"request":{"uri":{"protocol":"http:","slashes":true,"auth":null,"host":"192.168.2.37:8091","port":"8091","hostname":"192.168.2.37","hash":null,"search":"?R16=0&RT16=0","query":"R16=0&RT16=0","pathname":"/SetState.pl","path":"/SetState.pl?R16=0&RT16=0","href":"http://192.168.2.37:8091/SetState.pl?R16=0&RT16=0"},"method":"GET","headers":{"Authorization":"Basic YWxxxx46xxxxaWxxxx=="}}}
                          08:23:02.310	[info]	javascript.0 script.js.Testscripte.Skript1: body: 0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0
                          

                          nochmal danke an alle die so geduldig waren. 😄

                          1 Reply Last reply Reply Quote 1
                          • First post
                            Last post

                          Support us

                          ioBroker
                          Community Adapters
                          Donate

                          874
                          Online

                          31.8k
                          Users

                          79.9k
                          Topics

                          1.3m
                          Posts

                          7
                          29
                          7527
                          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