Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Skripten / Logik
    4. JavaScript
    5. Datenpunkte werden nicht geschrieben, warum???

    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

    SOLVED Datenpunkte werden nicht geschrieben, warum???

    This topic has been deleted. Only users with topic management privileges can see it.
    • K
      kleinfritzchen last edited by

      Hallo, hier mal mein script:

      //trigger uf state change des MQTT eingangs und lese werte in variable z.b. channel, state, device bei mir
      
      
      
       
      
      	//variabele erstellen fuer meine 3 beispiel objecte
      
              var Aleistung;
      
              var Egesamt;  
      
              var verbrauch; 
      
       
      
      	//der try ist wichtig das der adapter nicht abschmiert bei einem fehler, hiermit pasen wird die json in ein object
      
      	try {var obj = JSON.parse(getState('mqtt.0.tele.DruckerGesamt.SENSOR').val);
             
      	} catch (e) {
      
              	log('Cannot parse: ' + getState('mqtt.0.tele.DruckerGesamt.SENSOR').val);
      
              	return;
      
       	}
      
       	//hier schreien wir die daten des json strings in die variabelen, links die variable und rechts der name im json. obj bedeuten halt lese den wert nach :
      
       	// bei dir waere das z.b. obj.time / obj.yesterday usw
       Aleistung = obj.ENERGY.Power;
      log( obj.Time);
      //var versuc =
      	log(obj.ENERGY);
          log(obj.ENERGY.Total);
          log(obj.ENERGY.Power);
          log("_________")
      /*
      createState("javascript.0.DruckerEnergie.Energieverbrauch");
      createState("javascript.0.DruckerEnergie.Aktuelle Leistung",{name: "AktuelleLeistung",type: state, read: true,write: true,role: variable});
      createState("javascript.0.DruckerEnergie.Energieverbrauch",{type: state, name: "Verbrauch heute", read: true,write: true,role: 'value'});
      createState("javascript.0.DruckerEnergie.Energieverbrauch2",{type: state, name: "Verbrauch gestern", read: true,write: true,role: 'value'});
      createState("javascript.0.DruckerEnergie.Energieverbrauch3",{type: state, name: "Verbrauch Geeeesamt", read: true,write: true,role: 'value'});
      */
      	//device = obj.Today;
      
       setState("javascript.0.DruckerEnergie.Aktuelle Leistung", Aleistung);
      
      	//jetzt lass uns mal im log zeigen was wir bekommen haben
      
      	//log(channel);
      
      	//log(device);
      
      	//log(state);
      
      ;
      
      

      sieht noch etwas kaotisch aus aber bin noch am Basteln.
      dieser Script wird getrigert von einem weiteren Datenpunkt den ich nur zum testen angelegt hab. Über einen Blockly Script wird dieser script hier aufgerufen wenn der Datenpunkt zum testen sich ändert wird dieser Script ausgeführt und sollte eigentlich den obj.ENERGY.Power Wert über SetState() schreiben.
      Tut er aber nicht, sondern der Wert taucht nur über den log() befehl im Log auf.
      Ich hatte erst das Objekt direkt in den getState() reingeschrieben was aber auch nicht funktioniert hat. Gestern Abend hat der Script noch ein absolutes chaos im Log verursacht. Heute morgen nach dem Neustart von ioBroker war wenigstens dieses Chaos weg.
      Was mach ich hier falsch????
      MfG Fritz

      Hier übrigens mal der komplette Code mit Blockly:

      /**
       * Beschreibe diese Funktion …
       */
      function auslesen() {
          //trigger uf state change des MQTT eingangs und lese werte in variable z.b. channel, state, device bei mir
      
      
      
      
      
          	//variabele erstellen fuer meine 3 beispiel objecte
      
                  var Aleistung;
      
                  var Egesamt;
      
                  var verbrauch;
      
      
      
          	//der try ist wichtig das der adapter nicht abschmiert bei einem fehler, hiermit pasen wird die json in ein object
      
          	try {var obj = JSON.parse(getState('mqtt.0.tele.DruckerGesamt.SENSOR').val);
      
          	} catch (e) {
      
                  	log('Cannot parse: ' + getState('mqtt.0.tele.DruckerGesamt.SENSOR').val);
      
                  	return;
      
           	}
      
           	//hier schreien wir die daten des json strings in die variabelen, links die variable und rechts der name im json. obj bedeuten halt lese den wert nach :
      
           	// bei dir waere das z.b. obj.time / obj.yesterday usw
           Aleistung = obj.ENERGY.Power;
          log( obj.Time);
          //var versuc =
          	log(obj.ENERGY);
              log(obj.ENERGY.Total);
              log(obj.ENERGY.Power);
              log("_________")
          /*
          createState("javascript.0.DruckerEnergie.Energieverbrauch");
          createState("javascript.0.DruckerEnergie.Aktuelle Leistung",{name: "AktuelleLeistung",type: state, read: true,write: true,role: variable});
          createState("javascript.0.DruckerEnergie.Energieverbrauch",{type: state, name: "Verbrauch heute", read: true,write: true,role: 'value'});
          createState("javascript.0.DruckerEnergie.Energieverbrauch2",{type: state, name: "Verbrauch gestern", read: true,write: true,role: 'value'});
          createState("javascript.0.DruckerEnergie.Energieverbrauch3",{type: state, name: "Verbrauch Geeeesamt", read: true,write: true,role: 'value'});
          */
          	//device = obj.Today;
      
           setState("javascript.0.DruckerEnergie.Aktuelle Leistung", Aleistung);
      
          	//jetzt lass uns mal im log zeigen was wir bekommen haben
      
          	//log(channel);
      
          	//log(device);
      
          	//log(state);
      
          ;
      }
      
      
      on({id: 'javascript.0.testpunkt', change: "ne"}, function (obj) {
        var value = obj.state.val;
        var oldValue = obj.oldState.val;
        auslesen();
      });
      
      //JTNDeG1sJTIweG1sbnMlM0QlMjJodHRwJTNBJTJGJTJGd3d3LnczLm9yZyUyRjE5OTklMkZ4aHRtbCUyMiUzRSUzQ2Jsb2NrJTIwdHlwZSUzRCUyMm9uX2V4dCUyMiUyMGlkJTNEJTIyJTJGOFJCTkE3XyUzRilRdjIzS2Jfc3JDJTIyJTIweCUzRCUyMjExMyUyMiUyMHklM0QlMjI2MyUyMiUzRSUzQ211dGF0aW9uJTIwaXRlbXMlM0QlMjIxJTIyJTNFJTNDJTJGbXV0YXRpb24lM0UlM0NmaWVsZCUyMG5hbWUlM0QlMjJDT05ESVRJT04lMjIlM0VuZSUzQyUyRmZpZWxkJTNFJTNDZmllbGQlMjBuYW1lJTNEJTIyQUNLX0NPTkRJVElPTiUyMiUzRSUzQyUyRmZpZWxkJTNFJTNDdmFsdWUlMjBuYW1lJTNEJTIyT0lEMCUyMiUzRSUzQ3NoYWRvdyUyMHR5cGUlM0QlMjJmaWVsZF9vaWQlMjIlMjBpZCUzRCUyMnRqJTYwNTJnJTJGbTlzQ1R2Z3IlNUV6VzF1JTIyJTNFJTNDZmllbGQlMjBuYW1lJTNEJTIyb2lkJTIyJTNFamF2YXNjcmlwdC4wLnRlc3RwdW5rdCUzQyUyRmZpZWxkJTNFJTNDJTJGc2hhZG93JTNFJTNDJTJGdmFsdWUlM0UlM0NzdGF0ZW1lbnQlMjBuYW1lJTNEJTIyU1RBVEVNRU5UJTIyJTNFJTNDYmxvY2slMjB0eXBlJTNEJTIycHJvY2VkdXJlc19jYWxsY3VzdG9tbm9yZXR1cm4lMjIlMjBpZCUzRCUyMn44JTIzaCUyQjdoJTdCbW8qNkxZJTJGRGJvLnklMjIlM0UlM0NtdXRhdGlvbiUyMG5hbWUlM0QlMjJhdXNsZXNlbiUyMiUzRSUzQyUyRm11dGF0aW9uJTNFJTNDJTJGYmxvY2slM0UlM0MlMkZzdGF0ZW1lbnQlM0UlM0MlMkZibG9jayUzRSUzQ2Jsb2NrJTIwdHlwZSUzRCUyMnByb2NlZHVyZXNfZGVmY3VzdG9tbm9yZXR1cm4lMjIlMjBpZCUzRCUyMjNTVjdLJTVEJTNBNHdsdX4lN0IlN0NFZSUyNEI5JTJCJTIyJTIweCUzRCUyMjQ4OCUyMiUyMHklM0QlMjIxNjMlMjIlM0UlM0NtdXRhdGlvbiUyMHN0YXRlbWVudHMlM0QlMjJmYWxzZSUyMiUzRSUzQyUyRm11dGF0aW9uJTNFJTNDZmllbGQlMjBuYW1lJTNEJTIyTkFNRSUyMiUzRWF1c2xlc2VuJTNDJTJGZmllbGQlM0UlM0NmaWVsZCUyMG5hbWUlM0QlMjJTQ1JJUFQlMjIlM0VMeTkwY21sbloyVnlJSFZtSUhOMFlYUmxJR05vWVc1blpTQmtaWE1nVFZGVVZDQmxhVzVuWVc1bmN5QjFibVFnYkdWelpTQjNaWEowWlNCcGJpQjJZWEpwWVdKc1pTQjZMbUl1SUdOb1lXNXVaV3dzSUhOMFlYUmxMQ0JrWlhacFkyVWdZbVZwSUcxcGNnb0tDZ29nQ2dvSkx5OTJZWEpwWVdKbGJHVWdaWEp6ZEdWc2JHVnVJR1oxWlhJZ2JXVnBibVVnTXlCaVpXbHpjR2xsYkNCdlltcGxZM1JsQ2dvZ0lDQWdJQ0FnSUhaaGNpQkJiR1ZwYzNSMWJtYzdDZ29nSUNBZ0lDQWdJSFpoY2lCRloyVnpZVzEwT3lBZ0Nnb2dJQ0FnSUNBZ0lIWmhjaUIyWlhKaWNtRjFZMmc3SUFvS0lBb0tDUzh2WkdWeUlIUnllU0JwYzNRZ2QybGphSFJwWnlCa1lYTWdaR1Z5SUdGa1lYQjBaWElnYm1samFIUWdZV0p6WTJodGFXVnlkQ0JpWldrZ1pXbHVaVzBnWm1Wb2JHVnlMQ0JvYVdWeWJXbDBJSEJoYzJWdUlIZHBjbVFnWkdsbElHcHpiMjRnYVc0Z1pXbHVJRzlpYW1WamRBb0tDWFJ5ZVNCN2RtRnlJRzlpYWlBOUlFcFRUMDR1Y0dGeWMyVW9aMlYwVTNSaGRHVW9KMjF4ZEhRdU1DNTBaV3hsTGtSeWRXTnJaWEpIWlhOaGJYUXVVMFZPVTA5U0p5a3VkbUZzS1RzS0lDQWdJQ0FnSUFvSmZTQmpZWFJqYUNBb1pTa2dld29LSUNBZ0lDQWdJQ0FKYkc5bktDZERZVzV1YjNRZ2NHRnljMlU2SUNjZ0t5Qm5aWFJUZEdGMFpTZ25iWEYwZEM0d0xuUmxiR1V1UkhKMVkydGxja2RsYzJGdGRDNVRSVTVUVDFJbktTNTJZV3dwT3dvS0lDQWdJQ0FnSUNBSmNtVjBkWEp1T3dvS0lBbDlDZ29nQ1M4dmFHbGxjaUJ6WTJoeVpXbGxiaUIzYVhJZ1pHbGxJR1JoZEdWdUlHUmxjeUJxYzI5dUlITjBjbWx1WjNNZ2FXNGdaR2xsSUhaaGNtbGhZbVZzWlc0c0lHeHBibXR6SUdScFpTQjJZWEpwWVdKc1pTQjFibVFnY21WamFIUnpJR1JsY2lCdVlXMWxJR2x0SUdwemIyNHVJRzlpYWlCaVpXUmxkWFJsYmlCb1lXeDBJR3hsYzJVZ1pHVnVJSGRsY25RZ2JtRmphQ0E2Q2dvZ0NTOHZJR0psYVNCa2FYSWdkMkZsY21VZ1pHRnpJSG91WWk0Z2IySnFMblJwYldVZ0x5QnZZbW91ZVdWemRHVnlaR0Y1SUhWemR3b2dRV3hsYVhOMGRXNW5JRDBnYjJKcUxrVk9SVkpIV1M1UWIzZGxjanNLYkc5bktDQnZZbW91VkdsdFpTazdDaTh2ZG1GeUlIWmxjbk4xWXlBOUNnbHNiMmNvYjJKcUxrVk9SVkpIV1NrN0NpQWdJQ0JzYjJjb2IySnFMa1ZPUlZKSFdTNVViM1JoYkNrN0NpQWdJQ0JzYjJjb2IySnFMa1ZPUlZKSFdTNVFiM2RsY2lrN0NpQWdJQ0JzYjJjb0lsOWZYMTlmWDE5Zlh5SXBDaThxQ21OeVpXRjBaVk4wWVhSbEtDSnFZWFpoYzJOeWFYQjBMakF1UkhKMVkydGxja1Z1WlhKbmFXVXVSVzVsY21kcFpYWmxjbUp5WVhWamFDSXBPd3BqY21WaGRHVlRkR0YwWlNnaWFtRjJZWE5qY21sd2RDNHdMa1J5ZFdOclpYSkZibVZ5WjJsbExrRnJkSFZsYkd4bElFeGxhWE4wZFc1bklpeDdibUZ0WlRvZ0lrRnJkSFZsYkd4bFRHVnBjM1IxYm1jaUxIUjVjR1U2SUhOMFlYUmxMQ0J5WldGa09pQjBjblZsTEhkeWFYUmxPaUIwY25WbExISnZiR1U2SUhaaGNtbGhZbXhsZlNrN0NtTnlaV0YwWlZOMFlYUmxLQ0pxWVhaaGMyTnlhWEIwTGpBdVJISjFZMnRsY2tWdVpYSm5hV1V1Ulc1bGNtZHBaWFpsY21KeVlYVmphQ0lzZTNSNWNHVTZJSE4wWVhSbExDQnVZVzFsT2lBaVZtVnlZbkpoZFdOb0lHaGxkWFJsSWl3Z2NtVmhaRG9nZEhKMVpTeDNjbWwwWlRvZ2RISjFaU3h5YjJ4bE9pQW5kbUZzZFdVbmZTazdDbU55WldGMFpWTjBZWFJsS0NKcVlYWmhjMk55YVhCMExqQXVSSEoxWTJ0bGNrVnVaWEpuYVdVdVJXNWxjbWRwWlhabGNtSnlZWFZqYURJaUxIdDBlWEJsT2lCemRHRjBaU3dnYm1GdFpUb2dJbFpsY21KeVlYVmphQ0JuWlhOMFpYSnVJaXdnY21WaFpEb2dkSEoxWlN4M2NtbDBaVG9nZEhKMVpTeHliMnhsT2lBbmRtRnNkV1VuZlNrN0NtTnlaV0YwWlZOMFlYUmxLQ0pxWVhaaGMyTnlhWEIwTGpBdVJISjFZMnRsY2tWdVpYSm5hV1V1Ulc1bGNtZHBaWFpsY21KeVlYVmphRE1pTEh0MGVYQmxPaUJ6ZEdGMFpTd2dibUZ0WlRvZ0lsWmxjbUp5WVhWamFDQkhaV1ZsWlhOaGJYUWlMQ0J5WldGa09pQjBjblZsTEhkeWFYUmxPaUIwY25WbExISnZiR1U2SUNkMllXeDFaU2Q5S1RzS0tpOEtDUzh2WkdWMmFXTmxJRDBnYjJKcUxsUnZaR0Y1T3dvS0lITmxkRk4wWVhSbEtDSnFZWFpoYzJOeWFYQjBMakF1UkhKMVkydGxja1Z1WlhKbmFXVXVRV3QwZFdWc2JHVWdUR1ZwYzNSMWJtY2lMQ0JCYkdWcGMzUjFibWNwT3dvS0NTOHZhbVYwZW5RZ2JHRnpjeUIxYm5NZ2JXRnNJR2x0SUd4dlp5QjZaV2xuWlc0Z2QyRnpJSGRwY2lCaVpXdHZiVzFsYmlCb1lXSmxiZ29LQ1M4dmJHOW5LR05vWVc1dVpXd3BPd29LQ1M4dmJHOW5LR1JsZG1salpTazdDZ29KTHk5c2IyY29jM1JoZEdVcE93b0tPdyUzRCUzRCUzQyUyRmZpZWxkJTNFJTNDY29tbWVudCUyMHBpbm5lZCUzRCUyMmZhbHNlJTIyJTIwaCUzRCUyMjgwJTIyJTIwdyUzRCUyMjE2MCUyMiUzRUJlc2NocmVpYmUlMjBkaWVzZSUyMEZ1bmt0aW9uJTIwJUUyJTgwJUE2JTNDJTJGY29tbWVudCUzRSUzQyUyRmJsb2NrJTNFJTNDJTJGeG1sJTNF
      
      1 Reply Last reply Reply Quote 0
      • K
        kleinfritzchen last edited by

        Danke!!!! Jetzt funktionierts!
        Puhhhh, gibts da ne deutsche Seite wo man sowas mal nachlesen kann?
        Danke erst mal für die Hilfe!!!!!!!!
        MfG Fritz

        Jey Cee 1 Reply Last reply Reply Quote 0
        • J.A.R.V.I.S.
          J.A.R.V.I.S. Developer last edited by

          Hey,

          werden die Datenpunkte denn angelegt oder wird nur der Wert nicht gesetzt?

          Ich kann es gerade nicht test, aber ich glaube, dass das Leerzeichen beim State ein Problem sein kann.

          1 Reply Last reply Reply Quote 0
          • K
            kleinfritzchen last edited by kleinfritzchen

            ja, die Datenpunkte werden angelegt (wurden) deshalb hab ich die auch erst mal auskommentiert.
            Ich hab sie jetzt mal bei den Objekten gelöscht und die Kommentare aus dem Script wieder entzfernt.
            Die leerzeichen hab ich auch mal rausgenommen, aber ich glaube nicht das duie was mit dem Fehler zu tun haben.
            Jetzt kommt ein Fehler in folgender Zeile:

            createState("javascript.0.DruckerEnergie.AktuelleLeistung",{name: "AktuelleLeistung",type: state, read: true,write: true,role: 'variable'});
            

            Im Log steht: at auslesen (script.js.common.test:45:96)
            das ist die aufgeführte Zeile. (96 ist so etwa bei 'type: state')
            Keine Ahnung was da falsch sein soll?
            Mfg Fritz

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

              @kleinfritzchen

              type: state
              

              ist falsch. Richtig:

              type: "number"
              
              1 Reply Last reply Reply Quote 0
              • K
                kleinfritzchen last edited by

                Danke!!!! Jetzt funktionierts!
                Puhhhh, gibts da ne deutsche Seite wo man sowas mal nachlesen kann?
                Danke erst mal für die Hilfe!!!!!!!!
                MfG Fritz

                Jey Cee 1 Reply Last reply Reply Quote 0
                • Jey Cee
                  Jey Cee Developer @kleinfritzchen last edited by

                  @kleinfritzchen es gibt eine Doku für Entwickler wo das festgehlaten ist, die ist ins Deutsche Übersetzt.

                  Da das Eingangsthema erledigt ist Schließe ich hier.

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

                  Support us

                  ioBroker
                  Community Adapters
                  Donate

                  608
                  Online

                  31.9k
                  Users

                  80.2k
                  Topics

                  1.3m
                  Posts

                  blockly javascript
                  4
                  6
                  672
                  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