NEWS
Variable als datenpunkt in Vis anzeigen
-
Moin
Ich versuche gerade, eine Variable aus einem Skript in der Vis anzeigen zu lassen.
Ich habe dazu unter Objekte den Datenpunkt erstellt und schreibe in Blockly in diesen Datenpunkt
In Vis habe ich Basic String genommen und den Datenpunkt ausgewählt.
Aber in der Vis wird mir nur ein leeres Feld angezeigt.
Wo ist mein Fehler? Muss ich irgendwo noch weitere Angaben machen? -
@chris999
Wenn das Dein Komplettes Skript ist: Du hast nur Falls Blöcke genommen, aber keinen Trigger! Du musst noch einen Trigger um das ganze machen. Also z.B. "Falls Object ID wurde geändert".
Und irgendwie verstehe ich nicht, warum du eine Variable benutzt, benutz doch direkt den Datenpunkt zum steuern. Dann sparst Du dir die Variable und kannst das Ergebnis direkt überall verwenden. -
@badsnoopy667 Die Variable nutze ich hauptsächlich, um wiederholte Nachrichten per Pushover zu unterdrücken. Leider hat das gestern erstellte Skript nicht ausgelöst, weil die Variable wahrscheinlich true war. Sie hätte aber false sein müssen.
Soweit ich das jetzt gelesen habe. kann man den Wert einer Variable nur als Datenpunkt in einer Visualisierung sichtbar machen.
Gut.. das mit dem Trigger stimmt.. den muss ich noch davor setzen.
Ich hatte das nur fix über das fertige Script gesetzt.Und siehe da... es funktioniert
Danke für den Hinweis -
@chris999 said in Variable als datenpunkt in Vis anzeigen:
Soweit ich das jetzt gelesen habe. kann man den Wert einer Variable nur als Datenpunkt in einer Visualisierung sichtbar machen.
Korrekt, so ist es. Aber Du könntest im Skript anstelle der Variable direkt den Datenpunkt benutzen. Dann musst Du die Variable nicht erst extra rüberschreiben bei jeder Änderung. Variablen nutze ich in Skripten immer nur, wenn ich sie wirklich nirgendwo anders benutzen muss. Aber klar, wenn man das erst nachträglich will, ist es manchmal einfacher das so zu machen, als das ganze Skript wieder zu änden.
-
@badsnoopy667 sagte in Variable als datenpunkt in Vis anzeigen:
Variablen nutze ich in Skripten immer nur, wenn ich sie wirklich nirgendwo anders benutzen muss
das ist aber der falsche Ansatz.
Man soll immer mit Variablen arbeiten, und deren Inhalt erst am Ende des Skripts in die datenpunkte schreiben.Zum einen ist dieses Vorgehen ressourcenschonender, zum anderen kannst du sonst in die so genannte Asynchron-Falle laufen.
Es dauert eine Zeit lang bist der Wert im Datenpunkt geschriebn ist. Wenn du in der Zwischenzeit damit weiterarbeiten willst, wird immer noch der alte Wert genommen -
@homoran
Danke für den Hinweis! Das war mir gar nicht klar. Könnte vielleicht das ein oder andere seltsame Verhalten in Skripten erklären das man manchmal beobachtet