NEWS
Fehler Im Skript Cannot find name 'data' Engine 4.4.3
-
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});
}); -
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});
});@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); -
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!!!
-
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!!!
@imushroom sagte:
Jedoch habe ich let data ganz oben im Skript deklariert...
Das geht natürlich auch. Sonst bei der ersten Wertzuweisung.
Hey! Du scheinst an dieser Unterhaltung interessiert zu sein, hast aber noch kein Konto.
Hast du es satt, bei jedem Besuch durch die gleichen Beiträge zu scrollen? Wenn du dich für ein Konto anmeldest, kommst du immer genau dorthin zurück, wo du zuvor warst, und kannst dich über neue Antworten benachrichtigen lassen (entweder per E-Mail oder Push-Benachrichtigung). Du kannst auch Lesezeichen speichern und Beiträge positiv bewerten, um anderen Community-Mitgliedern deine Wertschätzung zu zeigen.
Mit deinem Input könnte dieser Beitrag noch besser werden 💗
Registrieren Anmelden