NEWS
wrong type of...
-
@Homoran ja du musst Konvertieren. Es gibt fälle da behandelt js zahlen wie einen String.
-
-
Wahrscheinlich 12,5, nicht 12.5 ...
-
@paul53 sagte in wrong type of...:
@Homoran sagte:
"luftdaten.0.34499.SDS_P2"
enthält offenbar einen String.
wie bekomme ich das raus?
Der Datenpunkt ist vom Typ NumberIch denke ich werde sicherheitshalber einen konvert Block dazunehmen
-
@Homoran sagte:
wie bekomme ich das raus?
log(typeof getState("luftdaten.0.34499.SDS_P2").val);
@Homoran sagte in wrong type of...:
Der Datenpunkt ist vom Typ Number
Das sagt nichts darüber aus, welcher Typ tatsächlich in val enthalten ist.
-
@paul53 sagte in wrong type of...:
log(typeof getState("luftdaten.0.34499.SDS_P2").val);
Danke!
14:32:00.412 info javascript.0 (1053) Start javascript script.js.typtest 14:32:00.416 info javascript.0 (1053) script.js.typtest: string
Obwohl, die Config auf number steht
-
-
@paul53
Done! -
Danke an alle!
Habe jetzt erst einmal alle States mit "nach Zahl" konvertiert. Läuftjetzt ohne Fehlermeldung.
Issue beim Luftdaten-Adapter ist erstellt.
@SBorg sagte in wrong type of...:
Wahrscheinlich 12,5, nicht 12.5 ...
Zumindest nicht sichtbar
-
@Homoran sagte:
alle States mit "nach Zahl" konvertiert.
Du meinst alle Werte aus "luftdaten.0" ? Das wäre ausreichend.
-
@paul53 sagte in wrong type of...:
Das wäre ausreichend.
Danke!
Da war ich mir eben nicht sicher, ob die States, in denen er das Ergebnis aus einer "Text-Addition" eingetragen hatte nicht auch den falschen Typ haben.
Mit diesen Werten rechnet er ja nachher weiter. -
@Homoran sagte:
States, in denen er das Ergebnis aus einer "Text-Addition" eingetragen hatte nicht auch den falschen Typ haben.
Ja, das muss einmalig korrigiert werden.
-
@paul53
Dann setze ich alles auf 0 und beginne von vorn.
Da stimmt sowie so etwas nicht
Die potentiellen Tagesmittelwerte sind unplausibel. -
@Homoran sagte:
Die potentiellen Tagesmittelwerte sind unplausibel.
Wenn bisher eine String-Verkettung anstelle einer Addition erfolgte, können die Werte nicht stimmen.
-
@paul53
Das habe ich mir auch gedacht -
@paul53 sagte in wrong type of...:
@Homoran sagte:
Die potentiellen Tagesmittelwerte sind unplausibel.
Wenn bisher eine String-Verkettung anstelle einer Addition erfolgte, können die Werte nicht stimmen.
Das war wohl schon immer String:
self.setState(path + 'SDS_' + obj.value_type, {val: obj.value, ack: true});
Ich finde aber nix was obj.value prüft oder als Zahl konvertiert. Mein JS ist "so naja", aber was ich dabei nicht verstehe, die Funktion ist für 2.5 + 10, warum meckert er nur die 2.5 an (10 ist, wie es die Funktion ja auch vorgibt, ebenfalls String)?
-
@SBorg
er hatte beides angemeckert.
Ich hatte nur das eine als Beispiel genommen -
@Homoran Ok, danke, dann raff ich das auch ^^
Muss Matthias fixen... -
@SBorg sagte:
Das war wohl schon immer String:
Ist der Code aus dem Adapter ?
Wenn es eine Zahl sein soll, wie es common.type = 'number' vorgibt, muss gewandelt werden.self.setState(path + 'SDS_' + obj.value_type, {val: parseFloat(obj.value), ack: true});
-
@paul53 sagte in wrong type of...:
Wenn es eine Zahl sein soll, wie es common.type = 'number' vorgibt, muss gewandelt werden.
self.setState(path + 'SDS_' + obj.value_type, {val: parseFloat(obj.value), ack: true});
Ja, und genau so sieht meine Änderung auch aus (war mir nicht zu 100% sicher)
Resultat:16:30:46.076 info javascript.0 (31077) script.js.Skript_1: number 16:30:46.077 info javascript.0 (31077) script.js.Skript_1: registered 0 subscriptions and 0 schedules