Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Skripten / Logik
    4. JavaScript
    5. Fehler Im Skript Cannot find name 'data' Engine 4.4.3

    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

    Fehler Im Skript Cannot find name 'data' Engine 4.4.3

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

      Hey, ich versuche wie hier beschrieben, die Daten zu Parsen und an den Geofency Adapter weiterzugeben :

      https://forum.iobroker.net/topic/6422/geofency-0-2-0-message-support-und-authentication-fix/42

      Ich habe das Java Skript auch dem iot Adapter angepasst.

      Die Daten kommen auch an.

      Die Variable 'User' wird dem Geofency Adapter auch einwandfrei übergeben.

      Jedoch bei "Data" sagt mir schon der Skript Editor Fehler Cannot find name 'data'

      somit werden natürlich auch die Daten nicht übergeben.

      Muss ich data irgendwo vorher anlegen?

      on({id: "iot.0.services.custom_Geofence_1", change: 'any'}, function(obj) {
      log(JSON.stringify(obj));
      try {
      data = JSON.parse(obj.state.val);
      }
      catch (err) {
      data = null;
      }
      if (! data) {
      log('ERROR: Geofency data invalid: ' + data, 'error');
      return;
      }
      var user = 'Device1-User';
      sendTo('geofency.1', {'user': user, 'data': data});
      });

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

        @imushroom sagte in Fehler Im Skript Cannot find name 'data' Engine 4.4.3:

        Muss ich data irgendwo vorher anlegen?

        Nein, deklarieren.

        let data = JSON.parse(obj.state.val);
        
        1 Reply Last reply Reply Quote 0
        • I
          imushroom last edited by imushroom

          okay, habe nicht so viel Erfahrungen mit Java Script... komme eher aus der C++ ecke und da auch nur grundlegendes... 🙂

          Jetzt klappts auch.

          Jedoch habe ich let data ganz oben im Skript deklariert...

          let data
          on({id: "iot.0.services.custom_Geofence_1", change: 'any'}, function(obj) {
              log(JSON.stringify(obj));    
              try {
                  data = JSON.parse(obj.state.val);
              }
              catch (err) {
                  data = null;
              }
              if (! data) {
                  log('ERROR: Geofency data invalid: ' + data, 'error');
                  return;
              }
              var user = 'Device1-User';
              sendTo('geofency.1', {'user': user, 'data': data});
          });
          
          

          Ich gehe davon aus das ist korrekt so??

          Wäre cool wenn du mir das erläutern kannst, damit ich die Syntax auch in Zukunft richtig mache 😉

          Vielen Dank!!!

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

            @imushroom sagte:

            Jedoch habe ich let data ganz oben im Skript deklariert...

            Das geht natürlich auch. Sonst bei der ersten Wertzuweisung.

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

            Support us

            ioBroker
            Community Adapters
            Donate

            536
            Online

            31.8k
            Users

            80.0k
            Topics

            1.3m
            Posts

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