Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Skripten / Logik
    4. Syntax im Script

    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

    Syntax im Script

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

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

      7130_bildschirmfoto_2018-05-06_um_14.31.17.png

      1 Reply Last reply Reply Quote 0
      • apollon77
        apollon77 last edited by

        Du musst mobileSevices[0].blubb schreiben

        1 Reply Last reply Reply Quote 0
        • R
          Romka1983 last edited by

          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)
          
          1 Reply Last reply Reply Quote 0
          • apollon77
            apollon77 last edited by

            Was ist denn Zeile 22 ?!

            Ansonsten das createState ans Skript Anfang nicht jedes Mal neu wenn request gemacht wird.

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

              @Romka1983:

              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});
              
              
              1 Reply Last reply Reply Quote 0
              • apollon77
                apollon77 last edited by

                Die Fehlermeldung sagt das in deinem Objekt was aus dem json geparst wurde kein mobileDevices existiert. Warum musst du prüfen bzw Fehler absichern.

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

                Support us

                ioBroker
                Community Adapters
                Donate

                549
                Online

                31.7k
                Users

                79.8k
                Topics

                1.3m
                Posts

                3
                6
                533
                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