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. [gelöst] http request

NEWS

  • Jahresrückblick 2025 – unser neuer Blogbeitrag ist online! ✨
    BluefoxB
    Bluefox
    14
    1
    361

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

  • Weihnachtsangebot 2025! 🎄
    BluefoxB
    Bluefox
    25
    1
    1.8k

[gelöst] http request

Geplant Angeheftet Gesperrt Verschoben Skripten / Logik
29 Beiträge 7 Kommentatoren 8.2k Aufrufe
  • Ä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.
  • Lenny.CBL Offline
    Lenny.CBL Offline
    Lenny.CB
    Most Active
    schrieb am zuletzt editiert von
    #19

    @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 Antwort Letzte Antwort
    0
    • H Offline
      H Offline
      homecineplexx
      schrieb am zuletzt editiert von
      #20

      den javaScript adpater hast du mal auf debug gestellt?

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

      1 Antwort Letzte Antwort
      0
      • Lenny.CBL Offline
        Lenny.CBL Offline
        Lenny.CB
        Most Active
        schrieb am zuletzt editiert von
        #21

        @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 Antwort Letzte Antwort
        0
        • H Offline
          H Offline
          homecineplexx
          schrieb am zuletzt editiert von
          #22

          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 Antwort Letzte Antwort
          0
          • Lenny.CBL Offline
            Lenny.CBL Offline
            Lenny.CB
            Most Active
            schrieb am zuletzt editiert von
            #23

            @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 Antwort Letzte Antwort
            0
            • H Offline
              H Offline
              homecineplexx
              schrieb am zuletzt editiert von
              #24

              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 Antwort Letzte Antwort
              0
              • Lenny.CBL Offline
                Lenny.CBL Offline
                Lenny.CB
                Most Active
                schrieb am zuletzt editiert von
                #25

                @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 Antwort Letzte Antwort
                0
                • H Offline
                  H Offline
                  homecineplexx
                  schrieb am zuletzt editiert von
                  #26

                  Schaltet dein Teil jetzt mal?

                  1 Antwort Letzte Antwort
                  0
                  • Lenny.CBL Offline
                    Lenny.CBL Offline
                    Lenny.CB
                    Most Active
                    schrieb am zuletzt editiert von
                    #27

                    @homecineplexx:

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

                    1 Antwort Letzte Antwort
                    0
                    • H Offline
                      H Offline
                      homecineplexx
                      schrieb am zuletzt editiert von
                      #28

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

                      1 Antwort Letzte Antwort
                      0
                      • Lenny.CBL Offline
                        Lenny.CBL Offline
                        Lenny.CB
                        Most Active
                        schrieb am zuletzt editiert von
                        #29

                        @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. :D

                        1 Antwort Letzte Antwort
                        1
                        Antworten
                        • In einem neuen Thema antworten
                        Anmelden zum Antworten
                        • Älteste zuerst
                        • Neuste zuerst
                        • Meiste Stimmen


                        Support us

                        ioBroker
                        Community Adapters
                        Donate

                        659

                        Online

                        32.6k

                        Benutzer

                        81.9k

                        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