Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Skripten / Logik
    4. JavaScript
    5. Hilfe bei der Script erstellung

    NEWS

    • Neuer Blog: Fotos und Eindrücke aus Solingen

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

    • ioBroker goes Matter ... Matter Adapter in Stable

    Hilfe bei der Script erstellung

    This topic has been deleted. Only users with topic management privileges can see it.
    • Homoran
      Homoran Global Moderator Administrators @OliverIO last edited by

      @T0biT3ch

      @oliverio sagte in Hilfe bei der Script erstellung:

      solche Abfragen kannst du mit der Bibliothek axios machen, welche bereits in iobroker schon verfügbar ist.

      @oliverio sagte in Hilfe bei der Script erstellung:

      Achtung im Forum gibt es auch Beispiele, die eine etwas ältere Bibliothek (request) verwenden, die aber nicht mehr verwendet werden soll

      T 1 Reply Last reply Reply Quote 0
      • T
        T0biT3ch @Homoran last edited by

        Guten Abend,

        wieder ein Stückchen weiter. Den Token habe ich in seine einzelteile zerlegen können. Jetzt geht es ans Senden der Nachrichten. Ich möchte den Token und die Nachricht aus dem Datenpunkt in mein Skript einfügen.

        Dieses Skript habe ich mir zurecht geklickt, aber irgendwie funktioniert das mit dem setState nicht.

        var request = require('request');
        var token = '0_userdata.0.E-Message.E-Message-API';
        var alarmtext = '0_userdata.0.E-Message.E-Message-Text';
        var options = {
          'method': 'POST',
          'url': 'https://api.emessage.de/rs/eSendMessages',
          'headers': {
            'Authorization': setState(token),
            'Content-Type': 'application/json'
          },
          body: JSON.stringify({
            "messageText": setState(alarmtext),
            "recipients": [
              {
                "serviceName": "eCityruf",
                "identifier": "*******"
              }
            ]
          })
        
        };
        request(options, function (error, response) {
          if (error) throw new Error(error);
          console.log(response.body);
        });
        
        
        T 1 Reply Last reply Reply Quote 0
        • T
          T0biT3ch @T0biT3ch last edited by

          @OliverIO

          Hab das ganze nochmal in axios geändert.

          var axios = require('axios');
          var token = '0_userdata.0.E-Message.E-Message-API';
          var alarmtext = '0_userdata.0.E-Message.E-Message-Text';
          var data = JSON.stringify({
            "messageText": setState(alarmtext),
            "recipients": [
              {
                "serviceName": "eCityruf",
                "identifier": "******"
              }
            ]
          });
          
          var config = {
            method: 'post',
            url: 'https://api.emessage.de/rs/eSendMessages',
            headers: { 
              'Authorization': setState(token), 
              'Content-Type': 'application/json'
            },
            data : data
          };
          
          axios(config)
          .then(function (response) {
            console.log(JSON.stringify(response.data));
          })
          .catch(function (error) {
            console.log(error);
          });
          
          

          bekomme jetzt den fehler

          {'code':'ERR_HTTP_INVALID_HEADER_VALUE'}
          

          woran kann das liegen?

          beste grüße 🤘

          OliverIO 1 Reply Last reply Reply Quote 0
          • OliverIO
            OliverIO @T0biT3ch last edited by

            @t0bit3ch sagte in Hilfe bei der Script erstellung:

            'Authorization': setState(token),
            

            Du möchtest sicherlich den Inhalt des datenpunktes lesen und nicht schreiben.
            Da müsste es auch schon ein Fehler gegeben haben, da bei setState die Anzahl der Parameter nicht stimmt.

            Aber generell würde ich das Token nicht in ein datenpunkt schreiben, da es wahrscheinlich gar nicht so lange gültig ist und du es vor jeder Abfrage eh wieder neu abfragen musst.

            T 1 Reply Last reply Reply Quote 0
            • T
              T0biT3ch @OliverIO last edited by

              @oliverio said in Hilfe bei der Script erstellung:

              @t0bit3ch sagte in Hilfe bei der Script erstellung:

              'Authorization': setState(token),
              

              Du möchtest sicherlich den Inhalt des datenpunktes lesen und nicht schreiben.
              Da müsste es auch schon ein Fehler gegeben haben, da bei setState die Anzahl der Parameter nicht stimmt.

              Aber generell würde ich das Token nicht in ein datenpunkt schreiben, da es wahrscheinlich gar nicht so lange gültig ist und du es vor jeder Abfrage eh wieder neu abfragen musst.

              Danke für den Hinweis, aber wie könnte ich es denn dann lösen das der Token jedes mal vor dem Senden der Nachricht neu Aktualisiert wird?

              1 Reply Last reply Reply Quote 0
              • OliverIO
                OliverIO last edited by

                @t0bit3ch
                poste bitte hier mal deinen ganzen code, den du bisher hast.
                also einmal die abfrage nach dem token und dann 2. die abfrage mit dem eigentlichen befehl in einem post. dann sieht man das auf einmal.
                die ursprünglichen pdf dateien hast du nicht mehr? ich find sie nicht mehr hier im thread

                T 1 Reply Last reply Reply Quote 0
                • T
                  T0biT3ch @OliverIO last edited by

                  @oliverio said in Hilfe bei der Script erstellung:

                  @t0bit3ch
                  poste bitte hier mal deinen ganzen code, den du bisher hast.
                  also einmal die abfrage nach dem token und dann 2. die abfrage mit dem eigentlichen befehl in einem post. dann sieht man das auf einmal.
                  die ursprünglichen pdf dateien hast du nicht mehr? ich find sie nicht mehr hier im thread

                  mit diesem code (bekomme es mit axios leider nicht hin) frage ich den token ab und lass mir die angeforderten daten in einen datenpunkt schreiben

                  var request = require('request');
                  var resault
                  var options ={
                    'method': 'POST',
                    'url': 'https://api.emessage.de/auth/login',
                    'headers': {
                      'Authorization': 'Basic Og==',
                      'Content-Type': 'application/json'
                    },
                    body: JSON.stringify({
                      "username": "USERNAME",
                      "password": "PASSWORD"
                    })
                  
                  };
                  request(options, async function (error, response, resault) {
                      if (error) throw new Error(error); 
                    console.log(('' + getAttr(resault, '"jwt"')));
                    setState("0_userdata.0.E-Message.E-Message-API-String"/* JWT */, resault, true);
                    });
                  

                  dann rufe ich den datenpunkt mit den angeforderten daten über ein Blockly Script auf welches mir die daten zerlegt und in mehrere datenpunke sortiert

                  <xml xmlns="https://developers.google.com/blockly/xml">
                    <variables>
                      <variable id="Kr{TqA7bmUJ@ID|SdrFb">API-Status</variable>
                      <variable id="oWS;kTCnQynl7?P(oOxL">Username</variable>
                      <variable id="`|k+#[5=^_i-t;SU=sgS">API-Token</variable>
                    </variables>
                    <block type="on" id="RDTxmtpzwY2#i8wo-5j3" x="38" y="38">
                      <field name="OID">0_userdata.0.E-Message.E-Message-API-String</field>
                      <field name="CONDITION">any</field>
                      <field name="ACK_CONDITION"></field>
                      <statement name="STATEMENT">
                        <block type="debug" id="#vw,R^04?VHo%.W_:PA$">
                          <field name="Severity">log</field>
                          <value name="TEXT">
                            <shadow type="text" id="|a573mU%uv-X*c%/-9y@">
                              <field name="TEXT">test</field>
                            </shadow>
                            <block type="on_source" id="+Wx=vWMza3i7xHQV+njl">
                              <field name="ATTR">state.val</field>
                            </block>
                          </value>
                          <next>
                            <block type="variables_set" id="4i,h%+`A)Up@E3CWrR,(">
                              <field name="VAR" id="Kr{TqA7bmUJ@ID|SdrFb">API-Status</field>
                              <value name="VALUE">
                                <block type="text_getSubstring" id="fXy2)F{UojePPs||6m5L">
                                  <mutation at1="true" at2="true"></mutation>
                                  <field name="WHERE1">FROM_START</field>
                                  <field name="WHERE2">FROM_START</field>
                                  <value name="STRING">
                                    <block type="on_source" id="PA#t0e@yV5ogg01kPcd`">
                                      <field name="ATTR">state.val</field>
                                    </block>
                                  </value>
                                  <value name="AT1">
                                    <block type="math_number" id="F8[Ez0b*miQk`g9KKm*M">
                                      <field name="NUM">18</field>
                                    </block>
                                  </value>
                                  <value name="AT2">
                                    <block type="math_number" id="ku+#OXuXQ7FXbmaq=irq">
                                      <field name="NUM">20</field>
                                    </block>
                                  </value>
                                </block>
                              </value>
                              <next>
                                <block type="update" id="?MS3Iz/f-!5hDYbQBeA_">
                                  <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation>
                                  <field name="OID">0_userdata.0.E-Message.E-Message-API-Status</field>
                                  <field name="WITH_DELAY">FALSE</field>
                                  <value name="VALUE">
                                    <block type="variables_get" id="1Bb!DlC-9?Iy=j_nHF$?">
                                      <field name="VAR" id="Kr{TqA7bmUJ@ID|SdrFb">API-Status</field>
                                    </block>
                                  </value>
                                  <next>
                                    <block type="variables_set" id="s*7{PwAY0fQ`ePmy8M,%">
                                      <field name="VAR" id="oWS;kTCnQynl7?P(oOxL">Username</field>
                                      <value name="VALUE">
                                        <block type="text_getSubstring" id="VV0s!?mK8.H,tnAkwKu,">
                                          <mutation at1="true" at2="true"></mutation>
                                          <field name="WHERE1">FROM_START</field>
                                          <field name="WHERE2">FROM_START</field>
                                          <value name="STRING">
                                            <block type="on_source" id="@ek[B.l(tKY(-4|r@rwR">
                                              <field name="ATTR">state.val</field>
                                            </block>
                                          </value>
                                          <value name="AT1">
                                            <block type="math_number" id="T3.[TBc_H+Q|zkIYj5IC">
                                              <field name="NUM">42</field>
                                            </block>
                                          </value>
                                          <value name="AT2">
                                            <block type="math_number" id="zbG?uq8_pU]d_^TjVi|o">
                                              <field name="NUM">50</field>
                                            </block>
                                          </value>
                                        </block>
                                      </value>
                                      <next>
                                        <block type="update" id="~*vJ)~oPTXb2NR-oQcTT">
                                          <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation>
                                          <field name="OID">0_userdata.0.E-Message.E-Message-Username</field>
                                          <field name="WITH_DELAY">FALSE</field>
                                          <value name="VALUE">
                                            <block type="variables_get" id="Ja`Z}5vKnY/-XsCmCsxw">
                                              <field name="VAR" id="oWS;kTCnQynl7?P(oOxL">Username</field>
                                            </block>
                                          </value>
                                          <next>
                                            <block type="variables_set" id="`U]osubHK9WBHm)gn1B}">
                                              <field name="VAR" id="`|k+#[5=^_i-t;SU=sgS">API-Token</field>
                                              <value name="VALUE">
                                                <block type="text_getSubstring" id="VXC.dW^%gU94G(V1^M@H">
                                                  <mutation at1="true" at2="true"></mutation>
                                                  <field name="WHERE1">FROM_START</field>
                                                  <field name="WHERE2">FROM_START</field>
                                                  <value name="STRING">
                                                    <block type="on_source" id="B#W50$zXk`##sSsQ}K|m">
                                                      <field name="ATTR">state.val</field>
                                                    </block>
                                                  </value>
                                                  <value name="AT1">
                                                    <block type="math_number" id="PId}2w,-XJ[:yXXhv8bR">
                                                      <field name="NUM">60</field>
                                                    </block>
                                                  </value>
                                                  <value name="AT2">
                                                    <block type="math_number" id="b|84SF#c+C$X+%$d8]=@">
                                                      <field name="NUM">424</field>
                                                    </block>
                                                  </value>
                                                </block>
                                              </value>
                                              <next>
                                                <block type="update" id="zoBV.$./O{Lb|]2`;p#z">
                                                  <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation>
                                                  <field name="OID">0_userdata.0.E-Message.E-Message-API</field>
                                                  <field name="WITH_DELAY">FALSE</field>
                                                  <value name="VALUE">
                                                    <block type="text_join" id="aUt/649RjEQgudAj~`XG">
                                                      <mutation items="3"></mutation>
                                                      <value name="ADD0">
                                                        <block type="text" id=".j`Rc`;RB|m`eSR8[;BS">
                                                          <field name="TEXT">'Bearer </field>
                                                        </block>
                                                      </value>
                                                      <value name="ADD1">
                                                        <block type="variables_get" id="2.8QwlYFn|kNQq+U1%YN">
                                                          <field name="VAR" id="`|k+#[5=^_i-t;SU=sgS">API-Token</field>
                                                        </block>
                                                      </value>
                                                      <value name="ADD2">
                                                        <block type="text" id="C(_2YRym/)JNO?jh5w;,">
                                                          <field name="TEXT">',</field>
                                                        </block>
                                                      </value>
                                                    </block>
                                                  </value>
                                                </block>
                                              </next>
                                            </block>
                                          </next>
                                        </block>
                                      </next>
                                    </block>
                                  </next>
                                </block>
                              </next>
                            </block>
                          </next>
                        </block>
                      </statement>
                    </block>
                  </xml>
                  

                  nach dem anfordern über script 1 bekomme ich diese antwort

                  {"apiStatusCode":200,"data":{"username":"****USERNAME****","jwt":"***TOKEN****"},"message":"OK"}
                  

                  nach dem zerlegen durch blockly sieht es dann so aus

                  API Status

                  200
                  

                  Username

                  username
                  

                  Token

                  'Bearer gfhgghkjgshhsajhfjdsbhbkghdfdskjhfskigjhbjkddhsadhsjkhgjksxhhgf554654564jhhjgfhdgdxycvdcxgfdhdfg546+4fgdyfgfdghfdgdsgdgdfgdfgfvbxcfgfdhfghjhjkjhkh.,ghsdgsgdsgsgsd'
                  

                  dann noch der code zum senden der nachricht in dem dann eigentlich der token aus dem datenpunk gesetzt werden soll

                  var request = require('request');
                  var options = {
                    'method': 'POST',
                    'url': 'https://api.emessage.de/rs/eSendMessages',
                    'headers': { 
                      'Authorization': getState("0_userdata.0.E-Message.E-Message-API").val,
                      'Content-Type': 'application/json'
                    },
                    body: JSON.stringify({
                      "messageText": getState("0_userdata.0.E-Message.E-Message-Text").val,
                      "recipients": [
                        {
                          "serviceName": "eCityruf",
                          "identifier": "*********"
                        }
                      ]
                    })
                  
                  };
                  request(options, function (error, response) {
                    if (error) throw new Error(error);
                    console.log(response.body,);
                  });
                  
                  

                  mit diesem code möchte ich mir alarm und störmeldungen auf einen pager senden lassen.
                  wäre natürlich auch cool wenn es für den service von E*Message einen eigenen adapter geben würde

                  hier noch die PDF
                  Webservice API.pdf

                  OliverIO 1 Reply Last reply Reply Quote 0
                  • OliverIO
                    OliverIO @T0biT3ch last edited by

                    probier mal damit, schau aber sorgfältig nochmal durch
                    und ersetze mit deinen daten.
                    wenn du am code etwas nicht verstehst, stell bitte konkrete fragen.

                    const axios = require('axios');
                    
                    function auth() {
                        axios.post('Host: https://api.emessage.de/auth/login', {
                            username: 'username',
                            password: 'password'
                        },{
                            headers: {
                                'Content-Type': 'application/json',
                            }
                        }).then(function (response) {
                            console.log(response);
                            if (response.status==200) {
                                var token = response.data.data.jwt;
                                sendMessage(token)
                            }
                        })
                        .catch(function (error) {
                            console.log(error);
                        });
                    }
                    
                    function sendMessage(token) {
                    axios.post('Host: https://api.emessage.de/api/eSendMessages',  {
                        "messageText": "Testnachricht",
                        "recipients": [
                            {
                            "serviceName": "eCityruf",
                            "identifier": "Identifier 1"
                            }
                        ]
                     },{
                            headers: {
                                'Content-Type': 'text/plain',
                                'Authorization': token,
                            }
                     })
                      .then(function (response) {
                        console.log(response);
                      })
                      .catch(function (error) {
                        console.log(error);
                      });
                    }
                    auth();
                    
                    T 1 Reply Last reply Reply Quote 0
                    • T
                      T0biT3ch @OliverIO last edited by

                      @oliverio
                      vielen dank für das script. konnte es grad mal kurz probieren
                      leider bekomme ich folgenden fehler

                      javascript.0 (31387) script.js.Pager_Alarmierung.emessage_Send_3: {'message':'connect ECONNREFUSED 127.0.0.1:80','name':'Error','stack':'Error: connect ECONNREFUSED 127.0.0.1:80\n at TCPConnectWrap.afterConnect [as oncomplete] (net.js:1144:16)','config':{'url':'Host: https://api.emessage.de/auth/login','method':'post','data':'{\'username\':\'USERNAME\',\'password\':\'PASSWORD\'}','headers':{'Content-Type':'application/json','User-Agent':'axios/0.21.1','Content-Length':54},'transformRequest':[null],'transformResponse':[null],'timeout':0,'xsrfCookieName':'XSRF-TOKEN','xsrfHeaderName':'X-XSRF-TOKEN','maxContentLength':-1,'maxBodyLength':-1},'code':'ECONNREFUSED'}
                      
                      1 Reply Last reply Reply Quote 0
                      • OliverIO
                        OliverIO last edited by

                        @t0bit3ch sagte in Hilfe bei der Script erstellung:

                        127.0.0.1

                        die verbindung wurde vom Rechner abgelehnt
                        lustiger weise ist der rechner 127.0.0.1, was dein eigener ist.
                        aus irgendeinem Grund wird die anfrage dorthin umgeleitet
                        was läuft da auf dem rechner noch? pihole?

                        1 Reply Last reply Reply Quote 0
                        • OliverIO
                          OliverIO last edited by

                          @oliverio

                          nimm mal bitte diese version:

                          const axios = require('axios');
                           
                          function auth() {
                          
                              axios.post('https://api.emessage.de/auth/login',{
                                  username: 'username',
                                  password: 'password'
                              },{
                                  headers: {
                                      'Content-Type': 'application/json',
                                  }
                              }).then(function (response) {
                                  console.log(response);
                                  if (response.status==200) {
                                      var token = response.data.data.jwt;
                                      sendMessage(token)
                                  }
                              })
                              .catch(function (error) {
                                  console.log(error);
                              });
                          }
                           
                          function sendMessage(token) {
                              axios.post('https://api.emessage.de/api/eSendMessages',{
                                  "messageText": "Testnachricht",
                                  "recipients": [
                                      {
                                      "serviceName": "eCityruf",
                                      "identifier": "Identifier 1"
                                      }
                                  ]
                              },{
                                      headers: {
                                          'Content-Type': 'text/plain',
                                          'Authorization': token,
                                      }
                              })
                              .then(function (response) {
                                  console.log(response);
                              })
                              .catch(function (error) {
                                  console.log(error);
                              });
                          }
                          auth();
                          

                          wenn ich diese version verwende, dann funktioniert die abfrage.
                          natürlich kommt dann die rückmeldung, das ich unauthorisiert bin.

                          T T 2 Replies Last reply Reply Quote 1
                          • T
                            ticaki Developer @OliverIO last edited by

                            @oliverio
                            Danke für das Beispiel, btw. funktioniert die erste Version bei mir auch nicht Fehler 404 🙂

                            1 Reply Last reply Reply Quote 0
                            • T
                              T0biT3ch @OliverIO last edited by

                              @oliverio sagte in Hilfe bei der Script erstellung:

                              @oliverio

                              nimm mal bitte diese version:

                              const axios = require('axios');
                               
                              function auth() {
                              
                                  axios.post('https://api.emessage.de/auth/login',{
                                      username: 'username',
                                      password: 'password'
                                  },{
                                      headers: {
                                          'Content-Type': 'application/json',
                                      }
                                  }).then(function (response) {
                                      console.log(response);
                                      if (response.status==200) {
                                          var token = response.data.data.jwt;
                                          sendMessage(token)
                                      }
                                  })
                                  .catch(function (error) {
                                      console.log(error);
                                  });
                              }
                               
                              function sendMessage(token) {
                                  axios.post('https://api.emessage.de/api/eSendMessages',{
                                      "messageText": "Testnachricht",
                                      "recipients": [
                                          {
                                          "serviceName": "eCityruf",
                                          "identifier": "Identifier 1"
                                          }
                                      ]
                                  },{
                                          headers: {
                                              'Content-Type': 'text/plain',
                                              'Authorization': token,
                                          }
                                  })
                                  .then(function (response) {
                                      console.log(response);
                                  })
                                  .catch(function (error) {
                                      console.log(error);
                                  });
                              }
                              auth();
                              

                              wenn ich diese version verwende, dann funktioniert die abfrage.
                              natürlich kommt dann die rückmeldung, das ich unauthorisiert bin.

                              Guten Abend,

                              Ich habe das script grad nochmal mit meinen daten probiert. als info im log bekomme ich

                              info	javascript.0 (31387) script.js.Pager_Alarmierung.emessage_Send_3: {}
                              

                              der pager wird aber leider nicht ausgelöst.
                              könnte man die einzelnen schritte im script loggen um zu sehen woran es liegt?

                              vielen vielen dank für die unterstützung 👍

                              OliverIO 1 Reply Last reply Reply Quote 0
                              • OliverIO
                                OliverIO @T0biT3ch last edited by OliverIO

                                @t0bit3ch sagte in Hilfe bei der Script erstellung:

                                Zumindest das erste response objekt oder fehler objekt aus zeile 13 oder zeile 20 sollte ausgegeben werden.
                                hast du oben rechts im skript debug und verbose eingeschaltet?

                                ich habe hier mal noch ein paar verlaufsmeldungen eingefügt. die im unteren bereich sichtbar sein sollten

                                
                                const axios = require('axios');
                                 
                                function auth() {
                                    console.log("Start Auth");
                                    axios.post('https://api.emessage.de/auth/login',{
                                        username: 'username',
                                        password: 'password'
                                    },{
                                        headers: {
                                            'Content-Type': 'application/json',
                                        }
                                    }).then(function (response) {
                                        console.log("Auth response");
                                        console.log(response);
                                        if (response.status==200) {
                                            var token = response.data.data.jwt;
                                            sendMessage(token)
                                        }
                                    })
                                    .catch(function (error) {
                                        console.log("Auth error");
                                        console.log(error);
                                    });
                                }
                                 
                                function sendMessage(token) {
                                    console.log("sendmessage start");
                                    axios.post('https://api.emessage.de/api/eSendMessages',{
                                        "messageText": "Testnachricht",
                                        "recipients": [
                                            {
                                            "serviceName": "eCityruf",
                                            "identifier": "Identifier 1"
                                            }
                                        ]
                                    },{
                                            headers: {
                                                'Content-Type': 'text/plain',
                                                'Authorization': token,
                                            }
                                    })
                                    .then(function (response) {
                                        console.log("sendmessage respones");
                                        console.log(response);
                                    })
                                    .catch(function (error) {
                                        console.log("sendmessage error");
                                        console.log(error);
                                    });
                                }
                                auth();
                                
                                
                                T T 2 Replies Last reply Reply Quote 0
                                • T
                                  ticaki Developer @OliverIO last edited by ticaki

                                  @oliverio
                                  Bei mir aktuell und latest. Ergibt:

                                      axios.get(slink)
                                      .then(function(response){
                                          console.log(response) // im log steht dann: warn	script.js.Messages.tankerkoenig: {}
                                      })
                                  

                                  Ich gebe jetzt response.data im log aus um zu sehen was ankommt.
                                  EDIT:
                                  mit async await bekomme ich das:

                                  warn	script.js.common.UWZ: Converting circular structure to JSON --> starting at object with constructor 'ClientRequest' | property 'socket' -> object with constructor 'Socket' --- property '_httpMessage' closes the circle
                                  
                                  1 Reply Last reply Reply Quote 0
                                  • T
                                    T0biT3ch @OliverIO last edited by T0biT3ch

                                    @oliverio
                                    ich habe debug und verbose eingeschaltet. wenn ich das script ausführe bekomme ich diese log

                                    info	javascript.0 (31387) Start javascript script.js.Pager_Alarmierung.emessage_Send_3
                                    20:21:59.200	info	javascript.0 (31387) script.js.Pager_Alarmierung.emessage_Send_3: Start Auth
                                    20:21:59.200	info	javascript.0 (31387) script.js.Pager_Alarmierung.emessage_Send_3: registered 0 subscriptions and 0 schedules
                                    20:21:59.392	info	javascript.0 (31387) script.js.Pager_Alarmierung.emessage_Send_3: Auth response
                                    20:21:59.396	info	javascript.0 (31387) script.js.Pager_Alarmierung.emessage_Send_3: Auth error
                                    20:21:59.396	info	javascript.0 (31387) script.js.Pager_Alarmierung.emessage_Send_3: {}
                                    

                                    pager bleibt weiterhin ruhig 😞

                                    das ist der code aus dem programm postman mit dem die authentifizierung funktioniert

                                    var axios = require('axios');
                                    var data = JSON.stringify({
                                      "username": "USERNAME",
                                      "password": "PASSWORD"
                                    });
                                    
                                    var config = {
                                      method: 'post',
                                      url: 'https://api.emessage.de/auth/login',
                                      headers: { 
                                        'Authorization': 'Basic Og==', 
                                        'Content-Type': 'application/json'
                                      },
                                      data : data
                                    };
                                    
                                    axios(config)
                                    .then(function (response) {
                                      console.log(JSON.stringify(response.data));
                                    })
                                    .catch(function (error) {
                                      console.log(error);
                                    });
                                    

                                    und mit diesem code aus postman kann ich den pager auslösen

                                    var axios = require('axios');
                                    var data = JSON.stringify({
                                      "messageText": "Testnachricht",
                                      "recipients": [
                                        {
                                          "serviceName": "eCityruf",
                                          "identifier": "*********"
                                        }
                                      ]
                                    });
                                    
                                    var config = {
                                      method: 'post',
                                      url: 'https://api.emessage.de/rs/eSendMessages',
                                      headers: { 
                                        'Authorization': 'Bearer jdfngjdfgnhflnhlhnjkgöfxclknjfgnklkmnvöldkgnbjhb önflgkdsnölkdymfkäsöldgn lkdnfgksdnfgnbksngjrfgblfdngfskdöngölnhdknhfäödlkgtekröälqenacklvnbmözlmvtöälaenrljeknvtbjölrnzrtmzövdrml.', 
                                        'Content-Type': 'application/json'
                                      },
                                      data : data
                                    };
                                    
                                    axios(config)
                                    .then(function (response) {
                                      console.log(JSON.stringify(response.data));
                                    })
                                    .catch(function (error) {
                                      console.log(error);
                                    });
                                    
                                    
                                    OliverIO 1 Reply Last reply Reply Quote 0
                                    • OliverIO
                                      OliverIO @T0biT3ch last edited by

                                      @t0bit3ch sagte in Hilfe bei der Script erstellung:

                                      'Authorization': 'Basic Og==', 
                                      

                                      Der einzige Unterschied ist Zeile 11.
                                      Das steht nicht im pdf Dokument drin
                                      Du kannst ja diesen Header dem Code noch hinzufügen

                                      1 Reply Last reply Reply Quote 0
                                      • T
                                        ticaki Developer last edited by ticaki

                                        Werft die

                                        console.log(response);
                                        

                                        Aufrufe alle raus. Hab oben geschrieben, dass es einen Fehler auslöst und dann wahrscheinlich in den .catch() Block springt. Log sieht zumindest danach aus.

                                        T 1 Reply Last reply Reply Quote 0
                                        • T
                                          T0biT3ch @ticaki last edited by

                                          @ticaki sagte in Hilfe bei der Script erstellung:

                                          Werft die

                                          console.log(response);
                                          

                                          Aufrufe alle raus. Hab oben geschrieben, dass es einen Fehler auslöst und dann wahrscheinlich in den .catch() Block springt. Log sieht zumindest danach aus.

                                          habe jetzt den code um die zeile

                                          'Authorization': 'Basic Og==',
                                          

                                          erweitert und die

                                          console.log(response);
                                          

                                          entfernt. wenn ich den code jetzt ausführe bekomme ich folgende log

                                          info	javascript.0 (31387) script.js.Pager_Alarmierung.emessage_Send_3: {'message':'Request failed with status code 401','name':'Error','stack':'Error: Request failed with status code 401\n at createError (/opt/iobroker/node_modules/iobroker.javascript/node_modules/axios/lib/core/createError.js:16:15)\n at settle (/opt/iobroker/node_modules/iobroker.javascript/node_modules/axios/lib/core/settle.js:17:12)\n at IncomingMessage.handleStreamEnd (/opt/iobroker/node_modules/iobroker.javascript/node_modules/axios/lib/adapters/http.js:260:11)\n at IncomingMessage.emit (events.js:326:22)\n at IncomingMessage.EventEmitter.emit (domain.js:483:12)\n at endReadableNT (_stream_readable.js:1241:12)\n at processTicksAndRejections (internal/process/task_queues.js:84:21)','config':{'url':'https://api.emessage.de/rs/eSendMessages','method':'post','data':'{\'messageText\':\'Testnachricht\',\'recipients\':[{\'serviceName\':\'eCityruf\',\'identifier\':\'*******\'}]}','headers':{'Content-Type':'text/plain','Authorization':'hgjfhglöfhdghdhugdfhgöksydjäfgposjghifhgjofnbvdjkidsigfhfdoghfoihgsdihgfiohgodhgosihfghogfdhgoiuhfgosihgsdghesiujpojfpjurtzoieur984548ß90uitjkgigjhöohsdgpsio','User-Agent':'axios/0.21.1','Content-Length':96},'transformRequest':[null],'transformResponse':[null],'timeout':0,'xsrfCookieName':'XSRF-TOKEN','xsrfHeaderName':'X-XSRF-TOKEN','maxContentLength':-1,'maxBodyLength':-1}}
                                          
                                          T 1 Reply Last reply Reply Quote 0
                                          • T
                                            T0biT3ch @T0biT3ch last edited by

                                            @t0bit3ch
                                            muss beim token noch das 'Bearer' voran?

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

                                            Support us

                                            ioBroker
                                            Community Adapters
                                            Donate

                                            552
                                            Online

                                            31.9k
                                            Users

                                            80.1k
                                            Topics

                                            1.3m
                                            Posts

                                            6
                                            98
                                            5392
                                            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