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. Hilfe bei der Script erstellung

NEWS

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

  • Monatsrückblick – September 2025
    BluefoxB
    Bluefox
    13
    1
    2.2k

  • Neues Video "KI im Smart Home" - ioBroker plus n8n
    BluefoxB
    Bluefox
    16
    1
    3.1k

Hilfe bei der Script erstellung

Geplant Angeheftet Gesperrt Verschoben JavaScript
98 Beiträge 6 Kommentatoren 8.6k Aufrufe 5 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.
  • OliverIOO OliverIO

    @t0bit3ch
    Ja, bearer muss noch davor.
    Vergleiche die Notation mit dem pdf. Genau so muss es raus.
    sonst sieht es schon mal gut aus. Die Abfragen sind raus gegangen.

    T Offline
    T Offline
    T0biT3ch
    schrieb am zuletzt editiert von
    #28

    @oliverio
    Wie muss ich es denn schreiben? Ich hatte schon ein paar Sachen probiert, aber leider ohne Erfolg

    T 1 Antwort Letzte Antwort
    0
    • T T0biT3ch

      @oliverio
      Wie muss ich es denn schreiben? Ich hatte schon ein paar Sachen probiert, aber leider ohne Erfolg

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

      @t0bit3ch
      es müsste eigentlich so richtig sein:

         {
                  headers: {
                      'Content-Type': 'text/plain',
                      'Authorization': 'Bearer ' + token,
                  }
          })
      

      Weather-Warnings Espresense NSPanel-Lovelace-ui Tagesschau

      Spenden

      T 1 Antwort Letzte Antwort
      0
      • T ticaki

        @t0bit3ch
        es müsste eigentlich so richtig sein:

           {
                    headers: {
                        'Content-Type': 'text/plain',
                        'Authorization': 'Bearer ' + token,
                    }
            })
        
        T Offline
        T Offline
        T0biT3ch
        schrieb am zuletzt editiert von T0biT3ch
        #30

        @ticaki
        @OliverIO

        Guten morgen,

        ich habe bei den versuchen das Bearer in den code mit einzubauen das + vergessen :face_palm:

        'authorization': 'Bearer ' + token,
        

        ich habe den code jetzt so angepasst

        const axios = require('axios');
         
        function auth() {
         
            axios.post('https://api.emessage.de/auth/login',{
                username: 'USERNAME',
                password: 'PASSWORD'
            },{
                headers: {
                    'Authorization': 'Basic Og==',
                    'Content-Type': 'application/json',
                }
            }).then(function (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/rs/eSendMessages',{
                "messageText": "Testnachricht",
                "recipients": [
                    {
                    "serviceName": "eCityruf",
                    "identifier": "********"
                    }
                ]
            },{
                    headers: {
                        'Content-Type': 'text/plain',
                        'Authorization': 'Bearer ' + token,
                    }
            
            })
            .catch(function (error) {
                console.log(error);
            });
         }
         
        auth();
        

        doch leider bekomme ich noch folgende log

        info	javascript.0 (31387) script.js.Pager_Alarmierung.emessage_Send_3: registered 0 subscriptions and 0 schedules
        
        info	javascript.0 (31387) script.js.Pager_Alarmierung.emessage_Send_3: {'message':'Request failed with status code 400','name':'Error','stack':'Error: Request failed with status code 400\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\':\'5201709\'}]}','headers':{'Content-Type':'text/plain','Authorization':'Bearer ighndoönhgdboknbgoföänkjhäpsofmjsponmgbpoikfgnbäkmövkömnfpidsahfiohgniocjro#eiutv0gßreitéß049u48w+9r5uiq0´rwjkefgirgjzh+09vujr5tßhbz iüjvpoawxkjxe2','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}}
        

        und der pager bleibt auch ruhig.

        1 Antwort Letzte Antwort
        0
        • T Nicht stören
          T Nicht stören
          ticaki
          schrieb am zuletzt editiert von
          #31

          @t0bit3ch sagte in Hilfe bei der Script erstellung:

          axios.post('https://api.emessage.de/rs/eSendMessages',{

          In der PDF steht das die Adresse:

          axios.post('https://api.emessage.de/api/eSendMessages',{
          

          Weather-Warnings Espresense NSPanel-Lovelace-ui Tagesschau

          Spenden

          T 1 Antwort Letzte Antwort
          0
          • T ticaki

            @t0bit3ch sagte in Hilfe bei der Script erstellung:

            axios.post('https://api.emessage.de/rs/eSendMessages',{

            In der PDF steht das die Adresse:

            axios.post('https://api.emessage.de/api/eSendMessages',{
            
            T Offline
            T Offline
            T0biT3ch
            schrieb am zuletzt editiert von
            #32

            @ticaki
            Das ist korrekt, funktioniert aber leider nicht. Wenn man sich in der PDF die Screenshots des Postman Programms anschaut sieht man die funktionierende Adresse. Hatte es im Script aber auch schon mit beiden probiert.

            OliverIOO 1 Antwort Letzte Antwort
            0
            • T T0biT3ch

              @ticaki
              Das ist korrekt, funktioniert aber leider nicht. Wenn man sich in der PDF die Screenshots des Postman Programms anschaut sieht man die funktionierende Adresse. Hatte es im Script aber auch schon mit beiden probiert.

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

              @T0biT3ch
              Zeig nochmal die postman Informationen zum 2. request
              Der funktioniert hat

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

              T 1 Antwort Letzte Antwort
              0
              • OliverIOO OliverIO

                @T0biT3ch
                Zeig nochmal die postman Informationen zum 2. request
                Der funktioniert hat

                T Offline
                T Offline
                T0biT3ch
                schrieb am zuletzt editiert von
                #34

                @oliverio
                hier der code zum holen des token

                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);
                });
                

                es scheint als würde dieser teil in deinem code funktionieren, da die log beim ausführen ja einen token ausgibt.

                und das ist der code zum senden der nachrichten

                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 hgöfhogsioghösibnovdjuös<opriheourhweidjmanspkf<gob vuodsöahgbfdosuib0dsifohw84u0ü93rhfouisjhbgnvsoifedsökgpfingüer4984utißqü+äowfmägjhipoqehwfüouasdhgousgjohugurhgjiwehfgiwhfwquhbdcasukojgbhikgögloadfjasfghitiu<fbghkjybgvidfgdhfhgkjhlkzthgtzjklioölzfkdtjrhgstgfzhjui.k,mnjhbgvfadeshgjm', 
                    'Content-Type': 'application/json'
                  },
                  data : data
                };
                
                axios(config)
                .then(function (response) {
                  console.log(JSON.stringify(response.data));
                })
                .catch(function (error) {
                  console.log(error);
                });
                
                
                T 1 Antwort Letzte Antwort
                0
                • T T0biT3ch

                  @oliverio
                  hier der code zum holen des token

                  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);
                  });
                  

                  es scheint als würde dieser teil in deinem code funktionieren, da die log beim ausführen ja einen token ausgibt.

                  und das ist der code zum senden der nachrichten

                  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 hgöfhogsioghösibnovdjuös<opriheourhweidjmanspkf<gob vuodsöahgbfdosuib0dsifohw84u0ü93rhfouisjhbgnvsoifedsökgpfingüer4984utißqü+äowfmägjhipoqehwfüouasdhgousgjohugurhgjiwehfgiwhfwquhbdcasukojgbhikgögloadfjasfghitiu<fbghkjybgvidfgdhfhgkjhlkzthgtzjklioölzfkdtjrhgstgfzhjui.k,mnjhbgvfadeshgjm', 
                      'Content-Type': 'application/json'
                    },
                    data : data
                  };
                  
                  axios(config)
                  .then(function (response) {
                    console.log(JSON.stringify(response.data));
                  })
                  .catch(function (error) {
                    console.log(error);
                  });
                  
                  
                  T Nicht stören
                  T Nicht stören
                  ticaki
                  schrieb am zuletzt editiert von
                  #35

                  @t0bit3ch
                  Content/Type ist anders

                  Weather-Warnings Espresense NSPanel-Lovelace-ui Tagesschau

                  Spenden

                  T 1 Antwort Letzte Antwort
                  0
                  • T ticaki

                    @t0bit3ch
                    Content/Type ist anders

                    T Offline
                    T Offline
                    T0biT3ch
                    schrieb am zuletzt editiert von
                    #36

                    @ticaki sagte in Hilfe bei der Script erstellung:

                    @t0bit3ch
                    Content/Type ist anders

                    @ticaki
                    @OliverIO

                    ES FUNKTIONIERT :+1: :grinning: :kissing_heart: :+1:
                    Vielen Vielen Vielen dank euch.

                    const axios = require('axios');
                     
                    function auth() {
                     
                        axios.post('https://api.emessage.de/auth/login',{
                            username: 'USERNAME',
                            password: 'PASSWORD'
                        },{
                            headers: {
                                'Authorization': 'Basic Og==',
                                'Content-Type': 'application/json',
                            }
                        }).then(function (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/rs/eSendMessages',{
                            "messageText": "Testnachricht",
                            "recipients": [
                                {
                                "serviceName": "eCityruf",
                                "identifier": "********"
                                }
                            ]
                        },{
                                headers: {
                                    'Content-Type': 'application/json',
                                    'Authorization': 'Bearer ' + token,
                                }
                        
                        })
                        .catch(function (error) {
                            console.log(error);
                        });
                     }
                     
                    auth();
                    

                    eine kleine frage hätte ich noch um die sache perfekt zu machen
                    wie kann ich bei

                    "messageText": "Testnachricht",
                    

                    den Text "Testnachricht" durch den wert aus einem datenpunkt ersetzen?

                    OliverIOO 1 Antwort Letzte Antwort
                    0
                    • T T0biT3ch

                      @ticaki sagte in Hilfe bei der Script erstellung:

                      @t0bit3ch
                      Content/Type ist anders

                      @ticaki
                      @OliverIO

                      ES FUNKTIONIERT :+1: :grinning: :kissing_heart: :+1:
                      Vielen Vielen Vielen dank euch.

                      const axios = require('axios');
                       
                      function auth() {
                       
                          axios.post('https://api.emessage.de/auth/login',{
                              username: 'USERNAME',
                              password: 'PASSWORD'
                          },{
                              headers: {
                                  'Authorization': 'Basic Og==',
                                  'Content-Type': 'application/json',
                              }
                          }).then(function (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/rs/eSendMessages',{
                              "messageText": "Testnachricht",
                              "recipients": [
                                  {
                                  "serviceName": "eCityruf",
                                  "identifier": "********"
                                  }
                              ]
                          },{
                                  headers: {
                                      'Content-Type': 'application/json',
                                      'Authorization': 'Bearer ' + token,
                                  }
                          
                          })
                          .catch(function (error) {
                              console.log(error);
                          });
                       }
                       
                      auth();
                      

                      eine kleine frage hätte ich noch um die sache perfekt zu machen
                      wie kann ich bei

                      "messageText": "Testnachricht",
                      

                      den Text "Testnachricht" durch den wert aus einem datenpunkt ersetzen?

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

                      @t0bit3ch

                      genauso wie du den token an die nachricht anfügst.
                      du ersetzt die stelle mit einer variable und belegst die variable mit deinem nachrichtentext

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

                      T 1 Antwort Letzte Antwort
                      0
                      • OliverIOO OliverIO

                        @t0bit3ch

                        genauso wie du den token an die nachricht anfügst.
                        du ersetzt die stelle mit einer variable und belegst die variable mit deinem nachrichtentext

                        T Offline
                        T Offline
                        T0biT3ch
                        schrieb am zuletzt editiert von
                        #38

                        @oliverio sagte in Hilfe bei der Script erstellung:

                        @t0bit3ch

                        genauso wie du den token an die nachricht anfügst.
                        du ersetzt die stelle mit einer variable und belegst die variable mit deinem nachrichtentext

                        @OliverIO

                        ich habe den code jetzt so angepasst, aber er schmeißt mir nur fehler

                        const axios = require('axios');
                        var alarmmeldung = getState"javascript.0.emmesage.alarmtext".val;
                        function auth() {
                         
                            axios.post('https://api.emessage.de/auth/login',{
                                username: 'USERNAME',         //* E*Message Benutzername */
                                password: 'PASSWORD'   //* E*Message Kennwort */
                            },{
                                headers: {
                                    'Authorization': 'Basic Og==',
                                    'Content-Type': 'application/json',
                                }
                            }).then(function (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/rs/eSendMessages',{
                                "messageText": alarmmeldung,     //* Pocsag Nachricht an Pager */ //* bei mir durch einen Datenpunkt ersetzt */
                                "recipients": [
                                    {
                                    "serviceName": "eCityruf",  //* Alarmierungstyp */ //* eCityruf - eBos - 2wayS */
                                    "identifier": "*******"     //* E*Message Funkrufnummer */
                                    }
                                ]
                            },{
                                    headers: {
                                        'Content-Type': 'application/json',
                                        'Authorization': 'Bearer ' + token,
                                    }
                            
                            })
                            .catch(function (error) {
                                console.log(error);
                            });
                         }
                         
                        auth();
                        
                        error	javascript.0 (13740) script.js.Pager_Alarmierung.emessage_send_test1 compile failed: at script.js.Pager_Alarmierung.emessage_send_test1:2
                        
                        T 1 Antwort Letzte Antwort
                        0
                        • T T0biT3ch

                          @oliverio sagte in Hilfe bei der Script erstellung:

                          @t0bit3ch

                          genauso wie du den token an die nachricht anfügst.
                          du ersetzt die stelle mit einer variable und belegst die variable mit deinem nachrichtentext

                          @OliverIO

                          ich habe den code jetzt so angepasst, aber er schmeißt mir nur fehler

                          const axios = require('axios');
                          var alarmmeldung = getState"javascript.0.emmesage.alarmtext".val;
                          function auth() {
                           
                              axios.post('https://api.emessage.de/auth/login',{
                                  username: 'USERNAME',         //* E*Message Benutzername */
                                  password: 'PASSWORD'   //* E*Message Kennwort */
                              },{
                                  headers: {
                                      'Authorization': 'Basic Og==',
                                      'Content-Type': 'application/json',
                                  }
                              }).then(function (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/rs/eSendMessages',{
                                  "messageText": alarmmeldung,     //* Pocsag Nachricht an Pager */ //* bei mir durch einen Datenpunkt ersetzt */
                                  "recipients": [
                                      {
                                      "serviceName": "eCityruf",  //* Alarmierungstyp */ //* eCityruf - eBos - 2wayS */
                                      "identifier": "*******"     //* E*Message Funkrufnummer */
                                      }
                                  ]
                              },{
                                      headers: {
                                          'Content-Type': 'application/json',
                                          'Authorization': 'Bearer ' + token,
                                      }
                              
                              })
                              .catch(function (error) {
                                  console.log(error);
                              });
                           }
                           
                          auth();
                          
                          error	javascript.0 (13740) script.js.Pager_Alarmierung.emessage_send_test1 compile failed: at script.js.Pager_Alarmierung.emessage_send_test1:2
                          
                          T Nicht stören
                          T Nicht stören
                          ticaki
                          schrieb am zuletzt editiert von
                          #39

                          @t0bit3ch
                          Steht doch da :) in Zeile 2 ist ein Fehler. Da fehlen die Klammer setState().val

                          Weather-Warnings Espresense NSPanel-Lovelace-ui Tagesschau

                          Spenden

                          T 1 Antwort Letzte Antwort
                          0
                          • T ticaki

                            @t0bit3ch
                            Steht doch da :) in Zeile 2 ist ein Fehler. Da fehlen die Klammer setState().val

                            T Offline
                            T Offline
                            T0biT3ch
                            schrieb am zuletzt editiert von T0biT3ch
                            #40

                            @ticaki
                            wenn ich es so mache

                            var alarmmeldung = getState("javascript.0.emmesage.alarmtext").val;
                            

                            bekomme ich den log

                            warn	javascript.0 (13740) at script.js.Pager_Alarmierung.emessage_send_test1:2:20
                            21:09:20.934	warn	javascript.0 (13740) at script.js.Pager_Alarmierung.emessage_send_test1:49:3
                            21:09:20.935	info	javascript.0 (13740) script.js.Pager_Alarmierung.emessage_send_test1: registered 0 subscriptions and 0 schedules
                            21:09:21.235	info	javascript.0 (13740) script.js.Pager_Alarmierung.emessage_send_test1: {'message':'Request failed with status code 400','name':'Error','stack':'Error: Request failed with status code 400\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\':null,\'recipients\':[{\'serviceName\':\'eCityruf\',\'identifier\':\'*******\'}]}','headers':{'Content-Type':'application/json','Authorization':'Bearer TOKEN','User-Agent':'axios/0.21.1','Content-Length':85},'transformRequest':[null],'transformResponse':[null],'timeout':0,'xsrfCookieName':'XSRF-TOKEN','xsrfHeaderName':'X-XSRF-TOKEN','maxContentLength':-1,'maxBodyLength':-1}}
                            

                            aber in zeile 3 steht ja garnichts :thinking_face:

                            T 1 Antwort Letzte Antwort
                            0
                            • T T0biT3ch

                              @ticaki
                              wenn ich es so mache

                              var alarmmeldung = getState("javascript.0.emmesage.alarmtext").val;
                              

                              bekomme ich den log

                              warn	javascript.0 (13740) at script.js.Pager_Alarmierung.emessage_send_test1:2:20
                              21:09:20.934	warn	javascript.0 (13740) at script.js.Pager_Alarmierung.emessage_send_test1:49:3
                              21:09:20.935	info	javascript.0 (13740) script.js.Pager_Alarmierung.emessage_send_test1: registered 0 subscriptions and 0 schedules
                              21:09:21.235	info	javascript.0 (13740) script.js.Pager_Alarmierung.emessage_send_test1: {'message':'Request failed with status code 400','name':'Error','stack':'Error: Request failed with status code 400\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\':null,\'recipients\':[{\'serviceName\':\'eCityruf\',\'identifier\':\'*******\'}]}','headers':{'Content-Type':'application/json','Authorization':'Bearer TOKEN','User-Agent':'axios/0.21.1','Content-Length':85},'transformRequest':[null],'transformResponse':[null],'timeout':0,'xsrfCookieName':'XSRF-TOKEN','xsrfHeaderName':'X-XSRF-TOKEN','maxContentLength':-1,'maxBodyLength':-1}}
                              

                              aber in zeile 3 steht ja garnichts :thinking_face:

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

                              @t0bit3ch
                              In Zeile 3 steht die Funktion in der eine Warnung ausgelöst wird. In Zeile 20 rufst du console.log(error) auf. Keine Ahnung was in error drin steht, aber scheinbar kann die log funktion das nicht verarbeiten.

                              Weather-Warnings Espresense NSPanel-Lovelace-ui Tagesschau

                              Spenden

                              T 1 Antwort Letzte Antwort
                              0
                              • T ticaki

                                @t0bit3ch
                                In Zeile 3 steht die Funktion in der eine Warnung ausgelöst wird. In Zeile 20 rufst du console.log(error) auf. Keine Ahnung was in error drin steht, aber scheinbar kann die log funktion das nicht verarbeiten.

                                T Offline
                                T Offline
                                T0biT3ch
                                schrieb am zuletzt editiert von
                                #42

                                @ticaki

                                hab es jetzt so probiert

                                var alarmmeldung = "javascript.0.E_Message.Alarmtext";
                                
                                "messageText": getState(alarmmeldung).val,
                                

                                jetzt kommt kein fehler mehr im log aber der pager wird auch nicht mehr ausgelöst :sob:

                                T 1 Antwort Letzte Antwort
                                0
                                • T T0biT3ch

                                  @ticaki

                                  hab es jetzt so probiert

                                  var alarmmeldung = "javascript.0.E_Message.Alarmtext";
                                  
                                  "messageText": getState(alarmmeldung).val,
                                  

                                  jetzt kommt kein fehler mehr im log aber der pager wird auch nicht mehr ausgelöst :sob:

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

                                  @t0bit3ch
                                  Versuche mal folgende:

                                  const axios = require('axios');
                                  var alarmmeldung = getState("javascript.0.emmesage.alarmtext").val;
                                  if (typeof alarmmeldung !== 'string' || alarmmeldung == '') log('das ist kein string');
                                  log(alarmmeldung);
                                  function auth() {
                                   
                                      axios.post('https://api.emessage.de/auth/login',{
                                          username: 'USERNAME',         //* E*Message Benutzername */
                                           password: 'PASSWORD'   //* E*Message Kennwort */
                                       },{
                                           headers: {
                                               'Authorization': 'Basic Og==',
                                               'Content-Type': 'application/json'
                                           }
                                       }).then(function (response) {
                                           if (response.status==200) {
                                               var token = response.data.data.jwt;
                                               sendMessage(token);
                                           }
                                       })
                                       .catch(function (error) {
                                           log('fehler in post');
                                           console.log(error);
                                       });
                                       
                                   }
                                    
                                   function sendMessage(token) {
                                       axios.post('https://api.emessage.de/rs/eSendMessages',{
                                           "messageText": alarmmeldung + ' ',     //* Pocsag Nachricht an Pager */ //* bei mir durch einen Datenpunkt ersetzt */
                                           "recipients": [
                                               {
                                               "serviceName": "eCityruf",  //* Alarmierungstyp */ //* eCityruf - eBos - 2wayS */
                                               "identifier": "*******"     //* E*Message Funkrufnummer */
                                               }
                                           ]
                                       },{
                                               headers: {
                                                   'Content-Type': 'application/json',
                                                   'Authorization': 'Bearer ' + token
                                               }
                                       
                                       })
                                       .catch(function (error) {
                                           log('fehler in send');
                                           console.log(error);
                                       });
                                    }
                                  

                                  Das bekommen wir schon ans laufen :)
                                  EDIT: Da waren noch ein paar Komma drin, die da nichts zu suchen haben.

                                  Weather-Warnings Espresense NSPanel-Lovelace-ui Tagesschau

                                  Spenden

                                  T 1 Antwort Letzte Antwort
                                  0
                                  • T ticaki

                                    @t0bit3ch
                                    Versuche mal folgende:

                                    const axios = require('axios');
                                    var alarmmeldung = getState("javascript.0.emmesage.alarmtext").val;
                                    if (typeof alarmmeldung !== 'string' || alarmmeldung == '') log('das ist kein string');
                                    log(alarmmeldung);
                                    function auth() {
                                     
                                        axios.post('https://api.emessage.de/auth/login',{
                                            username: 'USERNAME',         //* E*Message Benutzername */
                                             password: 'PASSWORD'   //* E*Message Kennwort */
                                         },{
                                             headers: {
                                                 'Authorization': 'Basic Og==',
                                                 'Content-Type': 'application/json'
                                             }
                                         }).then(function (response) {
                                             if (response.status==200) {
                                                 var token = response.data.data.jwt;
                                                 sendMessage(token);
                                             }
                                         })
                                         .catch(function (error) {
                                             log('fehler in post');
                                             console.log(error);
                                         });
                                         
                                     }
                                      
                                     function sendMessage(token) {
                                         axios.post('https://api.emessage.de/rs/eSendMessages',{
                                             "messageText": alarmmeldung + ' ',     //* Pocsag Nachricht an Pager */ //* bei mir durch einen Datenpunkt ersetzt */
                                             "recipients": [
                                                 {
                                                 "serviceName": "eCityruf",  //* Alarmierungstyp */ //* eCityruf - eBos - 2wayS */
                                                 "identifier": "*******"     //* E*Message Funkrufnummer */
                                                 }
                                             ]
                                         },{
                                                 headers: {
                                                     'Content-Type': 'application/json',
                                                     'Authorization': 'Bearer ' + token
                                                 }
                                         
                                         })
                                         .catch(function (error) {
                                             log('fehler in send');
                                             console.log(error);
                                         });
                                      }
                                    

                                    Das bekommen wir schon ans laufen :)
                                    EDIT: Da waren noch ein paar Komma drin, die da nichts zu suchen haben.

                                    T Offline
                                    T Offline
                                    T0biT3ch
                                    schrieb am zuletzt editiert von
                                    #44

                                    @ticaki
                                    jetzt kommt das in der log

                                    info	javascript.0 (13740) Start javascript script.js.Pager_Alarmierung.emessage_send_test2
                                    warn	javascript.0 (13740) at script.js.Pager_Alarmierung.emessage_send_test2:2:20
                                    warn	javascript.0 (13740) at script.js.Pager_Alarmierung.emessage_send_test2:49:3
                                    info	javascript.0 (13740) script.js.Pager_Alarmierung.emessage_send_test2: das ist kein string
                                    info	javascript.0 (13740) script.js.Pager_Alarmierung.emessage_send_test2: registered 0 subscriptions and 0 schedules
                                    
                                    T 1 Antwort Letzte Antwort
                                    0
                                    • T T0biT3ch

                                      @ticaki
                                      jetzt kommt das in der log

                                      info	javascript.0 (13740) Start javascript script.js.Pager_Alarmierung.emessage_send_test2
                                      warn	javascript.0 (13740) at script.js.Pager_Alarmierung.emessage_send_test2:2:20
                                      warn	javascript.0 (13740) at script.js.Pager_Alarmierung.emessage_send_test2:49:3
                                      info	javascript.0 (13740) script.js.Pager_Alarmierung.emessage_send_test2: das ist kein string
                                      info	javascript.0 (13740) script.js.Pager_Alarmierung.emessage_send_test2: registered 0 subscriptions and 0 schedules
                                      
                                      T Nicht stören
                                      T Nicht stören
                                      ticaki
                                      schrieb am zuletzt editiert von ticaki
                                      #45

                                      @t0bit3ch

                                      Was steht in "javascript.0.emmesage.alarmtext"? Ist der Datenpunkt als String definiert?

                                      füge in Zeile 4 folgendes ein:

                                      log(alarmmeldung);
                                      

                                      Du hättest jetzt aber entweder mehr Logmeldungen oder eine pagernachricht bekommen sollen. Ich hab oben den Code editiert.

                                      Weather-Warnings Espresense NSPanel-Lovelace-ui Tagesschau

                                      Spenden

                                      T 2 Antworten Letzte Antwort
                                      0
                                      • T ticaki

                                        @t0bit3ch

                                        Was steht in "javascript.0.emmesage.alarmtext"? Ist der Datenpunkt als String definiert?

                                        füge in Zeile 4 folgendes ein:

                                        log(alarmmeldung);
                                        

                                        Du hättest jetzt aber entweder mehr Logmeldungen oder eine pagernachricht bekommen sollen. Ich hab oben den Code editiert.

                                        T Offline
                                        T Offline
                                        T0biT3ch
                                        schrieb am zuletzt editiert von
                                        #46

                                        @ticaki
                                        also im log kommt jetzt die meldung aus dem datenpunkt so wie es sein soll.
                                        der pager bleibt aber ruhig

                                        1 Antwort Letzte Antwort
                                        0
                                        • T ticaki

                                          @t0bit3ch

                                          Was steht in "javascript.0.emmesage.alarmtext"? Ist der Datenpunkt als String definiert?

                                          füge in Zeile 4 folgendes ein:

                                          log(alarmmeldung);
                                          

                                          Du hättest jetzt aber entweder mehr Logmeldungen oder eine pagernachricht bekommen sollen. Ich hab oben den Code editiert.

                                          T Offline
                                          T Offline
                                          T0biT3ch
                                          schrieb am zuletzt editiert von
                                          #47

                                          @ticaki
                                          hatte grad nochmal diesen code probiert

                                          const axios = require('axios');
                                          var alarmmeldung = "javascript.0.emmesage.alarmtext";
                                          
                                          
                                          function auth() {
                                           
                                              axios.post('https://api.emessage.de/auth/login',{
                                                  username: 'USERNAME',         //* E*Message Benutzername */
                                                  password: 'PASSWORD'   //* E*Message Kennwort */
                                              },{
                                                  headers: {
                                                      'Authorization': 'Basic Og==',
                                                      'Content-Type': 'application/json',
                                                  }
                                              }).then(function (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/rs/eSendMessages',{
                                                  "messageText": getState(alarmmeldung).val,     //* Pocsag Nachricht an Pager */ //* bei mir durch einen Datenpunkt ersetzt */
                                                  "recipients": [
                                                      {
                                                      "serviceName": "eCityruf",  //* Alarmierungstyp */ //* eCityruf - eBos - 2wayS */
                                                      "identifier": "******"     //* E*Message Funkrufnummer */
                                                      }
                                                  ]
                                              },{
                                                      headers: {
                                                          'Content-Type': 'application/json',
                                                          'Authorization': 'Bearer ' + token,
                                                      }
                                              
                                              })
                                              .catch(function (error) {
                                                  console.log(error);
                                              });
                                           }
                                           console.log(getState("javascript.0.emmesage.alarmtext").val);
                                          auth();
                                          

                                          damit funktionert es :blush:

                                          T 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

                                          380

                                          Online

                                          32.4k

                                          Benutzer

                                          81.5k

                                          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