Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Skripten / Logik
    4. JavaScript
    5. [Erledigt] Skript Lichtzählen [..] angezeigt

    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

    [Erledigt] Skript Lichtzählen [..] angezeigt

    This topic has been deleted. Only users with topic management privileges can see it.
    • T
      Tictactoo @paul53 last edited by

      @paul53
      Ich hab die 4.3.4 am Laufen und bekomme es so auch nicht raus leider. Logge ich den Array enumNames, zeigt er mit zwar das JSON-Object darin an, wenn ich aber versuche mit .de auf den deutschen Namen zuzugreifen, sagt er das die Proberty nicht vorhanden wäre. Seltsam...

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

        @Tictactoo sagte:

        zeigt er mit zwar das JSON-Object darin an, wenn ich aber versuche mit .de auf den deutschen Namen zuzugreifen, sagt er das die Proberty nicht vorhanden wäre.

        Du hast getObject so verwendet ?

        getObject(id, "rooms").enumNames[0].de;
        
        T 1 Reply Last reply Reply Quote 0
        • T
          Tictactoo @paul53 last edited by

          @paul53 Ja, hab ich. Wie gesagt, wenn ich "getObject(id, "rooms").enumNames[0]" logge, zeigt er mir auch den Inhalt.

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

            @Tictactoo sagte:

            zeigt er mir auch den Inhalt.

            Wie sieht er aus ?

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

              @paul53

              javascript.0 (17215) script.js.Rhasspy.Slots: [{'en':'bath_room','de':'Bad'}]
              
              

              Nehm ich die Variable und setzen "[0].de" dahinter bekomme ich nur das:

              javascript.0	2020-01-30 15:44:21.547	error	(17215) at Script.runInContext (vm.js:133:20)
              javascript.0	2020-01-30 15:44:21.546	error	(17215) at script.js.Rhasspy.Slots:9:84
              javascript.0	2020-01-30 15:44:21.546	error	(17215) TypeError: Cannot read property 'de' of undefined
              javascript.0	2020-01-30 15:44:21.546	error	(17215) ^
              javascript.0	2020-01-30 15:44:21.545	error	(17215) var test = getObject(devices[i].replace('.available',''), 'rooms').enumNames[0].de;
              javascript.0	2020-01-30 15:44:21.545	error	(17215) script.js.Rhasspy.Slots: script.js.Rhasspy.Slots:9
              

              Hatte es auch schon mit array['de'] versucht, aber das schluckt er auch net...

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

                @Tictactoo sagte:

                bekomme ich nur das:

                Sehr eigenartig. Was ergibt im Log?

                 var test = getObject(devices[i].replace('.available',''), 'rooms').enumNames[0];
                
                T 1 Reply Last reply Reply Quote 0
                • C
                  CruziX last edited by

                  Schomal iobroker bzw Script Engine neugestartet?

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

                    @paul53 Hatte es vorher oben reingeschrieben, vielleicht hatte sich das mit deiner Antwort überschnitten:

                    javascript.0	2020-01-30 15:44:21.547	error	(17215) at Script.runInContext (vm.js:133:20)
                    javascript.0	2020-01-30 15:44:21.546	error	(17215) at script.js.Rhasspy.Slots:9:84
                    javascript.0	2020-01-30 15:44:21.546	error	(17215) TypeError: Cannot read property 'de' of undefined
                    javascript.0	2020-01-30 15:44:21.546	error	(17215) ^
                    javascript.0	2020-01-30 15:44:21.545	error	(17215) var test = getObject(devices[i].replace('.available',''), 'rooms').enumNames[0].de;
                    javascript.0	2020-01-30 15:44:21.545	error	(17215) script.js.Rhasspy.Slots: script.js.Rhasspy.Slots:9
                    
                    1 Reply Last reply Reply Quote 0
                    • T
                      ticaki Developer last edited by ticaki

                      Gibt es schon eine Lösung für diesen Fehler?

                        // auch mit  getObject(ab, 'rooms').enumNames[0].de durchprobiert
                        var test = getObject(ab.replace('.available',''), 'rooms').enumNames[0].de;// Fehler
                      
                        var test = getObject(ab.replace('.available',''), 'rooms').enumNames[0];
                        log(test.de); // Fehler
                      
                        var test = getObject(ab.replace('.available',''), 'rooms').enumNames[0];
                        test = JSON.stringify(test);
                        test = JSON.parse(test); // Fehler 
                      

                      Was ich mir nicht erklären kann ist folgendes:

                         var test = getObject(ab.replace('.available',''), 'rooms').enumNames[0];
                         if (test === undefined) log('yep');
                         let t = JSON.stringify(test);
                         //let x = JSON.parse(t);
                      

                      test ist nicht undefiniert und das Script läuft durch.
                      Aktiviere ich die 4 Zeile, ist test in Zeile 2 undefiniert.

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

                        @ticaki sagte:

                        test = JSON.parse(test); // Fehler

                        Es ist kein JSON.

                        @ticaki sagte in [Erledigt] Skript Lichtzählen [..] angezeigt:

                        var test = getObject(ab.replace('.available',''), 'rooms').enumNames[0].de;// Fehler

                        Wenn die Räume schon in einer früheren Version angelegt wurden, gibt es das Sprach-Objekt nicht. Bei selbst angelegten Räumen fehlt es wohl ebenso.

                        T 1 Reply Last reply Reply Quote 0
                        • T
                          ticaki Developer @paul53 last edited by

                          @paul53
                          Danke für deine Antwort

                          Ich war gestern abend zu müde, mein Fehler war, dass das erste Element in der Auflistung kein enumNames hatte.

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

                          Support us

                          ioBroker
                          Community Adapters
                          Donate

                          886
                          Online

                          31.9k
                          Users

                          80.1k
                          Topics

                          1.3m
                          Posts

                          javascript
                          5
                          23
                          1028
                          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