Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Skripten / Logik
    4. [gelöst] Datenpunkt per HTTP-Endpunkt beschreiben

    NEWS

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

    • ioBroker goes Matter ... Matter Adapter in Stable

    • Monatsrückblick - April 2025

    [gelöst] Datenpunkt per HTTP-Endpunkt beschreiben

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

      Hallo,

      bisher habe ich alles wunderbar per Blockly hinbekommen.

      Jetzt darf ich doch auch mal Node Red testen, da es vermutlich anders nicht so leicht geht.

      Ich würde gerne per http Daten an den iobroker senden. Ähnlich der simple-spi (diese fällt weg, da eine Json als Antwort kommt, die will das Programm mit dem ich den Wert sende dann rubterladen...).

      Ich denke, das geht mit dem HTTP-Endpunkt.
      Hab auch mal einen ersten Versuch gestartet, der vermutlich total falsch ist 🤣

      Screenshot_20230904_175453_Chrome.jpg

      Wie müsste ich das angehen?
      Möchte eine einfache Zahlenfolge oder Wörter in einen DP schreiben.

      geschild OliverIO 2 Replies Last reply Reply Quote 0
      • geschild
        geschild @David G. last edited by geschild

        @david-g Schau dir das mal an: https://www.youtube.com/watch?v=HzO4wsL2Eio.

        David G. 1 Reply Last reply Reply Quote 0
        • David G.
          David G. @geschild last edited by David G.

          @geschild

          Danke, das hilft bestimmt weiter.
          Nach Videos hatte ich nicht gesucht, meistens schaue ich nach "klassischen" Anleitungen ^^.

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

            Du musst immer eine http-IN und eine http-Responset Node kombinieren - da der Aufrufen auch einen ordnungsgemäßen Response haben will.

            Du musst halt die URL ordnungsgemäß mit Parameter aufrufen mit der Entsprechenden Instanz:

            a9ceb31a-af47-4756-b688-3cfdc3deca30-image.png

            4973964d-40ec-4bac-bfb1-aff2cb4fbcfd-image.png

            Rausziehen und schreiben ist dann Standard:

            d596d2d9-1c65-480b-8e3c-4754bae2e59f-image.png

            13d4635c-5b89-4d98-ac23-95abe7b30826-image.png

            [
               {
                   "id": "b588d9c342996d7c",
                   "type": "http in",
                   "z": "54b226bc.0793e8",
                   "name": "",
                   "url": "/tel",
                   "method": "get",
                   "upload": false,
                   "swaggerDoc": "",
                   "x": 370,
                   "y": 4040,
                   "wires": [
                       [
                           "77774890cca73388",
                           "48c641894886f396",
                           "0c784069c0e3cf15"
                       ]
                   ]
               },
               {
                   "id": "48c641894886f396",
                   "type": "http response",
                   "z": "54b226bc.0793e8",
                   "name": "",
                   "statusCode": "",
                   "headers": {},
                   "x": 650,
                   "y": 4040,
                   "wires": []
               },
               {
                   "id": "77774890cca73388",
                   "type": "debug",
                   "z": "54b226bc.0793e8",
                   "name": "tel",
                   "active": true,
                   "tosidebar": true,
                   "console": false,
                   "tostatus": false,
                   "complete": "payload",
                   "targetType": "msg",
                   "statusVal": "",
                   "statusType": "auto",
                   "x": 530,
                   "y": 4100,
                   "wires": []
               },
               {
                   "id": "0c784069c0e3cf15",
                   "type": "change",
                   "z": "54b226bc.0793e8",
                   "name": "",
                   "rules": [
                       {
                           "t": "set",
                           "p": "payload",
                           "pt": "msg",
                           "to": "payload.Telefonnumer",
                           "tot": "msg"
                       }
                   ],
                   "action": "",
                   "property": "",
                   "from": "",
                   "to": "",
                   "reg": false,
                   "x": 570,
                   "y": 4140,
                   "wires": [
                       [
                           "a9c72a79926f7407"
                       ]
                   ]
               },
               {
                   "id": "a9c72a79926f7407",
                   "type": "ioBroker out",
                   "z": "54b226bc.0793e8",
                   "name": "0_userdata.0.test0.test.string",
                   "topic": "0_userdata.0.test0.test.string",
                   "ack": "true",
                   "autoCreate": "false",
                   "stateName": "",
                   "role": "",
                   "payloadType": "",
                   "readonly": "",
                   "stateUnit": "",
                   "stateMin": "",
                   "stateMax": "",
                   "x": 820,
                   "y": 4140,
                   "wires": []
               }
            ]
            

            David G. 1 Reply Last reply Reply Quote 0
            • David G.
              David G. @mickym last edited by David G.

              @mickym

              Danke,

              ich habe es mir eben vor wenigen Minuten so zusammengebastelt:

              acc33b1d-2a2f-4cd1-8ab9-baeb5d9381d3-image.png

              Wenn ich die HTTP-Response mit 200 verbinde, möchte er wieder eine JSON runterladen. So macht er es aber auch.

              EDIT
              Dein NAchtrag sieht verwirrend aus 😄

              mickym 2 Replies Last reply Reply Quote 0
              • mickym
                mickym Most Active @David G. last edited by mickym

                @david-g Das würde ich in keinem Fall machen - da ein ordnungsgemäße Rückgabe des Ergebnisses also Standard ist (sprich 200)- Sprich jeder Browser erwartet im Prinzip auch einen Response von einem Webserver, sonst bleibt der ggf. hängen und bekommt einen TimeOut.

                Wenn Du willst das nichts zurückgegeben wird, dann lösche nur die payload:

                ae5deece-bb47-4aa4-bfab-64cb9c5df1f5-image.png

                1 Reply Last reply Reply Quote 1
                • mickym
                  mickym Most Active @David G. last edited by mickym

                  gelöscht

                  1 Reply Last reply Reply Quote 0
                  • OliverIO
                    OliverIO @David G. last edited by OliverIO

                    @david-g

                    falls es nicht klappt, bzw zu aufwendig ist,
                    kann man im javascript adapter mit hilfe von express
                    relativ schnell eine eigene api bauen, die dann auch nix zurücksendet
                    https://www.npmjs.com/package/express

                    installieren nicht wie beschrieben mit npm,
                    sondern in den einstellungen des javascript-adapters
                    bei zusätzliche module

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

                      Ist ja bereits geschehen, will man mehrere Parameter in einem Request via GET mitgeben, dann diese mit dem & Zeichen verbinden:

                      1325994c-e074-4593-b59e-66d3890acfa8-image.png

                      David G. 1 Reply Last reply Reply Quote 0
                      • David G.
                        David G. @mickym last edited by

                        @mickym

                        OFFTOPIC AN
                        So umfangreich wie deine gezeigte EPG-Tabelle ist nutzt du es vermutlich auch regelmäßig.
                        Wo hast du die Daten her?

                        Ich nutze best.epg
                        Da bin ich mehr wie zufrieden mit.
                        Dazu habe ich was in meinen Tabellen aus meiner Signatur geschrieben.
                        OFFTOPIC AUS

                        mickym 1 Reply Last reply Reply Quote 0
                        • mickym
                          mickym Most Active @David G. last edited by

                          @david-g das war keine EPG Tabelle sondern eine App

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

                          Support us

                          ioBroker
                          Community Adapters
                          Donate

                          481
                          Online

                          31.7k
                          Users

                          79.8k
                          Topics

                          1.3m
                          Posts

                          4
                          11
                          345
                          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