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. Code an Restapi senden via http Befehl…

NEWS

  • Weihnachtsangebot 2025! 🎄
    BluefoxB
    Bluefox
    22
    1
    1.1k

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

  • Monatsrückblick – September 2025
    BluefoxB
    Bluefox
    14
    1
    2.4k

Code an Restapi senden via http Befehl…

Scheduled Pinned Locked Moved Skripten / Logik
15 Posts 6 Posters 2.9k Views 3 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.
  • Lenny.CBL Offline
    Lenny.CBL Offline
    Lenny.CB
    Most Active
    wrote on last edited by
    #3

    @Zodiac2812:

    Hat keiner eine Idee oder nen Tipp wie ich die HTTP befehle senden und empfangen kann? :( `
    sprichst du die Wanne mit einer internen IP an, oder läuft das alles über eine Cloud mit auth, token und son mist?

    versuche mal (ungetestet):````
    var server = ''; // IP der Wanne
    var id = ''; // ID der Wanne

    request.post ({
    url: server + '/api/tlc/' + id + '/bathtub-fill/',
    headers: {'Content-Type': 'application/json'}
    },
    function (error, response, body) {
    log('Code_statusCode: ' + response.statusCode);
    log(JSON.parse(body));
    });

    1 Reply Last reply
    0
    • D Offline
      D Offline
      danw
      wrote on last edited by
      #4

      @Lenny.CB:

      @Zodiac2812:

      Hat keiner eine Idee oder nen Tipp wie ich die HTTP befehle senden und empfangen kann? :( `
      sprichst du die Wanne mit einer internen IP an, oder läuft das alles über eine Cloud mit auth, token und son mist?

      versuche mal (ungetestet):````
      var server = ''; // IP der Wanne
      var id = ''; // ID der Wanne

      request.post ({
      url: server + '/api/tlc/' + id + '/bathtub-fill/',
      headers: {'Content-Type': 'application/json'}
      },
      function (error, response, body) {
      log('Code_statusCode: ' + response.statusCode);
      log(JSON.parse(body));
      });
      ```` `

      Das zu übertragene JSON fehlt hier.

      var server = '';    // IP der Wanne
      var id  = '';       // ID der Wanne
      var body_sent = {
        "temperature": 23.5,
        "amount": 0.7
      }
      
      request.post    ({  
                  url: server + '/api/tlc/' + id + '/bathtub-fill/',        
                  headers: {'Content-Type': 'application/json'},
                  json:    body_sent
              },
                  function (error, response, body) {
                          log('Code_statusCode: ' + response.statusCode);
                          log(JSON.parse(body));
              });
      
      

      It's not a Bug, it's a Feature

      1 Reply Last reply
      0
      • Lenny.CBL Offline
        Lenny.CBL Offline
        Lenny.CB
        Most Active
        wrote on last edited by
        #5

        @danw:

        @Lenny.CB:

        @Zodiac2812:

        Hat keiner eine Idee oder nen Tipp wie ich die HTTP befehle senden und empfangen kann? :( `
        sprichst du die Wanne mit einer internen IP an, oder läuft das alles über eine Cloud mit auth, token und son mist?

        versuche mal (ungetestet):````
        var server = ''; // IP der Wanne
        var id = ''; // ID der Wanne

        request.post ({
        url: server + '/api/tlc/' + id + '/bathtub-fill/',
        headers: {'Content-Type': 'application/json'}
        },
        function (error, response, body) {
        log('Code_statusCode: ' + response.statusCode);
        log(JSON.parse(body));
        });
        ```` `

        Das zu übertragene JSON fehlt hier.

        var server = '';    // IP der Wanne
        var id  = '';       // ID der Wanne
        var body_sent = {
          "temperature": 23.5,
          "amount": 0.7
        }
        
        request.post    ({  
                    url: server + '/api/tlc/' + id + '/bathtub-fill/',        
                    headers: {'Content-Type': 'application/json'},
                    json:    body_sent
                },
                    function (error, response, body) {
                            log('Code_statusCode: ' + response.statusCode);
                            log(JSON.parse(body));
                });
        
        ```` `  
        

        ich bin der Meinung, dass du hier Daten abfragst. Da brauchst kein JSON mitschicken. Oder?

        1 Reply Last reply
        0
        • D Offline
          D Offline
          danw
          wrote on last edited by
          #6

          Laut der API Beschreibung des OP ist bei dem HTTP POST (nicht GET) eine Einstellung der Menge und Temperatur möglich. (was er ja auch wünscht)

          It's not a Bug, it's a Feature

          1 Reply Last reply
          0
          • Z Offline
            Z Offline
            Zodiac2812
            wrote on last edited by
            #7

            Hi Männers,

            sorry grad ne Zeit lang nicht aktiv gewesen, ich spreche die Geräte dann mit einer internen IP-Adresse an.

            Das sollte das ganze einfacher gestalten.

            Muss ich jetzt nur noch einen Trigger haben und den entsprechenden Befehl losschicken oder wie starte ich

            eines der gezeigten Skripte dann?

            Danke natürlich auch noch an euch :D

            Irgendwann muss man anfangen… :mrgreen:

            1 Reply Last reply
            0
            • D Offline
              D Offline
              danw
              wrote on last edited by
              #8

              Das Script startet sofort, wenn du Speichern drückst (und auch nur einmal). Es hat keinen Trigger oder ähnliches, das musst du dann noch drumherum bauen.

              Aber ne Info, ob das so funktioniert, wäre schonmal hilfreich.

              It's not a Bug, it's a Feature

              1 Reply Last reply
              0
              • Z Offline
                Z Offline
                Zodiac2812
                wrote on last edited by
                #9

                Hallo Leute, bin erst jetzt wieder dazu gekommen es zu testen, bin nebenbei noch am Hausbauen da fehlt oft Zeit.
                Habe es mal so reingehackt in meinem Unwissen... Es kamen nur Fehlermeldungen, aber ich denke so ganz so einfach war es auch nicht :relaxed:

                habt ihr mal nen Tipp?

                064afbce-c9e1-4e11-939a-e3c75f45391e-image.png

                Irgendwann muss man anfangen… :mrgreen:

                Z 1 Reply Last reply
                0
                • Z Zodiac2812

                  Hallo Leute, bin erst jetzt wieder dazu gekommen es zu testen, bin nebenbei noch am Hausbauen da fehlt oft Zeit.
                  Habe es mal so reingehackt in meinem Unwissen... Es kamen nur Fehlermeldungen, aber ich denke so ganz so einfach war es auch nicht :relaxed:

                  habt ihr mal nen Tipp?

                  064afbce-c9e1-4e11-939a-e3c75f45391e-image.png

                  Z Offline
                  Z Offline
                  Zodiac2812
                  wrote on last edited by
                  #10

                  @danw Kannst du mich vll. noch einmal kurz in die richtige Richtung stupsen?

                  Danke vorab....

                  Irgendwann muss man anfangen… :mrgreen:

                  AsgothianA 1 Reply Last reply
                  0
                  • Z Zodiac2812

                    @danw Kannst du mich vll. noch einmal kurz in die richtige Richtung stupsen?

                    Danke vorab....

                    AsgothianA Offline
                    AsgothianA Offline
                    Asgothian
                    Developer
                    wrote on last edited by
                    #11

                    @Zodiac2812 Versuch doch mal statt

                    log('Code_statusCode: ' + response.statusCode);
                    log(JSON.parse(body));
                    

                    dieses zu nutzen: Ich gehe davon aus das die response leer ist.

                    log('Code_statusCode: ' + JSON.stringify(statusCode)
                    log(JSON.stringify(body));
                    

                    Des weiteren kann ich dir Insomnia als Werkzeug empfehlen. Das ist ein CrossPlatform Programm mit dem du REST API's abfragen kannst. Deutlich einfacher als ueber js dir das immer selber zusammen zu bauen. Wenn du die Syntax sauber hast kannst du die Requests dann ja in JS nachbilden

                    A.

                    ioBroker auf RPi4 - Hardware soweit wie möglich via Zigbee.
                    "Shit don't work" ist keine Fehlermeldung, sondern ein Fluch.

                    1 Reply Last reply
                    0
                    • D Offline
                      D Offline
                      danw
                      wrote on last edited by danw
                      #12

                      Zeig uns mal den Fehler aus dem Log-Reiter, der sollte größer sein.

                      Ich kriege keine Mail-Benachrichtigung mehr seit dem neuem Forum, deswegen fällt mir das gar nicht auf, wenn jemand was in einem abonnierten Thema schreibt etc.

                      So funktioniert es bei mir:

                      var server = '';    // IP der Wanne
                      var id  = '';       // ID der Wanne
                      var body_sent = {
                         "temperature": 23.5,
                         "amount": 0.7
                       }
                      
                      request.post({
                              url: server + '/api/tlc/' + id + '/bathtub-fill/',
                              headers: {'Content-Type': 'application/json'},
                              json:    body_sent
                          
                          }, function(error, response, body) {
                              if (error)  { console.log(error); }
                              if (!error && response.statusCode == 200) {
                                  log(JSON.parse(body));
                              }
                          }
                      );
                      

                      Bitte dran denken, dass der Code ja noch entsprechend genutzt werden muss oder was auch immer mit gemacht werden muss, was du erreichen willst. Das ist nur ein Beispiel.

                      It's not a Bug, it's a Feature

                      1 Reply Last reply
                      0
                      • Z Offline
                        Z Offline
                        Zodiac2812
                        wrote on last edited by
                        #13

                        Danke für die Hilfe... setze mich jetzt am Wochenende mal intensiv damit auseinander...
                        und werde Berichten..... Insomnia Teste ich dann auch mal auch wenn ich als kompletter starter denke da nicht viel zu checken. :confused:

                        Irgendwann muss man anfangen… :mrgreen:

                        StefanHemi1S 1 Reply Last reply
                        0
                        • Z Zodiac2812

                          Danke für die Hilfe... setze mich jetzt am Wochenende mal intensiv damit auseinander...
                          und werde Berichten..... Insomnia Teste ich dann auch mal auch wenn ich als kompletter starter denke da nicht viel zu checken. :confused:

                          StefanHemi1S Offline
                          StefanHemi1S Offline
                          StefanHemi1
                          wrote on last edited by
                          #14

                          @zodiac2812

                          Guten Abend oder besser noch guten Morgen!

                          Darf ich mal neugierig sein und nachfragen, ob man in diesem Thema schon weiter gekommen ist?

                          MfG, Stefan!

                          OliverIOO 1 Reply Last reply
                          0
                          • StefanHemi1S StefanHemi1

                            @zodiac2812

                            Guten Abend oder besser noch guten Morgen!

                            Darf ich mal neugierig sein und nachfragen, ob man in diesem Thema schon weiter gekommen ist?

                            MfG, Stefan!

                            OliverIOO Offline
                            OliverIOO Offline
                            OliverIO
                            wrote on last edited by OliverIO
                            #15

                            @stefanhemi1 sagte in Code an Restapi senden via http Befehl…:

                            @zodiac2812

                            Guten Abend oder besser noch guten Morgen!

                            Darf ich mal neugierig sein und nachfragen, ob man in diesem Thema schon weiter gekommen ist?

                            MfG, Stefan!

                            das hier ist schon alt.
                            was willst du genau erreichen?

                            folgende fragen muss man sich beim Abruf oder senden per http überlegen:

                            • mit welcher Methode erwartet die gegenstelle die Anfrage (GET oder POST)
                            • gibt es eine Authentifizierung? Welche Methode? (formular, oauth, Basic)
                            • Welche Daten in welchem exakten Format erwartet die Gegenstelle zum Abruf , aber auch zum setzen von Daten (JSON,XML,proprietär). Das findet man entweder in API-Beschreibungen oder bekommt das durch Reengineering raus (sehr aufwändig, viel rumprobieren) und manchmal versucht der Hersteller der Gegenstelle es auch durch verschlüsseln oder verschwurbeln künstlich schwierig zu machen.

                            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 Reply Last reply
                            0
                            Reply
                            • Reply as topic
                            Log in to reply
                            • Oldest to Newest
                            • Newest to Oldest
                            • Most Votes


                            Support us

                            ioBroker
                            Community Adapters
                            Donate

                            794

                            Online

                            32.5k

                            Users

                            81.6k

                            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