NEWS
[bug] widget jqui-input: Variable mit Typ "number" ?
-
OK. danke für die Kommentare. Der DP ist von mir manuell konfiguriert.
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
-
-
Zusatzinfo - so schauts in der vis-Oberfläche aus:
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
-
@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?
-
@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? -
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.
-
@willyiobrok dann stimmt was anderes nicht.
ich schreibe Zahlen über dieses Widget in einen DP vom Typ number und da kommen auch Zahlen an.Deswegen hatte ich gefragt, was und wie du es da eingibst.
-
@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?
In diesem Fall habe ich die Zahl 50 reinkonfiguriert - das wird geliefert vom jqui button state!
-
@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?
-
@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"
-
@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?"
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. -
@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? -
@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 angesehenJetzt will ich erst recht eine Antwort auf das wie!
-
@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!
-
@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?
-
@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? -
@willyiobrok sagte in widget jqui-input: Variable mit Typ "number" ?:
jqui-Button State
Was soll das jetzt !!!
In #1 ging es um jqui input !
So steht es auch im Titel
Wenn sich hier ständig etwas ändert dann bin ich raus.
-
@homoran said in widget jqui-input: Variable mit Typ "number" ?:
@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?
nein, nicht das State Widget ! das jqui input Widget, um das es hier die ganze Zeit geht.
@homoran said in widget jqui-input: Variable mit Typ "number" ?:
@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?Nein. Direkte manuelle Eingabe ohne Leerzeichen... ob intern ein Leerzeichen davorgebaut wird weiss ich nicht.
Aber da kommt mir ein Verdacht: ich muß mal schauen ob ich die Zahlen links- oder rechtsbündig eingebe ... vielleicht macht das was aus?
@bahnuhr:
Ja, es geht und ging immer um das widget "jqui input" !die alternative Verwendung der widgets "jqui-Button state" verhindert lediglich, daß ich den DP auf string umkonfiguriere...
-
@willyiobrok sagte in widget jqui-input: Variable mit Typ "number" ?:
Ja, es geht und ging immer um das widget "jqui input" !
absoluter quatsch.
Deine Hardcopy zeigt was anderes !
-
richtig - ich habe nur die Fragen beantwortet und da gings stellenweise um das jqui State Button widget.
Hier das entsprechende Hardcopy zum input widget (der Vollständigkeit halber):
-
@willyiobrok sagte in widget jqui-input: Variable mit Typ "number" ?:
und da gings stellenweise um das jqui State Button widget.
und die Frage danach hast du mit
@willyiobrok sagte in widget jqui-input: Variable mit Typ "number" ?:
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.
beantwortet