Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Visualisierung
    4. [gelöst]script fehler

    NEWS

    • Amazon Alexa - ioBroker Skill läuft aus ?

    • Monatsrückblick – September 2025

    • Neues Video "KI im Smart Home" - ioBroker plus n8n

    [gelöst]script fehler

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

      Ja Zeile 11 hatte ich dein LOG eingebaut um zu sehen was passiert…

      log('Aktorwert: ' + data.state.val);

      Hab die Zeile mal raus genommen, jetzt sind ide Fehler weg aber beim Starten wird der hintergrund auf ROT gesetzt obwohl 32 im Datenpunkt steht. Da sollte er doch eigentlich Orange sein?

      Gruß Jan

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

        @jan_xx:

        log('Aktorwert: ' + data.state.val); `
        Richtig wäre an der Stelle gewesen:

        log('Aktorwert: ' + level);
        

        @jan_xx:

        beim Starten wird der hintergrund auf ROT gesetzt obwohl 32 im Datenpunkt steht. `
        Poste mal Dein komplettes Skript in Code tags, denn sonst kann der Fehler nicht lokalisiert werden.

        Bei mir funktioniert es mit den richtigen Farbwerten.

        1 Reply Last reply Reply Quote 0
        • J
          jan_xx last edited by

          anbei, ich habe eigentlich nichts geändert außer den Namen in der Kopf def.

          var idFarbe = "javascript.0.VIS.hgfarbe";
          var idAktor = "hm-rpc.0.NEQ1012485.1.FILLING_LEVEL";
          
          createState(idFarbe, 'white', {
              def: 'white',
              type: 'string',
              role: 'text'
          });
          
          function toVis(level) {
          
              var farbe = 'red';
              if(level > 30) farbe = 'orange';
              if(level > 60) farbe = 'green';
          
              setState(idFarbe, farbe);
          }
          
          toVis(getState(idAktor).val); // Skriptstart
          
          on(idAktor, function(data) {
              toVis(data.state.val);
          });
          
          1 Reply Last reply Reply Quote 0
          • paul53
            paul53 last edited by

            Habe mir das gerade nach ioBroker kopiert: Bei mir liefert der Wert 32 die Farbe 'orange'.

            var idFarbe = "javascript.1.Test.String"/*Test.String*/;
            var idAktor = "javascript.1.Test.Analog"/*Test.Analog*/;
            
            function toVis(level) {
            
                var farbe = 'red';
                if(level > 30) farbe = 'orange';
                if(level > 60) farbe = 'green';
            
                setState(idFarbe, farbe);
            }
            
            toVis(getState(idAktor).val); // Skriptstart
            
            on(idAktor, function(data) {
                toVis(data.state.val);
            });
            
            
            1 Reply Last reply Reply Quote 0
            • J
              jan_xx last edited by

              Hm…tja was nun... ich habe mal beim Aufruf "background" den Namen vom Script eingetragen (hintergrundfarbe) hier kommt aber auch rot raus. vielleicht liegt es ja an dem Datenpunkt, ich werde nochmal den Dimmer zum testen eintragen.

              Sonst habe ich jetzt keine weitere Idee... :shock:

              Gruß Jan

              1 Reply Last reply Reply Quote 0
              • J
                jan_xx last edited by

                Wenn ich den Datenpunkt vom Dimmer nehme funktioniert es, waran kann das liegen?

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

                  @jan_xx:

                  waran kann das liegen? `
                  Vielleicht liefert der Datenpunkt keinen Wert vom Typ Zahl (number). Um das zu testen, füge mal ein Log ein.

                  function toVis(level) {
                      log('Level: ' + level + ' ' + typeof level); 
                      var farbe = 'red';
                      if(level > 30) farbe = 'orange';
                      if(level > 60) farbe = 'green';
                      log('Farbe: ' + farbe);
                      setState(idFarbe, farbe);
                  }
                  
                  
                  1 Reply Last reply Reply Quote 0
                  • J
                    jan_xx last edited by

                    siehe LOG anbei…
                    5664_iob.jpg

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

                      > getState "hm-rpc.0.NEQ.." not found
                      Der Datenpunkt existiert nicht oder der Befehl ist falsch geschrieben.

                      Du hast hoffentlich nur die Funktion um die Logs ergänzt ?

                      EDIT: Das Skript mit zusätzlichem Log:

                      var idFarbe = "javascript.0.VIS.hgfarbe";
                      var idAktor = "hm-rpc.0.NEQ1012485.1.FILLING_LEVEL";
                      
                      createState(idFarbe, 'white', {
                          def: 'white',
                          type: 'string',
                          role: 'text'
                      });
                      
                      function toVis(level) {
                          log('Level: ' + level + ' ' + typeof level);
                          var farbe = 'red';
                          if(level > 30) farbe = 'orange';
                          if(level > 60) farbe = 'green';
                          log('Farbe: ' + farbe);
                          setState(idFarbe, farbe);
                      }
                      
                      toVis(getState(idAktor).val); // Skriptstart
                      
                      on(idAktor, function(data) {
                          toVis(data.state.val);
                      });
                      
                      1 Reply Last reply Reply Quote 0
                      • J
                        jan_xx last edited by

                        ja nur die eine Zeile….

                        var idFarbe = "javascript.0.VIS.hgfarbe";
                        var idAktor = "hm-rpc.0.NEQ1012485.1.FILLING_LEVEL";
                        /*var idAktor = "hm-rpc.0.NEQ1101537.1.LEVEL";*/
                        
                        createState(idFarbe, 'white', {
                            def: 'white',
                            type: 'string',
                            role: 'text'
                        });
                        
                        function toVis(level) {
                             log('Level: ' + level + ' ' + typeof level); 
                        
                            var farbe = 'red';
                            if(level > 30) farbe = 'orange';
                            if(level > 60) farbe = 'green';
                        
                            setState(idFarbe, farbe);
                        }
                        
                        toVis(getState(idAktor).val); // Skriptstart
                        
                        on(idAktor, function(data) {
                            toVis(data.state.val);
                        });
                        
                        1 Reply Last reply Reply Quote 0
                        • paul53
                          paul53 last edited by

                          "not found" bedeutet, dass der Datenpunkt mit der ID "hm-rpc.0.NEQ1012485.1.FILLING_LEVEL" nicht existiert (nicht gefunden wurde).

                          1 Reply Last reply Reply Quote 0
                          • J
                            jan_xx last edited by

                            Ich kann den Punkt doch sehen wenn ich ihn zum Beispiel mit ID hinzufüge, da wird mir sogar der aktuelle Wert in dieser Auswahl angezeigt.

                            Gesendet von iPhone mit Tapatalk

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

                              @jan_xx:

                              Ich kann den Punkt doch sehen wenn ich ihn zum Beispiel mit ID hinzufüge, da wird mir sogar der aktuelle Wert in dieser Auswahl angezeigt. `
                              Dann ersetze mal die ID durch die Auswahl (dann wird als Kommentar der Name hinzugefügt). Irgend etwas muss abweichend sein.

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

                                Gehe mal in den Reiter "Zustände", filtere die ID nach FILLING_LEVEL und schaue den Wert, den Zeitstempel und die Zeit der letzten Änderung des Datenpunktes "hm-rpc.0.NEQ1012485.1.FILLING_LEVEL" an. Sind dort überall sinnvolle Werte ?

                                1 Reply Last reply Reply Quote 0
                                • J
                                  jan_xx last edited by

                                  Wo ist das mit den Zuständen? Unter Admin?

                                  Gesendet von iPhone mit Tapatalk

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

                                    @jan_xx:

                                    Wo ist das mit den Zuständen? `
                                    Neben den Reitern "Adapter", "Instanzen", "Objekte" gibt es auch den Reiter "Zustände". Evtl. muss Du ihn erst aktivieren (Bleistift-Symbol rechts oben).

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

                                      Dass das Script funktioniert, sieht man bei Verwendung des anderen Datenpunktes mit der ID "hm-rpc.0.NEQ1101537.1.LEVEL". Manchmal passiert es, dass bei Start der hm-rpc-Instanz zwar ein Objekt angelegt wird, aber kein zugehöriger State. Dann wundert es mich allerdings, dass ein Wert zu dem Objekt existiert.

                                      Um den fehlenden State zu erzeugen, kann man im Reiter "Objekte" per Hand einen Wert eingeben und abschicken.

                                      1 Reply Last reply Reply Quote 0
                                      • J
                                        jan_xx last edited by

                                        @paul53:

                                        @jan_xx:

                                        Wo ist das mit den Zuständen? Neben den Reitern "Adapter", "Instanzen", "Objekte" gibt es auch den Reiter "Zustände". Evtl. muss Du ihn erst aktivieren (Bleistift-Symbol rechts oben).
                                        Hallo Paul , ich habe es zeitlich noch nicht geschafft weiter dAnach zu schauen, muss ich morgen mal gucken. Am vorbei rennen am PC habe ich nur gesehen das es einen Punkt Ereignisse gibt, meinst du diesen mit Zuständen?

                                        Gruß Jan

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

                                          @jan_xx:

                                          das es einen Punkt Ereignisse gibt, meinst du diesen mit Zuständen? `
                                          Nein.
                                          493_admin_reiter.jpg

                                          1 Reply Last reply Reply Quote 0
                                          • J
                                            jan_xx last edited by

                                            hallo Paul, sorry aber bei sieht das ganz anders aus das Menue, fehlt mir hier irgendwo noch eine Ansicht Einstellung?->siehe Bild

                                            Gruß Jan
                                            5664_iobroker.jpg

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

                                            Support us

                                            ioBroker
                                            Community Adapters
                                            Donate

                                            858
                                            Online

                                            32.3k
                                            Users

                                            81.0k
                                            Topics

                                            1.3m
                                            Posts

                                            3
                                            37
                                            1802
                                            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