Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. T0biT3ch

    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

    T
    • Profile
    • Following 2
    • Followers 0
    • Topics 3
    • Posts 59
    • Best 1
    • Groups 1

    T0biT3ch

    @T0biT3ch

    Starter

    1
    Reputation
    3
    Profile views
    59
    Posts
    0
    Followers
    2
    Following
    Joined Last Online

    T0biT3ch Follow
    Starter

    Best posts made by T0biT3ch

    • RE: Hilfe bei der Script erstellung

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

      posted in JavaScript
      T
      T0biT3ch

    Latest posts made by T0biT3ch

    • RE: Hilfe bei der Script erstellung

      @oliverio

      Vielen dank für die Hinweise. Werde es in Zukunft beachten.

      Das true bei setState ist bei mir an dritter stelle weil es sonst nicht funktioniert. Oder könntest du mir ein Beispiel schicken wie es anders sein müsste? Ich benötige den wert von "response.data.data.trackingId" als bestätigten Eintrag im Datenpunkt.

      setState("0_userdata.0.eMessage.eMessage_Data.eMessage_TrackingID", response.data.data.trackingId, true);
      
      posted in JavaScript
      T
      T0biT3ch
    • RE: Hilfe bei der Script erstellung

      @oliverio

      Guten Morgen,

      Ich habe übers Wochenende viel gelesen und probiert. Gestern Abend hatte ich dann ein Script zusammen was funktioniert.
      Eventuell mag einer der Profis mal ein Blick drauf werfen ob es so in Ordnung ist. Beim ausführen bekomme ich noch zwei Warnungen in die Log, kann aber nicht herausfinden warum.

      hier mein Script

      const axios = require('axios');
      
      var alarmmeldung_ml = "0_userdata.0.ModbusRegister.52313_Stoer_dword_Feststoff.AlarmTextPager";
      
      function auth() {
       
      var data = JSON.stringify({
        "username": "*******",
        "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) {
      	if (response.status==200) {
      		var token = response.data.data.jwt;
      		setState("0_userdata.0.eMessage.eMessage_Data.eMessage_Token", response.data.data.jwt, true);
      		sendMessage(token)
      		console.log(JSON.stringify(response.data)); 
        }
          })
          .catch(function (error) {
              console.log(error);
          });
          
      }
       
      function sendMessage(token) {
          var data = JSON.stringify({
        "messageText": getState(alarmmeldung_ml).val,
        "recipients": [
          {
            "serviceName": "2wayS",
            "identifier": "*******"
          }
        ]
      });
      
      var config = {
        method: 'post',
        url: 'https://api.emessage.de/rs/eSendMessages',
        headers: { 
          'Authorization': 'Bearer ' + token, 
          'Content-Type': 'application/json'
        },
        data : data
      };
      
      axios(config) .then(function (response) {
          if (response.status==200) {
          //
          setState("0_userdata.0.eMessage.eMessage_Data.eMessage_TrackingID", response.data.data.trackingId, true);
          //
          //var recipients = JSON.stringify(response.data.data.recipients);
          //setState("0_userdata.0.eMessage.eMessage_Data.eMessage_Recipients", recipients, true);
          //
          console.log(JSON.stringify(response.data));
          //createEventlog("Alarmierung :" , getState(alarmmeldung_ml).val);
          }
      
      })
          .catch(function (error) {
              console.log(error);
          });
       }
       
      auth();
      

      und hier die Log

      10:32:58.428	warn	javascript.0 (1687) at script.js.Alarmierung_BGA_AJP.Alarmierungen_ModbusRegister52313.Pager2wayS_ausloesen_ModbusRegister52313:24:3
      
      10:32:58.647	warn	javascript.0 (1687) at script.js.Alarmierung_BGA_AJP.Alarmierungen_ModbusRegister52313.Pager2wayS_ausloesen_ModbusRegister52313:59:5
      

      Ich wünsche euch einen schönen Tag

      posted in JavaScript
      T
      T0biT3ch
    • RE: Hilfe bei der Script erstellung

      @oliverio

      magst du hier einmal drüber gucken?

      var axios = require('axios');
      
      var data = JSON.stringify({
        "username": "******",
        "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) {
      	if (response.status==200) {
      		var token = response.data.data.jwt;
      		setState("0_userdata.0.E-Message_Data.E-Message-Token", response.data.data.jwt, true);
      		sendMessage(token)
      		console.log(JSON.stringify(response.data)); 
        }
        
      })
      .catch(function (error) {
        console.log(error);
      });
      
      function sendMessage(token) {
      	var data = JSON.stringify({
        "messageText": "Test-Alarm",
        "recipients": [
          {
            "serviceName": "2wayS",
            "identifier": "******"
          }
        ]
      });
      
      var config = {
        method: 'post',
        url: 'https://api.emessage.de/rs/eSendMessages',
        headers: { 
          'Authorization': 'Bearer ' + getState(token).val,
          'Content-Type': 'application/json'
        },
        data : data
      };
      
      axios(config)
      
      .then(function (response) {
          if (response.status==200) {
                  setState("0_userdata.0.E-Message_Data.E-Message-TrackingID", response.data.data.trackingId, true);
                  //
                  var recipients = JSON.stringify(response.data.data.recipients);
                  setState("0_userdata.0.E-Message_Data.E-Message-Recipients", recipients, true);
                  //
                  console.log (JSON.stringify(response.data.data));  //(tridneu);
                  createEventlog("Alarmierung :" , getState(alarmmeldung_ml).val);
                  //
                  
              }
        console.log(JSON.stringify(response.data));
      })
      .catch(function (error) {
        console.log(error);
      });
      
      

      bekomme diesen fehler in der log

      error	javascript.0 (1687) script.js.Ordner_1.Skript_1 compile failed: at script.js.Ordner_1.Skript_1:74
      

      aber das script hat doch keine 74 zeilen 😕

      posted in JavaScript
      T
      T0biT3ch
    • RE: Hilfe bei der Script erstellung

      @oliverio

      Moin,

      Ja nach langem lesen, vergleichen und probieren hab ich mir was zusammen gestrickt. Wirklich schlauer bin ich aber immer noch nicht. mir ist es schleierhaft warum das alte funktionierende script nicht mehr funktioniert

      posted in JavaScript
      T
      T0biT3ch
    • RE: Hilfe bei der Script erstellung

      @oliverio

      habe es jetzt erstmal so gelöst damit zumindest wieder Alarmierungen kommen...

      das Script zum Token holen

      var axios = require('axios');
      var data = JSON.stringify({
        "username": "********",
        "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));
        setState("0_userdata.0.E-Message_Data.E-Message-Token", response.data.data.jwt, true);
        
      
      })
      .catch(function (error) {
        console.log(error);
      });
      
      await wait(2000);
      setState("javascript.0.scriptEnabled.Alarmierung_Pager_via_Wago.Pager_ausloesen.abfrage"/*scriptEnabled.Alarmierung_Pager_via_Wago.Pager_ausloesen.abfrage*/, true);
      await wait(1000);
      setState("javascript.0.scriptEnabled.Alarmierung_Pager_via_Wago.Pager_ausloesen.Test"/*scriptEnabled.Alarmierung_Pager_via_Wago.Pager_ausloesen.Pager_ausloesen_CityRuf*/, false);
      

      dann starte ich das Script zum Meldungen senden

      var axios = require('axios');
      
      var alarmmeldung_ml = "0_userdata.0.Alarmmeldungen.Alarmierungstext_Variable";
      var token = "0_userdata.0.E-Message_Data.E-Message-Token";
      
      
      
      
      var data = JSON.stringify({
        "messageText": getState(alarmmeldung_ml).val,
        "recipients": [
          {
            "serviceName": "2wayS",
            "identifier": "*******"
          }
        ]
      });
      
      var config = {
        method: 'post',
        url: 'https://api.emessage.de/rs/eSendMessages',
        headers: { 
          'Authorization': 'Bearer ' + getState(token).val,
          'Content-Type': 'application/json'
        },
        data : data
      };
      
      axios(config)
      .then(function (response) {
          if (response.status==200) {
                  setState("0_userdata.0.E-Message_Data.E-Message-TrackingID", response.data.data.trackingId, true);
                  //
                  var recipients = JSON.stringify(response.data.data.recipients);
                  setState("0_userdata.0.E-Message_Data.E-Message-Recipients", recipients, true);
                  //
                  console.log (JSON.stringify(response.data.data));  //(tridneu);
                  createEventlog("Alarmierung :" , getState(alarmmeldung_ml).val);
                  //
                  //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);
              }
        console.log(JSON.stringify(response.data));
      })
      .catch(function (error) {
        console.log(error);
      });
      
      await wait(1000);
      setState("javascript.0.scriptEnabled.Alarmierung_Pager_via_Wago.Pager_ausloesen.abfrage"/*scriptEnabled.Alarmierung_Pager_via_Wago.Pager_ausloesen.abfrage*/, false);
      

      Die abfrage der Quittung funktioniert weiter wie bisher.

      vielleicht könnt ihr mir ja helfen die Scripte wieder zu vereinen. damit es so wie vor dem Update läuft.

      Vielen dank und einen schönen Abend

      posted in JavaScript
      T
      T0biT3ch
    • RE: Hilfe bei der Script erstellung

      @oliverio

      ich verstehe nur Bahnhof 🤦

      posted in JavaScript
      T
      T0biT3ch
    • RE: Hilfe bei der Script erstellung

      @oliverio

      aber in diesem Script wird der Token doch in keinem Datenpunkt hinterlegt oder?

      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();
       
      
      
      posted in JavaScript
      T
      T0biT3ch
    • RE: Hilfe bei der Script erstellung

      @oliverio

      Hatte jetzt nochmal dieses Script genommen

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

      und bekomme diese Log

      javascript.0 (4430) script.js.Alarmierung_Pager_via_Wago.Pager_ausloesen.Test: {'message':'Request failed with status code 401','name':'AxiosError','config':{'transitional':{'silentJSONParsing':true,'forcedJSONParsing':true,'clarifyTimeoutError':false},'transformRequest':[null],'transformResponse':[null],'timeout':0,'xsrfCookieName':'XSRF-TOKEN','xsrfHeaderName':'X-XSRF-TOKEN','maxContentLength':-1,'maxBodyLength':-1,'env':{},'headers':{'Accept':'application/json, text/plain, */*','Content-Type':'application/json','User-Agent':'axios/0.27.2','Content-Length':93},'method':'post','url':'https://api.emessage.de/rs/eSendMessages','data':'{\'messageText\':\'Testnachricht\',\'recipients\':[{\'serviceName\':\'2wayS\',\'identifier\':\'*****\'}]}'},'code':'ERR_BAD_REQUEST','status':401}
      

      und der Pager bleibt still

      posted in JavaScript
      T
      T0biT3ch
    • RE: Hilfe bei der Script erstellung

      @oliverio

      hatte es nochmal im ioBroker mit diesen Scripten probiert

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

      und damit hat es funktioniert. Ich kann in meinem Script keinen unterschied feststellen

      posted in JavaScript
      T
      T0biT3ch
    • RE: Hilfe bei der Script erstellung

      @oliverio
      Es wurde an den Programmen nichts verändert oder an den Einstellungen vom ioBroker. Es lief alles wunderbar und nach dem Update habe ich mich gewundert das kein Alarm mehr gesendet wird. habe auch versucht den JavaScript Adapter auf eine vorherige Version zurück zu setzen, aber ohne erfolg.

      posted in JavaScript
      T
      T0biT3ch
    Community
    Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen
    The ioBroker Community 2014-2023
    logo