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. Blockly
  5. HTTP Post Blockly klappt nicht

NEWS

  • Neuer Blogbeitrag: Monatsrückblick - Dezember 2025 🎄
    BluefoxB
    Bluefox
    11
    1
    477

  • Weihnachtsangebot 2025! 🎄
    BluefoxB
    Bluefox
    24
    1
    1.6k

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

HTTP Post Blockly klappt nicht

Geplant Angeheftet Gesperrt Verschoben Blockly
7 Beiträge 3 Kommentatoren 543 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.
  • Q Offline
    Q Offline
    quorle
    schrieb am zuletzt editiert von
    #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 Antwort Letzte Antwort
    0
    • CodierknechtC Offline
      CodierknechtC Offline
      Codierknecht
      Developer Most Active
      schrieb am zuletzt editiert von 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 Antwort Letzte Antwort
      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 Offline
        haus-automatisierungH Offline
        haus-automatisierung
        Developer Most Active
        schrieb am zuletzt editiert von
        #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 Antworten Letzte Antwort
        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
          schrieb am zuletzt editiert von
          #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 Antwort Letzte Antwort
          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
            schrieb am zuletzt editiert von
            #5

            @haus-automatisierung

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

            1 Antwort Letzte Antwort
            0
            • Q Offline
              Q Offline
              quorle
              schrieb am zuletzt editiert von 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 Antwort Letzte Antwort
              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 Offline
                haus-automatisierungH Offline
                haus-automatisierung
                Developer Most Active
                schrieb am zuletzt editiert von 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 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

                460

                Online

                32.5k

                Benutzer

                81.8k

                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