Skip to content
  • Home
  • Recent
  • Tags
  • 0 Unread 0
  • Categories
  • Unreplied
  • Popular
  • GitHub
  • Docu
  • Hilfe
Skins
  • Light
  • Brite
  • Cerulean
  • Cosmo
  • Flatly
  • Journal
  • Litera
  • Lumen
  • Lux
  • Materia
  • Minty
  • Morph
  • Pulse
  • Sandstone
  • Simplex
  • Sketchy
  • Spacelab
  • United
  • Yeti
  • Zephyr
  • Dark
  • Cyborg
  • Darkly
  • Quartz
  • Slate
  • Solar
  • Superhero
  • Vapor

  • Default (No Skin)
  • No Skin
Collapse
ioBroker Logo

Community Forum

donate donate
  1. ioBroker Community Home
  2. Deutsch
  3. Skripten / Logik
  4. JavaScript
  5. Fehler Im Skript Cannot find name 'data' Engine 4.4.3

NEWS

  • Weihnachtsangebot 2025! 🎄
    BluefoxB
    Bluefox
    22
    1
    1.2k

  • UPDATE 31.10.: Amazon Alexa - ioBroker Skill läuft aus ?
    apollon77A
    apollon77
    48
    3
    9.2k

  • Monatsrückblick – September 2025
    BluefoxB
    Bluefox
    14
    1
    2.5k

Fehler Im Skript Cannot find name 'data' Engine 4.4.3

Scheduled Pinned Locked Moved JavaScript
4 Posts 2 Posters 326 Views 1 Watching
  • Oldest to Newest
  • Newest to Oldest
  • Most Votes
Reply
  • Reply as topic
Log in to reply
This topic has been deleted. Only users with topic management privileges can see it.
  • I Offline
    I Offline
    imushroom
    wrote on last edited by imushroom
    #1

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

    paul53P 1 Reply Last reply
    0
    • I 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});
      });

      paul53P Offline
      paul53P Offline
      paul53
      wrote on last edited by
      #2

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

      Bitte verzichtet auf Chat-Nachrichten, denn die Handhabung ist grauenhaft !
      Produktiv: RPi 2 mit S.USV, HM-MOD-RPI und SLC-USB-Stick mit root fs

      1 Reply Last reply
      0
      • I Offline
        I Offline
        imushroom
        wrote on last edited by imushroom
        #3

        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!!!

        paul53P 1 Reply Last reply
        0
        • I 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!!!

          paul53P Offline
          paul53P Offline
          paul53
          wrote on last edited by paul53
          #4

          @imushroom sagte:

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

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

          Bitte verzichtet auf Chat-Nachrichten, denn die Handhabung ist grauenhaft !
          Produktiv: RPi 2 mit S.USV, HM-MOD-RPI und SLC-USB-Stick mit root fs

          1 Reply Last reply
          0
          Reply
          • Reply as topic
          Log in to reply
          • Oldest to Newest
          • Newest to Oldest
          • Most Votes


          Support us

          ioBroker
          Community Adapters
          Donate

          719

          Online

          32.5k

          Users

          81.7k

          Topics

          1.3m

          Posts
          Community
          Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen | Einwilligungseinstellungen
          ioBroker Community 2014-2025
          logo
          • Login

          • Don't have an account? Register

          • Login or register to search.
          • First post
            Last post
          0
          • Home
          • Recent
          • Tags
          • Unread 0
          • Categories
          • Unreplied
          • Popular
          • GitHub
          • Docu
          • Hilfe