Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Skripten / Logik
    4. JavaScript
    5. Javascript Adapter V7

    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

    Javascript Adapter V7

    This topic has been deleted. Only users with topic management privileges can see it.
    • cash
      cash Most Active last edited by

      Ich nutze noch die Version 6.1.4. Mittlerweile ist die V7 ja im stable.

      Als Breaking change steht dort: Breaking change: all usages of jsonata must be rewritten to use promises.

      Jetzt weiß ich nicht genau was mir das sagen will und wie ich meine Scripte anpassen muss damit die weiter laufen?

      Ich habe z. B. ein Script wo ich das abfrage:

      var data = JSON.parse(getState(id_iot_Homezone_Name).val);
          var motion = data.motion; 
          var wifiSSID =  data.wifiSSID
      

      Läuft das Script noch oder muss ich was ändern?

      Oder ein anders Beispiel:

      //Pushover muss bestätigt werden
                  if(pushover_acknowledged){
                      pushover_acknowledged = false;
                      const axios = require('axios');
                      var URL = 'https://api.pushover.net/1/receipts/cancel_by_tag/'+pushover_tag +'.json';         
                                  
                      axios({
                          method: 'post',
                          url: URL,
                          //headers: {'Content-Type':'application/x-www-form-urlencoded'} ,  
                          data: {
                              "token": 'ayp63m5oece58d86gdq1wwqy3try3i'
                              },
                          timeout: 4500,
                          responseType: 'json'
                      })
                      .then((response) => {
                          if(debugging){
                              log('data:' +JSON.stringify(response.data));
                              log('Status: ' +response.status);
                              //log('Header:' +response.headers);
                          }
                          if(response.status = 200){
                              //Umwandeln in String
                              var data_string = JSON.stringify(response.data)
                              var data_split_1= data_string.split(",");
                              var data_split_2= data_split_1[1].split(":");
                              var _result = parseInt(data_split_2[1],10);
                              
                              if(_result > 0){
                                  log('Pushnachricht wurde automatisch bestätigt. --- Anzahl bestätigter Nachrichten: '+_result );
                              }
                              else{
                                  log('Pushnachricht konnte nicht bestätigt werden.' +data_string)
                              }
                          }
                          else{
                              if(logging){
                                  log('Es gibt ein Problem: ' +response.status,'warn');
                              }
                          } 
      
                      })
                      .catch(
                          (error) => {
                              // handle error
                              log('Es gibt einen Fehler: ' +error,'warn');           
                          }
                      );
                  }
      

      Hier würde ich vermuten das es noch läuft?

      Nächstes Beispiel:

      //Schlafzimmer
          var Heizungsgruppe = 'INT0000001';
          sendTo('hm-rpc.1', 'getParamset', {ID: Heizungsgruppe, paramType: 'MASTER'}, res => {
              if(debugging){
                  log('[DEBUG] '+JSON.stringify(res));
              }
              if(logging){
                  if(res.error){
                      log('Something went wrong: ' + res.error.faultString, 'error');
                  }
                  else{
                      setState(id_Wochenprogramm_Schlafzimmer,res.result.WEEK_PROGRAM_POINTER)
                      Wochenprogramm_Schlafzimmer_Ist = res.result.WEEK_PROGRAM_POINTER;
                      if(logging){
                          log('Aktuelles Wochenprogramm für das Schlafzimmer: '+res.result.WEEK_PROGRAM_POINTER)
                              
                      }
                  }
              }
          });
      
      Hier vermute ich das es nicht mehr läuft?
      
      Mehr Beispiele habe ich erstmal nicht. Das Problem ist halt das ich zwar mittlerweile für den Hausgebrauch Javascript schreiben kann aber was ein promise ist habe ich zwar gelesen aber nicht verstanden.
      paul53 1 Reply Last reply Reply Quote 0
      • paul53
        paul53 @cash last edited by

        @cash
        Deine Skripte sollten funktionieren, da kein Jsonata verwendet wurde.

        cash 1 Reply Last reply Reply Quote 0
        • cash
          cash Most Active @paul53 last edited by

          @paul53 was ist denn jsonata? Ich dachte das wäre irgendwas mit json Daten?

          Im Netzt finde ich dazu:

          JSONata ist eine leistungsstarke Daten-Transformations-Sprache, die zum Transformieren und Abfragen von JSON-Daten verwendet wird. Sie bietet eine einfache, aber flexible Syntax zum Filtern und Transformieren von Daten im JSON-Format.

          paul53 1 Reply Last reply Reply Quote 0
          • paul53
            paul53 @cash last edited by paul53

            @cash sagte: JSONata ist eine leistungsstarke Daten-Transformations-Sprache

            ..., in die man sich erst einmal einarbeiten muss, um sie nutzen zu können.

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

            Support us

            ioBroker
            Community Adapters
            Donate

            621
            Online

            31.8k
            Users

            80.0k
            Topics

            1.3m
            Posts

            2
            4
            253
            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