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. Blockly
  5. HTTP-Post und Headerübergabe

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

HTTP-Post und Headerübergabe

Geplant Angeheftet Gesperrt Verschoben Blockly
25 Beiträge 3 Kommentatoren 2.4k Aufrufe 4 Watching
  • Ä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.
  • haus-automatisierungH haus-automatisierung

    @hackypaddy Beispiele gibt es doch in der Doku:

    https://github.com/ioBroker/ioBroker.javascript/blob/master/docs/en/javascript.md#httppost

    z.B.

    httpPost(
        'http://jsonplaceholder.typicode.com/posts',
        {
            title: 'foo',
            body: 'bar',
            userId: 1
        },
        {
            timeout: 2000,
            headers: {
                'Content-Type': 'application/json'
            }
        },
        (error, response) => {
            if (!error) {
                console.log(response.statusCode);
                console.log(response.data);
                console.log(response.headers);
            } else {
                console.error(error);
            }
        }
    );
    
    H Offline
    H Offline
    HackyPaddy
    schrieb am zuletzt editiert von
    #5

    @haus-automatisierung In dem Block (error, response) müsste ich zwei Variablen setzen, die dann auch im Funktionsblock zur Verfügung stehen.

    Überall kann ich ne Variable deklarieren und diese wird dann auch an das Blockly übergeben. Aber innerhalb des Blocks

    (error, response) => {
            if (!error) {
                console.log(response.statusCode);
                console.log(response.data);
                //console.log(response.headers);
            } else {
                console.error(error);
            }
        }
    

    werde die Variablen verworfen. Irgendwie komm ich da nicht weiter... 🤕

    MartinPM 1 Antwort Letzte Antwort
    0
    • H HackyPaddy

      @haus-automatisierung In dem Block (error, response) müsste ich zwei Variablen setzen, die dann auch im Funktionsblock zur Verfügung stehen.

      Überall kann ich ne Variable deklarieren und diese wird dann auch an das Blockly übergeben. Aber innerhalb des Blocks

      (error, response) => {
              if (!error) {
                  console.log(response.statusCode);
                  console.log(response.data);
                  //console.log(response.headers);
              } else {
                  console.error(error);
              }
          }
      

      werde die Variablen verworfen. Irgendwie komm ich da nicht weiter... 🤕

      MartinPM Online
      MartinPM Online
      MartinP
      schrieb am zuletzt editiert von
      #6

      @hackypaddy hmm - könnte am Variablennamen liegen.
      Das, was Du zeigst, enthält gar keine Variable

      Intel(R) Celeron(R) CPU N3000 @ 1.04GHz 8G RAM 480G SSD
      Virtualization : unprivileged lxc container (debian 12 on Proxmox 8.4.13)
      kernel Linux pve 6.8.12-15-pve
      6 GByte RAM für den Container
      Fritzbox 6591 FW 8.03 (Vodafone Leih-Box)
      Remote-Access über Wireguard der Fritzbox

      H 1 Antwort Letzte Antwort
      0
      • H HackyPaddy

        @haus-automatisierung Das habe ich über eine Funktion gelöst und das läuft auch. Problem ist, dass es mir den StatusCode sowie den Data-Block in das Log schreibt, das bringt mir aber nix.

        Ich muss den Statuscode und die Antwort im Script weiterverarbeiten. Nur, wie komme ich an die Daten bzw. wie kann ich die an den Rückgabewert der Funktion übergeben, sodass ich diesen in Blockly weiterverarbeiten kann?

        So tief bin ich in JavaScript nicht drin...!

        Funktion

        Im Bild ein Beispiel, wie ich das brauche. Beachte unten das return...

        haus-automatisierungH Offline
        haus-automatisierungH Offline
        haus-automatisierung
        Developer Most Active
        schrieb am zuletzt editiert von
        #7

        @hackypaddy sagte in HTTP-Post und Headerübergabe:

        Ich muss den Statuscode und die Antwort im Script weiterverarbeiten. Nur, wie komme ich an die Daten bzw. wie kann ich die an den Rückgabewert der Funktion übergeben, sodass ich diesen in Blockly weiterverarbeiten

        Sorry, ich habe erstmal nur beantwortet, was auch gefragt wurde 🙂

        In dem Fall musst Du die Async Variante nutzen, welche ein Promise zurückliefert. Gerade nur am Handy, kann später gern ein Beispiel teilen (falls ich es nicht vergesse)

        🧑‍🎓 Autor des beliebten ioBroker-Master-Kurses
        🎥 Tutorials rund um das Thema DIY-Smart-Home: https://haus-automatisierung.com/
        📚 Meine inoffizielle ioBroker Dokumentation

        H 2 Antworten Letzte Antwort
        0
        • MartinPM MartinP

          @hackypaddy hmm - könnte am Variablennamen liegen.
          Das, was Du zeigst, enthält gar keine Variable

          H Offline
          H Offline
          HackyPaddy
          schrieb am zuletzt editiert von
          #8

          @martinp sagte in HTTP-Post und Headerübergabe:

          @hackypaddy hmm - könnte am Variablennamen liegen.
          Das, was Du zeigst, enthält gar keine Variable

          Ne, das war ja auch nur ein Beispiel 🙂

          1 Antwort Letzte Antwort
          0
          • haus-automatisierungH haus-automatisierung

            @hackypaddy sagte in HTTP-Post und Headerübergabe:

            Ich muss den Statuscode und die Antwort im Script weiterverarbeiten. Nur, wie komme ich an die Daten bzw. wie kann ich die an den Rückgabewert der Funktion übergeben, sodass ich diesen in Blockly weiterverarbeiten

            Sorry, ich habe erstmal nur beantwortet, was auch gefragt wurde 🙂

            In dem Fall musst Du die Async Variante nutzen, welche ein Promise zurückliefert. Gerade nur am Handy, kann später gern ein Beispiel teilen (falls ich es nicht vergesse)

            H Offline
            H Offline
            HackyPaddy
            schrieb am zuletzt editiert von
            #9

            @haus-automatisierung Das wäre ein Träumchen! Ich steh mit beiden Füßen auf dem Schlauch und es kommt nicht ein Tropfen Wasser 😂

            1 Antwort Letzte Antwort
            0
            • haus-automatisierungH haus-automatisierung

              @hackypaddy sagte in HTTP-Post und Headerübergabe:

              Ich muss den Statuscode und die Antwort im Script weiterverarbeiten. Nur, wie komme ich an die Daten bzw. wie kann ich die an den Rückgabewert der Funktion übergeben, sodass ich diesen in Blockly weiterverarbeiten

              Sorry, ich habe erstmal nur beantwortet, was auch gefragt wurde 🙂

              In dem Fall musst Du die Async Variante nutzen, welche ein Promise zurückliefert. Gerade nur am Handy, kann später gern ein Beispiel teilen (falls ich es nicht vergesse)

              H Offline
              H Offline
              HackyPaddy
              schrieb am zuletzt editiert von
              #10

              @haus-automatisierung ich hab mich mal in die async funktion eingelesen und probiert. Aber ich mach mehr kaputt als das es funktioniert... 😠

              haus-automatisierungH 1 Antwort Letzte Antwort
              0
              • H HackyPaddy

                @haus-automatisierung ich hab mich mal in die async funktion eingelesen und probiert. Aber ich mach mehr kaputt als das es funktioniert... 😠

                haus-automatisierungH Offline
                haus-automatisierungH Offline
                haus-automatisierung
                Developer Most Active
                schrieb am zuletzt editiert von
                #11

                @hackypaddy

                return httpPostAsync(
                    'http://jsonplaceholder.typicode.com/posts',
                    {
                        title: 'foo',
                        body: 'bar',
                        userId: 1
                    },
                    {
                        timeout: 2000,
                        headers: {
                            'Content-Type': 'application/json'
                        }
                    }
                );
                

                Und dann halt in Blockly wieder auf die Eigenschaften des Response-Objekts zugreifen. Also statusCode und data.

                🧑‍🎓 Autor des beliebten ioBroker-Master-Kurses
                🎥 Tutorials rund um das Thema DIY-Smart-Home: https://haus-automatisierung.com/
                📚 Meine inoffizielle ioBroker Dokumentation

                H 2 Antworten Letzte Antwort
                0
                • haus-automatisierungH haus-automatisierung

                  @hackypaddy

                  return httpPostAsync(
                      'http://jsonplaceholder.typicode.com/posts',
                      {
                          title: 'foo',
                          body: 'bar',
                          userId: 1
                      },
                      {
                          timeout: 2000,
                          headers: {
                              'Content-Type': 'application/json'
                          }
                      }
                  );
                  

                  Und dann halt in Blockly wieder auf die Eigenschaften des Response-Objekts zugreifen. Also statusCode und data.

                  H Offline
                  H Offline
                  HackyPaddy
                  schrieb am zuletzt editiert von
                  #12

                  @haus-automatisierung Du bist die Wucht. Danke. Damit funktioniert es 🙂

                  1 Antwort Letzte Antwort
                  0
                  • haus-automatisierungH haus-automatisierung

                    @hackypaddy

                    return httpPostAsync(
                        'http://jsonplaceholder.typicode.com/posts',
                        {
                            title: 'foo',
                            body: 'bar',
                            userId: 1
                        },
                        {
                            timeout: 2000,
                            headers: {
                                'Content-Type': 'application/json'
                            }
                        }
                    );
                    

                    Und dann halt in Blockly wieder auf die Eigenschaften des Response-Objekts zugreifen. Also statusCode und data.

                    H Offline
                    H Offline
                    HackyPaddy
                    schrieb am zuletzt editiert von
                    #13

                    @haus-automatisierung Ich muss den Thread nochmal aus der Versenkung holen. Die Lösung hat bis zum Update auf den JavaScript-Adapter V. 8.8.3 wunderbar funktioniert.

                    Seit dem Update jedoch stützt Nachts der JavaScript-Adapter ab. Und zwar genau dann, wenn die DSL-Zwangstrennung kommt und das Script die Daten nicht senden kann.

                    Hier ein Auszug aus dem Log:

                    2024-11-05 04:50:30.056 - error: javascript.0 (2428097) script.js.common.ATU.Messdaten_senden: httpPost(XXX, error=timeout of 30000ms exceeded)
                    2024-11-05 04:50:30.059 - error: javascript.0 (2428097) Unhandled promise rejection. This error originated either by throwing inside of an async function without a catch block, or by rejecting a promise which was not handled with .catch().
                    2024-11-05 04:50:30.059 - error: javascript.0 (2428097) unhandled promise rejection: timeout of 30000ms exceeded
                    2024-11-05 04:50:30.060 - error: javascript.0 (2428097) Error: timeout of 30000ms exceeded
                    

                    Hast Du ne Ahnung, was wie wo und warum das passiert? Eigebtlich sollte er beim Timeout von 30 Sek. doch abbrechen und nicht den ganzen Adapter killen.

                    Viele Grüße
                    Patrick

                    haus-automatisierungH 1 Antwort Letzte Antwort
                    0
                    • H HackyPaddy

                      @haus-automatisierung Ich muss den Thread nochmal aus der Versenkung holen. Die Lösung hat bis zum Update auf den JavaScript-Adapter V. 8.8.3 wunderbar funktioniert.

                      Seit dem Update jedoch stützt Nachts der JavaScript-Adapter ab. Und zwar genau dann, wenn die DSL-Zwangstrennung kommt und das Script die Daten nicht senden kann.

                      Hier ein Auszug aus dem Log:

                      2024-11-05 04:50:30.056 - error: javascript.0 (2428097) script.js.common.ATU.Messdaten_senden: httpPost(XXX, error=timeout of 30000ms exceeded)
                      2024-11-05 04:50:30.059 - error: javascript.0 (2428097) Unhandled promise rejection. This error originated either by throwing inside of an async function without a catch block, or by rejecting a promise which was not handled with .catch().
                      2024-11-05 04:50:30.059 - error: javascript.0 (2428097) unhandled promise rejection: timeout of 30000ms exceeded
                      2024-11-05 04:50:30.060 - error: javascript.0 (2428097) Error: timeout of 30000ms exceeded
                      

                      Hast Du ne Ahnung, was wie wo und warum das passiert? Eigebtlich sollte er beim Timeout von 30 Sek. doch abbrechen und nicht den ganzen Adapter killen.

                      Viele Grüße
                      Patrick

                      haus-automatisierungH Offline
                      haus-automatisierungH Offline
                      haus-automatisierung
                      Developer Most Active
                      schrieb am zuletzt editiert von
                      #14

                      @hackypaddy sagte in HTTP-Post und Headerübergabe:

                      Die Lösung hat bis zum Update auf den JavaScript-Adapter V. 8.8.3 wunderbar funktioniert.

                      Das liegt garantiert nicht an der Version oder ist erst seit der Version so.

                      @hackypaddy sagte in HTTP-Post und Headerübergabe:

                      Hast Du ne Ahnung, was wie wo und warum das passiert?

                      Ja, weil es kein Try-Catch gibt oder mit .catch() der Fehler abgefangen wird. Steht ja auch in der Meldung. Da müsste man das Script etwas umbauen.

                      🧑‍🎓 Autor des beliebten ioBroker-Master-Kurses
                      🎥 Tutorials rund um das Thema DIY-Smart-Home: https://haus-automatisierung.com/
                      📚 Meine inoffizielle ioBroker Dokumentation

                      H 1 Antwort Letzte Antwort
                      0
                      • haus-automatisierungH haus-automatisierung

                        @hackypaddy sagte in HTTP-Post und Headerübergabe:

                        Die Lösung hat bis zum Update auf den JavaScript-Adapter V. 8.8.3 wunderbar funktioniert.

                        Das liegt garantiert nicht an der Version oder ist erst seit der Version so.

                        @hackypaddy sagte in HTTP-Post und Headerübergabe:

                        Hast Du ne Ahnung, was wie wo und warum das passiert?

                        Ja, weil es kein Try-Catch gibt oder mit .catch() der Fehler abgefangen wird. Steht ja auch in der Meldung. Da müsste man das Script etwas umbauen.

                        H Offline
                        H Offline
                        HackyPaddy
                        schrieb am zuletzt editiert von
                        #15

                        @haus-automatisierung

                        Bekommt man die .catch-Funktion denn im Blockly irgendwie dargestellt?

                        haus-automatisierungH 1 Antwort Letzte Antwort
                        0
                        • H HackyPaddy

                          @haus-automatisierung

                          Bekommt man die .catch-Funktion denn im Blockly irgendwie dargestellt?

                          haus-automatisierungH Offline
                          haus-automatisierungH Offline
                          haus-automatisierung
                          Developer Most Active
                          schrieb am zuletzt editiert von
                          #16

                          @hackypaddy Aktuell nicht. Das müsste man direkt in der JS-Funktion lösen und sich überlegen was man dann zurückliefert.

                          🧑‍🎓 Autor des beliebten ioBroker-Master-Kurses
                          🎥 Tutorials rund um das Thema DIY-Smart-Home: https://haus-automatisierung.com/
                          📚 Meine inoffizielle ioBroker Dokumentation

                          H 1 Antwort Letzte Antwort
                          0
                          • haus-automatisierungH haus-automatisierung

                            @hackypaddy Aktuell nicht. Das müsste man direkt in der JS-Funktion lösen und sich überlegen was man dann zurückliefert.

                            H Offline
                            H Offline
                            HackyPaddy
                            schrieb am zuletzt editiert von
                            #17

                            @haus-automatisierung

                            OK. Theoretisch müsste nichts zurück geliefert werden. Am besten wäre ein Eintrag ins Log und dann bricht das Script ab.

                            Wird eh alle 10 Minuten aufgerufen...

                            Nur der Adapter sollte nicht mehr abschmieren, das ist mehr als ungünstig 😞

                            Ich habe ja dein Script von oben genauso eingesetzt. Kann man das einfach auf try und catch umbauen?

                            z.B. so:

                            try {
                            return httpPostAsync(
                                'http://jsonplaceholder.typicode.com/posts',
                                {
                                    title: 'foo',
                                    body: 'bar',
                                    userId: 1
                                },
                                {
                                    timeout: 2000,
                                    headers: {
                                        'Content-Type': 'application/json'
                                    }
                                }
                            )
                            }
                            catch {
                                console.warn("Test123");
                            }
                            
                            
                            haus-automatisierungH 1 Antwort Letzte Antwort
                            0
                            • H HackyPaddy

                              @haus-automatisierung

                              OK. Theoretisch müsste nichts zurück geliefert werden. Am besten wäre ein Eintrag ins Log und dann bricht das Script ab.

                              Wird eh alle 10 Minuten aufgerufen...

                              Nur der Adapter sollte nicht mehr abschmieren, das ist mehr als ungünstig 😞

                              Ich habe ja dein Script von oben genauso eingesetzt. Kann man das einfach auf try und catch umbauen?

                              z.B. so:

                              try {
                              return httpPostAsync(
                                  'http://jsonplaceholder.typicode.com/posts',
                                  {
                                      title: 'foo',
                                      body: 'bar',
                                      userId: 1
                                  },
                                  {
                                      timeout: 2000,
                                      headers: {
                                          'Content-Type': 'application/json'
                                      }
                                  }
                              )
                              }
                              catch {
                                  console.warn("Test123");
                              }
                              
                              
                              haus-automatisierungH Offline
                              haus-automatisierungH Offline
                              haus-automatisierung
                              Developer Most Active
                              schrieb am zuletzt editiert von
                              #18

                              @hackypaddy sagte in HTTP-Post und Headerübergabe:

                              Kann man das einfach auf try und catch umbauen?

                              Theoretisch ja, aber dann geben manche Pfade ja keinen Wert zurück. Also könntest Du wieder Fehler bekommen, wenn Du in Blockly dann auf die Attribute zugreifen möchtest (weil ja nichts zurückgegeben wird). Da könnte man dann ein neues Objekt mit Dummy-Werten zurückliefern.

                              z.B.

                              try {
                                  return httpPostAsync(
                                      'http://jsonplaceholder.typicode.com/posts',
                                      {
                                          title: 'foo',
                                          body: 'bar',
                                          userId: 1
                                      },
                                      {
                                          timeout: 2000,
                                          headers: {
                                              'Content-Type': 'application/json'
                                          }
                                      }
                                  );
                              }
                              catch (err) {
                                  console.warn(err);
                              
                                  return {
                                      statusCode: -1,
                                      data: '',
                                      headers: [],
                                  };
                              }
                              

                              🧑‍🎓 Autor des beliebten ioBroker-Master-Kurses
                              🎥 Tutorials rund um das Thema DIY-Smart-Home: https://haus-automatisierung.com/
                              📚 Meine inoffizielle ioBroker Dokumentation

                              H 1 Antwort Letzte Antwort
                              0
                              • haus-automatisierungH haus-automatisierung

                                @hackypaddy sagte in HTTP-Post und Headerübergabe:

                                Kann man das einfach auf try und catch umbauen?

                                Theoretisch ja, aber dann geben manche Pfade ja keinen Wert zurück. Also könntest Du wieder Fehler bekommen, wenn Du in Blockly dann auf die Attribute zugreifen möchtest (weil ja nichts zurückgegeben wird). Da könnte man dann ein neues Objekt mit Dummy-Werten zurückliefern.

                                z.B.

                                try {
                                    return httpPostAsync(
                                        'http://jsonplaceholder.typicode.com/posts',
                                        {
                                            title: 'foo',
                                            body: 'bar',
                                            userId: 1
                                        },
                                        {
                                            timeout: 2000,
                                            headers: {
                                                'Content-Type': 'application/json'
                                            }
                                        }
                                    );
                                }
                                catch (err) {
                                    console.warn(err);
                                
                                    return {
                                        statusCode: -1,
                                        data: '',
                                        headers: [],
                                    };
                                }
                                
                                H Offline
                                H Offline
                                HackyPaddy
                                schrieb am zuletzt editiert von
                                #19

                                @haus-automatisierung

                                Perfekt, so könnte ich über den Statuscode im Blockly weiter machen. Das ne gute Idee!

                                Sagmal, bietest Du auch einen MasterKurs "JavaScript Advance" an. Wäre mal ne Idee 😁

                                haus-automatisierungH 1 Antwort Letzte Antwort
                                0
                                • H HackyPaddy

                                  @haus-automatisierung

                                  Perfekt, so könnte ich über den Statuscode im Blockly weiter machen. Das ne gute Idee!

                                  Sagmal, bietest Du auch einen MasterKurs "JavaScript Advance" an. Wäre mal ne Idee 😁

                                  haus-automatisierungH Offline
                                  haus-automatisierungH Offline
                                  haus-automatisierung
                                  Developer Most Active
                                  schrieb am zuletzt editiert von
                                  #20

                                  @hackypaddy sagte in HTTP-Post und Headerübergabe:

                                  Sagmal, bietest Du auch einen MasterKurs "JavaScript Advance" an.

                                  Hatte ich mir überlegt, aber wo fängt man da an? All das hier sind ja JavaScript-Grundlagen und haben erstmal nichts mit dem ioBroker zu tun.

                                  Und wenn ich ganz vorne anfange, dann ist es ein extrem weiter Weg der ganzen Grundlagen, bis ich überhaupt mal bei ioBroker-Themen ankomme. Und dann sind wir so weit vom Smart Home Thema weg, dass ich mich erstmal dagegen entschieden habe.

                                  🧑‍🎓 Autor des beliebten ioBroker-Master-Kurses
                                  🎥 Tutorials rund um das Thema DIY-Smart-Home: https://haus-automatisierung.com/
                                  📚 Meine inoffizielle ioBroker Dokumentation

                                  H 1 Antwort Letzte Antwort
                                  0
                                  • haus-automatisierungH haus-automatisierung

                                    @hackypaddy sagte in HTTP-Post und Headerübergabe:

                                    Sagmal, bietest Du auch einen MasterKurs "JavaScript Advance" an.

                                    Hatte ich mir überlegt, aber wo fängt man da an? All das hier sind ja JavaScript-Grundlagen und haben erstmal nichts mit dem ioBroker zu tun.

                                    Und wenn ich ganz vorne anfange, dann ist es ein extrem weiter Weg der ganzen Grundlagen, bis ich überhaupt mal bei ioBroker-Themen ankomme. Und dann sind wir so weit vom Smart Home Thema weg, dass ich mich erstmal dagegen entschieden habe.

                                    H Offline
                                    H Offline
                                    HackyPaddy
                                    schrieb am zuletzt editiert von
                                    #21

                                    @haus-automatisierung

                                    Also ich wäre dabei. Ich muss eh alles von Grund neu lernen, bin schon viel zu lange raus.

                                    Aber! Die Lösung mit try catch läuft auch nicht. Ich hab testweise mal die URL geändert, sodass es zwangsläufig zum Fehler kommt. Er steigt wieder aus mit dem Hinweis, kein .catch oder Catch-Block vorhanden. Der Adapter schmiert ab...

                                    
                                    javascript.0
                                    2024-11-05 11:30:00.205	error	unhandled promise rejection: getaddrinfo ENOTFOUND XXX
                                    
                                    javascript.0
                                    2024-11-05 11:30:00.205	error	Unhandled promise rejection. This error originated either by throwing inside of an async function without a catch block, or by rejecting a promise which was not handled with .catch().
                                    

                                    Hmm, hast noch ne Idee?

                                    haus-automatisierungH 1 Antwort Letzte Antwort
                                    0
                                    • H HackyPaddy

                                      @haus-automatisierung

                                      Also ich wäre dabei. Ich muss eh alles von Grund neu lernen, bin schon viel zu lange raus.

                                      Aber! Die Lösung mit try catch läuft auch nicht. Ich hab testweise mal die URL geändert, sodass es zwangsläufig zum Fehler kommt. Er steigt wieder aus mit dem Hinweis, kein .catch oder Catch-Block vorhanden. Der Adapter schmiert ab...

                                      
                                      javascript.0
                                      2024-11-05 11:30:00.205	error	unhandled promise rejection: getaddrinfo ENOTFOUND XXX
                                      
                                      javascript.0
                                      2024-11-05 11:30:00.205	error	Unhandled promise rejection. This error originated either by throwing inside of an async function without a catch block, or by rejecting a promise which was not handled with .catch().
                                      

                                      Hmm, hast noch ne Idee?

                                      haus-automatisierungH Offline
                                      haus-automatisierungH Offline
                                      haus-automatisierung
                                      Developer Most Active
                                      schrieb am zuletzt editiert von
                                      #22

                                      @hackypaddy sagte in HTTP-Post und Headerübergabe:

                                      Aber! Die Lösung mit try catch läuft auch nicht.

                                      Ach sorry, wenn man nebenbei etwas anderes macht, ... Das liegt daran, dass ja das Promise zurückgegeben wird und es außerhalb ausgeführt wird. So sollte es klappen:

                                      try {
                                          const response = await httpPostAsync(
                                              'http://jsonplaceholder.typicode.com/posts',
                                              {
                                                  title: 'foo',
                                                  body: 'bar',
                                                  userId: 1
                                              },
                                              {
                                                  timeout: 2000,
                                                  headers: {
                                                      'Content-Type': 'application/json'
                                                  }
                                              }
                                          );
                                      
                                          return response;
                                      } catch (err) {
                                          console.warn(err);
                                       
                                          return {
                                              statusCode: -1,
                                              data: '',
                                              headers: [],
                                          };
                                      }
                                      

                                      🧑‍🎓 Autor des beliebten ioBroker-Master-Kurses
                                      🎥 Tutorials rund um das Thema DIY-Smart-Home: https://haus-automatisierung.com/
                                      📚 Meine inoffizielle ioBroker Dokumentation

                                      H 1 Antwort Letzte Antwort
                                      0
                                      • haus-automatisierungH haus-automatisierung

                                        @hackypaddy sagte in HTTP-Post und Headerübergabe:

                                        Aber! Die Lösung mit try catch läuft auch nicht.

                                        Ach sorry, wenn man nebenbei etwas anderes macht, ... Das liegt daran, dass ja das Promise zurückgegeben wird und es außerhalb ausgeführt wird. So sollte es klappen:

                                        try {
                                            const response = await httpPostAsync(
                                                'http://jsonplaceholder.typicode.com/posts',
                                                {
                                                    title: 'foo',
                                                    body: 'bar',
                                                    userId: 1
                                                },
                                                {
                                                    timeout: 2000,
                                                    headers: {
                                                        'Content-Type': 'application/json'
                                                    }
                                                }
                                            );
                                        
                                            return response;
                                        } catch (err) {
                                            console.warn(err);
                                         
                                            return {
                                                statusCode: -1,
                                                data: '',
                                                headers: [],
                                            };
                                        }
                                        
                                        H Offline
                                        H Offline
                                        HackyPaddy
                                        schrieb am zuletzt editiert von
                                        #23

                                        @haus-automatisierung

                                        Diesmal klappt es.
                                        Genau da brauch ich Nachhilfe 😂

                                        Er gibt jetzt den Statuscode vom Catch Block zurück und der Adapter schmiert nicht mehr ab.

                                        Kann man den JavaScript-Adapter die Errormeldung im Log noch irgendwie abgewöhnen?

                                        javascript.0
                                        2024-11-05 11:58:00.018	error	script.js.common.ATU.Messdaten_senden: httpPost(url=XXX, error=getaddrinfo ENOTFOUND XXX)
                                        

                                        Ich hab ja schon die Behandlung im Blockly, wäre doppelt gemoppelt.

                                        haus-automatisierungH 1 Antwort Letzte Antwort
                                        0
                                        • H HackyPaddy

                                          @haus-automatisierung

                                          Diesmal klappt es.
                                          Genau da brauch ich Nachhilfe 😂

                                          Er gibt jetzt den Statuscode vom Catch Block zurück und der Adapter schmiert nicht mehr ab.

                                          Kann man den JavaScript-Adapter die Errormeldung im Log noch irgendwie abgewöhnen?

                                          javascript.0
                                          2024-11-05 11:58:00.018	error	script.js.common.ATU.Messdaten_senden: httpPost(url=XXX, error=getaddrinfo ENOTFOUND XXX)
                                          

                                          Ich hab ja schon die Behandlung im Blockly, wäre doppelt gemoppelt.

                                          haus-automatisierungH Offline
                                          haus-automatisierungH Offline
                                          haus-automatisierung
                                          Developer Most Active
                                          schrieb am zuletzt editiert von
                                          #24

                                          @hackypaddy sagte in HTTP-Post und Headerübergabe:

                                          Kann man den JavaScript-Adapter die Errormeldung im Log noch irgendwie abgewöhnen?

                                          Gibt dazu schon einen Feature Request auf GitHub. Muss halt jemand machen 🙂

                                          🧑‍🎓 Autor des beliebten ioBroker-Master-Kurses
                                          🎥 Tutorials rund um das Thema DIY-Smart-Home: https://haus-automatisierung.com/
                                          📚 Meine inoffizielle ioBroker Dokumentation

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


                                          Support us

                                          ioBroker
                                          Community Adapters
                                          Donate

                                          337

                                          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