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. Blockly-Baustein für HTTP PUT

NEWS

  • Neuer Blogbeitrag: Monatsrückblick - Dezember 2025 🎄
    BluefoxB
    Bluefox
    10
    1
    116

  • Weihnachtsangebot 2025! 🎄
    BluefoxB
    Bluefox
    24
    1
    1.4k

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

Blockly-Baustein für HTTP PUT

Geplant Angeheftet Gesperrt Verschoben Blockly
12 Beiträge 2 Kommentatoren 1.1k Aufrufe 2 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.
  • T Offline
    T Offline
    ThomKast
    schrieb am zuletzt editiert von
    #1

    Hallo zusammen,

    hoffentlich löse ich jetzt keine Reaktion in der Form von "nicht schon wieder" aus... Denn ich habe schon viel Posts gelesen und vieles selbst versucht, aber ich bekomme es einfach nicht hin. Deshalb würde ich mich sehr über Eure Vorschläge und Hilfe freuen.

    Ich möchte meine Wallbox über die HTTP-API ansprechen. Als HTTP GET, also als Blockly-Request, ist das auch alles kein Problem. Das ein HTTP PUT nicht mit einen Blockly-Aktionen-Request-Baustein funktioniert ist mir klar.
    Deshalb habe ich andere Wege gesucht. Unter Postman bekomme ich den HTTP PUT zum Beispiel erfolgreich abgesetzt.
    644cdcef-4a23-4b85-ad2c-cd343b2215a6-image.png

    Aber wie bekomme ich das mit einem Blockly-Aktionen-exec-Baustein hin? Oder mit einem Blockly-Funktionen-Javascript-Baustein? Oder wie auch immer:blush:

    Mir fehlen einfach zu viele Grundlagen, so dass ich nicht weiß, wie die korrekte Syntax zur Umsetzung aussehen könnte...
    Wenn Ihr mir hier helfen könntet, wäre das großartig und ich hätte wieder einen neuen Baustein verstanden.

    Vielen Dank vorab und Gruß, Thomas

    mickymM 1 Antwort Letzte Antwort
    0
    • T ThomKast

      Hallo zusammen,

      hoffentlich löse ich jetzt keine Reaktion in der Form von "nicht schon wieder" aus... Denn ich habe schon viel Posts gelesen und vieles selbst versucht, aber ich bekomme es einfach nicht hin. Deshalb würde ich mich sehr über Eure Vorschläge und Hilfe freuen.

      Ich möchte meine Wallbox über die HTTP-API ansprechen. Als HTTP GET, also als Blockly-Request, ist das auch alles kein Problem. Das ein HTTP PUT nicht mit einen Blockly-Aktionen-Request-Baustein funktioniert ist mir klar.
      Deshalb habe ich andere Wege gesucht. Unter Postman bekomme ich den HTTP PUT zum Beispiel erfolgreich abgesetzt.
      644cdcef-4a23-4b85-ad2c-cd343b2215a6-image.png

      Aber wie bekomme ich das mit einem Blockly-Aktionen-exec-Baustein hin? Oder mit einem Blockly-Funktionen-Javascript-Baustein? Oder wie auch immer:blush:

      Mir fehlen einfach zu viele Grundlagen, so dass ich nicht weiß, wie die korrekte Syntax zur Umsetzung aussehen könnte...
      Wenn Ihr mir hier helfen könntet, wäre das großartig und ich hätte wieder einen neuen Baustein verstanden.

      Vielen Dank vorab und Gruß, Thomas

      mickymM Offline
      mickymM Offline
      mickym
      Most Active
      schrieb am zuletzt editiert von mickym
      #2

      @thomkast mit NodeRed würdest nicht solche Probleme haben.

      Ansonsten musst dir halt die axioms Bibliothek installieren und dann eine JS Funktion nutzen: https://axios-http.com/docs/api_intro
      Um die axios Bibliothek zu installieren gibst du es als zusätzliches Modul im JS Adapter an.

      3dba33fb-c876-4afd-bb62-560f88eb1248-image.png

      Ich habe nun ein Blockly für Dich erstellt und mit NodeRed als Server getestet. - siehe nächster Post.

      Aber ansonsten ist das wieder ein Beispiel wo NodeRed aufgrund seiner Vielzahl von Nodes Blockly weit überlegen ist. Ich dachte ja, dass du NodeRed eh nutzt- warum dann wieder dieser Rückschritt auf Blockly?

      Unabhängig - davon warum Du NodeRed nicht benutzt, werde ich mal versuchen einen PUT Request über Blockly auf einen NodeRed Server abzusetzen. ...

      Jeder Flow bzw. jedes Script, das ich hier poste implementiert jeder auf eigene Gefahr. Flows und Scripts können Fehler aufweisen und weder der Seitenbetreiber noch ich persönlich können hierfür haftbar gemacht werden. Das gleiche gilt für Empfehlungen aller Art.

      1 Antwort Letzte Antwort
      0
      • mickymM Offline
        mickymM Offline
        mickym
        Most Active
        schrieb am zuletzt editiert von mickym
        #3

        Hier das ist ein Blockly mit dem DU einen PUT Request via Blockly absetzen kann. (Mit NodeRed ist es wie gesagt einfacher). Ich habe NodeRed als Webserver verwendet, um Dir einen Response zu schicken:

        das hat mich zwar etwas Tüftelei gekostet, aber meines Erachtens müsste es tun, wobei ich nicht weiß - wie Dein Empfänger das verarbeitet.
        Man muss als Body doch ein Objekt schicken, damit es sauber ankommt.

        31b501c8-0d79-4132-928b-5395df74b2f3-image.png

        Hier der Import:

        <xml xmlns="https://developers.google.com/blockly/xml">
         <variables>
           <variable id="J@VJaITtHzTUPW23ad[Y">url</variable>
           <variable id="|DZb(ot!F]}v_Lz{lGAD">body</variable>
         </variables>
         <block type="procedures_defcustomreturn" id=")fw0F#s9S.sJ`;{TN2(9" x="-937" y="38">
           <mutation statements="false">
             <arg name="url" varid="J@VJaITtHzTUPW23ad[Y"></arg>
             <arg name="body" varid="|DZb(ot!F]}v_Lz{lGAD"></arg>
           </mutation>
           <field name="NAME">HTTP-Put</field>
           <field name="SCRIPT">Y29uc3QgYXhpb3MgPSByZXF1aXJlKCdheGlvcycpOwoKbGV0IHJlc3BvbnNlVmFsdWUgPSAnJzsKCmF3YWl0IGF4aW9zLnB1dCh1cmwsIEpTT04ucGFyc2UoYm9keSkpCiAgLnRoZW4oZnVuY3Rpb24gKHJlc3BvbnNlKSB7CiAgICByZXNwb25zZVZhbHVlID0gcmVzcG9uc2UuZGF0YTsKICAgIC8vIGNvbnNvbGUubG9nKCByZXNwb25zZVZhbHVlKTsKICB9KQogIC5jYXRjaChmdW5jdGlvbiAoZXJyb3IpIHsKICAgIGNvbnNvbGUuZXJyb3IoJ0Vycm9yOicsIGVycm9yKTsKICB9KTsKCnJldHVybiByZXNwb25zZVZhbHVlOwo=</field>
           <comment pinned="false" h="80" w="160">Beschreibe diese Funktion …</comment>
         </block>
         <block type="debug" id="]X72[5FWF2ACXCgTcQ30" x="-937" y="113">
           <field name="Severity">log</field>
           <value name="TEXT">
             <shadow type="text" id="CX^t*iR!_;aDJfhk*Or^">
               <field name="TEXT">test</field>
             </shadow>
             <block type="procedures_callcustomreturn" id="i^A(A{ZHA:JWAGHmvL;_">
               <mutation name="HTTP-Put">
                 <arg name="url"></arg>
                 <arg name="body"></arg>
               </mutation>
               <value name="ARG0">
                 <block type="text" id="k8)NS|h3za-6B4c(vhp4">
                   <field name="TEXT">http://mwhome:1881/mickym</field>
                 </block>
               </value>
               <value name="ARG1">
                 <block type="text" id="V*Z#d=:/a`INMHLI2F?n">
                   <field name="TEXT">{"power":11000,"name":"thomkast"}</field>
                 </block>
               </value>
             </block>
           </value>
         </block>
        </xml>
        

        Das man ein Objekt schicken MUSS - habe ich erst später rausgefunden:

        const axios = require('axios');
        
        let responseValue = '';
        
        await axios.put(url, JSON.parse(body))
          .then(function (response) {
            responseValue = response.data;
            // console.log( responseValue);
          })
          .catch(function (error) {
            console.error('Error:', error);
          });
        
        return responseValue;
        
        

        dazu ist es immer wieder genial - NodeRed auch als Webserver zu nutzen, dann sieht man was ankommt. ;)

        Jeder Flow bzw. jedes Script, das ich hier poste implementiert jeder auf eigene Gefahr. Flows und Scripts können Fehler aufweisen und weder der Seitenbetreiber noch ich persönlich können hierfür haftbar gemacht werden. Das gleiche gilt für Empfehlungen aller Art.

        1 Antwort Letzte Antwort
        0
        • mickymM Offline
          mickymM Offline
          mickym
          Most Active
          schrieb am zuletzt editiert von mickym
          #4

          Wie gesagt mit NodeRed hast Du es einfacher - da Du erstens direkt Objekte mit PUT verschicken kannst und die auch so ankommen.

          78ae93e4-9531-4309-9815-d0838da423e8-image.png

          b9fa18c6-c8a3-4fd2-bf8f-008c423bf4a3-image.png

          Aber wie gesagt - eine Blockly Lösung mit AXIOS habe ich Dir ja im vorigen Post zur Verfügung gestellt.

          Jeder Flow bzw. jedes Script, das ich hier poste implementiert jeder auf eigene Gefahr. Flows und Scripts können Fehler aufweisen und weder der Seitenbetreiber noch ich persönlich können hierfür haftbar gemacht werden. Das gleiche gilt für Empfehlungen aller Art.

          T 1 Antwort Letzte Antwort
          0
          • mickymM mickym

            Wie gesagt mit NodeRed hast Du es einfacher - da Du erstens direkt Objekte mit PUT verschicken kannst und die auch so ankommen.

            78ae93e4-9531-4309-9815-d0838da423e8-image.png

            b9fa18c6-c8a3-4fd2-bf8f-008c423bf4a3-image.png

            Aber wie gesagt - eine Blockly Lösung mit AXIOS habe ich Dir ja im vorigen Post zur Verfügung gestellt.

            T Offline
            T Offline
            ThomKast
            schrieb am zuletzt editiert von
            #5

            @mickym ;-) mach mal Pause bitte ;-) ich bin gar nicht so schnell im nachbauen :grimacing:

            Es ist echt kein guter Tag bei mir... Denn warum ich nicht gleich auf NodeRed gegangen bin, kann ich echt nicht sagen. Denn Du hast recht. Nutze ich in anderen Fällen ja schon...

            Jetzt versuche ich erst mal Deinen Blockly-Vorschlag umzusetzen und daran zu lernen. Wie bekomme ich die beiden Bezeichner "url" und "body" in den Baustein? Bei mir sieht das so aus:

            82306e53-1a6d-409a-ae83-65df8635c8a5-image.png

            mickymM T 3 Antworten Letzte Antwort
            0
            • T ThomKast

              @mickym ;-) mach mal Pause bitte ;-) ich bin gar nicht so schnell im nachbauen :grimacing:

              Es ist echt kein guter Tag bei mir... Denn warum ich nicht gleich auf NodeRed gegangen bin, kann ich echt nicht sagen. Denn Du hast recht. Nutze ich in anderen Fällen ja schon...

              Jetzt versuche ich erst mal Deinen Blockly-Vorschlag umzusetzen und daran zu lernen. Wie bekomme ich die beiden Bezeichner "url" und "body" in den Baustein? Bei mir sieht das so aus:

              82306e53-1a6d-409a-ae83-65df8635c8a5-image.png

              mickymM Offline
              mickymM Offline
              mickym
              Most Active
              schrieb am zuletzt editiert von
              #6

              @thomkast sagte in Blockly-Baustein für HTTP PUT:

              @mickym ;-) mach mal Pause bitte ;-) ich bin gar nicht so schnell im nachbauen :grimacing:

              Es ist echt kein guter Tag bei mir... Denn warum ich nicht gleich auf NodeRed gegangen bin, kann ich echt nicht sagen. Denn Du hast recht. Nutze ich in anderen Fällen ja schon...

              Jetzt versuche ich erst mal Deinen Blockly-Vorschlag umzusetzen und daran zu lernen. Wie bekomme ich die beiden Bezeichner "url" und "body" in den Baustein? Bei mir sieht das so aus:

              82306e53-1a6d-409a-ae83-65df8635c8a5-image.png

              Ich hab Dir unten das gesamte Blockly zum Import bereit gestellt - musst eigentlich nur Importieren. Ja ich hatte es nochmal verändert - aber nun sollte es final sein.

              Jeder Flow bzw. jedes Script, das ich hier poste implementiert jeder auf eigene Gefahr. Flows und Scripts können Fehler aufweisen und weder der Seitenbetreiber noch ich persönlich können hierfür haftbar gemacht werden. Das gleiche gilt für Empfehlungen aller Art.

              1 Antwort Letzte Antwort
              0
              • T ThomKast

                @mickym ;-) mach mal Pause bitte ;-) ich bin gar nicht so schnell im nachbauen :grimacing:

                Es ist echt kein guter Tag bei mir... Denn warum ich nicht gleich auf NodeRed gegangen bin, kann ich echt nicht sagen. Denn Du hast recht. Nutze ich in anderen Fällen ja schon...

                Jetzt versuche ich erst mal Deinen Blockly-Vorschlag umzusetzen und daran zu lernen. Wie bekomme ich die beiden Bezeichner "url" und "body" in den Baustein? Bei mir sieht das so aus:

                82306e53-1a6d-409a-ae83-65df8635c8a5-image.png

                T Offline
                T Offline
                ThomKast
                schrieb am zuletzt editiert von
                #7

                @thomkast Ahh, halt!!! Habe den Import noch nicht drinnen...

                mickymM 1 Antwort Letzte Antwort
                0
                • T ThomKast

                  @thomkast Ahh, halt!!! Habe den Import noch nicht drinnen...

                  mickymM Offline
                  mickymM Offline
                  mickym
                  Most Active
                  schrieb am zuletzt editiert von
                  #8

                  @thomkast Wie gesagt - ich habe da auch jetzt eine ganze Weile rumgetüffelt, insbesondere weil man im Blockly die JS Funktion und die Axios Bibliothek asynchron aufrufen muss, da es ja ein bisschen dauert, bis die Antwort vom Webserver kommt und ich mit der asynchronen Verarbeitung von JS immer wieder auf Kriegsfuß stehe. Aber so hat es nun geklappt. ;)

                  Jeder Flow bzw. jedes Script, das ich hier poste implementiert jeder auf eigene Gefahr. Flows und Scripts können Fehler aufweisen und weder der Seitenbetreiber noch ich persönlich können hierfür haftbar gemacht werden. Das gleiche gilt für Empfehlungen aller Art.

                  1 Antwort Letzte Antwort
                  1
                  • T ThomKast

                    @mickym ;-) mach mal Pause bitte ;-) ich bin gar nicht so schnell im nachbauen :grimacing:

                    Es ist echt kein guter Tag bei mir... Denn warum ich nicht gleich auf NodeRed gegangen bin, kann ich echt nicht sagen. Denn Du hast recht. Nutze ich in anderen Fällen ja schon...

                    Jetzt versuche ich erst mal Deinen Blockly-Vorschlag umzusetzen und daran zu lernen. Wie bekomme ich die beiden Bezeichner "url" und "body" in den Baustein? Bei mir sieht das so aus:

                    82306e53-1a6d-409a-ae83-65df8635c8a5-image.png

                    mickymM Offline
                    mickymM Offline
                    mickym
                    Most Active
                    schrieb am zuletzt editiert von
                    #9

                    @thomkast sagte in Blockly-Baustein für HTTP PUT:

                    Jetzt versuche ich erst mal Deinen Blockly-Vorschlag umzusetzen und daran zu lernen. Wie bekomme ich die beiden Bezeichner "url" und "body" in den Baustein? Bei mir sieht das so aus:

                    Wie gesagt im Import ist alles drin. ;)

                    Ansonsten wenn Du auf das Zahnrad klickst, kannst Du die Parameter benennen.

                    011b30ad-6215-41a1-a0d8-a0a11d4cdd5a-image.png

                    Jeder Flow bzw. jedes Script, das ich hier poste implementiert jeder auf eigene Gefahr. Flows und Scripts können Fehler aufweisen und weder der Seitenbetreiber noch ich persönlich können hierfür haftbar gemacht werden. Das gleiche gilt für Empfehlungen aller Art.

                    T 1 Antwort Letzte Antwort
                    0
                    • mickymM mickym

                      @thomkast sagte in Blockly-Baustein für HTTP PUT:

                      Jetzt versuche ich erst mal Deinen Blockly-Vorschlag umzusetzen und daran zu lernen. Wie bekomme ich die beiden Bezeichner "url" und "body" in den Baustein? Bei mir sieht das so aus:

                      Wie gesagt im Import ist alles drin. ;)

                      Ansonsten wenn Du auf das Zahnrad klickst, kannst Du die Parameter benennen.

                      011b30ad-6215-41a1-a0d8-a0a11d4cdd5a-image.png

                      T Offline
                      T Offline
                      ThomKast
                      schrieb am zuletzt editiert von
                      #10

                      @mickym :clap: :clap: :clap: Wie schräg ist das denn?..? Ich musste meinen Rechner durchstarten, weil ich keine Daten in das Import-Fenster vom Blockly pasten konnte. Heute ist ein Tag...

                      ABER ;-). Jetzt funktioniert der PUT - 1a :+1: :grinning:

                      Unter NodeRed werde ich es auch noch nachstellen, wird allerdings ein wenig dauern, da mir die Zeit wieder davongelaufen ist. Rückmeldung dazu kommt dann späääääter ;-).

                      Erst einmal VIELEN Dank. AXIOS hatte ich mir zwar auch schon angelesen, hatte aber keinen Plan, dass ich das in der JS-Instanz einbinden muss. Da wäre ich ohne Dich nie drauf gekommen.

                      Beste Grüße, Thomas

                      mickymM 2 Antworten Letzte Antwort
                      0
                      • T ThomKast

                        @mickym :clap: :clap: :clap: Wie schräg ist das denn?..? Ich musste meinen Rechner durchstarten, weil ich keine Daten in das Import-Fenster vom Blockly pasten konnte. Heute ist ein Tag...

                        ABER ;-). Jetzt funktioniert der PUT - 1a :+1: :grinning:

                        Unter NodeRed werde ich es auch noch nachstellen, wird allerdings ein wenig dauern, da mir die Zeit wieder davongelaufen ist. Rückmeldung dazu kommt dann späääääter ;-).

                        Erst einmal VIELEN Dank. AXIOS hatte ich mir zwar auch schon angelesen, hatte aber keinen Plan, dass ich das in der JS-Instanz einbinden muss. Da wäre ich ohne Dich nie drauf gekommen.

                        Beste Grüße, Thomas

                        mickymM Offline
                        mickymM Offline
                        mickym
                        Most Active
                        schrieb am zuletzt editiert von mickym
                        #11

                        @thomkast Na das freut mich - ich habe noch eine andere Version. In der Funktion selbst wird nichts mehr konvertiert sondern nur noch im Blockly - dann kann man nämlich 2 Schreibweisen verwenden:

                        const axios = require('axios');
                        
                        let responseValue = '';
                        
                        await axios.put(url, body)
                          .then(function (response) {
                            responseValue = response.data;
                            
                          })
                          .catch(function (error) {
                            console.error('Error:', error);
                          });
                        
                        return responseValue;
                        
                        

                        bf9cc49b-a9a1-454a-94d6-3455483bd4cb-image.png

                        hier wieder der Import:

                        <xml xmlns="https://developers.google.com/blockly/xml">
                         <variables>
                           <variable id="J@VJaITtHzTUPW23ad[Y">url</variable>
                           <variable id="|DZb(ot!F]}v_Lz{lGAD">body</variable>
                         </variables>
                         <block type="procedures_defcustomreturn" id=")fw0F#s9S.sJ`;{TN2(9" x="-937" y="38">
                           <mutation statements="false">
                             <arg name="url" varid="J@VJaITtHzTUPW23ad[Y"></arg>
                             <arg name="body" varid="|DZb(ot!F]}v_Lz{lGAD"></arg>
                           </mutation>
                           <field name="NAME">HTTP-Put</field>
                           <field name="SCRIPT">Y29uc3QgYXhpb3MgPSByZXF1aXJlKCdheGlvcycpOwoKbGV0IHJlc3BvbnNlVmFsdWUgPSAnJzsKCmF3YWl0IGF4aW9zLnB1dCh1cmwsIGJvZHkpCiAgLnRoZW4oZnVuY3Rpb24gKHJlc3BvbnNlKSB7CiAgICByZXNwb25zZVZhbHVlID0gcmVzcG9uc2UuZGF0YTsKICAgIAogIH0pCiAgLmNhdGNoKGZ1bmN0aW9uIChlcnJvcikgewogICAgY29uc29sZS5lcnJvcignRXJyb3I6JywgZXJyb3IpOwogIH0pOwoKcmV0dXJuIHJlc3BvbnNlVmFsdWU7Cg==</field>
                           <comment pinned="false" h="80" w="160">Beschreibe diese Funktion …</comment>
                         </block>
                         <block type="debug" id="]X72[5FWF2ACXCgTcQ30" x="-937" y="113">
                           <field name="Severity">log</field>
                           <value name="TEXT">
                             <shadow type="text" id="CX^t*iR!_;aDJfhk*Or^">
                               <field name="TEXT">test</field>
                             </shadow>
                             <block type="procedures_callcustomreturn" id="i^A(A{ZHA:JWAGHmvL;_">
                               <mutation name="HTTP-Put">
                                 <arg name="url"></arg>
                                 <arg name="body"></arg>
                               </mutation>
                               <value name="ARG0">
                                 <block type="text" id="k8)NS|h3za-6B4c(vhp4">
                                   <field name="TEXT">http://mwhome:1881/mickym</field>
                                 </block>
                               </value>
                               <value name="ARG1">
                                 <block type="convert_json2object" id="m6rI6Q;/%Mk5dDfJmDD.">
                                   <value name="VALUE">
                                     <block type="text" id="V*Z#d=:/a`INMHLI2F?n">
                                       <field name="TEXT">{"power":11000,"name":"thomkast"}</field>
                                     </block>
                                   </value>
                                 </block>
                               </value>
                             </block>
                           </value>
                           <next>
                             <block type="debug" id="@T@IM0UtiPpXlw0Gg(Gu">
                               <field name="Severity">log</field>
                               <value name="TEXT">
                                 <shadow type="text">
                                   <field name="TEXT">test</field>
                                 </shadow>
                                 <block type="procedures_callcustomreturn" id="m?^CI8g7?P)A3}`%/[`g">
                                   <mutation name="HTTP-Put">
                                     <arg name="url"></arg>
                                     <arg name="body"></arg>
                                   </mutation>
                                   <value name="ARG0">
                                     <block type="text" id="m||:{S+o-`Ux,O~=|r}$">
                                       <field name="TEXT">http://mwhome:1881/mickym</field>
                                     </block>
                                   </value>
                                   <value name="ARG1">
                                     <block type="text" id="YZF0BF?MkR5.S~_P4Bsc">
                                       <field name="TEXT">power=11000&amp;name=thomkast</field>
                                     </block>
                                   </value>
                                 </block>
                               </value>
                             </block>
                           </next>
                         </block>
                        </xml>
                        

                        Der Vorteil hier ist, dass Du im Blockly selbst definieren kannst, ob Du ein Objekt übergibst oder nur einen String.

                        Die letzte Schreibweise wird gemäß der Axios Bibliothek auch unterstützt:
                        407f16cf-6295-4a1a-bbac-6d86c36cde73-image.png

                        Wobei man aufpassen muss!!!

                        In der 2. Schreibweise wird alles in Strings konvertiert - das heißt - wenn Zahlen gefragt sind, ist es besser Objekte zu schicken.

                        Hier siehst Du nämlich, was am Webserver ankommt:

                        5614665b-4a2e-4944-a8eb-99e3ac71b1c8-image.png

                        Oben ist die Übergabe also Objekt also;

                        {"power":11000,"name":"thomkast"}
                        

                        und unten als Zeichenkette.

                        power=11000&name=thomkast
                        

                        Du siehst also, dass man NodeRed auch gut als Webserver nutzen kann, um zu sehen, was ankommt, wenn man mit Blockly und der Axios Bibliothek was schickt.

                        Jeder Flow bzw. jedes Script, das ich hier poste implementiert jeder auf eigene Gefahr. Flows und Scripts können Fehler aufweisen und weder der Seitenbetreiber noch ich persönlich können hierfür haftbar gemacht werden. Das gleiche gilt für Empfehlungen aller Art.

                        1 Antwort Letzte Antwort
                        1
                        • T ThomKast

                          @mickym :clap: :clap: :clap: Wie schräg ist das denn?..? Ich musste meinen Rechner durchstarten, weil ich keine Daten in das Import-Fenster vom Blockly pasten konnte. Heute ist ein Tag...

                          ABER ;-). Jetzt funktioniert der PUT - 1a :+1: :grinning:

                          Unter NodeRed werde ich es auch noch nachstellen, wird allerdings ein wenig dauern, da mir die Zeit wieder davongelaufen ist. Rückmeldung dazu kommt dann späääääter ;-).

                          Erst einmal VIELEN Dank. AXIOS hatte ich mir zwar auch schon angelesen, hatte aber keinen Plan, dass ich das in der JS-Instanz einbinden muss. Da wäre ich ohne Dich nie drauf gekommen.

                          Beste Grüße, Thomas

                          mickymM Offline
                          mickymM Offline
                          mickym
                          Most Active
                          schrieb am zuletzt editiert von
                          #12

                          @thomkast sagte in Blockly-Baustein für HTTP PUT:

                          Unter NodeRed werde ich es auch noch nachstellen, wird allerdings ein wenig dauern, da mir die Zeit wieder davongelaufen ist. Rückmeldung dazu kommt dann späääääter ;-).

                          Achso hier noch der Flow - um einen Put in Node Red zu senden - ist easy - aber trotzdem hier noch zum Import

                          300e941a-64a6-413f-b0f2-2bddb7992d68-image.png

                          [
                             {
                                 "id": "155a757534926020",
                                 "type": "inject",
                                 "z": "7e6af0015415146d",
                                 "name": "",
                                 "props": [
                                     {
                                         "p": "payload"
                                     }
                                 ],
                                 "repeat": "",
                                 "crontab": "",
                                 "once": false,
                                 "onceDelay": 0.1,
                                 "topic": "",
                                 "payload": "{\"name\":\"mickym\",\"power\":2000}",
                                 "payloadType": "json",
                                 "x": 2550,
                                 "y": 840,
                                 "wires": [
                                     [
                                         "23a3d2b797152c44"
                                     ]
                                 ]
                             },
                             {
                                 "id": "23a3d2b797152c44",
                                 "type": "http request",
                                 "z": "7e6af0015415146d",
                                 "name": "",
                                 "method": "PUT",
                                 "ret": "txt",
                                 "paytoqs": "ignore",
                                 "url": "http://mwhome:1881/mickym",
                                 "tls": "",
                                 "persist": false,
                                 "proxy": "",
                                 "insecureHTTPParser": false,
                                 "authType": "",
                                 "senderr": false,
                                 "headers": [],
                                 "credentials": {},
                                 "x": 2710,
                                 "y": 840,
                                 "wires": [
                                     [
                                         "48aeaae45286273d"
                                     ]
                                 ]
                             },
                             {
                                 "id": "48aeaae45286273d",
                                 "type": "debug",
                                 "z": "7e6af0015415146d",
                                 "name": "response auf PUT",
                                 "active": true,
                                 "tosidebar": true,
                                 "console": false,
                                 "tostatus": false,
                                 "complete": "payload",
                                 "targetType": "msg",
                                 "statusVal": "",
                                 "statusType": "auto",
                                 "x": 2930,
                                 "y": 840,
                                 "wires": []
                             }
                          ]
                          

                          Jeder Flow bzw. jedes Script, das ich hier poste implementiert jeder auf eigene Gefahr. Flows und Scripts können Fehler aufweisen und weder der Seitenbetreiber noch ich persönlich können hierfür haftbar gemacht werden. Das gleiche gilt für Empfehlungen aller Art.

                          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

                          793

                          Online

                          32.5k

                          Benutzer

                          81.7k

                          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