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 mit JSON

NEWS

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

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

  • Weihnachtsangebot 2025! 🎄
    BluefoxB
    Bluefox
    25
    1
    2.5k

HTTP POST mit JSON

Geplant Angeheftet Gesperrt Verschoben Blockly
4 Beiträge 3 Kommentatoren 301 Aufrufe 3 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.
  • S Offline
    S Offline
    StarLord42
    schrieb am zuletzt editiert von
    #1

    Hallo,
    es gibt schon so einige Beiträge zu dem Thema, aber leider konnte ich keine Lösung finden.
    Ich habe eine alte ioBroker Instanz (v6.5.2). Dort läuft ein Skript, mit dem ich Daten als HTTP POST Request inkl. JSON verschicke.
    Ich verwende eine kleine JavaScript Funktion...
    e47d5593-6ccd-4c46-92e5-ff45b987213e-image.png
    ... die ich dann wie folgt aufrufe:
    175bcc33-5fda-42ba-9308-d5758109f7d3-image.png

    Jetzt habe ich eine neue ioBroker Instanz eingerichtet (v7.1.2) und wollte das Skript verwenden.
    Es kommt die Meldung:
    script.js.common.Post_Value: request package is deprecated - please use httpGet (or a stable lib like axios) instead!
    Ok, nach einiger Recherche habe ich dann versucht, den neuen Blocky Block zu werden. Das Ganze sieht dann so aus:
    fc7dc925-bc7d-4dbc-aa94-1a2734dc499c-image.png
    Es kommt keine Fehlermeldung und im Log sehe ich Folgendes:
    f1cd83c2-1c03-431a-971c-92aa93e7db46-image.png
    Hm soweit so gut, allerdings kommt beim Empfänger nichts an und ich kann es mir nicht erklären.
    Habt Ihr vielleicht eine Idee?

    Wenn ich, testweise, die URL falsch schreibe, erhalte ich die gleiche Log-Ausgabe.

    Gruß Andreas

    CodierknechtC OliverIOO 2 Antworten Letzte Antwort
    0
    • S StarLord42

      Hallo,
      es gibt schon so einige Beiträge zu dem Thema, aber leider konnte ich keine Lösung finden.
      Ich habe eine alte ioBroker Instanz (v6.5.2). Dort läuft ein Skript, mit dem ich Daten als HTTP POST Request inkl. JSON verschicke.
      Ich verwende eine kleine JavaScript Funktion...
      e47d5593-6ccd-4c46-92e5-ff45b987213e-image.png
      ... die ich dann wie folgt aufrufe:
      175bcc33-5fda-42ba-9308-d5758109f7d3-image.png

      Jetzt habe ich eine neue ioBroker Instanz eingerichtet (v7.1.2) und wollte das Skript verwenden.
      Es kommt die Meldung:
      script.js.common.Post_Value: request package is deprecated - please use httpGet (or a stable lib like axios) instead!
      Ok, nach einiger Recherche habe ich dann versucht, den neuen Blocky Block zu werden. Das Ganze sieht dann so aus:
      fc7dc925-bc7d-4dbc-aa94-1a2734dc499c-image.png
      Es kommt keine Fehlermeldung und im Log sehe ich Folgendes:
      f1cd83c2-1c03-431a-971c-92aa93e7db46-image.png
      Hm soweit so gut, allerdings kommt beim Empfänger nichts an und ich kann es mir nicht erklären.
      Habt Ihr vielleicht eine Idee?

      Wenn ich, testweise, die URL falsch schreibe, erhalte ich die gleiche Log-Ausgabe.

      Gruß Andreas

      CodierknechtC Offline
      CodierknechtC Offline
      Codierknecht
      Developer Most Active
      schrieb am zuletzt editiert von Codierknecht
      #2

      @starlord42
      Ich würde das JSON nicht von Hand zusammenklöppeln.

      644bf69b-4714-4784-9d88-ac8949cf8fd3-image.png

      "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

      S 1 Antwort Letzte Antwort
      0
      • S StarLord42

        Hallo,
        es gibt schon so einige Beiträge zu dem Thema, aber leider konnte ich keine Lösung finden.
        Ich habe eine alte ioBroker Instanz (v6.5.2). Dort läuft ein Skript, mit dem ich Daten als HTTP POST Request inkl. JSON verschicke.
        Ich verwende eine kleine JavaScript Funktion...
        e47d5593-6ccd-4c46-92e5-ff45b987213e-image.png
        ... die ich dann wie folgt aufrufe:
        175bcc33-5fda-42ba-9308-d5758109f7d3-image.png

        Jetzt habe ich eine neue ioBroker Instanz eingerichtet (v7.1.2) und wollte das Skript verwenden.
        Es kommt die Meldung:
        script.js.common.Post_Value: request package is deprecated - please use httpGet (or a stable lib like axios) instead!
        Ok, nach einiger Recherche habe ich dann versucht, den neuen Blocky Block zu werden. Das Ganze sieht dann so aus:
        fc7dc925-bc7d-4dbc-aa94-1a2734dc499c-image.png
        Es kommt keine Fehlermeldung und im Log sehe ich Folgendes:
        f1cd83c2-1c03-431a-971c-92aa93e7db46-image.png
        Hm soweit so gut, allerdings kommt beim Empfänger nichts an und ich kann es mir nicht erklären.
        Habt Ihr vielleicht eine Idee?

        Wenn ich, testweise, die URL falsch schreibe, erhalte ich die gleiche Log-Ausgabe.

        Gruß Andreas

        OliverIOO Offline
        OliverIOO Offline
        OliverIO
        schrieb am zuletzt editiert von OliverIO
        #3

        @starlord42 sagte in HTTP POST mit JSON:

        Habt Ihr vielleicht eine Idee?

        wenn ich mir die beiden blocklys anschaue, dann gibt es schon unterschiede

        1. die url unterscheidet sich
        2. die art und weise wie du den json string zusammenbaust ist auch unterschiedlich.

        wenn man a gegen b austauscht und dann noch drum rum auch noch viele dinge anders macht ist es echt schwierig den fehler zu finden

        gibt es eine api beschreibung?
        evtl muss man noch den json header (content-type) bei der neuen funktion setzen, aber das hängt von der genutzten api beschreibung ab.
        auch kann es ein unterschied machen ob man der funktion einen string oder ein objekt übergibt. von alleine weiß die funktion ja erstmal nicht ob es ein json ist.
        aber ich weiß nicht, wieviel automatismus da drin versteckt ist. im hintergrund wird axios verwendet.
        https://github.com/ioBroker/ioBroker.javascript/blob/master/docs/en/javascript.md#httppost

        Meine Adapter und Widgets
        TVProgram, SqueezeboxRPC, OpenLiga, RSSFeed, MyTime,, pi-hole2, vis-json-template, skiinfo, vis-mapwidgets, vis-2-widgets-rssfeed
        Links im Profil

        1 Antwort Letzte Antwort
        0
        • CodierknechtC Codierknecht

          @starlord42
          Ich würde das JSON nicht von Hand zusammenklöppeln.

          644bf69b-4714-4784-9d88-ac8949cf8fd3-image.png

          S Offline
          S Offline
          StarLord42
          schrieb am zuletzt editiert von
          #4

          @codierknecht
          Danke für den Hinweis, dass man ein Objekt auch so zusammenbauen kann.
          Mit folgendem Blockly hat es jetzt funktioniert, wobei ich die alte Javascript Funktion verwendet habe.
          d8dd57e7-365c-4a63-93ec-84bf03edebc8-image.png
          Ich bekomme zwar eine Warnung, dass die Funktion veraltet ist, funktionieren tut es aber dennoch.
          abf252e5-66eb-431d-ab5a-d83cc6b28b03-image.png
          Mit der neuen Funktion hatte ich leider kein Glück.
          f7059acc-c90f-4362-899b-bdfb2cb0d414-image.png
          @OliverIO
          Ja, die URLs unterscheiden sich, das macht in dem Fall aber keinen Unterschied, da es unterschiedliche Empfänger sind.
          Eine Beschreibung der Schnittstelle ist verfügbar (Streams and Sensor Data, ich kann aber nicht erkennen, ob der Header noch weitere Infos benötigt. Es gibt ein paar Postman Beispiele und dort kann ich Folgendes sehen:
          091bc412-a495-46d0-8c3c-d98e5c0d5ba3-image.png
          Ich wüsste aber nicht, wie ich z.B. den Content-Type in dem Blockly eintragen soll.

          Also, grundsätzlich kann ich erst einmal damit leben - vielen Dank für die Unterstützung - allerdings wäre es schon interessant zu sehen, wie/ob das mit dem neuen Blockly Block geht.

          Gruß Andreas

          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

          519

          Online

          32.7k

          Benutzer

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