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. JavaScript
  5. POST Request an Pushcut

NEWS

  • Jahresrückblick 2025 – unser neuer Blogbeitrag ist online! ✨
    BluefoxB
    Bluefox
    11
    1
    83

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

  • Weihnachtsangebot 2025! 🎄
    BluefoxB
    Bluefox
    24
    1
    1.7k

POST Request an Pushcut

Geplant Angeheftet Gesperrt Verschoben JavaScript
27 Beiträge 4 Kommentatoren 2.3k 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.
  • Martin SchlenderM Martin Schlender

    Moin,
    ich mach viel mit Pushcut und habe folgendes Script was einfach nicht laufen will:

    
    var request = require('request');
        var options = {
        url: 'https://api.pushcut.io/xxxxxxxxxxxxxx/notifications/Test',
        method: 'POST',
        headers: {'Content-type':'application/json'},
        form: {text:"Dies ist ein Test"} 
    };
    
    request(options,function (error, response, body){
    if (error) 
        {   log('Error bei POST request:' + error, 'error');        
            return error;
        }
            else {
                return response;
            }    
    });
     
    

    Wenn ich mit

    https://api.pushcut.io/xxxxxxxxxxxxxx/notifications/Test?text=Dies ist ein Test
    

    aufrufe geht es - aber ich würde die Parameter gerne aus einem Blockly übergeben. Hab schon mit verschiedenen Anführungszeichen versucht: ", ' usw. aber das tut einfach nicht :-(
    Ideen?
    Gruß
    Martin

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

    @martin-schlender sagte in POST Request an Pushcut:

    https://api.pushcut.io/xxxxxxxxxxxxxx/notifications/Test?text=Dies ist ein Test

    die url passt nicht mit der api beschreibung überein

    curl -X 'GET' \
      'https://api.pushcut.io/v1/notifications' \
      -H 'accept: application/json' \
      -H 'API-Key: xxxxxx'
    
    

    ich gehe davon aus, das das xxxxxxx dein API-token ist?
    Der ist gemäß API Beschreibung als Header mitzuliefern.

    Warum die Abfrage im Browser funktioniert? Weiß ich nicht.
    Evtl eine Vereinfachung für die GUI, was aber nicht heißen muss, das das für die anderen Endpunkte ebenso gilt.

    Interessant wäre auch der Fehlercode, den die API zurückliefert. Die sind im Link von @mickym ebenfalls beschrieben.
    Wenn du oben rechts auf Authorize gehst und dann beim jeweiligen endpoint auf try it out, kannst du das jeweils live mit deinem account testen

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

    Martin SchlenderM 1 Antwort Letzte Antwort
    0
    • OliverIOO OliverIO

      @martin-schlender sagte in POST Request an Pushcut:

      https://api.pushcut.io/xxxxxxxxxxxxxx/notifications/Test?text=Dies ist ein Test

      die url passt nicht mit der api beschreibung überein

      curl -X 'GET' \
        'https://api.pushcut.io/v1/notifications' \
        -H 'accept: application/json' \
        -H 'API-Key: xxxxxx'
      
      

      ich gehe davon aus, das das xxxxxxx dein API-token ist?
      Der ist gemäß API Beschreibung als Header mitzuliefern.

      Warum die Abfrage im Browser funktioniert? Weiß ich nicht.
      Evtl eine Vereinfachung für die GUI, was aber nicht heißen muss, das das für die anderen Endpunkte ebenso gilt.

      Interessant wäre auch der Fehlercode, den die API zurückliefert. Die sind im Link von @mickym ebenfalls beschrieben.
      Wenn du oben rechts auf Authorize gehst und dann beim jeweiligen endpoint auf try it out, kannst du das jeweils live mit deinem account testen

      Martin SchlenderM Offline
      Martin SchlenderM Offline
      Martin Schlender
      schrieb am zuletzt editiert von Martin Schlender
      #6

      @oliverio danke - genau. Das xxxx ist meine token. Aber nicht der API Token - ich mache das ganze ja nicht über die API sondern über die direkt URL für jede Notification:
      Link

      und wenn ich wie oben beschrieben im Javascript die URL abändere zu:
      https://api.pushcut.io/xxxxxxxxxxxxxx/notifications/Test?text=Dies ist ein Test
      dann funktioniert es ja.

      der CURL wäre dann:
      curl -X POST -d "{"title": "ein Test "}" -H "Content-Type: application/json" https://api.pushcut.io/xxxxxxxxxxxxxx/notifications/Test

      Also zusammengefaßt: Ich starte das Blockly mit dem integrierten JavaScript und die Benachrichtigung auf iOS kommt an. Allerdings nicht mit dem Text den ich mitgebe. Egal ob title oder text. Das kommt einfach nicht an.

      OliverIOO 1 Antwort Letzte Antwort
      0
      • Martin SchlenderM Martin Schlender

        @oliverio danke - genau. Das xxxx ist meine token. Aber nicht der API Token - ich mache das ganze ja nicht über die API sondern über die direkt URL für jede Notification:
        Link

        und wenn ich wie oben beschrieben im Javascript die URL abändere zu:
        https://api.pushcut.io/xxxxxxxxxxxxxx/notifications/Test?text=Dies ist ein Test
        dann funktioniert es ja.

        der CURL wäre dann:
        curl -X POST -d "{"title": "ein Test "}" -H "Content-Type: application/json" https://api.pushcut.io/xxxxxxxxxxxxxx/notifications/Test

        Also zusammengefaßt: Ich starte das Blockly mit dem integrierten JavaScript und die Benachrichtigung auf iOS kommt an. Allerdings nicht mit dem Text den ich mitgebe. Egal ob title oder text. Das kommt einfach nicht an.

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

        @martin-schlender
        ich verstehe schon was du willst.
        dann zeig doch mal auf die doku wo das so beschrieben ist.
        du kannst ja nichts wollen, was vom Anbieter so nicht vorgesehen ist.
        nur weil es in einem fall geht, kannst du das verhalten nicht auf die anderen anwendungsfälle übertragen.

        und das so zu übergeben dürfte mit blockly genauso möglich sein. du musst halt deine daten jeweils nur an einer anderen stelle eintragen.
        oben ist allerdings ein javascript-beispiel

        hast du den response wert noch ermitteln können? meist sagen einem die schnittstellen schon ungefähr was das problem ist (304 forbidden,404 not found,etc.)

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

        Martin SchlenderM 2 Antworten Letzte Antwort
        0
        • OliverIOO OliverIO

          @martin-schlender
          ich verstehe schon was du willst.
          dann zeig doch mal auf die doku wo das so beschrieben ist.
          du kannst ja nichts wollen, was vom Anbieter so nicht vorgesehen ist.
          nur weil es in einem fall geht, kannst du das verhalten nicht auf die anderen anwendungsfälle übertragen.

          und das so zu übergeben dürfte mit blockly genauso möglich sein. du musst halt deine daten jeweils nur an einer anderen stelle eintragen.
          oben ist allerdings ein javascript-beispiel

          hast du den response wert noch ermitteln können? meist sagen einem die schnittstellen schon ungefähr was das problem ist (304 forbidden,404 not found,etc.)

          Martin SchlenderM Offline
          Martin SchlenderM Offline
          Martin Schlender
          schrieb am zuletzt editiert von
          #8

          @oliverio der Link ist oben und es funktioniert alles über blockly - nur bekomme ich es über Blockly nicht hin, ein Action Object mitzugeben.

          OliverIOO 1 Antwort Letzte Antwort
          0
          • OliverIOO OliverIO

            @martin-schlender
            ich verstehe schon was du willst.
            dann zeig doch mal auf die doku wo das so beschrieben ist.
            du kannst ja nichts wollen, was vom Anbieter so nicht vorgesehen ist.
            nur weil es in einem fall geht, kannst du das verhalten nicht auf die anderen anwendungsfälle übertragen.

            und das so zu übergeben dürfte mit blockly genauso möglich sein. du musst halt deine daten jeweils nur an einer anderen stelle eintragen.
            oben ist allerdings ein javascript-beispiel

            hast du den response wert noch ermitteln können? meist sagen einem die schnittstellen schon ungefähr was das problem ist (304 forbidden,404 not found,etc.)

            Martin SchlenderM Offline
            Martin SchlenderM Offline
            Martin Schlender
            schrieb am zuletzt editiert von
            #9

            @oliverio hier das Blockly:
            f43c3667-45b9-4319-a389-0fb5b52aaa9f-image.png

            das funktioniert wunderbar. Wenn ich das jetzt allerdings ergänze um:

            &defaultAction={input:"bla der Text von oben", shortcut:"InputText"}
            

            dann funzt es nicht

            1 Antwort Letzte Antwort
            0
            • Martin SchlenderM Martin Schlender

              @oliverio der Link ist oben und es funktioniert alles über blockly - nur bekomme ich es über Blockly nicht hin, ein Action Object mitzugeben.

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

              @martin-schlender

              ich sehe keinen link zu einer doku, welche deine form der url beschreibt
              nur den von mickym und so hast du es nicht gemacht

              probier mal das bitte, deinen API-Key noch eintragen

              var request = require('request');
              request.post({
                headers: {
                  'accept': 'application/json',
                  'API-Key': 'xxxxxx',
                  'Content-Type': 'application/json'
                },
                url:     'https://api.pushcut.io/v1/notifications/test',
                body:    "Dies ist ein Test"
              }, function(error, response, body){
                console.log(error);
                console.log(body);
              });
              

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

              Martin SchlenderM 3 Antworten Letzte Antwort
              0
              • OliverIOO OliverIO

                @martin-schlender

                ich sehe keinen link zu einer doku, welche deine form der url beschreibt
                nur den von mickym und so hast du es nicht gemacht

                probier mal das bitte, deinen API-Key noch eintragen

                var request = require('request');
                request.post({
                  headers: {
                    'accept': 'application/json',
                    'API-Key': 'xxxxxx',
                    'Content-Type': 'application/json'
                  },
                  url:     'https://api.pushcut.io/v1/notifications/test',
                  body:    "Dies ist ein Test"
                }, function(error, response, body){
                  console.log(error);
                  console.log(body);
                });
                
                Martin SchlenderM Offline
                Martin SchlenderM Offline
                Martin Schlender
                schrieb am zuletzt editiert von
                #11

                @oliverio super - jetzt bin ich etwas weiter und bekomme auch mal einen error:
                {"error":"Unexpected token D in JSON at position 0"}
                Aber das ist klar - jetzt muß man die Variablen noch mitgeben. Ich probier mal und melde mich.

                1 Antwort Letzte Antwort
                0
                • OliverIOO OliverIO

                  @martin-schlender

                  ich sehe keinen link zu einer doku, welche deine form der url beschreibt
                  nur den von mickym und so hast du es nicht gemacht

                  probier mal das bitte, deinen API-Key noch eintragen

                  var request = require('request');
                  request.post({
                    headers: {
                      'accept': 'application/json',
                      'API-Key': 'xxxxxx',
                      'Content-Type': 'application/json'
                    },
                    url:     'https://api.pushcut.io/v1/notifications/test',
                    body:    "Dies ist ein Test"
                  }, function(error, response, body){
                    console.log(error);
                    console.log(body);
                  });
                  
                  Martin SchlenderM Offline
                  Martin SchlenderM Offline
                  Martin Schlender
                  schrieb am zuletzt editiert von
                  #12

                  @oliverio

                  var request = require('request');
                  request.post({
                    headers: {
                      'accept': 'application/json',
                      'API-Key': 'xxxxxxxxxxxxxxxxxx',
                      'Content-Type': 'application/json'
                    },
                    url:     'https://api.pushcut.io/v1/notifications/test',
                    body:    {title:"Dies ist ein Test"}
                  }, function(error, response, body){
                    console.log(error);
                    console.log(body);
                  });
                  

                  so stürzt mir die Javascript Instanz ab :-)

                  javascript.0
                  2023-08-18 14:27:40.894	error	Error: The "chunk" argument must be of type string or an instance of Buffer or Uint8Array. Received an instance of Object
                  
                  javascript.0
                  2023-08-18 14:27:40.893	error	An error happened which is most likely from one of your scripts, but the originating script could not be detected.
                  
                  javascript.0
                  2023-08-18 14:27:40.875	error	Request error: Error: Argument error, options.body.
                  
                  1 Antwort Letzte Antwort
                  0
                  • OliverIOO OliverIO

                    @martin-schlender

                    ich sehe keinen link zu einer doku, welche deine form der url beschreibt
                    nur den von mickym und so hast du es nicht gemacht

                    probier mal das bitte, deinen API-Key noch eintragen

                    var request = require('request');
                    request.post({
                      headers: {
                        'accept': 'application/json',
                        'API-Key': 'xxxxxx',
                        'Content-Type': 'application/json'
                      },
                      url:     'https://api.pushcut.io/v1/notifications/test',
                      body:    "Dies ist ein Test"
                    }, function(error, response, body){
                      console.log(error);
                      console.log(body);
                    });
                    
                    Martin SchlenderM Offline
                    Martin SchlenderM Offline
                    Martin Schlender
                    schrieb am zuletzt editiert von
                    #13

                    @oliverio jetzt tut´s:

                    var request = require('request');
                    request.post({
                      headers: {
                        'accept': 'application/json',
                        'API-Key': 'xxxxxx',
                        'Content-Type': 'application/json'
                      },
                      url:     'https://api.pushcut.io/v1/notifications/Test',
                      body:    '{"title":"Dies ist ein Test"}'
                    }, function(error, response, body){
                      console.log(error);
                      console.log(body);
                    });
                    

                    Herzlichen Dank! Jetzt mal schauen ob das mit dem defaultAction Object auch klappt

                    OliverIOO 1 Antwort Letzte Antwort
                    0
                    • Martin SchlenderM Martin Schlender

                      @oliverio jetzt tut´s:

                      var request = require('request');
                      request.post({
                        headers: {
                          'accept': 'application/json',
                          'API-Key': 'xxxxxx',
                          'Content-Type': 'application/json'
                        },
                        url:     'https://api.pushcut.io/v1/notifications/Test',
                        body:    '{"title":"Dies ist ein Test"}'
                      }, function(error, response, body){
                        console.log(error);
                        console.log(body);
                      });
                      

                      Herzlichen Dank! Jetzt mal schauen ob das mit dem defaultAction Object auch klappt

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

                      @martin-schlender
                      wenn du dich an die doku hälst ganz sicher.
                      sonst würden sich ja ganz viele aufregen (und nicht nur hier bei iobroker)

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

                      Martin SchlenderM 1 Antwort Letzte Antwort
                      0
                      • OliverIOO OliverIO

                        @martin-schlender
                        wenn du dich an die doku hälst ganz sicher.
                        sonst würden sich ja ganz viele aufregen (und nicht nur hier bei iobroker)

                        Martin SchlenderM Offline
                        Martin SchlenderM Offline
                        Martin Schlender
                        schrieb am zuletzt editiert von
                        #15

                        @oliverio klar - aber ich hatte ja offenbar ein großes Problem mit den Headern- da wußte ich nämlich die Syntax nicht. Jetzt komm ich auch wieder nicht weiter:

                        url:     'https://api.pushcut.io/v1/notifications/Test',
                          body:    '{"title":"Dies ist ein Test","defaultAction":{"input":"Eine Zeile zum Ausgeben", "shortcut":"InputText"}}'
                        }, function(error, response, body){
                          
                        

                        das läßt sich nicht speichern. Hast ne Idee warum nicht?

                        Martin SchlenderM OliverIOO 2 Antworten Letzte Antwort
                        0
                        • Martin SchlenderM Martin Schlender

                          @oliverio klar - aber ich hatte ja offenbar ein großes Problem mit den Headern- da wußte ich nämlich die Syntax nicht. Jetzt komm ich auch wieder nicht weiter:

                          url:     'https://api.pushcut.io/v1/notifications/Test',
                            body:    '{"title":"Dies ist ein Test","defaultAction":{"input":"Eine Zeile zum Ausgeben", "shortcut":"InputText"}}'
                          }, function(error, response, body){
                            
                          

                          das läßt sich nicht speichern. Hast ne Idee warum nicht?

                          Martin SchlenderM Offline
                          Martin SchlenderM Offline
                          Martin Schlender
                          schrieb am zuletzt editiert von
                          #16

                          @martin-schlender sagte in POST Request an Pushcut:

                          body: '{"title":"Dies ist ein Test","defaultAction":{"input":"Eine Zeile zum Ausgeben", "shortcut":"InputText"}}' }, function(error, response, body){

                          hat sich erledigt. Das war jetzt das Blockly das auf einen Return Value gewartet hatte. Jetzt tut alles.
                          Danke Euch

                          1 Antwort Letzte Antwort
                          0
                          • Martin SchlenderM Martin Schlender

                            @oliverio klar - aber ich hatte ja offenbar ein großes Problem mit den Headern- da wußte ich nämlich die Syntax nicht. Jetzt komm ich auch wieder nicht weiter:

                            url:     'https://api.pushcut.io/v1/notifications/Test',
                              body:    '{"title":"Dies ist ein Test","defaultAction":{"input":"Eine Zeile zum Ausgeben", "shortcut":"InputText"}}'
                            }, function(error, response, body){
                              
                            

                            das läßt sich nicht speichern. Hast ne Idee warum nicht?

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

                            @martin-schlender
                            was heißt. es lässt sich nicht speichern?
                            in iobroker?
                            beim senden?

                            gibt es eine fehlermeldung?
                            es ist nur ein ausschnitt!

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

                            Martin SchlenderM 1 Antwort Letzte Antwort
                            0
                            • OliverIOO OliverIO

                              @martin-schlender
                              was heißt. es lässt sich nicht speichern?
                              in iobroker?
                              beim senden?

                              gibt es eine fehlermeldung?
                              es ist nur ein ausschnitt!

                              Martin SchlenderM Offline
                              Martin SchlenderM Offline
                              Martin Schlender
                              schrieb am zuletzt editiert von
                              #18

                              Moin,
                              ich bräuchte nochmal Hilfe.
                              Und zwar bekomme ich es ums Verr.... nicht hin, das Ergebnis aus dem POST zurückzugeben ins Blockly.
                              Unten das log('body:' + body); gibt mir im Protokoll genau das aus was ich möchte. Allerdings bekomme ich es nicht aus der function raus...
                              Danke im Voraus

                              var strBody = '{"token":"xxxxxxxxxxxxx","user":"xxxxxxxxxxxxxx","title":"' + strTitle 
                              + '","text":"' + strText + '" ,"subtext":"' + strSubtext + '"}'
                              
                              log('body: ' + strBody)
                              
                              var strErg
                              
                              request.post({
                                headers: {
                                  'Content-Type': 'application/json'
                                },
                                url:     'https://api.pushover.net/1/glances.json',
                                body:    strBody
                              
                              }, function (error, response, body){
                                if (error) {
                                  console.log('Fehler:' + error);
                                  return  error;
                                }
                                else
                                {
                                 strErg = body;
                                 log('body:' + body);
                                 
                                  } 
                              }
                              );
                              return strErg ;
                              
                              mickymM 1 Antwort Letzte Antwort
                              0
                              • Martin SchlenderM Martin Schlender

                                Moin,
                                ich bräuchte nochmal Hilfe.
                                Und zwar bekomme ich es ums Verr.... nicht hin, das Ergebnis aus dem POST zurückzugeben ins Blockly.
                                Unten das log('body:' + body); gibt mir im Protokoll genau das aus was ich möchte. Allerdings bekomme ich es nicht aus der function raus...
                                Danke im Voraus

                                var strBody = '{"token":"xxxxxxxxxxxxx","user":"xxxxxxxxxxxxxx","title":"' + strTitle 
                                + '","text":"' + strText + '" ,"subtext":"' + strSubtext + '"}'
                                
                                log('body: ' + strBody)
                                
                                var strErg
                                
                                request.post({
                                  headers: {
                                    'Content-Type': 'application/json'
                                  },
                                  url:     'https://api.pushover.net/1/glances.json',
                                  body:    strBody
                                
                                }, function (error, response, body){
                                  if (error) {
                                    console.log('Fehler:' + error);
                                    return  error;
                                  }
                                  else
                                  {
                                   strErg = body;
                                   log('body:' + body);
                                   
                                    } 
                                }
                                );
                                return strErg ;
                                
                                mickymM Offline
                                mickymM Offline
                                mickym
                                Most Active
                                schrieb am zuletzt editiert von
                                #19

                                @martin-schlender Dann mach halt das return strErg nicht ganz unten hin, sondern in Zeile 24 als direkt unter log

                                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.

                                Martin SchlenderM 1 Antwort Letzte Antwort
                                0
                                • mickymM mickym

                                  @martin-schlender Dann mach halt das return strErg nicht ganz unten hin, sondern in Zeile 24 als direkt unter log

                                  Martin SchlenderM Offline
                                  Martin SchlenderM Offline
                                  Martin Schlender
                                  schrieb am zuletzt editiert von Martin Schlender
                                  #20

                                  @mickym sagte in POST Request an Pushcut:

                                  @martin-schlender Dann mach halt das return strErg nicht ganz unten hin, sondern in Zeile 24 als direkt unter log

                                  Auch schon versucht. Geht auch nicht. Sehr spannend. Wenn ich da einen return body mache ist das Ergebnis undefined

                                  Martin SchlenderM 1 Antwort Letzte Antwort
                                  0
                                  • Martin SchlenderM Martin Schlender

                                    @mickym sagte in POST Request an Pushcut:

                                    @martin-schlender Dann mach halt das return strErg nicht ganz unten hin, sondern in Zeile 24 als direkt unter log

                                    Auch schon versucht. Geht auch nicht. Sehr spannend. Wenn ich da einen return body mache ist das Ergebnis undefined

                                    Martin SchlenderM Offline
                                    Martin SchlenderM Offline
                                    Martin Schlender
                                    schrieb am zuletzt editiert von
                                    #21

                                    Das völlig verrückte ist, wenn ich den unteren Teil so umbaue:

                                      
                                       log('body:' + body);
                                       return body;
                                        } 
                                    }
                                    );
                                    
                                    return strErg;
                                    

                                    steht im Log:
                                    body:{"status":1,"request":"2a0edda9-9e13-47bc-8541-43982263f8ae"}
                                    und der Rückgabewert im Blockly ist undefined. Kapier ich einfach nicht

                                    Martin SchlenderM 1 Antwort Letzte Antwort
                                    0
                                    • Martin SchlenderM Martin Schlender

                                      Das völlig verrückte ist, wenn ich den unteren Teil so umbaue:

                                        
                                         log('body:' + body);
                                         return body;
                                          } 
                                      }
                                      );
                                      
                                      return strErg;
                                      

                                      steht im Log:
                                      body:{"status":1,"request":"2a0edda9-9e13-47bc-8541-43982263f8ae"}
                                      und der Rückgabewert im Blockly ist undefined. Kapier ich einfach nicht

                                      Martin SchlenderM Offline
                                      Martin SchlenderM Offline
                                      Martin Schlender
                                      schrieb am zuletzt editiert von
                                      #22

                                      ich glaub jetzt weiß ich warum das so ist. Hab mich eben gewundert warum im Log immer erst die undefined kommen. Der Request ist noch nicht abgeschlossen und das Script läuft weiter und gibt nix zurück. Muß da warten....

                                      T 1 Antwort Letzte Antwort
                                      0
                                      • Martin SchlenderM Martin Schlender

                                        ich glaub jetzt weiß ich warum das so ist. Hab mich eben gewundert warum im Log immer erst die undefined kommen. Der Request ist noch nicht abgeschlossen und das Script läuft weiter und gibt nix zurück. Muß da warten....

                                        T Nicht stören
                                        T Nicht stören
                                        ticaki
                                        schrieb am zuletzt editiert von ticaki
                                        #23

                                        @martin-schlender

                                        Mit Blockly bin ich jetzt nicht so der Hit. Aber mit dem hier sollte das Skript sychron laufen. Heißt wartet von sich aus

                                        const axios = require('axios');
                                            const strBody =
                                                '{"token":"xxxxxxxxxxxxx","user":"xxxxxxxxxxxxxx","title":"' +
                                                strTitle +
                                                '","text":"' +
                                                strText +
                                                '" ,"subtext":"' +
                                                strSubtext +
                                                '"}';
                                        
                                            log('body: ' + strBody);
                                        
                                            let strErg;
                                        
                                            try {
                                                const result = await axios(
                                                    {
                                                        timeout: 5000,
                                                        method: 'post',
                                                        headers: {
                                                            'Content-Type': 'application/json',
                                                        },
                                                        url: 'https://api.pushover.net/1/glances.json',
                                                        body: strBody,
                                                    }
                                                );
                                                log('body:' + result.data);
                                                if (result && result.data) return result.data;
                                            } catch(error) {
                                                log(JSON.stringify(error.toJSON()));
                                            }
                                            return '';
                                        

                                        Weather-Warnings Espresense NSPanel-Lovelace-ui Tagesschau

                                        Spenden

                                        OliverIOO Martin SchlenderM 2 Antworten Letzte Antwort
                                        1
                                        • T ticaki

                                          @martin-schlender

                                          Mit Blockly bin ich jetzt nicht so der Hit. Aber mit dem hier sollte das Skript sychron laufen. Heißt wartet von sich aus

                                          const axios = require('axios');
                                              const strBody =
                                                  '{"token":"xxxxxxxxxxxxx","user":"xxxxxxxxxxxxxx","title":"' +
                                                  strTitle +
                                                  '","text":"' +
                                                  strText +
                                                  '" ,"subtext":"' +
                                                  strSubtext +
                                                  '"}';
                                          
                                              log('body: ' + strBody);
                                          
                                              let strErg;
                                          
                                              try {
                                                  const result = await axios(
                                                      {
                                                          timeout: 5000,
                                                          method: 'post',
                                                          headers: {
                                                              'Content-Type': 'application/json',
                                                          },
                                                          url: 'https://api.pushover.net/1/glances.json',
                                                          body: strBody,
                                                      }
                                                  );
                                                  log('body:' + result.data);
                                                  if (result && result.data) return result.data;
                                              } catch(error) {
                                                  log(JSON.stringify(error.toJSON()));
                                              }
                                              return '';
                                          
                                          OliverIOO Offline
                                          OliverIOO Offline
                                          OliverIO
                                          schrieb am zuletzt editiert von
                                          #24

                                          @ticaki
                                          ja ich denke so müsste es laufen.

                                          bei der ersten version hat das hauptskript geendet und dann halt undefined an blockly zurückgegeben. kurze zeit später ist aber der request fertig gewesen, da war aber nix mehr was das ergebnis entgegennehmen konnte.

                                          so wird der block erst beendet, wenn das ergebnis vorliegt und dann kann es in blockly weitergehen.

                                          jaja async stellt einem immer wieder diese fallen

                                          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
                                          Antworten
                                          • In einem neuen Thema antworten
                                          Anmelden zum Antworten
                                          • Älteste zuerst
                                          • Neuste zuerst
                                          • Meiste Stimmen


                                          Support us

                                          ioBroker
                                          Community Adapters
                                          Donate

                                          339

                                          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