Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. ioBroker Allgemein
    4. script-Fehler tritt nur manchmal auf

    NEWS

    • Neues Video über Aliase, virtuelle Geräte und Kategorien

    • Wir empfehlen: Node.js 22.x

    • Neuer Blog: Fotos und Eindrücke aus Solingen

    script-Fehler tritt nur manchmal auf

    This topic has been deleted. Only users with topic management privileges can see it.
    • G
      guergen @J.A.R.V.I.S. last edited by

      @J-A-R-V-I-S Ich schreibe seit mehreren Monaten die Temperaturwerte dieses Gerätes mit, wenn da mal ein null-Wert dabei wäre, wäre es mir schon aufgefallen...
      Das Max-Temp-Script bekommt ja die selben Werte, da läuft es durch (nur dass das Script "grösser als" benutzt

      1 Reply Last reply Reply Quote 0
      • paul53
        paul53 @J.A.R.V.I.S. last edited by paul53

        @J-A-R-V-I-S sagte:

        vielleicht ist auch mal ein null-Wert oder ähnliches dabei.

        Das ist bei Typ "object" sogar wahrscheinlich.

        You are assigning a object to the state

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

          @paul53 Warum meckert das andere Script dann nicht?

          1 Reply Last reply Reply Quote 0
          • Gaspode
            Gaspode @guergen last edited by Gaspode

            @guergen said in script-Fehler tritt nur manchmal auf:

            @J-A-R-V-I-S Jetzt grade werden die Daten ja als Nummer gesendet, sonst würde es ja sofort zum Fehler kommen. Die werden ja nicht plötzlich zum String 🙄

            Javascript konvertiert immer automatisch, wenn es die Möglichkeit gibt. Von daher läuft dein Script, solange im State wiffi-wz.0.root.192_168_1_142.w_temperatur was drinsteht, das in eine Zahl konvertiert werden kann (z.B. "25"). Steht etwas drin, das nicht automatisch konvertiert werden kann, dann kommt es zum Fehler.
            "Beliebt" ist in so einem Fall, dass der String für Kommazahlen den falschen Dezimaltrenner hat. "25" klappt, "25,1" nicht, da "25.1" richtig wäre.
            Ich würde mal wie von J.A.R.V.I.S vorgeschlagen den Typ loggen, sondern den Wert an sich.

            G J.A.R.V.I.S. 2 Replies Last reply Reply Quote 0
            • G
              guergen @Gaspode last edited by

              @Alexi aber jetzt kommt ja wie im Beispiel 20.4

              1 Reply Last reply Reply Quote 0
              • J.A.R.V.I.S.
                J.A.R.V.I.S. Developer @Gaspode last edited by

                @Alexi das tut der Javascript Adapter eben nicht. Er schreibt zwar den Wert, gibt aber auch die Warnmeldung aus.

                Du kannst da auch Strings und Booleans reinschreiben, die nicht umgewandelt werden.

                G Gaspode 2 Replies Last reply Reply Quote 0
                • G
                  guergen @J.A.R.V.I.S. last edited by

                  @J-A-R-V-I-S es steht dann immer null drin nach dem Fehler

                  paul53 1 Reply Last reply Reply Quote 0
                  • Gaspode
                    Gaspode @J.A.R.V.I.S. last edited by Gaspode

                    @J-A-R-V-I-S said in script-Fehler tritt nur manchmal auf:

                    Er schreibt zwar den Wert, gibt aber auch die Warnmeldung aus.

                    Äh sorry. Den Satz verstehe ich nicht. Hast du ein Beispiel?

                    Edit: Ach jetzt. OK. Ja, war auf dem falschen Dampfer. Ist ja keine Zuweisung an eine Variable sonder ein setState...

                    J.A.R.V.I.S. Gaspode 2 Replies Last reply Reply Quote 0
                    • paul53
                      paul53 @guergen last edited by paul53

                      @guergen sagte:

                      es steht dann immer null drin nach dem Fehler

                      Passiert das auch, wenn Du das Script mal so änderst ?

                      // Min-Temp aufzeichen
                      on("wiffi-wz.0.root.192_168_1_142.w_temperatur"/*1*/, function (obj) {
                        var value = obj.state.val;
                        if (value < getState("0_userdata.0.Wetteraufzeichnung.Temperaturen.Min.Min-Temp").val) {
                          setState("0_userdata.0.Wetteraufzeichnung.Temperaturen.Min.Min-Temp"/*Min-Temp*/, value, true);
                        }
                      });
                      
                      G 1 Reply Last reply Reply Quote 0
                      • J.A.R.V.I.S.
                        J.A.R.V.I.S. Developer @Gaspode last edited by

                        @Alexi du kannst als Value einfach mal alles eintragen ("20", "10,1", true, "Test") und schauen was dann passiert.

                        G 1 Reply Last reply Reply Quote 0
                        • Gaspode
                          Gaspode @Gaspode last edited by

                          @J-A-R-V-I-S
                          Ja, Danke. Hatte es schon bemerkt, s. Mein Edit oben:

                          @Alexi said in script-Fehler tritt nur manchmal auf:

                          Edit: Ach jetzt. OK. Ja, war auf dem falschen Dampfer. Ist ja keine Zuweisung an eine Variable sonder ein setState...

                          1 Reply Last reply Reply Quote 0
                          • G
                            guergen @J.A.R.V.I.S. last edited by

                            @J-A-R-V-I-S mache ich morgen, bin jetzt unterwegs...
                            Danke für die Tipps und Hilfe!

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

                              @paul53 Hab es grade mal eingetragen, als neuen Test-Punkt... mal sehen was und wann was kommt...

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

                                Mach mal ein Update deines JavaScript Adapters. Ich hatte das gleiche Problem urplötzlich und bemerkte erst später, dass es mit einem Update des Adapters zusammen hing. Mit der neuesten Version war das Problem dann wieder weg.

                                G 1 Reply Last reply Reply Quote 0
                                • G
                                  guergen @Ramses123 last edited by guergen

                                  @Ramses123 Das ist die neuste Version! Bin auf latest; die alpha-Versionen gibt es nur nach direkten Fehlertest´s

                                  R 1 Reply Last reply Reply Quote 0
                                  • R
                                    Ramses123 @guergen last edited by

                                    @guergen bei mir war die problematische Version die 4.6.11. Die gibt es auch nicht mehr im Downloadbereich. Bin jetzt bei 4.6.17 und alles funktioniert wieder.

                                    G 1 Reply Last reply Reply Quote 0
                                    • G
                                      guergen @Ramses123 last edited by

                                      @Ramses123 795233aa-a077-41d3-bd39-928329c27b31-grafik.png

                                      R 1 Reply Last reply Reply Quote 0
                                      • R
                                        Ramses123 @guergen last edited by

                                        @guergen habe gerade bei einem Skript gemerkt, dass dort einer Varible auf einmal kein Text mehr zugewiesen wird. Da scheint mit dem Adapter irgendwas falsch zu laufen. Ich hatte an dem Skript bestimmt ein halbes Jahr nichts mehr geändert und es lief immer einwandfrei.
                                        Ich werde den Adapter mal downgraden.

                                        G 1 Reply Last reply Reply Quote 0
                                        • G
                                          guergen @Ramses123 last edited by

                                          @Ramses123 OK, wenn Du eine funktionsfähige "downgrade-Version" gefunden hast, kannst Du das ja hier reinschreiben. Dann will ich mal gucken, ob ich das Problem so auch lösen kann.
                                          Dann liegt es wahrscheinlich doch am Script-Adapter....

                                          1 Reply Last reply Reply Quote 0
                                          • AlCalzone
                                            AlCalzone Developer last edited by

                                            @all Paul ist auf dem richtigen Dampfer. Das Script setzt ab und zu null-Werte, welche von der Prüfung im Adapter fälschlicherweise als "object" interpretiert werden. Habe ein Issue aufgemacht, dass in diesem Fall keine Warnung kommen sollte.

                                            @guergen Grundsätzlich solltest du in einem Trigger nie den Datenpunkt, auf den du gerade triggerst, per getState abfragen, da das ein altes Ergebnis liefern kann. Der neue Wert steht garantiert immer in obj.state.val. So wie Paul dir geschrieben hat, ist korrekt und sollte richtig funktionieren.

                                            @Ramses123 Kannst du das mit dem "kein Text" genauer beschreiben? Ich kann mir nicht vorstellen, dass da irgendwas geändert wurde, welches die Funktionialität so beeinflusst.

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

                                            Support us

                                            ioBroker
                                            Community Adapters
                                            Donate
                                            FAQ Cloud / IOT
                                            HowTo: Node.js-Update
                                            HowTo: Backup/Restore
                                            Downloads
                                            BLOG

                                            685
                                            Online

                                            32.0k
                                            Users

                                            80.5k
                                            Topics

                                            1.3m
                                            Posts

                                            javascript
                                            8
                                            52
                                            3240
                                            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