Skip to content
  • Home
  • Aktuell
  • Tags
  • 0 Ungelesen 0
  • Kategorien
  • Unreplied
  • Beliebt
  • GitHub
  • Docu
  • Hilfe
Skins
  • Light
  • Brite
  • Cerulean
  • Cosmo
  • Flatly
  • Journal
  • Litera
  • Lumen
  • Lux
  • Materia
  • Minty
  • Morph
  • Pulse
  • Sandstone
  • Simplex
  • Sketchy
  • Spacelab
  • United
  • Yeti
  • Zephyr
  • Dark
  • Cyborg
  • Darkly
  • Quartz
  • Slate
  • Solar
  • Superhero
  • Vapor

  • Standard: (Kein Skin)
  • Kein Skin
Einklappen
ioBroker Logo

Community Forum

donate donate
  1. ioBroker Community Home
  2. Deutsch
  3. Visualisierung
  4. [gelöst]script fehler

NEWS

  • Jahresrückblick 2025 – unser neuer Blogbeitrag ist online! ✨
    BluefoxB
    Bluefox
    16
    1
    1.4k

  • Neuer Blogbeitrag: Monatsrückblick - Dezember 2025 🎄
    BluefoxB
    Bluefox
    13
    1
    824

  • Weihnachtsangebot 2025! 🎄
    BluefoxB
    Bluefox
    25
    1
    2.1k

[gelöst]script fehler

Geplant Angeheftet Gesperrt Verschoben Visualisierung
37 Beiträge 3 Kommentatoren 1.9k Aufrufe
  • Älteste zuerst
  • Neuste zuerst
  • Meiste Stimmen
Antworten
  • In einem neuen Thema antworten
Anmelden zum Antworten
Dieses Thema wurde gelöscht. Nur Nutzer mit entsprechenden Rechten können es sehen.
  • J Offline
    J Offline
    jan_xx
    schrieb am zuletzt editiert von
    #1

    Hallo zusammen,

    ich brauche hier mal wieder Eure Hilfe, habe mich jetzt in der 3 Woche mit scripten beschäftigt.

    Nun versuche ich wertabhängig 0 bis 100 einen Hintergrund von einem Widget (html) farblich anzupassen.

    Ich habe bereits den Adapter installiert und auch wie ich denke die notwendigen Einstellungen getätigt.

    Aus dem Forum hier habe ich mir ein Script geklaut und wollte dies auf meine Bedürfnisse anpassen, doch leider ohne Erfolg.

    Aktuell ist der Stand so das dass script unter Objekte angezeigt wird und auch anscheinend mir "true" aktiv ist.

    Leider ändert sich der Wert nicht den das script an mein Widget zurückgeben soll nicht. Ich habe meine Zisterne aktuell als Testobjekt im Script eingetragen.

    Das widget ändert bereits seine Farbe wenn ich unter Objekte den Wert händisch ändere, also bis dahin passt es anscheinend.

    Anbei mal das Sript was ich verwenden möchte, wo ist hier der Fehler?

    var idFarbe = "javascript.0.VIS.Jalousie";
    var idAktor = "hm-rpc.0.NEQ1012485.1.FILLING_LEVEL";
    
    createState(idFarbe, 'white', {
        def: 'white',
        type: 'string',
        role: 'text'
    });
    
    on(idAktor, function (data) {
        if (data.state.val === 0) setState(idFarbe, 'green');
        else if (data.state.val > 0   && data.state.val <= 50)   setState(idFarbe, 'orange');
        else if (data.state.val > 50 && data.state.val <= 100) setState(idFarbe, 'red');
    });
    

    Vielen Dank schon mal im Voraus für die Hilfe!

    Gruß Jan

    1 Antwort Letzte Antwort
    0
    • paul53P Offline
      paul53P Offline
      paul53
      schrieb am zuletzt editiert von
      #2

      Du hast hoffentlich das Skript nicht unter der Gruppe global angelegt ? Wenn ja, dann kopiere den Inhalt in ein Skript unter der Gruppe common und lösche das Skript unter global.

      Bitte verzichtet auf Chat-Nachrichten, denn die Handhabung ist grauenhaft !
      Produktiv: RPi 2 mit S.USV, HM-MOD-RPI und SLC-USB-Stick mit root fs

      1 Antwort Letzte Antwort
      0
      • J Offline
        J Offline
        jan_xx
        schrieb am zuletzt editiert von
        #3

        Ja habe ich gemacht, was könnte es noch sein?

        Grüße

        1 Antwort Letzte Antwort
        0
        • paul53P Offline
          paul53P Offline
          paul53
          schrieb am zuletzt editiert von
          #4

          @jan_xx:

          was könnte es noch sein? `
          Fehler sind keine zu sehen, falls die Datenpunkt-IDs korrekt sind (Groß-/Kleinschreibung beachten !). Um zu sehen, ob getriggert wird, bau mal ein Log ein:

          on(idAktor, function (data) {
              log('Aktorwert: ' + data.state.val);
              ...
          

          Der Aktorwert muss verändert werden, damit etwas passiert !

          Bitte verzichtet auf Chat-Nachrichten, denn die Handhabung ist grauenhaft !
          Produktiv: RPi 2 mit S.USV, HM-MOD-RPI und SLC-USB-Stick mit root fs

          1 Antwort Letzte Antwort
          0
          • J Offline
            J Offline
            jan_xx
            schrieb am zuletzt editiert von
            #5

            Hallo Paul,

            es lag daran das sich der Wert nicht geändert hatte, ich habe mal einen Dimmer als Datenpunkt genommen und schon kamen

            auch Werte im LOG an. :roll: Gibt es eine Möglichkeit den Wert beim Starten des scriptes einmal abzufragen?

            Gruß Jan

            1 Antwort Letzte Antwort
            0
            • paul53P Offline
              paul53P Offline
              paul53
              schrieb am zuletzt editiert von
              #6

              @jan_xx:

              Gibt es eine Möglichkeit den Wert beim Starten des scriptes einmal abzufragen? `
              Ja. Damit man die Abfrage nicht zweimal machen muss, packt man diese in eine Funktion.

              var idFarbe = "javascript.0.VIS.Jalousie";
              var idAktor = "hm-rpc.0.NEQ1012485.1.FILLING_LEVEL";
              
              createState(idFarbe, 'white', {
                  def: 'white',
                  type: 'string',
                  role: 'text'
              });
              
              function toVis(level) {
                  var farbe = 'green';
                  if(level > 0) farbe = 'orange';
                  if(level > 50) farbe = 'red';
                  setState(idFarbe, farbe);
              }
              
              toVis(getState(idAktor).val); // Skriptstart
              
              on(idAktor, function(data) {
                  toVis(data.state.val);
              });
              

              Bitte verzichtet auf Chat-Nachrichten, denn die Handhabung ist grauenhaft !
              Produktiv: RPi 2 mit S.USV, HM-MOD-RPI und SLC-USB-Stick mit root fs

              1 Antwort Letzte Antwort
              0
              • J Offline
                J Offline
                jan_xx
                schrieb am zuletzt editiert von
                #7

                das will jetzt noch nicht so richtig funktionieren, beim starten bleibt das Feld weis obwohl ich 33 als Wert habe.

                Da muss ich heute Abend nochmal danach schauen…

                Gruß Jan

                1 Antwort Letzte Antwort
                0
                • J Offline
                  J Offline
                  jan_xx
                  schrieb am zuletzt editiert von
                  #8

                  Hallo Paul, ich habe Fehlermeldungen beim ausführen des Scriptes?

                  siehe Bild
                  5664_iob.jpg

                  1 Antwort Letzte Antwort
                  0
                  • paul53P Offline
                    paul53P Offline
                    paul53
                    schrieb am zuletzt editiert von
                    #9

                    @jan_xx:

                    Hallo Paul, ich habe Fehlermeldungen beim ausführen des Scriptes? `
                    Das kann ich nicht nachvollziehen. Habe es gerade selbst getestet ohne Fehler.

                    Es wird u.a. die Zeile 11, Position 27 angemeckert. Die Position gibt es in Zeile 11 nicht. Hat sich da etwas eingeschlichen ? Zeile 11:

                        var farbe = 'green';
                    

                    Oder stimmt die ID zu idAktor nicht (Zeile 2) ? Das würde die Fehlermeldung zu Zeile 19 erklären.

                    Bitte verzichtet auf Chat-Nachrichten, denn die Handhabung ist grauenhaft !
                    Produktiv: RPi 2 mit S.USV, HM-MOD-RPI und SLC-USB-Stick mit root fs

                    1 Antwort Letzte Antwort
                    0
                    • J Offline
                      J Offline
                      jan_xx
                      schrieb am zuletzt editiert von
                      #10

                      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 Antwort Letzte Antwort
                      0
                      • paul53P Offline
                        paul53P Offline
                        paul53
                        schrieb am zuletzt editiert von
                        #11

                        @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.

                        Bitte verzichtet auf Chat-Nachrichten, denn die Handhabung ist grauenhaft !
                        Produktiv: RPi 2 mit S.USV, HM-MOD-RPI und SLC-USB-Stick mit root fs

                        1 Antwort Letzte Antwort
                        0
                        • J Offline
                          J Offline
                          jan_xx
                          schrieb am zuletzt editiert von
                          #12

                          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 Antwort Letzte Antwort
                          0
                          • paul53P Offline
                            paul53P Offline
                            paul53
                            schrieb am zuletzt editiert von
                            #13

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

                            Bitte verzichtet auf Chat-Nachrichten, denn die Handhabung ist grauenhaft !
                            Produktiv: RPi 2 mit S.USV, HM-MOD-RPI und SLC-USB-Stick mit root fs

                            1 Antwort Letzte Antwort
                            0
                            • J Offline
                              J Offline
                              jan_xx
                              schrieb am zuletzt editiert von
                              #14

                              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 Antwort Letzte Antwort
                              0
                              • J Offline
                                J Offline
                                jan_xx
                                schrieb am zuletzt editiert von
                                #15

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

                                1 Antwort Letzte Antwort
                                0
                                • paul53P Offline
                                  paul53P Offline
                                  paul53
                                  schrieb am zuletzt editiert von
                                  #16

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

                                  Bitte verzichtet auf Chat-Nachrichten, denn die Handhabung ist grauenhaft !
                                  Produktiv: RPi 2 mit S.USV, HM-MOD-RPI und SLC-USB-Stick mit root fs

                                  1 Antwort Letzte Antwort
                                  0
                                  • J Offline
                                    J Offline
                                    jan_xx
                                    schrieb am zuletzt editiert von
                                    #17

                                    siehe LOG anbei…
                                    5664_iob.jpg

                                    1 Antwort Letzte Antwort
                                    0
                                    • paul53P Offline
                                      paul53P Offline
                                      paul53
                                      schrieb am zuletzt editiert von
                                      #18

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

                                      Bitte verzichtet auf Chat-Nachrichten, denn die Handhabung ist grauenhaft !
                                      Produktiv: RPi 2 mit S.USV, HM-MOD-RPI und SLC-USB-Stick mit root fs

                                      1 Antwort Letzte Antwort
                                      0
                                      • J Offline
                                        J Offline
                                        jan_xx
                                        schrieb am zuletzt editiert von
                                        #19

                                        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 Antwort Letzte Antwort
                                        0
                                        • paul53P Offline
                                          paul53P Offline
                                          paul53
                                          schrieb am zuletzt editiert von
                                          #20

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

                                          Bitte verzichtet auf Chat-Nachrichten, denn die Handhabung ist grauenhaft !
                                          Produktiv: RPi 2 mit S.USV, HM-MOD-RPI und SLC-USB-Stick mit root fs

                                          1 Antwort Letzte Antwort
                                          0
                                          Antworten
                                          • In einem neuen Thema antworten
                                          Anmelden zum Antworten
                                          • Älteste zuerst
                                          • Neuste zuerst
                                          • Meiste Stimmen


                                          Support us

                                          ioBroker
                                          Community Adapters
                                          Donate

                                          484

                                          Online

                                          32.6k

                                          Benutzer

                                          82.1k

                                          Themen

                                          1.3m

                                          Beiträge
                                          Community
                                          Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen | Einwilligungseinstellungen
                                          ioBroker Community 2014-2025
                                          logo
                                          • Anmelden

                                          • Du hast noch kein Konto? Registrieren

                                          • Anmelden oder registrieren, um zu suchen
                                          • Erster Beitrag
                                            Letzter Beitrag
                                          0
                                          • Home
                                          • Aktuell
                                          • Tags
                                          • Ungelesen 0
                                          • Kategorien
                                          • Unreplied
                                          • Beliebt
                                          • GitHub
                                          • Docu
                                          • Hilfe