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.
    • T
      ticaki Developer @T0biT3ch last edited by 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 2 Replies Last reply Reply Quote 0
      • T
        T0biT3ch @ticaki last edited by

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

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

          @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 😊

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

            @OliverIO
            @ticaki

            Ich möchte mich nochmals herzlich bei euch für die unterstützung bedanken.

            👍 👍 👍 👍 👍 👏 👍 👍 👍

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

              @t0bit3ch

              super das es letztendlich doch geklappt hat.

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

                @oliverio
                Moin Moin,
                Ich bin zwischendurch noch ein bisschen am probieren den status vom pager abzurufen.
                ich hänge grad wieder bei einem problem. ich lasse mir einen datenpunkt schreiben der so aussieht

                "46b61d10-10c3-11ec-8787-7dd1f95191be"
                

                ich möchte das die " am anfang und ende nicht mit in den datenpunkt geschrieben werden. wie bekomme ich das hin?
                hab schon so einiges probiert, aber nichts hat bisher funktioniert.
                hier mal eins von meinen versuchen

                setState("0_userdata.0.E-Message.E-Message-TrackingID", trid).val.replace('"');
                
                T 1 Reply Last reply Reply Quote 0
                • T
                  T0biT3ch @T0biT3ch last edited by

                  @t0bit3ch sagte in Hilfe bei der Script erstellung:

                  @oliverio
                  Moin Moin,
                  Ich bin zwischendurch noch ein bisschen am probieren den status vom pager abzurufen.
                  ich hänge grad wieder bei einem problem. ich lasse mir einen datenpunkt schreiben der so aussieht

                  "46b61d10-10c3-11ec-8787-7dd1f95191be"
                  

                  ich möchte das die " am anfang und ende nicht mit in den datenpunkt geschrieben werden. wie bekomme ich das hin?
                  hab schon so einiges probiert, aber nichts hat bisher funktioniert.
                  hier mal eins von meinen versuchen

                  setState("0_userdata.0.E-Message.E-Message-TrackingID", trid).val.replace('"');
                  

                  hab es hinbekommen 😊

                  so langsam verstehe ich das JS🙈

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

                    @t0bit3ch
                    Das gequotete Beispiel sieht aber nicht aus als wenns funktionieren würde. 🙂

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

                      @ticaki sagte in Hilfe bei der Script erstellung:

                      @t0bit3ch
                      Das gequotete Beispiel sieht aber nicht aus als wenns funktionieren würde. 🙂

                      hatte das funktionierende beispiel wohl vergessen 😀

                      var trid = JSON.stringify(response.data.data.trackingId); 
                                  var tridneu = trid.substr(1, trid.length - 2);
                                  setState("0_userdata.0.E-Message.E-Message-TrackingID", tridneu);
                      
                      F 1 Reply Last reply Reply Quote 0
                      • F
                        fastfoot @T0biT3ch last edited by

                        @t0bit3ch sagte in Hilfe bei der Script erstellung:

                        @ticaki sagte in Hilfe bei der Script erstellung:

                        @t0bit3ch
                        Das gequotete Beispiel sieht aber nicht aus als wenns funktionieren würde. 🙂

                        hatte das funktionierende beispiel wohl vergessen 😀

                        var trid = JSON.stringify(response.data.data.trackingId); 
                                    var tridneu = trid.substr(1, trid.length - 2);
                                    setState("0_userdata.0.E-Message.E-Message-TrackingID", tridneu);
                        

                        Eigentor! Du hast dir die Hochkommas selbst reingebastelt, durch das nicht notwendige JSON.stringify(). das hier reicht völlig

                        let trid=response.data.data.trackingId;
                        setState("0_userdata.0.E-Message.E-Message-TrackingID", trid);
                        
                        T T 2 Replies Last reply Reply Quote 0
                        • T
                          T0biT3ch @fastfoot last edited by

                          @fastfoot
                          Danke für den Tipp. Werde es morgen mal versuchen 😁

                          Man lernt nie aus 🙊

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

                            setState("0_userdata.0.E-Message.E-Message-TrackingID", response.data.data.trackingId);
                            
                            F 1 Reply Last reply Reply Quote 0
                            • F
                              fastfoot @ticaki last edited by

                              @ticaki sagte in Hilfe bei der Script erstellung:

                              setState("0_userdata.0.E-Message.E-Message-TrackingID", response.data.data.trackingId);
                              

                              klar doch, ich halte es aber für einen Anfänger für besser das aufzusplitten. Dadurch ist es besser nachvollziehbar was da passiert. Der kürzeste Code ist halt nicht immer der Beste...

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

                                @fastfoot
                                danke für dein beispiel. was genau macht

                                let trid
                                

                                frage nur um es besser zu verstehen.

                                @ticaki
                                auch dir danke für das beispiel. so hab ich wieder etwas dazu gelern. 😉

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

                                  @t0bit3ch
                                  Let ist wie var und deklariert eine variable.
                                  let wurde mit ES6 (da wurde javascript vom syntax etwas modernisiert) eingeführt und hat leichte abweichungen zu var (speziell zu hoisting und scope behandlung).
                                  aber als anfänger kannst du das erst mal genau so wie var verwenden.

                                  https://developer.mozilla.org/de/docs/Web/JavaScript/Reference/Statements/let

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

                                    @oliverio
                                    okay danke.
                                    den Link werde ich mir übers wochenende mal genauer angucken 🤓

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

                                      @OliverIO
                                      @ticaki
                                      @fastfoot
                                      @Homoran

                                      Guten Abend Profis,

                                      ich benötige nochmal eure hilfe.

                                      var axios = require('axios');
                                      var trid = "0_userdata.0.E-Message.E-Message-TrackingID";
                                      var token = "0_userdata.0.E-Message.E-Message-Token";
                                      var data = '';
                                      
                                      var config = {
                                        method: 'get',
                                        url: 'https://api.emessage.de/rs/eGetMessages/External/' + getState(trid).val ,
                                        headers: { 
                                          'Authorization':  'Bearer ' + getState(token).val,
                                          
                                        },
                                        data : data
                                      };
                                      
                                      axios(config)
                                      .then(function (response) {
                                           
                                             var recipients = JSON.stringify(response.data.data.recipients);
                                             setState("0_userdata.0.E-Message_Response.Recipients", recipients, true);
                                             
                                             
                                        
                                        
                                      })
                                      .catch(function (error) {
                                        console.log(error);
                                      });
                                      

                                      wie bekomme ich es hin das mir die zurück gelieferten daten sortiert in datenpunkte geschrieben werden?

                                      hiermit

                                      setState("0_userdata.0.E-Message_Response.Recipients", recipients, true);
                                      

                                      bekomme ich folgende ausgabe

                                      [{"externalRecipient":"2W:123456","identifier":"123456","service":"2wayS","numberOfRecipients":"1","status":[{"answer":"01","answerNo":"1","devices":[{"deviceName":"Testpager","deviceSerial":"S0ABC123456789"}]}]}]
                                      

                                      brauche es für die weitere verarbeitung so

                                      datenpunkt0.wert1 = wert von identifer (123456)
                                      datenpunkt0.wert2 = wert von service (2wayS)
                                      datenpunkt0.wert3 = wert von answer (01)
                                      usw.
                                      

                                      ich bin am verzweifeln 😭

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

                                        @t0bit3ch sagte in Hilfe bei der Script erstellung:

                                        ich bin am verzweifeln

                                        log(recipients[0].identifier)
                                        log(recipients[0].service)
                                        log(recipients[0].status[0].answer)
                                        
                                        
                                        T 2 Replies Last reply Reply Quote 0
                                        • T
                                          T0biT3ch @fastfoot last edited by

                                          @fastfoot
                                          was haben die [0] zu bedeuten?
                                          Was ist denn der Unterschied zu

                                          JSON.stringify(response.data.data.recipients)
                                          
                                          F 1 Reply Last reply Reply Quote 0
                                          • T
                                            T0biT3ch @fastfoot last edited by

                                            @fastfoot
                                            Werde es morgen mal direkt probieren. 👍

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

                                            Support us

                                            ioBroker
                                            Community Adapters
                                            Donate

                                            938
                                            Online

                                            31.9k
                                            Users

                                            80.1k
                                            Topics

                                            1.3m
                                            Posts

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