Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Skripten / Logik
    4. Blockly
    5. HTTP Post Blockly klappt nicht

    NEWS

    • ioBroker@Smart Living Forum Solingen, 14.06. - Agenda added

    • ioBroker goes Matter ... Matter Adapter in Stable

    • Monatsrückblick - April 2025

    HTTP Post Blockly klappt nicht

    This topic has been deleted. Only users with topic management privileges can see it.
    • Q
      quorle last edited by

      Ich versuche gerade einen HTTP-Post übergabe, aber irgendwie klappt das nicht so wirklich:

      Hier das Blockly:
      Unbenannt.JPG

      Und hier der Teil aus der Anleitung:

      Unbenannt1.JPG

      Es kommt immer folgefender Fehler:

      javascript.0	12:39:41.022	warn	
      Daten: <html>
      <head><title>401 Authorization Required</title></head>
      <body>
      <center><h1>401 Authorization Required</h1></center>
      <hr><center>nginx</center>
      </body>
      </html>
      javascript.0	12:39:41.022	warn	
      Status Code: 401
      

      Irgendwie kapier ich das ganze einfach nicht....
      Was mache ich denn falsch?

      1 Reply Last reply Reply Quote 0
      • Codierknecht
        Codierknecht Developer Most Active last edited by Codierknecht

        @quorle sagte in HTTP Post Blockly klappt nicht:

        Was mache ich denn falsch?

        Du übergibst die Daten die in den Header kommen in den Nutzdaten (Body).

        Schau mal hier:
        https://github.com/ioBroker/ioBroker.javascript/blob/master/docs/en/javascript.md#httppost
        https://forum.iobroker.net/topic/77057/http-post-und-headerübergabe

        Direkt mit JS sollte das problemlos funktionieren. Ob und wie das mit Blockly geht, kann ich gerade nicht sagen.

        haus-automatisierung 1 Reply Last reply Reply Quote 1
        • haus-automatisierung
          haus-automatisierung Developer Most Active @Codierknecht last edited by

          @codierknecht sagte in HTTP Post Blockly klappt nicht:

          Ob und wie das mit Blockly geht, kann ich gerade nicht sagen.

          In Blockly gibt es aktuell keine Möglichkeit die zusätzlichen HTTP-Header manuell zu setzen.

          Codierknecht Q 2 Replies Last reply Reply Quote 1
          • Codierknecht
            Codierknecht Developer Most Active @haus-automatisierung last edited by

            @haus-automatisierung sagte in HTTP Post Blockly klappt nicht:

            In Blockly gibt es aktuell keine Möglichkeit die zusätzlichen HTTP-Header manuell zu setzen.

            Vielleicht kannst Du ja für ein künftiges Update einen optionalen Andockpunkt für zusätzliche Header einplanen.
            Das Problem hatten wir zuletzt ja bereits mehrfach, wenn z.B. (wie hier) die Authentifizierung im Header mitgegeben werden muss.

            1 Reply Last reply Reply Quote 0
            • Q
              quorle @haus-automatisierung last edited by

              @haus-automatisierung

              Ohh, dass ist genau das, was wahrscheinlich vielen in dem Block fehlt. Im Header die Auth mitzugeben.

              1 Reply Last reply Reply Quote 0
              • Q
                quorle last edited by quorle

                Ich habe jetzt einmal etwas in Javascript zusammen gebastelt. Leider kommt noch folgendes im Log:

                
                javascript.0
                2025-05-23 09:00:02.359	info	script.js.common.TEST-Scripte.TEST_Datenübermittlng_Zähler: Object [AxiosHeaders] { server: 'nginx', date: 'Fri, 23 May 2025 07:00:02 GMT', 'content-type': 'application/json; charset=utf-8', 'content-length': '199', connection: 'keep-alive', etag: 'W/"c7-noe0fwDbWuMu0qzAmvcwPjRbXxw"', 'strict-transport-security': 'max-age=63072000; includeSubDomains; preload', 'x-content-type-options': 'nosniff', 'referrer-policy': 'same-origin', 'x-frame-options': 'DENY', 'content-security-policy': "base-uri 'self'; connect-src 'self'; frame-ancestors 'none'; font-src 'self'; form-action 'self'; img-src 'self' data: blob:; object-src 'none'; script-src 'self'; style-src 'self' 'unsafe-inline';" }
                
                javascript.0
                2025-05-23 09:00:02.359	info	script.js.common.TEST-Scripte.TEST_Datenübermittlng_Zähler: {"message":["value must not be greater than 9999999999.99999","value must not be less than 0","value must be a number conforming to the specified constraints"],"error":"Bad Request","statusCode":400}
                
                javascript.0
                2025-05-23 09:00:02.359	info	script.js.common.TEST-Scripte.TEST_Datenübermittlng_Zähler: 400
                
                javascript.0
                2025-05-23 09:00:02.359	info	script.js.common.TEST-Scripte.TEST_Datenübermittlng_Zähler: httpPost(url=https://public-api.energy-tracker.best-ios-apps.de/v1/devices/6076-4ff3-b8af-c45815b4a1bf/meter-readings, responseTime=148ms)
                
                javascript.0
                2025-05-23 09:00:02.213	info	script.js.common.TEST-Scripte.TEST_Datenübermittlng_Zähler: registered 0 subscriptions, 0 schedules, 0 messages, 0 logs and 0 file subscriptions
                
                javascript.0
                2025-05-23 09:00:02.211	info	script.js.common.TEST-Scripte.TEST_Datenübermittlng_Zähler: httpPost(config={"method":"post","url":"https://public-api.energy-tracker.best-ios-apps.de/v1/devices/6076-4ff3-b8af-c45815b4a1bf/meter-readings","responseType":"text","responseEncoding":"utf8","timeout":2000,"headers":{"User-Agent":"Mozilla/5.0 (X11; Linux i686; rv:109.0) Gecko/20100101 Firefox/121.0","Content-Type":"application/json","Authorization":"Bearer >>> MEIN TOKEN <<<"},"data":{"value":"123.25"}}, data=[object Object])
                

                Und Hier mein Code:

                httpPost(
                    'https://public-api.energy-tracker.best-ios-apps.de/v1/devices/6076-4ff3-b8af-c45815b4a1bf/meter-readings',
                    {
                        //body: '{"value": 123.45}'
                        value : '123.25'
                },
                    
                    {
                        timeout: 2000,
                        headers: {
                            'Content-Type': 'application/json',
                            'Authorization': 'Bearer >>> MEIN TOKEN <<<' 
                        }
                    },
                    (error, response) => {
                        if (!error) {
                            console.log(response.statusCode);
                            console.log(response.data);
                            console.log(response.headers);
                        } else {
                            console.error(error);
                        }
                    }
                );
                

                Warum wird die Value nicht übergeben? Denn Status 400 bedeutet "Fehlerhafte Anfrage".
                Ich würde halt gerne 1 Mal Pro Tag den Wert eines Objektes senden wollen. Aber Javascript habe ich noch nie gemacht 🙂

                haus-automatisierung 1 Reply Last reply Reply Quote 0
                • haus-automatisierung
                  haus-automatisierung Developer Most Active @quorle last edited by haus-automatisierung

                  @quorle sagte in HTTP Post Blockly klappt nicht:

                  Denn Status 400 bedeutet "Fehlerhafte Anfrage".

                  Du übergibst den Value als String und nicht als Float. Also aus value: '123.25' sollte value: 123.25 werden.

                  "value must be a number conforming to the specified constraints"

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

                  Support us

                  ioBroker
                  Community Adapters
                  Donate

                  947
                  Online

                  31.7k
                  Users

                  79.7k
                  Topics

                  1.3m
                  Posts

                  3
                  7
                  181
                  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