Skip to content
  • Home
  • Recent
  • Tags
  • 0 Unread 0
  • Categories
  • Unreplied
  • Popular
  • 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

  • Default (No Skin)
  • No Skin
Collapse
ioBroker Logo

Community Forum

donate donate
  1. ioBroker Community Home
  2. Deutsch
  3. Skripten / Logik
  4. Blockly
  5. HTTP Post Blockly klappt nicht

NEWS

  • Jahresrückblick 2025 – unser neuer Blogbeitrag ist online! ✨
    BluefoxB
    Bluefox
    16
    1
    1.9k

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

  • Weihnachtsangebot 2025! 🎄
    BluefoxB
    Bluefox
    25
    1
    2.2k

HTTP Post Blockly klappt nicht

Scheduled Pinned Locked Moved Blockly
7 Posts 3 Posters 578 Views 4 Watching
  • Oldest to Newest
  • Newest to Oldest
  • Most Votes
Reply
  • Reply as topic
Log in to reply
This topic has been deleted. Only users with topic management privileges can see it.
  • Q Offline
    Q Offline
    quorle
    wrote on last edited by
    #1

    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
    0
    • CodierknechtC Offline
      CodierknechtC Offline
      Codierknecht
      Developer Most Active
      wrote on last edited by Codierknecht
      #2

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

      "Any fool can write code that a computer can understand. Good programmers write code that humans can understand." (Martin Fowler, "Refactoring")

      Proxmox 9.1.1 LXC|8 GB|Core i7-6700
      HmIP|ZigBee|Tasmota|Unifi
      Zabbix Certified Specialist
      Konnte ich Dir helfen? Dann benutze bitte das Voting unten rechts im Beitrag

      haus-automatisierungH 1 Reply Last reply
      1
      • CodierknechtC 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-automatisierungH Online
        haus-automatisierungH Online
        haus-automatisierung
        Developer Most Active
        wrote on last edited by
        #3

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

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

        CodierknechtC Q 2 Replies Last reply
        1
        • haus-automatisierungH haus-automatisierung

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

          CodierknechtC Offline
          CodierknechtC Offline
          Codierknecht
          Developer Most Active
          wrote on last edited by
          #4

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

          "Any fool can write code that a computer can understand. Good programmers write code that humans can understand." (Martin Fowler, "Refactoring")

          Proxmox 9.1.1 LXC|8 GB|Core i7-6700
          HmIP|ZigBee|Tasmota|Unifi
          Zabbix Certified Specialist
          Konnte ich Dir helfen? Dann benutze bitte das Voting unten rechts im Beitrag

          1 Reply Last reply
          0
          • haus-automatisierungH haus-automatisierung

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

            Q Offline
            Q Offline
            quorle
            wrote on last edited by
            #5

            @haus-automatisierung

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

            1 Reply Last reply
            0
            • Q Offline
              Q Offline
              quorle
              wrote on last edited by quorle
              #6

              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-automatisierungH 1 Reply Last reply
              0
              • Q 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-automatisierungH Online
                haus-automatisierungH Online
                haus-automatisierung
                Developer Most Active
                wrote on last edited by haus-automatisierung
                #7

                @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"

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

                1 Reply Last reply
                1
                Reply
                • Reply as topic
                Log in to reply
                • Oldest to Newest
                • Newest to Oldest
                • Most Votes


                Support us

                ioBroker
                Community Adapters
                Donate

                718

                Online

                32.6k

                Users

                82.2k

                Topics

                1.3m

                Posts
                Community
                Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen | Einwilligungseinstellungen
                ioBroker Community 2014-2025
                logo
                • Login

                • Don't have an account? Register

                • Login or register to search.
                • First post
                  Last post
                0
                • Home
                • Recent
                • Tags
                • Unread 0
                • Categories
                • Unreplied
                • Popular
                • GitHub
                • Docu
                • Hilfe