NEWS
Syntax im Script
-
Ich möchte die Anwesenheit von den Handys bei Tado auslesen. Beim Pfad von den Handys muss ich eine Zahl ->0 der 1 eingebenl, je nachdem wieviele Benutzer in dem Konto hinterlegt sind, bei mir sind es 2. Das mag das Script garnicht. Die besagte Stelle habe ich jetzt im Beitrag bei meinem Script fett, unterstrichen un kursiv hervorgehoben. Bitte um Hilfe
Zum Verständnius hänge ich die Api an.
Ich weiß man kann noch schöner das ganze programmieren. Das kopmmt im nächsten Schrtitt, wenn das hier funktioniert. ;-)
Das Script:
schedule("*/10 * * * *", function () { // Zeiteinstellung: Script aktualisiert alle 10 Min die Werte var Username = "xxx"; // tado Username (E-Mail Adresse) var Password = "xxx"; // tado Passwort var url = "https://my.tado.com/api/v2/me?username="+Username+"&password="+Password; // API URL //läd die Json herunter var request = require("request"); request(url, function (error, response, body) { //parst die Json var json = JSON.parse(body); //Datenpunkterstellung: createState("Anwesenheit Roman",false, {read: true, write: true, name: "Anwesenheit Roman", type: "boolean", def: false}); //Datenabfrage: setState("javascript.0.Anwesenheit Roman", json.mobileDevices.[b][i][u]0[/u][/i][/b].location.atHome); log(json.mobileDevices.[b][i][u]0[/u][/i][/b].location.atHome); }); }); -
Meinst du so?
setState("javascript.0.Anwesenheit Roman", json.mobileDevices.mobileSevices[0].location.atHome); log(json.mobileDevices.mobileSevices[0].location.atHome);dann kommt eine Fehlermeldung:
javascript.0 TypeError: Cannot read property '1' of undefined at Request._callback (script.js.Heizung.Anwenheit_Roman:22:79) at Request.self.callback (/opt/iobroker/node_modules/iobroker.javascript/node_modules/request/request.js:186:22) at emitTwo (events.js:106:13) at Request.emit (events.js:191:7) at Request. (/opt/iobroker/node_modules/iobroker.javascript/node_modules/request/request.js:1163:10) at emitOne (events.js:96:13) at Request.emit (events.js:188:7) at IncomingMessage. (/opt/iobroker/node_modules/iobroker.javascript/node_modules/request/request.js:1085:12) at IncomingMessage.g (events.js:292:16) at emitNone (events.js:91:20) 14:38:00.644 [error] Caught by controller[0]: at Request._callback (script.js.Heizung.Anwenheit_Roman:22:79) -
setState("javascript.0.Anwesenheit Roman", json.mobileDevices.mobileSevices[0].location.atHome);
log(json.mobileDevices.mobileSevices[0].location.atHome); `
setState("javascript.0.Anwesenheit Roman", json.mobileDevices[1].location.atHome); log(json.mobileDevices[1].location.atHome);Ist tatsächlich ein Leerzeichen in der ID "javascript.0.Anwesenheit Roman" ? Das sollte vermieden werden (Unterstrich) !
createState("Anwesenheit_Roman",false, {read: true, write: true, name: "Anwesenheit Roman", type: "boolean", def: false});
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