Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Visualisierung
    4. [bug] widget jqui-input: Variable mit Typ "number" ?

    NEWS

    • Neuer Blog: Fotos und Eindrücke aus Solingen

    • ioBroker@Smart Living Forum Solingen, 14.06. - Agenda added

    • ioBroker goes Matter ... Matter Adapter in Stable

    [bug] widget jqui-input: Variable mit Typ "number" ?

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

      Wurde als issue 748 in GitHub geöffnet:

      https://github.com/ioBroker/ioBroker.vis/issues/748

      Hallo zusammen,

      ich habe eigentlich eine einfache Aufgabe: Ich will eine IOB-Variable mit einer max. 3 stelligen Zahl füllen (0-360).

      Aus verschiedenen Gründen muß die IOB-Variable vom Typ number und NICHT vom Typ string sein.

      Ich nehme dafür das Widget "jqui-input" her. das funktioniert recht gut, aber im log steht jedesmal folgende Fehlermeldung:

      web.0
      	2023-07-21 13:34:49.938	info	State value to set for "mqtt.0.rot_tarDsL" has to be type "number" but received type "string" 
      

      Das Ausschalten von "Als String" in der Wdget Konfiguration bringt auch nix.

      Screenshot 2023-07-21 133816.png

      Hat irgendjemand eine Idee, wie ich die Warning wegbringe?

      Gruß,

      WillyIoBrok

      WillyIoBrok created this issue in ioBroker/ioBroker.vis

      closed Widget "jqui-input" saves numbers as strings - see also issue #372 #30

      bahnuhr Homoran 2 Replies Last reply Reply Quote 0
      • bahnuhr
        bahnuhr Forum Testing Most Active @WillyIobrok last edited by bahnuhr

        @willyiobrok

        Ich vermute der DP ist anders angelegt.

        @willyiobrok sagte in widget jqui-input: Variable mit Typ "number" ?:

        has to be type "number" but received type "string"

        • ändere den DP oder schreibe als string

        Wer hat denn den DP angelegt ?
        Ein mqtt client oder du selber ?

        1 Reply Last reply Reply Quote 0
        • Homoran
          Homoran Global Moderator Administrators @WillyIobrok last edited by Homoran

          @willyiobrok sagte in widget jqui-input: Variable mit Typ "number" ?:

          das Widget "jqui-input" her.

          zeigen!
          was trägst du ein?

          wie?

          ich trage Zahlen per vis ein und die kommen auch als Zahlen an.

          bahnuhr Homoran 2 Replies Last reply Reply Quote 0
          • bahnuhr
            bahnuhr Forum Testing Most Active @Homoran last edited by bahnuhr

            @homoran sagte in widget jqui-input: Variable mit Typ "number" ?:

            ich trage Zahlen per vis ein und die kommen auch als Zahlen an.

            Ich vermute das macht er auch.
            Aber der DP ist wohl als string konfiguriert. Deshalb ja auch die Info.

            Und dies soll er uns halt mal zeigen.

            Homoran 1 Reply Last reply Reply Quote 0
            • Homoran
              Homoran Global Moderator Administrators @bahnuhr last edited by

              @bahnuhr sagte in widget jqui-input: Variable mit Typ "number" ?:

              DP ist wohl als string konfiguriert.

              nein!

              @willyiobrok sagte in widget jqui-input: Variable mit Typ "number" ?:

              has to be type "number" but received type "string"

              W 1 Reply Last reply Reply Quote 0
              • W
                WillyIobrok @Homoran last edited by WillyIobrok

                @homoran

                OK. danke für die Kommentare. Der DP ist von mir manuell konfiguriert.

                Screenshot 2023-07-21 145917.png

                Screenshot 2023-07-21 145845.png

                Geschrieben wird in diesen DP nur manuell per vis (kein mqtt-client!) :

                • einerseits von mehreren Widgets "jqui - Button State" und zwar mit "number"-typ Zahlen. Da gibt's keine warning, alles passt zusammen.

                • andererseits von dem Widget "jqui-input". dieses widget liefert die Zahlenwerte wohl immer mit Zahlen vom Typ "string" ab, obwohl ich "Als String" ausgeschaltet/abgewählt habe (das ist m.M. nach ein Problem in dem Widget).
                  Das gibt die Warning, da der DP ja als "number" definiert ist.

                Wenn ich den DP als string umkonfigurieren würde, dann ist das auch keine Lösung, denn dann gibt's warnings beim Beschreiben mit den "jqui - Button State" widgets. ( die sich noch übler lesen ... so von wegen "jetzt funktionierts zwar, aber in Zukunft gibt's möglicherweise Ärger").

                Ich hänge auch nicht unbedingt an dem widget "jqui - input". Mir würde auch eine andere Lösung helfen, mit der ich über einen Knopf eine 3 stellige Zahl von 0 ... 360 eingeben könnte.

                Weiterverarbeitet werden die Daten per Javascript (zugegeben, ich kann kein javascript!).

                //=============================================================================
                // DIRSPLP_2_DIR.js			20.07.2023
                // Javascript to handle SP/LP direction setting
                
                //-----------------------------------------------------------------------------
                /**
                * @param {string | number | boolean | Record<string, any>} tarDir
                */
                function update_tarDir(tarDir) {
                  var tarDirl = 0;
                  
                  tarDirl = tarDir;
                
                //  log (tarDirl);
                
                  if (getState("mqtt.0.rot_LP").val) {
                //    log ("LP");
                    tarDirl = tarDirl + 180;
                //    log (tarDirl);
                    tarDirl = tarDirl % 360;
                  }
                  else {
                //    log ("SP");
                  }
                
                //  log (tarDirl);
                  
                  setState("mqtt.0.rot_tarDir", tarDirl );
                }
                
                //-----------------------------------------------------------------------------
                /**
                * @param {number} curDir
                */
                function update_curDirL(curDir) {
                  setState("mqtt.0.rot_curDirL", ((curDir+180)%360) );
                }
                
                //=============================================================================
                // Start of the Script:
                
                // Trigger on change of the target direction SP/LP
                on("mqtt.0.rot_tarDsL", function(dp) {
                    update_tarDir(parseInt(getState("mqtt.0.rot_tarDsL").val));
                });
                
                // Trigger on change of the target direction SP/LP
                on("mqtt.0.rot_curDir", function(dp) {
                    update_curDirL(getState("mqtt.0.rot_curDir").val);
                });
                
                

                Das wesentliche ist die Formel "y = (x+180)%360", die natürlich auf einen string angewendet total falsche Ergebnisse liefert, aber beim typ number einwandfrei funktioniert. Das konnte ich mit "parseInt( )" beheben, so daß nur die o.g. warning als problem übrig bleibt.

                Hoffe, ich konnte die offenen Fragen klären.

                WillyIobrok

                W Homoran 3 Replies Last reply Reply Quote 0
                • W
                  WillyIobrok @WillyIobrok last edited by WillyIobrok

                  @willyiobrok

                  Zusatzinfo - so schauts in der vis-Oberfläche aus:

                  Screenshot 2023-07-21 152819.png

                  der Knopf mit der "285" ist die Zahleneingabe mit dem jqui-input widget.
                  die leicht durchscheinenden hellgrauen Rechtecke über der Landkarte sind die jqui-Button State widgets.

                  Willyiobrok

                  1 Reply Last reply Reply Quote 0
                  • Homoran
                    Homoran Global Moderator Administrators @WillyIobrok last edited by

                    @willyiobrok sagte in widget jqui-input: Variable mit Typ "number" ?:

                    Geschrieben wird in diesen DP nur manuell per vis (kein mqtt-client!) :

                    einerseits von mehreren Widgets "jqui - Button State"

                    und wieso glaubst du dass es am INPUT Widget liegt?

                    W 1 Reply Last reply Reply Quote 0
                    • Homoran
                      Homoran Global Moderator Administrators @WillyIobrok last edited by

                      @willyiobrok sagte in widget jqui-input: Variable mit Typ "number" ?:

                      Wenn ich den DP als string umkonfigurieren würde,

                      natürlich!

                      @willyiobrok sagte in widget jqui-input: Variable mit Typ "number" ?:

                      dann gibt's warnings beim Beschreiben mit den "jqui - Button State" widgets.

                      aber eine andere, oder?
                      was liefert denn der state? ist der nicht bool?

                      W 1 Reply Last reply Reply Quote 0
                      • W
                        WillyIobrok @Homoran last edited by WillyIobrok

                        @homoran

                        und wieso glaubst du dass es am INPUT Widget liegt?

                        weil diese warning in dem Moment in's log(Protokoll) geschrieben wird, in dem ich die Zahleneingabe mit diesem widget abgeschlossen habe.

                        Homoran 1 Reply Last reply Reply Quote 0
                        • Homoran
                          Homoran Global Moderator Administrators @WillyIobrok last edited by Homoran

                          @willyiobrok dann stimmt was anderes nicht.
                          ich schreibe Zahlen über dieses Widget in einen DP vom Typ number und da kommen auch Zahlen an.

                          Screenshot_20230721-162550_Firefox.jpg

                          Deswegen hatte ich gefragt, was und wie du es da eingibst.

                          1 Reply Last reply Reply Quote 0
                          • W
                            WillyIobrok @Homoran last edited by WillyIobrok

                            @homoran said in widget jqui-input: Variable mit Typ "number" ?:

                            @willyiobrok sagte in widget jqui-input: Variable mit Typ "number" ?:

                            Wenn ich den DP als string umkonfigurieren würde,

                            natürlich!

                            @willyiobrok sagte in widget jqui-input: Variable mit Typ "number" ?:

                            dann gibt's warnings beim Beschreiben mit den "jqui - Button State" widgets.

                            aber eine andere, oder?

                            ja, ... da sind die Ausdrücke "string" und "number" umgedreht ;-):

                            admin.0
                            	2023-07-21 13:04:48.264	warn	This object will not be created in future versions. Please report this to the developer.
                            admin.0
                            	2023-07-21 13:04:48.258	warn	Object mqtt.0.rot_tarDsL is invalid: Default value has to be type "string" but received type "number"
                            

                            was liefert denn der state? ist der nicht bool?

                            Screenshot 2023-07-21 162140.png

                            In diesem Fall habe ich die Zahl 50 reinkonfiguriert - das wird geliefert vom jqui button state!

                            Homoran 2 Replies Last reply Reply Quote 0
                            • Homoran
                              Homoran Global Moderator Administrators @WillyIobrok last edited by

                              @willyiobrok sagte in widget jqui-input: Variable mit Typ "number" ?:

                              In diesem Fall habe ich die Zahl 50 reinkonfiguriert - das wird geliefert vom jqui button state!

                              was ist denn das?
                              bitte keine Ausschnitte ohne Zusammenhang?

                              welches Widget meinst du mit state?

                              W 1 Reply Last reply Reply Quote 0
                              • Homoran
                                Homoran Global Moderator Administrators @WillyIobrok last edited by

                                @willyiobrok sagte in widget jqui-input: Variable mit Typ "number" ?:

                                , ... da sind die Ausdrücke "string" und "number" umgedreht ;-):

                                nein!!!

                                @willyiobrok sagte in widget jqui-input: Variable mit Typ "number" ?:

                                Object mqtt.0.rot_tarDsL is invalid: Default value has to be type "string"

                                1 Reply Last reply Reply Quote 0
                                • W
                                  WillyIobrok @Homoran last edited by

                                  @homoran said in widget jqui-input: Variable mit Typ "number" ?:

                                  @willyiobrok sagte in widget jqui-input: Variable mit Typ "number" ?:

                                  In diesem Fall habe ich die Zahl 50 reinkonfiguriert - das wird geliefert vom jqui button state!

                                  was ist denn das?
                                  bitte keine Ausschnitte ohne Zusammenhang?

                                  welches Widget meinst du mit state?

                                  OK, dann gibt's jetzt den ganzen Bildschirm auf Deine Frage, "was liefert denn der state? ist der nicht bool?"

                                  Screenshot 2023-07-21 163258.png

                                  Jeder dieser vielen Knöpfe liefert mir eine Zahl ... z.B. der markierte den Wert"50"

                                  Anmerkung:
                                  Das widget heisst halt "jqui-Button State" das kommt nicht von mir.
                                  aber geliefert wird in .val der reinkonfigurierte Wert.

                                  Homoran bahnuhr 2 Replies Last reply Reply Quote 0
                                  • Homoran
                                    Homoran Global Moderator Administrators @WillyIobrok last edited by

                                    @willyiobrok sagte in widget jqui-input: Variable mit Typ "number" ?:

                                    dann gibt's jetzt den ganzen Bildschirm

                                    gut 😂 !
                                    man kann aber auch das Fenster schmaler machen.

                                    muss mir mal das Widget nöher ansehen. Das Widget macht ja aber keinen "Ärger", oder?

                                    hast du das Input widget ohne Script o.ä. direkt mit dem angemeckerten DP verknüpft?
                                    oder wird ein anderer DP als der verknüpfte angemeckert?

                                    verknüpf das Widget mal mit einrm anderen DP vom Typ Number.
                                    Gibt's dann immer noch Mecker?

                                    W 1 Reply Last reply Reply Quote 0
                                    • Homoran
                                      Homoran Global Moderator Administrators @Homoran last edited by

                                      @homoran sagte in widget jqui-input: Variable mit Typ "number" ?:

                                      was trägst du ein?
                                      wie?

                                      hast du diese Frage eigentlich je beantwortet?

                                      ich hatte da eine Vermutung!
                                      da nichts kam hab ich mir mal deinen Screenshot näher angesehen

                                      Screenshot_20230721-165252_Firefox.jpg

                                      Jetzt will ich erst recht eine Antwort auf das wie!

                                      1 Reply Last reply Reply Quote 0
                                      • W
                                        WillyIobrok @Homoran last edited by WillyIobrok

                                        @homoran said in widget jqui-input: Variable mit Typ "number" ?:

                                        @willyiobrok sagte in widget jqui-input: Variable mit Typ "number" ?:

                                        dann gibt's jetzt den ganzen Bildschirm

                                        gut 😂 !
                                        man kann aber auch das Fenster schmaler machen.

                                        muss mir mal das Widget nöher ansehen. Das Widget macht ja aber keinen "Ärger", oder?

                                        Nein, das Widget macht keinen Ärger. es nimmt die Eingaben von der Tastatur brav an und wenn ich Enter drücke wird der DP geschrieben.
                                        Halt als string und nicht als number und es gibt die Warning.
                                        Und sofern ich keine Mathematik machen möchte kann ich mit dem String gut weiterarbeiten (anzeigen, in andere DPs übernehmen und die HW ansteuern).

                                        Eingabe wie ?
                                        Ich gebe den Wert auf der Tastatur des Amazon Fire-HD ein (1..3 Zahlen) und schliesse die Eingabe mit Enter (aka "Return") ab.
                                        Das ganze läuft im "Fully Kiosk Browser"
                                        War das die Info die du haben wolltest?

                                        hast du das Input widget ohne Script o.ä. direkt mit dem angemeckerten DP verknüpft?
                                        oder wird ein anderer DP als der verknüpfte angemeckert?

                                        verknüpf das Widget mal mit einrm anderen DP vom Typ Number.
                                        Gibt's dann immer noch Mecker?

                                        werde ich machen!

                                        Homoran 2 Replies Last reply Reply Quote 0
                                        • Homoran
                                          Homoran Global Moderator Administrators @WillyIobrok last edited by

                                          @willyiobrok sagte in widget jqui-input: Variable mit Typ "number" ?:

                                          es nimmt die Eingaben von der Tastatur brav an und wenn ich Enter drücke wird der DP geschrieben.

                                          das State Widget?

                                          W 1 Reply Last reply Reply Quote 0
                                          • Homoran
                                            Homoran Global Moderator Administrators @WillyIobrok last edited by

                                            @willyiobrok sagte in widget jqui-input: Variable mit Typ "number" ?:

                                            War das die Info die du haben wolltest?

                                            ja!

                                            Also kein copy & paste?
                                            und da ist auch kein Leerzeichen davor?

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

                                            Support us

                                            ioBroker
                                            Community Adapters
                                            Donate

                                            941
                                            Online

                                            31.9k
                                            Users

                                            80.2k
                                            Topics

                                            1.3m
                                            Posts

                                            4
                                            55
                                            2354
                                            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