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

    • ioBroker goes Matter ... Matter Adapter in Stable

    • Monatsrückblick - April 2025

    • Minor js-controller 7.0.7 Update in latest repo

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

    This topic has been deleted. Only users with topic management privileges can see it.
    • C
      CruziX @maloross last edited by

      @maloross Ist ja auch so ziemlich das gleiche wie mein Code Schnipsel

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

        @maloross sagte:

        hat auch keinen Erfolg..

        Wie hast Du die Räume zugeordnet ? Welche Javascript-Version ?

        Testscript.JPG

        T 1 Reply Last reply Reply Quote 0
        • maloross
          maloross @CruziX last edited by maloross

          @CruziX ja, aber manchmal sind es Kleingkeiten, die Fehler verursachen...
          ich habe die Räume erst mal rausgenommen.

          @paul53 angelegt über Aufzählung, Zuordnung Objekte-Auswahl
          Danke für eure Unterstützung..

          1 Reply Last reply Reply Quote 0
          • 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

                                954
                                Online

                                31.6k
                                Users

                                79.5k
                                Topics

                                1.3m
                                Posts

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