NEWS
Protokoll meckert String statt Number
-
Hi,
ich möchte einen Wert in einen vorher erstellten Datenpunkt schreiben:

Der Datenpunkt ist vom Typ Number. Der Wert von consumptionMeterReading ist auch vom Typ Number:


Trotzdem bekomme ich im Protokoll die Warnung, dass ich einen Wert vom Typ String in einen DP vom Wert Number schreiben will?
Hat jemand dafür eine Erklärung? -
Hi,
ich möchte einen Wert in einen vorher erstellten Datenpunkt schreiben:

Der Datenpunkt ist vom Typ Number. Der Wert von consumptionMeterReading ist auch vom Typ Number:


Trotzdem bekomme ich im Protokoll die Warnung, dass ich einen Wert vom Typ String in einen DP vom Wert Number schreiben will?
Hat jemand dafür eine Erklärung? -
Welchen Typ hat "Pfad_State_Meter_Reading" ? Bestimmt String?
Wenn das so ist, versuchst du eine Nummer in einen String zu schreiben.@spacerx aber der Pfad ist doch der erste Parameter von setState, und ich dachte das könnte ein String sein...
Ich kann die Objekt ID leider nicht zuordnen, da der State erst kurz vorher erstellt wird mit variablen Parametern.
Wie könnte ich die Objekt ID denn anders zuordnen als über den Pfad? -
Hi,
ich möchte einen Wert in einen vorher erstellten Datenpunkt schreiben:

Der Datenpunkt ist vom Typ Number. Der Wert von consumptionMeterReading ist auch vom Typ Number:


Trotzdem bekomme ich im Protokoll die Warnung, dass ich einen Wert vom Typ String in einen DP vom Wert Number schreiben will?
Hat jemand dafür eine Erklärung? -
Hi,
ich möchte einen Wert in einen vorher erstellten Datenpunkt schreiben:

Der Datenpunkt ist vom Typ Number. Der Wert von consumptionMeterReading ist auch vom Typ Number:


Trotzdem bekomme ich im Protokoll die Warnung, dass ich einen Wert vom Typ String in einen DP vom Wert Number schreiben will?
Hat jemand dafür eine Erklärung? -
@kymchy sagte: Warnung, dass ich einen Wert vom Typ String in einen DP vom Wert Number schreiben will?
Prüfe den Typ mittels "Typ von" Wert von consumptionMeterReading.
@paul53 es geht hier wohl nicht um den Wert an sich, sondern um die Objekt ID, die in meinem Skript als String übergeben wird. Vermutlich sollte die Objekt ID aber vom Typ Number sein.
Ist nur in diesem Fall nicht möglich, weil der Datenpunkt erst kurz vorher dynamisch erzeugt wird.
Möglich wäre es, wenn ich anhand des Pfades die Objekt ID auslesen könnte, dann könnte ich sie korrekt übergeben. Ich weiß aber nicht, ob das geht bzw. wie. -
@paul53 es geht hier wohl nicht um den Wert an sich, sondern um die Objekt ID, die in meinem Skript als String übergeben wird. Vermutlich sollte die Objekt ID aber vom Typ Number sein.
Ist nur in diesem Fall nicht möglich, weil der Datenpunkt erst kurz vorher dynamisch erzeugt wird.
Möglich wäre es, wenn ich anhand des Pfades die Objekt ID auslesen könnte, dann könnte ich sie korrekt übergeben. Ich weiß aber nicht, ob das geht bzw. wie.@kymchy sagte: es geht hier wohl nicht um den Wert an sich, sondern um die Objekt ID, die in meinem Skript als String übergeben wird. Vermutlich sollte die Objekt ID aber vom Typ Number sein.
Nein, die Objekt ID ist immer ein String.
Die Warnung kommt nur, wenn der Typ des zu schreibenden Wertes nicht mit common.type übereinstimmt.Prüfung:

-
@paul53 es geht hier wohl nicht um den Wert an sich, sondern um die Objekt ID, die in meinem Skript als String übergeben wird. Vermutlich sollte die Objekt ID aber vom Typ Number sein.
Ist nur in diesem Fall nicht möglich, weil der Datenpunkt erst kurz vorher dynamisch erzeugt wird.
Möglich wäre es, wenn ich anhand des Pfades die Objekt ID auslesen könnte, dann könnte ich sie korrekt übergeben. Ich weiß aber nicht, ob das geht bzw. wie. -
@kymchy sagte: es geht hier wohl nicht um den Wert an sich, sondern um die Objekt ID, die in meinem Skript als String übergeben wird. Vermutlich sollte die Objekt ID aber vom Typ Number sein.
Nein, die Objekt ID ist immer ein String.
Die Warnung kommt nur, wenn der Typ des zu schreibenden Wertes nicht mit common.type übereinstimmt.Prüfung:

-
Du übergibst an schreibe die Objekt ID von "Pfad_State_Meter_Reading" und nicht den Pfad.
Du musst den Pfad erst als ID deklarieren. Wie das geht kann ich jetzt auch nicht sagen. Hab kein Blockly zur Hand. -
Dann schreibe den Pfad vorher in eine Variable und nimm die Variable für die Objekt ID. Vieleicht geht das. Vorausgesetzt der Datenpunkt auf den der Pfad zeigt existiert schon.
-
Lass dir den Pfad-String mal mit debug ausgeben. Entweder stimmt der nicht oder der Datenpunkt existert einfach noch nicht. Dann muss der natürlich erst angelegt werden bevor du darauf schreiben kannst.
-
@spacerx die DPs werden ja korrekt geschrieben, also ich erhalte die Werte wie gewünscht. Nur das protokoll meckert.
Hey! Du scheinst an dieser Unterhaltung interessiert zu sein, hast aber noch kein Konto.
Hast du es satt, bei jedem Besuch durch die gleichen Beiträge zu scrollen? Wenn du dich für ein Konto anmeldest, kommst du immer genau dorthin zurück, wo du zuvor warst, und kannst dich über neue Antworten benachrichtigen lassen (entweder per E-Mail oder Push-Benachrichtigung). Du kannst auch Lesezeichen speichern und Beiträge positiv bewerten, um anderen Community-Mitgliedern deine Wertschätzung zu zeigen.
Mit deinem Input könnte dieser Beitrag noch besser werden 💗
Registrieren Anmelden
