Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. ioBroker Allgemein
    4. negative Werte mit cli state set

    NEWS

    • Monatsrückblick - April 2025

    • Minor js-controller 7.0.7 Update in latest repo

    • Save The Date: ioBroker@Smart Living Forum Solingen, 14.06.

    negative Werte mit cli state set

    This topic has been deleted. Only users with topic management privileges can see it.
    • W
      Werner Schäffer last edited by Werner Schäffer

      Der CLI-Befehl

      iobroker state set 0_userdata.0.Fehnwetter.temp_out 2.5
      

      funktioniert korrekt. Aber bei negativem Wert

      iobroker state set 0_userdata.0.Fehnwetter.temp_out -2.5
      

      wird dieser Befehl mit

      The required argument "value" is missing!
      

      beantwortet. Vermutlich wird der negative Wert als Option behandelt. Ich habe alles mögliche probiert mit Maskierungen aller Art. Aber leider waren alle meine Versuche erfolglos. Gibt es dafür eine Lösung oder ist das ein Bug?

      mcm1957 mickym 2 Replies Last reply Reply Quote 0
      • mcm1957
        mcm1957 @Werner Schäffer last edited by

        @apollon77

        Ne Idee?

        1 Reply Last reply Reply Quote 0
        • mickym
          mickym Most Active @Werner Schäffer last edited by

          @werner-schäffer Probier mal die -2.5 in Gänsefüsschen zu setzen.

          mcm1957 1 Reply Last reply Reply Quote 1
          • mcm1957
            mcm1957 @mickym last edited by

            @mickym
            Könnte gehen - fragt sich dann nur ob cli dass dann als string oder noch immer als numeric bewertet ...

            mickym 1 Reply Last reply Reply Quote 0
            • mickym
              mickym Most Active @mcm1957 last edited by mickym

              @mcm1957 Die Frage ob das nicht grundsätzlich auf Kommandoebene immer Strings sind und iobroker konvertiert das ggf. automatisch anhand des Typs des Datenpunktes automatisch - aber gut - ausprobieren. 😉

              Ich ging bisher immer davon aus, dass alles auf der Kommandozeile als Strings behandelt wird. Warum die Fehlermeldung kommt, liegt doch mE eher daran, dass der Interpreter einer bash shell den Bindestrich als Option oder Parameter eines Befehls interpretiert.

              mcm1957 1 Reply Last reply Reply Quote 1
              • mcm1957
                mcm1957 @mickym last edited by

                @mickym

                iobroker state set 0_userdata.0.Fehnwetter.temp_out -- -2.5

                Wär auch einen Versuch wert - ja nach verwendetem Parser.

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

                  @mcm1957

                  Ich hab spaßes halber so ziemlich alles ausprobiert was mir eingefallen ist, "' wie auch -- - oder \" (und ne ganze Menge mehr). Einige hat er geschluckt aber nicht geschrieben, ist wohl ne Typenprüfung auf dem Weg zum Val. Bei 2-2.5 nimmt er die 2 und schreib sie ins feld 😄

                  mcm1957 W 2 Replies Last reply Reply Quote 0
                  • mcm1957
                    mcm1957 @ticaki last edited by

                    @ticaki

                    OK dann bitte auf @apollon77 oder @foxriver76 warten.
                    Oder - wenn da nichts kommt - ein Issue anlegen. cli würd ich beim js-controller ansiedeln.

                    1 Reply Last reply Reply Quote 0
                    • W
                      Werner Schäffer @ticaki last edited by Werner Schäffer

                      @ticaki

                      das hatte ich fast alles auch schon probiert und es wird fast alles akzeptiert, aber in dem numerischen Objekt steht dann null, vermutlich weil das dann ein String ist und kein numerischer Wert.

                      Nachtrag:
                      auf dieses Problem stieß ich da es gerade so kalt ist draußen.

                      OliverIO Codierknecht 2 Replies Last reply Reply Quote 0
                      • OliverIO
                        OliverIO @Werner Schäffer last edited by OliverIO

                        @werner-schäffer

                        was wäre mit \-2.5

                        das - ist auf kommandozeile evtl ein spezielles Zeichen (wegen Optionen und so)
                        wenn man das Zeichen escaped könnte es evtl angenommen werden

                        Nachtrag
                        geht leider auch nicht

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

                          @oliverio
                          Ich hab kein escape zeichen gefunden

                          tim@iobroker-lxc:~$ test=-2.5
                          tim@iobroker-lxc:~$ iob s set 0_userdata.0.Test $test
                          

                          dat auch net... lustig 🙂

                          geht wohl nur sowas: iob s set 0_userdata.0.testString val:-2.5

                          und dann in einem on()

                          val = parseInt(val.replace('val:', ''));
                          

                          EDIT: geht auch net

                          iob s set 0_userdata.0.Test "{\"val\": -2.5}"
                          
                          OliverIO 1 Reply Last reply Reply Quote 0
                          • OliverIO
                            OliverIO @ticaki last edited by

                            @ticaki

                            so jetzt, das escaped das forum weg 😠

                            1 Reply Last reply Reply Quote 0
                            • Codierknecht
                              Codierknecht Developer Most Active @Werner Schäffer last edited by Codierknecht

                              @werner-schäffer
                              Wenn's unbedingt über die Shell erfolgen muss, nimm doch als Workaround curl

                              curl http://192.168.178.9:8082/set/0_userdata.0.Test.differenz?value=-2.5
                              
                              T 1 Reply Last reply Reply Quote 0
                              • T
                                ticaki Developer @Codierknecht last edited by ticaki

                                @codierknecht
                                Jetzt nimmste den ganzen Spass raus 🙂

                                @all
                                Wenns interessiert hier findet man die Stelle im Code:
                                https://github.com/ioBroker/ioBroker.js-controller/blob/ea2722d8dd5e71948413bd1bffd891df2f0a4497/packages/cli/src/lib/cli/cliStates.ts#L207

                                Codierknecht 1 Reply Last reply Reply Quote 0
                                • Codierknecht
                                  Codierknecht Developer Most Active @ticaki last edited by

                                  @ticaki sagte in negative Werte mit cli state set:

                                  Wenns interessiert hier findet man die Stelle im Code

                                  Bin ja bekanntermaßen nicht unbedingt ein JS-Crack. Aber so wie ich das verstehe, liegt's eher an der Shell und nicht am Code selbst. "Da kannse dann machen watte wills"

                                  mcm1957 1 Reply Last reply Reply Quote 0
                                  • mcm1957
                                    mcm1957 @Codierknecht last edited by mcm1957

                                    @codierknecht said in negative Werte mit cli state set:

                                    @ticaki sagte in negative Werte mit cli state set:

                                    Wenns interessiert hier findet man die Stelle im Code

                                    Bin ja bekanntermaßen nicht unbedingt ein JS-Crack. Aber so wie ich das verstehe, liegt's eher an der Shell und nicht am Code selbst. "Da kannse dann machen watte wills"

                                    Wurde aber - wenn ich den PR richtig lese - als BUG eingestuft und schon GEFIXED:

                                    https://github.com/ioBroker/ioBroker.js-controller/pull/3003

                                    Danke an @foxriver76

                                    Sollte wahrscheinlich in der nächsten Release des js-controllers dann gehen.

                                    foxriver76 created this issue in ioBroker/ioBroker.js-controller

                                    closed [fix]: fixed setting negative numbers via state set cli command #3003

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

                                    Support us

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

                                    1.0k
                                    Online

                                    31.6k
                                    Users

                                    79.4k
                                    Topics

                                    1.3m
                                    Posts

                                    6
                                    16
                                    245
                                    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