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.
    • H
      homecineplexx last edited by

      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');});
      
      
      1 Reply Last reply Reply Quote 0
      • 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

                            668
                            Online

                            31.7k
                            Users

                            79.9k
                            Topics

                            1.3m
                            Posts

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