Skip to content
  • 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
  1. ioBroker Community Home
  2. Deutsch
  3. Skripten / Logik
  4. [gelöst] http request

NEWS

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

  • Monatsrückblick – September 2025
    BluefoxB
    Bluefox
    13
    1
    1.9k

  • Neues Video "KI im Smart Home" - ioBroker plus n8n
    BluefoxB
    Bluefox
    15
    1
    2.2k

[gelöst] http request

Geplant Angeheftet Gesperrt Verschoben Skripten / Logik
29 Beiträge 7 Kommentatoren 8.0k 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
    #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. 😄

                    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

                    782

                    Online

                    32.4k

                    Benutzer

                    81.4k

                    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
                    • Aktuell
                    • Tags
                    • Ungelesen 0
                    • Kategorien
                    • Unreplied
                    • Beliebt
                    • GitHub
                    • Docu
                    • Hilfe